diff --git a/subprojects/gst-plugins-good/gst/deinterlace/x86/yadif.asm b/subprojects/gst-plugins-good/gst/deinterlace/x86/yadif.asm index f957d0a6d5..df2bb899ad 100644 --- a/subprojects/gst-plugins-good/gst/deinterlace/x86/yadif.asm +++ b/subprojects/gst-plugins-good/gst/deinterlace/x86/yadif.asm @@ -160,6 +160,8 @@ SECTION .text psraw m3, 1 ; rsp + 0 = d mova [rsp+ 0], m3 + ; rsp + 16 = bzeroq + mova [rsp+16], m1 ; m2 = m1 - mp psubw m2, m4 ; m2 = temporal_diff0 (m4 is temporary) @@ -195,8 +197,8 @@ SECTION .text psrlw m3, 1 ; m2 = diff (for real) pmaxsw m2, m3 - ; rsp + 16 = diff - mova [rsp+16], m2 + ; rsp + 32 = diff + mova [rsp+32], m2 ; m1 = e + c paddw m1, m0 @@ -251,7 +253,7 @@ SECTION .text ; now m0 = spatial_score, m1 = spatial_pred ; m6 = diff - mova m6, [rsp+16] + mova m6, [rsp+32] %endmacro %macro FILTER_TAIL 0 @@ -311,7 +313,7 @@ SECTION .text ; m5 = d mova m5, [rsp] ; m7 = e - LOAD m7, [bzeroq] + mova m7, [rsp+16] ; m2 = b - c psubw m2, m4 ; m3 = f - e