[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