summaryrefslogtreecommitdiff
path: root/libavfilter/x86
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2015-10-07 23:12:09 +0200
committerPaul B Mahol <onemda@gmail.com>2015-10-07 23:12:09 +0200
commit624a1a0e690e97ff47de76ab1084b98ae7d93e56 (patch)
tree679deff62619058f5c3cb0fdaff91f07e28502cc /libavfilter/x86
parente999210cec5b0c5e710e3923083e3d7e6ae07b27 (diff)
avfilter/x86/vf_blend.asm: hardmix: do same with two pxor instructions less
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Diffstat (limited to 'libavfilter/x86')
-rw-r--r--libavfilter/x86/vf_blend.asm7
1 files changed, 4 insertions, 3 deletions
diff --git a/libavfilter/x86/vf_blend.asm b/libavfilter/x86/vf_blend.asm
index 97327c676d..f0fb2ea4b9 100644
--- a/libavfilter/x86/vf_blend.asm
+++ b/libavfilter/x86/vf_blend.asm
@@ -27,6 +27,7 @@ SECTION_RODATA
pw_128: times 8 dw 128
pw_255: times 8 dw 255
+pb_127: times 16 db 127
pb_128: times 16 db 128
pb_255: times 16 db 255
@@ -275,13 +276,14 @@ cglobal blend_darken, 9, 11, 2, 0, top, top_linesize, bottom, bottom_linesize, d
jg .nextrow
REP_RET
-cglobal blend_hardmix, 9, 11, 4, 0, top, top_linesize, bottom, bottom_linesize, dst, dst_linesize, width, start, end
+cglobal blend_hardmix, 9, 11, 5, 0, top, top_linesize, bottom, bottom_linesize, dst, dst_linesize, width, start, end
add topq, widthq
add bottomq, widthq
add dstq, widthq
sub endq, startq
mova m2, [pb_255]
mova m3, [pb_128]
+ mova m4, [pb_127]
neg widthq
.nextrow:
mov r10q, widthq
@@ -290,9 +292,8 @@ cglobal blend_hardmix, 9, 11, 4, 0, top, top_linesize, bottom, bottom_linesize,
.loop:
movu m0, [topq + x]
movu m1, [bottomq + x]
- pxor m1, m2
+ pxor m1, m4
pxor m0, m3
- pxor m1, m3
pcmpgtb m1, m0
pxor m1, m2
mova [dstq + x], m1