[x264-devel] x86: XOP pixel_sad_{x3, x4} high bit-depth

James Almer git at videolan.org
Wed Apr 23 00:41:00 CEST 2014


x264 | branch: master | James Almer <jamrial at gmail.com> | Wed Apr  9 03:33:06 2014 -0300| [ac7644073ac28d19c9cf048849bbcd515713e426] | committer: Jason Garrett-Glaser

x86: XOP pixel_sad_{x3, x4} high bit-depth

> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=ac7644073ac28d19c9cf048849bbcd515713e426
---

 common/pixel.c         |    2 ++
 common/x86/pixel.h     |    1 +
 common/x86/sad16-a.asm |   13 +++++++++++++
 3 files changed, 16 insertions(+)

diff --git a/common/pixel.c b/common/pixel.c
index 63e3f65..6ce49f8 100644
--- a/common/pixel.c
+++ b/common/pixel.c
@@ -1021,6 +1021,8 @@ void x264_pixel_init( int cpu, x264_pixel_function_t *pixf )
     }
     if( cpu&X264_CPU_XOP )
     {
+        INIT5( sad_x3, _xop );
+        INIT5( sad_x4, _xop );
         pixf->ssd_nv12_core    = x264_pixel_ssd_nv12_core_xop;
         pixf->var[PIXEL_16x16] = x264_pixel_var_16x16_xop;
         pixf->var[PIXEL_8x8]   = x264_pixel_var_8x8_xop;
diff --git a/common/x86/pixel.h b/common/x86/pixel.h
index 4568da6..27c7a54 100644
--- a/common/x86/pixel.h
+++ b/common/x86/pixel.h
@@ -56,6 +56,7 @@ DECL_X4( sad, mmx2 )
 DECL_X4( sad, sse2 )
 DECL_X4( sad, sse3 )
 DECL_X4( sad, ssse3 )
+DECL_X4( sad, xop )
 DECL_X4( sad, avx )
 DECL_X4( sad, avx2 )
 DECL_X1( ssd, mmx )
diff --git a/common/x86/sad16-a.asm b/common/x86/sad16-a.asm
index ebfe9b5..5b5e9c8 100644
--- a/common/x86/sad16-a.asm
+++ b/common/x86/sad16-a.asm
@@ -519,6 +519,19 @@ SAD_X 4, 16,  8
 SAD_X 4,  8, 16
 SAD_X 4,  8,  8
 SAD_X 4,  8,  4
+INIT_XMM xop
+%define XMM_REGS 7
+SAD_X 3, 16, 16
+SAD_X 3, 16,  8
+SAD_X 3,  8, 16
+SAD_X 3,  8,  8
+SAD_X 3,  8,  4
+%define XMM_REGS 9
+SAD_X 4, 16, 16
+SAD_X 4, 16,  8
+SAD_X 4,  8, 16
+SAD_X 4,  8,  8
+SAD_X 4,  8,  4
 INIT_YMM avx2
 %define XMM_REGS 7
 SAD_X 3, 16, 16



More information about the x264-devel mailing list