| Index: source/libvpx/vp9/encoder/x86/vp9_quantize_ssse3_x86_64.asm
|
| diff --git a/source/libvpx/vp9/encoder/x86/vp9_quantize_ssse3_x86_64.asm b/source/libvpx/vp9/encoder/x86/vp9_quantize_ssse3_x86_64.asm
|
| index c35eb3603ce26d2450fc01fa8b322dcf96931abd..449d52b22e7f1ee1741f4d5d3f00ebf67017763b 100644
|
| --- a/source/libvpx/vp9/encoder/x86/vp9_quantize_ssse3_x86_64.asm
|
| +++ b/source/libvpx/vp9/encoder/x86/vp9_quantize_ssse3_x86_64.asm
|
| @@ -282,6 +282,8 @@ cglobal quantize_%1, 0, %2, 15, coeff, ncoeff, skip, zbin, round, quant, \
|
| psignw m8, m9
|
| psignw m13, m10
|
| psrlw m0, m3, 2
|
| +%else
|
| + psrlw m0, m3, 1
|
| %endif
|
| mova [r4q+ncoeffq*2+ 0], m8
|
| mova [r4q+ncoeffq*2+16], m13
|
| @@ -302,7 +304,7 @@ cglobal quantize_%1, 0, %2, 15, coeff, ncoeff, skip, zbin, round, quant, \
|
| mova m10, [ coeffq+ncoeffq*2+16] ; m10 = c[i]
|
| pabsw m6, m9 ; m6 = abs(m9)
|
| pabsw m11, m10 ; m11 = abs(m10)
|
| -%ifidn %1, fp_32x32
|
| +
|
| pcmpgtw m7, m6, m0
|
| pcmpgtw m12, m11, m0
|
| pmovmskb r6d, m7
|
| @@ -310,7 +312,7 @@ cglobal quantize_%1, 0, %2, 15, coeff, ncoeff, skip, zbin, round, quant, \
|
|
|
| or r6, r2
|
| jz .skip_iter
|
| -%endif
|
| +
|
| pcmpeqw m7, m7
|
|
|
| paddsw m6, m1 ; m6 += round
|
| @@ -348,7 +350,6 @@ cglobal quantize_%1, 0, %2, 15, coeff, ncoeff, skip, zbin, round, quant, \
|
| add ncoeffq, mmsize
|
| jl .ac_only_loop
|
|
|
| -%ifidn %1, fp_32x32
|
| jmp .accumulate_eob
|
| .skip_iter:
|
| mova [r3q+ncoeffq*2+ 0], m5
|
| @@ -357,7 +358,6 @@ cglobal quantize_%1, 0, %2, 15, coeff, ncoeff, skip, zbin, round, quant, \
|
| mova [r4q+ncoeffq*2+16], m5
|
| add ncoeffq, mmsize
|
| jl .ac_only_loop
|
| -%endif
|
|
|
| .accumulate_eob:
|
| ; horizontally accumulate/max eobs and write into [eob] memory pointer
|
|
|