[x265] [PATCH] asm: enabled pixel_avg_16x(64, 32, 12, 4) assembly functions

dnyaneshwar at multicorewareinc.com dnyaneshwar at multicorewareinc.com
Mon Nov 11 12:22:41 CET 2013


# HG changeset patch
# User Dnyaneshwar Gorade <dnyaneshwar at multicorewareinc.com>
# Date 1384168859 -19800
#      Mon Nov 11 16:50:59 2013 +0530
# Node ID 958a2f83d9e3c7113d68cff2fbaa09a69e55f27e
# Parent  9642b5b6500b5553ab3ce70a360aaaadad5d7234
asm: enabled pixel_avg_16x(64,32,12,4) assembly functions

diff -r 9642b5b6500b -r 958a2f83d9e3 source/common/x86/asm-primitives.cpp
--- a/source/common/x86/asm-primitives.cpp	Mon Nov 11 17:41:32 2013 +0800
+++ b/source/common/x86/asm-primitives.cpp	Mon Nov 11 16:50:59 2013 +0530
@@ -120,8 +120,12 @@
     p.sa8d_inter[LUMA_16x64] = cmp < 16, 64, 16, 16, x265_pixel_sa8d_16x16_ ## cpu >
 
 #define PIXEL_AVG(cpu) \
+    p.pixelavg_pp[LUMA_16x64] = x265_pixel_avg_16x64_ ## cpu; \
+    p.pixelavg_pp[LUMA_16x32] = x265_pixel_avg_16x32_ ## cpu; \
     p.pixelavg_pp[LUMA_16x16] = x265_pixel_avg_16x16_ ## cpu; \
+    p.pixelavg_pp[LUMA_16x12]  = x265_pixel_avg_16x12_ ## cpu; \
     p.pixelavg_pp[LUMA_16x8]  = x265_pixel_avg_16x8_ ## cpu; \
+    p.pixelavg_pp[LUMA_16x4]  = x265_pixel_avg_16x4_ ## cpu; \
     p.pixelavg_pp[LUMA_8x16]  = x265_pixel_avg_8x16_ ## cpu; \
     p.pixelavg_pp[LUMA_8x8]   = x265_pixel_avg_8x8_ ## cpu; \
     p.pixelavg_pp[LUMA_8x4]   = x265_pixel_avg_8x4_ ## cpu;
diff -r 9642b5b6500b -r 958a2f83d9e3 source/common/x86/mc-a.asm
--- a/source/common/x86/mc-a.asm	Mon Nov 11 17:41:32 2013 +0800
+++ b/source/common/x86/mc-a.asm	Mon Nov 11 16:50:59 2013 +0530
@@ -716,19 +716,33 @@
 AVGH 8,  4
 
 AVG_FUNC 16, movq, movq
+AVGH 16, 64
+AVGH 16, 32
 AVGH 16, 16
+AVGH 16, 12
 AVGH 16, 8
+AVGH 16, 4
 
 INIT_XMM sse2
 AVG_FUNC 16, movdqu, movdqa
+AVGH 16, 64
+AVGH 16, 32
 AVGH 16, 16
-AVGH 16,  8
+AVGH 16, 12
+AVGH 16, 8
+AVGH 16, 4
+
 AVGH  8, 16
 AVGH  8,  8
 AVGH  8,  4
 INIT_XMM ssse3
+AVGH 16, 64
+AVGH 16, 32
 AVGH 16, 16
-AVGH 16,  8
+AVGH 16, 12
+AVGH 16, 8
+AVGH 16, 4
+
 AVGH  8, 16
 AVGH  8,  8
 AVGH  8,  4
diff -r 9642b5b6500b -r 958a2f83d9e3 source/common/x86/pixel.h
--- a/source/common/x86/pixel.h	Mon Nov 11 17:41:32 2013 +0800
+++ b/source/common/x86/pixel.h	Mon Nov 11 16:50:59 2013 +0530
@@ -238,8 +238,12 @@
     void func ## _mmx2 args; \
     void func ## _sse2 args; \
     void func ## _ssse3 args;
+DECL_SUF(x265_pixel_avg_16x64, (pixel *, intptr_t, pixel *, intptr_t, pixel *, intptr_t, int))
+DECL_SUF(x265_pixel_avg_16x32, (pixel *, intptr_t, pixel *, intptr_t, pixel *, intptr_t, int))
 DECL_SUF(x265_pixel_avg_16x16, (pixel *, intptr_t, pixel *, intptr_t, pixel *, intptr_t, int))
+DECL_SUF(x265_pixel_avg_16x12, (pixel *, intptr_t, pixel *, intptr_t, pixel *, intptr_t, int))
 DECL_SUF(x265_pixel_avg_16x8,  (pixel *, intptr_t, pixel *, intptr_t, pixel *, intptr_t, int))
+DECL_SUF(x265_pixel_avg_16x4,  (pixel *, intptr_t, pixel *, intptr_t, pixel *, intptr_t, int))
 DECL_SUF(x265_pixel_avg_8x16,  (pixel *, intptr_t, pixel *, intptr_t, pixel *, intptr_t, int))
 DECL_SUF(x265_pixel_avg_8x8,   (pixel *, intptr_t, pixel *, intptr_t, pixel *, intptr_t, int))
 DECL_SUF(x265_pixel_avg_8x4,   (pixel *, intptr_t, pixel *, intptr_t, pixel *, intptr_t, int))


More information about the x265-devel mailing list