[x265] [PATCH] asm: asm: pixel_avg_24x32

dnyaneshwar at multicorewareinc.com dnyaneshwar at multicorewareinc.com
Tue Nov 12 07:15:51 CET 2013


# HG changeset patch
# User Dnyaneshwar Gorade <dnyaneshwar at multicorewareinc.com>
# Date 1384236898 -19800
#      Tue Nov 12 11:44:58 2013 +0530
# Node ID 1130599ba7772f83bdfdbfafb896110544a0e594
# Parent  6f9fed5e65e39a362904090b6de449a4854b147a
asm: asm: pixel_avg_24x32

diff -r 6f9fed5e65e3 -r 1130599ba777 source/common/x86/asm-primitives.cpp
--- a/source/common/x86/asm-primitives.cpp	Tue Nov 12 11:03:42 2013 +0530
+++ b/source/common/x86/asm-primitives.cpp	Tue Nov 12 11:44:58 2013 +0530
@@ -126,6 +126,7 @@
     p.pixelavg_pp[LUMA_32x24] = x265_pixel_avg_32x24_ ## cpu; \
     p.pixelavg_pp[LUMA_32x16] = x265_pixel_avg_32x16_ ## cpu; \
     p.pixelavg_pp[LUMA_32x8 ] = x265_pixel_avg_32x8_ ## cpu; \
+    p.pixelavg_pp[LUMA_24x32] = x265_pixel_avg_24x32_ ## 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; \
diff -r 6f9fed5e65e3 -r 1130599ba777 source/common/x86/mc-a.asm
--- a/source/common/x86/mc-a.asm	Tue Nov 12 11:03:42 2013 +0530
+++ b/source/common/x86/mc-a.asm	Tue Nov 12 11:44:58 2013 +0530
@@ -238,6 +238,7 @@
 AVG_WEIGHT 16
 AVG_WEIGHT 32
 AVG_WEIGHT 64
+AVG_WEIGHT 24
 %if HIGH_BIT_DEPTH
 INIT_XMM sse2
 AVG_WEIGHT 4,  8
@@ -249,6 +250,7 @@
 AVG_WEIGHT 16, 7
 AVG_WEIGHT 32, 7
 AVG_WEIGHT 64, 7
+AVG_WEIGHT 24, 7
 %define BIWEIGHT BIWEIGHT_SSSE3
 %define BIWEIGHT_START BIWEIGHT_START_SSSE3
 INIT_MMX ssse3
@@ -258,6 +260,7 @@
 AVG_WEIGHT 16, 7
 AVG_WEIGHT 32, 7
 AVG_WEIGHT 64, 7
+AVG_WEIGHT 24, 7
 
 INIT_YMM avx2
 cglobal pixel_avg_weight_w16
@@ -740,6 +743,9 @@
 AVGH 64, 48
 AVGH 64, 16
 
+AVG_FUNC 24, movq, movq
+AVGH 24, 32
+
 INIT_XMM sse2
 AVG_FUNC 64, movdqu, movdqa
 AVGH 64, 64
@@ -753,6 +759,9 @@
 AVGH 32, 16
 AVGH 32, 8
 
+AVG_FUNC 24, movdqu, movdqa
+AVGH 24, 32
+
 AVG_FUNC 16, movdqu, movdqa
 AVGH 16, 64
 AVGH 16, 32
@@ -764,6 +773,8 @@
 AVGH  8,  8
 AVGH  8,  4
 INIT_XMM ssse3
+AVGH 24, 32
+
 AVGH 64, 64
 AVGH 64, 48
 AVGH 64, 16
@@ -790,6 +801,9 @@
 AVGH  4,  2
 INIT_XMM avx2
 ; TODO: active AVX2 after debug
+;AVG_FUNC 24, movdqu, movdqa
+;AVGH 24, 32
+
 ;AVG_FUNC 64, movdqu, movdqa
 ;AVGH 64, 64
 ;AVGH 64, 48
diff -r 6f9fed5e65e3 -r 1130599ba777 source/common/x86/pixel.h
--- a/source/common/x86/pixel.h	Tue Nov 12 11:03:42 2013 +0530
+++ b/source/common/x86/pixel.h	Tue Nov 12 11:44:58 2013 +0530
@@ -246,6 +246,7 @@
 DECL_SUF(x265_pixel_avg_32x24, (pixel *, intptr_t, pixel *, intptr_t, pixel *, intptr_t, int))
 DECL_SUF(x265_pixel_avg_32x16, (pixel *, intptr_t, pixel *, intptr_t, pixel *, intptr_t, int))
 DECL_SUF(x265_pixel_avg_32x8,  (pixel *, intptr_t, pixel *, intptr_t, pixel *, intptr_t, int))
+DECL_SUF(x265_pixel_avg_24x32, (pixel *, intptr_t, pixel *, intptr_t, pixel *, intptr_t, int))
 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))


More information about the x265-devel mailing list