summaryrefslogtreecommitdiff
path: root/libavfilter/x86
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2015-10-10 20:28:11 -0300
committerJames Almer <jamrial@gmail.com>2015-10-11 14:23:21 -0300
commitd2bf2d094ed60131562246effe5cf9e305688026 (patch)
treed785d621c21955828bba88002ce81d3fa2684e17 /libavfilter/x86
parentf226c25a3740a280db5e5d27bf438d4a45fc426a (diff)
x86/vf_w3fdif: move pxor outside the loop in w3fdif_complex_low
Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavfilter/x86')
-rw-r--r--libavfilter/x86/vf_w3fdif.asm8
1 files changed, 4 insertions, 4 deletions
diff --git a/libavfilter/x86/vf_w3fdif.asm b/libavfilter/x86/vf_w3fdif.asm
index 988b847463..f02319bd4d 100644
--- a/libavfilter/x86/vf_w3fdif.asm
+++ b/libavfilter/x86/vf_w3fdif.asm
@@ -65,11 +65,12 @@ cglobal w3fdif_simple_low, 4, 5, 6, 0, work_line, in_lines_cur0, coef, linesize,
jg .loop
REP_RET
-cglobal w3fdif_complex_low, 4, 7, 7, 0, work_line, in_lines_cur0, coef, linesize
+cglobal w3fdif_complex_low, 4, 7, 8, 0, work_line, in_lines_cur0, coef, linesize
movq m0, [coefq]
DEFINE_ARGS work_line, in_lines_cur0, in_lines_cur1, linesize, offset, in_lines_cur2, in_lines_cur3
pshufd m2, m0, q1111
SPLATD m0
+ pxor m1, m1
mov offsetq, 0
mov in_lines_cur3q, [in_lines_cur0q+gprsize*3]
mov in_lines_cur2q, [in_lines_cur0q+gprsize*2]
@@ -79,17 +80,16 @@ cglobal w3fdif_complex_low, 4, 7, 7, 0, work_line, in_lines_cur0, coef, linesize
.loop:
movh m4, [in_lines_cur0q+offsetq]
movh m5, [in_lines_cur1q+offsetq]
- pxor m1, m1
punpcklbw m4, m1
punpcklbw m5, m1
- SBUTTERFLY wd, 4, 5, 3
+ SBUTTERFLY wd, 4, 5, 7
pmaddwd m4, m0
pmaddwd m5, m0
movh m6, [in_lines_cur2q+offsetq]
movh m3, [in_lines_cur3q+offsetq]
punpcklbw m6, m1
punpcklbw m3, m1
- SBUTTERFLY wd, 6, 3, 1
+ SBUTTERFLY wd, 6, 3, 7
pmaddwd m6, m2
pmaddwd m3, m2
paddd m4, m6