From: Henrik Gramner Date: Tue, 16 Apr 2013 21:27:50 +0000 (+0200) Subject: x86: AVX2 high bit-depth pixel_ssd X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dc05aebbc51b64b6cf3cfa95a1fbb20f6ffe94c6;p=libx264 x86: AVX2 high bit-depth pixel_ssd --- diff --git a/common/pixel.c b/common/pixel.c index 473ee07d..5c94a7fa 100644 --- a/common/pixel.c +++ b/common/pixel.c @@ -989,6 +989,7 @@ void x264_pixel_init( int cpu, x264_pixel_function_t *pixf ) } if( cpu&X264_CPU_AVX2 ) { + INIT2( ssd, _avx2 ); INIT2( sad, _avx2 ); INIT2_NAME( sad_aligned, sad, _avx2 ); INIT2( sad_x3, _avx2 ); diff --git a/common/x86/pixel-a.asm b/common/x86/pixel-a.asm index 9d861fb2..992e0652 100644 --- a/common/x86/pixel-a.asm +++ b/common/x86/pixel-a.asm @@ -150,7 +150,7 @@ cextern hsub_mul %if HIGH_BIT_DEPTH ;----------------------------------------------------------------------------- -; int pixel_ssd_MxN( uint16_t *, intptr_t, uint16_t *, intptr_t ) +; int pixel_ssd_WxH( uint16_t *, intptr_t, uint16_t *, intptr_t ) ;----------------------------------------------------------------------------- %macro SSD_ONE 2 cglobal pixel_ssd_%1x%2, 4,7,6 @@ -210,7 +210,7 @@ cglobal pixel_ssd_%1x%2, 4,7,6 jg .loop %endif HADDD m0, m5 - movd eax, m0 + movd eax, xm0 RET %endmacro @@ -229,6 +229,9 @@ SSD_ONE 8, 8 SSD_ONE 8, 16 SSD_ONE 16, 8 SSD_ONE 16, 16 +INIT_YMM avx2 +SSD_ONE 16, 8 +SSD_ONE 16, 16 %endif ; HIGH_BIT_DEPTH %if HIGH_BIT_DEPTH == 0