[x265] [PATCH] asm: chroma_hps[8xN, 16xN, 32xN for i422] high bit depth

aasaipriya at multicorewareinc.com aasaipriya at multicorewareinc.com
Wed May 27 08:59:12 CEST 2015


# HG changeset patch
# User Aasaipriya Chandran <aasaipriya at multicorewareinc.com>
# Date 1432709924 -19800
#      Wed May 27 12:28:44 2015 +0530
# Node ID 8f82dca1d6c4a4623b9c5c332f320c9785f97f42
# Parent  30b348e730afcc4821742b38354921de7bdc5f21
asm: chroma_hps[8xN, 16xN, 32xN for i422] high bit depth

diff -r 30b348e730af -r 8f82dca1d6c4 source/common/x86/asm-primitives.cpp
--- a/source/common/x86/asm-primitives.cpp	Tue May 26 13:17:55 2015 +0530
+++ b/source/common/x86/asm-primitives.cpp	Wed May 27 12:28:44 2015 +0530
@@ -1525,6 +1525,22 @@
         p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].filter_hps = x265_interp_4tap_horiz_ps_24x32_avx2;
         p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].filter_hps = x265_interp_4tap_horiz_ps_12x16_avx2;
 
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].filter_hps = x265_interp_4tap_horiz_ps_8x8_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].filter_hps = x265_interp_4tap_horiz_ps_8x16_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].filter_hps = x265_interp_4tap_horiz_ps_8x32_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].filter_hps = x265_interp_4tap_horiz_ps_8x12_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].filter_hps = x265_interp_4tap_horiz_ps_8x64_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].filter_hps = x265_interp_4tap_horiz_ps_8x4_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].filter_hps = x265_interp_4tap_horiz_ps_16x32_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].filter_hps = x265_interp_4tap_horiz_ps_16x16_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].filter_hps = x265_interp_4tap_horiz_ps_16x64_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].filter_hps = x265_interp_4tap_horiz_ps_16x24_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].filter_hps = x265_interp_4tap_horiz_ps_16x8_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].filter_hps = x265_interp_4tap_horiz_ps_32x64_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].filter_hps = x265_interp_4tap_horiz_ps_32x32_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].filter_hps = x265_interp_4tap_horiz_ps_32x48_avx2;
+        p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].filter_hps = x265_interp_4tap_horiz_ps_32x16_avx2;
+
         if (cpuMask & X265_CPU_BMI2)
             p.scanPosLast = x265_scanPosLast_avx2_bmi2;
     }
diff -r 30b348e730af -r 8f82dca1d6c4 source/common/x86/ipfilter16.asm
--- a/source/common/x86/ipfilter16.asm	Tue May 26 13:17:55 2015 +0530
+++ b/source/common/x86/ipfilter16.asm	Wed May 27 12:28:44 2015 +0530
@@ -8125,6 +8125,8 @@
     IPFILTER_CHROMA_PS_8xN_AVX2 32
     IPFILTER_CHROMA_PS_8xN_AVX2 6
     IPFILTER_CHROMA_PS_8xN_AVX2 2
+    IPFILTER_CHROMA_PS_8xN_AVX2 12
+    IPFILTER_CHROMA_PS_8xN_AVX2 64
 
 %macro IPFILTER_CHROMA_PS_16xN_AVX2 1
 INIT_YMM avx2
@@ -8196,6 +8198,8 @@
 IPFILTER_CHROMA_PS_16xN_AVX2 32
 IPFILTER_CHROMA_PS_16xN_AVX2 12
 IPFILTER_CHROMA_PS_16xN_AVX2 4
+IPFILTER_CHROMA_PS_16xN_AVX2 64
+IPFILTER_CHROMA_PS_16xN_AVX2 24
 
 INIT_YMM avx2
 %if ARCH_X86_64 == 1
@@ -8430,3 +8434,5 @@
 IPFILTER_CHROMA_PS_32xN_AVX2 16
 IPFILTER_CHROMA_PS_32xN_AVX2 24
 IPFILTER_CHROMA_PS_32xN_AVX2 8
+IPFILTER_CHROMA_PS_32xN_AVX2 64
+IPFILTER_CHROMA_PS_32xN_AVX2 48
diff -r 30b348e730af -r 8f82dca1d6c4 source/common/x86/ipfilter8.h
--- a/source/common/x86/ipfilter8.h	Tue May 26 13:17:55 2015 +0530
+++ b/source/common/x86/ipfilter8.h	Wed May 27 12:28:44 2015 +0530
@@ -401,6 +401,7 @@
 CHROMA_444_VERT_FILTERS(_sse2);
 CHROMA_444_HORIZ_FILTERS(_sse4);
 CHROMA_420_HORIZ_FILTERS(_avx2);
+CHROMA_422_HORIZ_FILTERS(_avx2);
 
 #undef CHROMA_420_VERT_FILTERS_SSE4
 #undef CHROMA_420_VERT_FILTERS


More information about the x265-devel mailing list