mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-12 18:25:03 +00:00
avfilter/x86/vf_blend.asm: hardmix: do same with two pxor instructions less
Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
parent
e999210cec
commit
624a1a0e69
@ -27,6 +27,7 @@ SECTION_RODATA
|
|||||||
|
|
||||||
pw_128: times 8 dw 128
|
pw_128: times 8 dw 128
|
||||||
pw_255: times 8 dw 255
|
pw_255: times 8 dw 255
|
||||||
|
pb_127: times 16 db 127
|
||||||
pb_128: times 16 db 128
|
pb_128: times 16 db 128
|
||||||
pb_255: times 16 db 255
|
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
|
jg .nextrow
|
||||||
REP_RET
|
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 topq, widthq
|
||||||
add bottomq, widthq
|
add bottomq, widthq
|
||||||
add dstq, widthq
|
add dstq, widthq
|
||||||
sub endq, startq
|
sub endq, startq
|
||||||
mova m2, [pb_255]
|
mova m2, [pb_255]
|
||||||
mova m3, [pb_128]
|
mova m3, [pb_128]
|
||||||
|
mova m4, [pb_127]
|
||||||
neg widthq
|
neg widthq
|
||||||
.nextrow:
|
.nextrow:
|
||||||
mov r10q, widthq
|
mov r10q, widthq
|
||||||
@ -290,9 +292,8 @@ cglobal blend_hardmix, 9, 11, 4, 0, top, top_linesize, bottom, bottom_linesize,
|
|||||||
.loop:
|
.loop:
|
||||||
movu m0, [topq + x]
|
movu m0, [topq + x]
|
||||||
movu m1, [bottomq + x]
|
movu m1, [bottomq + x]
|
||||||
pxor m1, m2
|
pxor m1, m4
|
||||||
pxor m0, m3
|
pxor m0, m3
|
||||||
pxor m1, m3
|
|
||||||
pcmpgtb m1, m0
|
pcmpgtb m1, m0
|
||||||
pxor m1, m2
|
pxor m1, m2
|
||||||
mova [dstq + x], m1
|
mova [dstq + x], m1
|
||||||
|
Loading…
Reference in New Issue
Block a user