These assembly optimisations can use MMX.  They failed to reset the
floating-point state when they are done, hence subsequent floating-point
operations return nonsense values.

This fixes the FATE failure for vvc-output-ref on x86-32, e.g.
https://fate.ffmpeg.org/report.cgi?slot=x86_32-uubuntu-mingw32-gcc&time=20241110053421

Signed-off-by: Frank Plowman <p...@frankplowman.com>
---
 libavcodec/x86/videodsp.asm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libavcodec/x86/videodsp.asm b/libavcodec/x86/videodsp.asm
index 3cc07878d3..6144f13fca 100644
--- a/libavcodec/x86/videodsp.asm
+++ b/libavcodec/x86/videodsp.asm
@@ -313,6 +313,7 @@ cglobal emu_edge_vfix %+ %%n, 1, 5, 1, dst, src, start_y, 
end_y, bh
     jnz .bottom_loop                            ; }
 
 .end:
+    emms
     RET
 %assign %%n %%n+1
 %endrep ; 1+%2-%1
-- 
2.46.0

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to