diff options
author | Paul B Mahol <onemda@gmail.com> | 2015-10-08 00:12:09 +0300 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2015-10-08 00:12:09 +0300 |
commit | 624a1a0e690e97ff47de76ab1084b98ae7d93e56 (patch) | |
tree | 679deff62619058f5c3cb0fdaff91f07e28502cc /libavfilter/x86 | |
parent | e999210cec5b0c5e710e3923083e3d7e6ae07b27 (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.asm | 7 |
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 |