[FFmpeg-devel] [RFC]lavu/x86/pixelutils: Call emms before returning.
Carl Eugen Hoyos
cehoyos at ag.or.at
Sun Oct 2 23:53:17 EEST 2016
Hi!
The functions in libavutil/x86/pixelutils.asm are exported
to the library users if I understand the code correctly.
I suspect it can be expected that the MMX state is reset
after returning.
Fixes the pixelutils fate test with musl on x86-32.
Please comment, Carl Eugen
-------------- next part --------------
From f16831e6dc0f36c8f290d927bf51142c64fe8afc Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <cehoyos at ag.or.at>
Date: Sun, 2 Oct 2016 22:45:51 +0200
Subject: [PATCH] lavu/x86/pixelutils: Call emms before returning.
The functions are exported and the library user can
expect that the MMX state is reset after returning.
---
libavutil/x86/pixelutils.asm | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libavutil/x86/pixelutils.asm b/libavutil/x86/pixelutils.asm
index 7af3007..092eb6e 100644
--- a/libavutil/x86/pixelutils.asm
+++ b/libavutil/x86/pixelutils.asm
@@ -61,6 +61,7 @@ cglobal pixelutils_sad_8x8, 4,4,0, src1, stride1, src2, stride2
paddw m6, m0
movd eax, m6
movzx eax, ax
+ emms
RET
;-------------------------------------------------------------------------------
@@ -81,6 +82,7 @@ cglobal pixelutils_sad_8x8, 4,4,0, src1, stride1, src2, stride2
lea src2q, [src2q + 2*stride2q]
%endrep
movd eax, m2
+ emms
RET
;-------------------------------------------------------------------------------
@@ -101,6 +103,7 @@ cglobal pixelutils_sad_16x16, 4,4,0, src1, stride1, src2, stride2
add src2q, stride2q
%endrep
movd eax, m2
+ emms
RET
;-------------------------------------------------------------------------------
@@ -131,6 +134,7 @@ cglobal pixelutils_sad_16x16, 4,4,5, src1, stride1, src2, stride2
movhlps m0, m4
paddw m4, m0
movd eax, m4
+ emms
RET
;-------------------------------------------------------------------------------
@@ -158,6 +162,7 @@ cglobal pixelutils_sad_%1_16x16, 4,4,3, src1, stride1, src2, stride2
movhlps m0, m2
paddw m2, m0
movd eax, m2
+ emms
RET
%endmacro
--
1.7.10.4
More information about the ffmpeg-devel
mailing list