[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