[x265] [PATCH] asm: avx2 code for chroma addAvg for all partitions

sumalatha at multicorewareinc.com sumalatha at multicorewareinc.com
Fri Apr 17 11:04:34 CEST 2015


# HG changeset patch
# User Sumalatha Polureddy
# Date 1429261467 -19800
#      Fri Apr 17 14:34:27 2015 +0530
# Node ID bb3af1612c15b38d470d3d30bafceb82d1b3c322
# Parent  7be1172ec816298c32f588908e1b6f0fa214d349
asm: avx2 code for chroma addAvg for all partitions

diff -r 7be1172ec816 -r bb3af1612c15 source/common/x86/asm-primitives.cpp
--- a/source/common/x86/asm-primitives.cpp	Thu Apr 16 11:38:32 2015 +0530
+++ b/source/common/x86/asm-primitives.cpp	Fri Apr 17 14:34:27 2015 +0530
@@ -1689,26 +1689,40 @@
         p.pu[LUMA_64x32].addAvg = x265_addAvg_64x32_avx2;
         p.pu[LUMA_64x48].addAvg = x265_addAvg_64x48_avx2;
         p.pu[LUMA_64x64].addAvg = x265_addAvg_64x64_avx2;
-
         p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].addAvg = x265_addAvg_8x2_avx2;
         p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].addAvg = x265_addAvg_8x4_avx2;
         p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].addAvg = x265_addAvg_8x6_avx2;
         p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg = x265_addAvg_8x8_avx2;
         p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg = x265_addAvg_8x16_avx2;
         p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg = x265_addAvg_8x32_avx2;
-
         p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].addAvg = x265_addAvg_12x16_avx2;
-
         p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].addAvg = x265_addAvg_16x4_avx2;
         p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].addAvg = x265_addAvg_16x8_avx2;
         p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].addAvg = x265_addAvg_16x12_avx2;
         p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].addAvg = x265_addAvg_16x16_avx2;
         p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].addAvg = x265_addAvg_16x32_avx2;
-
         p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].addAvg = x265_addAvg_32x8_avx2;
         p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].addAvg = x265_addAvg_32x16_avx2;
         p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].addAvg = x265_addAvg_32x24_avx2;
         p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].addAvg = x265_addAvg_32x32_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].addAvg = x265_addAvg_8x4_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg = x265_addAvg_8x8_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg = x265_addAvg_8x12_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg = x265_addAvg_8x16_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg = x265_addAvg_8x32_avx2;		
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg = x265_addAvg_8x64_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].addAvg = x265_addAvg_12x32_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].addAvg = x265_addAvg_16x8_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].addAvg = x265_addAvg_16x16_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].addAvg = x265_addAvg_16x24_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].addAvg = x265_addAvg_16x32_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].addAvg = x265_addAvg_16x64_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].addAvg = x265_addAvg_24x64_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].addAvg = x265_addAvg_32x16_avx2;		
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].addAvg = x265_addAvg_32x32_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].addAvg = x265_addAvg_32x48_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].addAvg = x265_addAvg_32x64_avx2;
+		
 
         p.cu[BLOCK_16x16].add_ps = x265_pixel_add_ps_16x16_avx2;
         p.cu[BLOCK_32x32].add_ps = x265_pixel_add_ps_32x32_avx2;
diff -r 7be1172ec816 -r bb3af1612c15 source/common/x86/mc-a.asm
--- a/source/common/x86/mc-a.asm	Thu Apr 16 11:38:32 2015 +0530
+++ b/source/common/x86/mc-a.asm	Fri Apr 17 14:34:27 2015 +0530
@@ -1895,8 +1895,10 @@
 
 ADDAVG_W8_H4_AVX2 4
 ADDAVG_W8_H4_AVX2 8
+ADDAVG_W8_H4_AVX2 12
 ADDAVG_W8_H4_AVX2 16
 ADDAVG_W8_H4_AVX2 32
+ADDAVG_W8_H4_AVX2 64
 
 %macro ADDAVG_W12_H4_AVX2 1
 INIT_YMM avx2
@@ -1982,6 +1984,7 @@
 %endmacro
 
 ADDAVG_W12_H4_AVX2 16
+ADDAVG_W12_H4_AVX2 32
 
 %macro ADDAVG_W16_H4_AVX2 1
 INIT_YMM avx2
@@ -2044,6 +2047,7 @@
 ADDAVG_W16_H4_AVX2 8
 ADDAVG_W16_H4_AVX2 12
 ADDAVG_W16_H4_AVX2 16
+ADDAVG_W16_H4_AVX2 24
 ADDAVG_W16_H4_AVX2 32
 ADDAVG_W16_H4_AVX2 64
 
@@ -2101,6 +2105,7 @@
 %endmacro
 
 ADDAVG_W24_H2_AVX2 32
+ADDAVG_W24_H2_AVX2 64
 
 %macro ADDAVG_W32_H2_AVX2 1
 INIT_YMM avx2
@@ -2157,6 +2162,7 @@
 ADDAVG_W32_H2_AVX2 16
 ADDAVG_W32_H2_AVX2 24
 ADDAVG_W32_H2_AVX2 32
+ADDAVG_W32_H2_AVX2 48
 ADDAVG_W32_H2_AVX2 64
 
 %macro ADDAVG_W64_H2_AVX2 1


More information about the x265-devel mailing list