[x265] [PATCH] asm: luma_vpp[48x64] in avx2: improve 21298c->14696c

Divya Manivannan divya at multicorewareinc.com
Thu Nov 27 04:41:35 CET 2014


# HG changeset patch
# User Divya Manivannan <divya at multicorewareinc.com>
# Date 1417059647 -19800
#      Thu Nov 27 09:10:47 2014 +0530
# Node ID d9ef1c1a579e2bcb41b84633fc444367bb4070d2
# Parent  dfe0803ae6be925281cd6101fc0354a34bedfefd
asm: luma_vpp[48x64] in avx2: improve 21298c->14696c

diff -r dfe0803ae6be -r d9ef1c1a579e source/common/x86/asm-primitives.cpp
--- a/source/common/x86/asm-primitives.cpp	Wed Nov 26 16:56:00 2014 -0600
+++ b/source/common/x86/asm-primitives.cpp	Thu Nov 27 09:10:47 2014 +0530
@@ -1812,6 +1812,8 @@
         p.luma_vpp[LUMA_32x32] = x265_interp_8tap_vert_pp_32x32_avx2;
         p.luma_vpp[LUMA_32x64] = x265_interp_8tap_vert_pp_32x64_avx2;
 
+        p.luma_vpp[LUMA_48x64] = x265_interp_8tap_vert_pp_48x64_avx2;
+
         p.luma_vpp[LUMA_64x16] = x265_interp_8tap_vert_pp_64x16_avx2;
         p.luma_vpp[LUMA_64x32] = x265_interp_8tap_vert_pp_64x32_avx2;
         p.luma_vpp[LUMA_64x48] = x265_interp_8tap_vert_pp_64x48_avx2;
diff -r dfe0803ae6be -r d9ef1c1a579e source/common/x86/ipfilter8.asm
--- a/source/common/x86/ipfilter8.asm	Wed Nov 26 16:56:00 2014 -0600
+++ b/source/common/x86/ipfilter8.asm	Thu Nov 27 09:10:47 2014 +0530
@@ -6124,6 +6124,41 @@
     RET
 %endif
 
+INIT_YMM avx2
+%if ARCH_X86_64 == 1
+cglobal interp_8tap_vert_pp_48x64, 4, 12, 15
+    mov             r4d, r4m
+    shl             r4d, 7
+
+%ifdef PIC
+    lea             r5, [tab_LumaCoeffVer_32]
+    add             r5, r4
+%else
+    lea             r5, [tab_LumaCoeffVer_32 + r4]
+%endif
+
+    lea             r4, [r1 * 3]
+    sub             r0, r4
+    lea             r6, [r3 * 3]
+    lea             r11, [r1 * 4]
+    mova            m14, [pw_512]
+    mov             r9d, 4
+.loopH:
+    mov             r10d, 3
+.loopW:
+    PROCESS_LUMA_AVX2_W16_16R
+    add             r2, 16
+    add             r0, 16
+    dec             r10d
+    jnz             .loopW
+    sub             r7, r11
+    lea             r0, [r7 - 32]
+    lea             r2, [r8 + r3 * 4 - 32]
+    dec             r9d
+    jnz             .loopH
+    RET
+%endif
+
 %macro FILTER_VER_LUMA_AVX2_64xN 2
 INIT_YMM avx2
 %if ARCH_X86_64 == 1


More information about the x265-devel mailing list