ed7cb6f
commit 0d43bd77e5f429467fbd280a7b8f7fbc0bfe1809
ed7cb6f
Author: Yunqing Wang <yunqingwang@google.com>
ed7cb6f
Date:   Fri Feb 7 14:27:07 2014 -0800
ed7cb6f
ed7cb6f
    Bug fix in ssse3 quantize function
ed7cb6f
    
ed7cb6f
    A bug was reported in Issue 702: "SIGILL (Illegal instruction) when
ed7cb6f
    transcoding with vp9 - using FFmpeg". It was reproduced and fixed.
ed7cb6f
    
ed7cb6f
    Change-Id: Ie32c149a89af02856084aeaf289e848a905c7700
ed7cb6f
ed7cb6f
diff --git a/vp9/encoder/x86/vp9_quantize_ssse3.asm b/vp9/encoder/x86/vp9_quantize_ssse3.asm
ed7cb6f
index db30660..48ccef8 100644
ed7cb6f
--- a/vp9/encoder/x86/vp9_quantize_ssse3.asm
ed7cb6f
+++ b/vp9/encoder/x86/vp9_quantize_ssse3.asm
ed7cb6f
@@ -188,7 +188,8 @@ cglobal quantize_%1, 0, %2, 15, coeff, ncoeff, skip, zbin, round, quant, \
ed7cb6f
   pmaxsw                          m8, m7
ed7cb6f
   pshuflw                         m7, m8, 0x1
ed7cb6f
   pmaxsw                          m8, m7
ed7cb6f
-  pextrw                        [r2], m8, 0
ed7cb6f
+  pextrw                          r6, m8, 0
ed7cb6f
+  mov                             [r2], r6
ed7cb6f
   RET
ed7cb6f
 
ed7cb6f
   ; skip-block, i.e. just write all zeroes
ed7cb6f
@@ -214,5 +215,5 @@ cglobal quantize_%1, 0, %2, 15, coeff, ncoeff, skip, zbin, round, quant, \
ed7cb6f
 %endmacro
ed7cb6f
 
ed7cb6f
 INIT_XMM ssse3
ed7cb6f
-QUANTIZE_FN b, 6
ed7cb6f
+QUANTIZE_FN b, 7
ed7cb6f
 QUANTIZE_FN b_32x32, 7