[x264-devel] x86: AVX2 high bit-depth pixel_ssd
Henrik Gramner
git at videolan.org
Tue Apr 23 23:37:11 CEST 2013
x264 | branch: master | Henrik Gramner <henrik at gramner.com> | Tue Apr 16 23:27:50 2013 +0200| [40406b804105964d6b5abea38833d69f6d617815] | committer: Jason Garrett-Glaser
x86: AVX2 high bit-depth pixel_ssd
> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=40406b804105964d6b5abea38833d69f6d617815
---
common/pixel.c | 1 +
common/x86/pixel-a.asm | 7 +++++--
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/common/pixel.c b/common/pixel.c
index 13b566c..4a00834 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 29fc0cc..a89aa14 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
More information about the x264-devel
mailing list