{
#if ARCH_X86
pf->quant_4x4 = x264_quant_4x4_mmx;
- pf->quant_4x4x4 = x264_quant_4x4x4_mmx;
pf->quant_8x8 = x264_quant_8x8_mmx;
pf->dequant_4x4 = x264_dequant_4x4_mmx;
pf->dequant_4x4_dc = x264_dequant_4x4dc_mmx2;
QUANT_4x4 0, 6
QUANT_4x4 64, 7
packssdw m6, m7
- packssdw m5, m6
- packssdw m5, m5 ; AA BB CC DD
- packsswb m5, m5 ; A B C D
+ packssdw m5, m6 ; AAAA BBBB CCCC DDDD
pxor m4, m4
- pcmpeqb m5, m4
- pmovmskb eax, m5
- not eax
- and eax, 0xf
+ pcmpeqd m5, m4
+ movmskps eax, m5
+ xor eax, 0xf
RET
%endmacro
QUANT_4x4 64, 5
QUANT_4x4 96, 6
packssdw m5, m6
- packssdw m4, m5
-%if mmsize == 16
- packssdw m4, m4 ; AA BB CC DD
-%endif
- packsswb m4, m4 ; A B C D
+ packssdw m4, m5 ; AAAA BBBB CCCC DDDD
pxor m3, m3
- pcmpeqb m4, m3
- pmovmskb eax, m4
- not eax
- and eax, 0xf
+ pcmpeqd m4, m3
+ movmskps eax, m4
+ xor eax, 0xf
RET
%endmacro
INIT_MMX mmx
QUANT_AC quant_4x4, 4
QUANT_AC quant_8x8, 16
-QUANT_4x4x4
%endif
INIT_XMM sse2
int x264_quant_2x2_dc_mmx2( dctcoef dct[4], int mf, int bias );
int x264_quant_4x4_dc_mmx2( dctcoef dct[16], int mf, int bias );
int x264_quant_4x4_mmx( dctcoef dct[16], udctcoef mf[16], udctcoef bias[16] );
-int x264_quant_4x4x4_mmx( dctcoef dct[4][16], udctcoef mf[16], udctcoef bias[16] );
int x264_quant_8x8_mmx( dctcoef dct[64], udctcoef mf[64], udctcoef bias[64] );
int x264_quant_2x2_dc_sse2( dctcoef dct[16], int mf, int bias );
int x264_quant_4x4_dc_sse2( dctcoef dct[16], int mf, int bias );