[FFmpeg-devel] [PATCH 5/7] avcodec/snowenc: Clear MMX state after edge drawing and picture encode

Michael Niedermayer michael at niedermayer.cc
Fri Oct 21 16:31:44 EEST 2016


Fixes undefined behavior from calling libc allocation with unclean FPU state.

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 libavcodec/snowenc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavcodec/snowenc.c b/libavcodec/snowenc.c
index 00aef57..5cc7997 100644
--- a/libavcodec/snowenc.c
+++ b/libavcodec/snowenc.c
@@ -1640,6 +1640,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
                                     s->current_picture->linesize[2], w>>s->chroma_h_shift, h>>s->chroma_v_shift,
                                     EDGE_WIDTH>>s->chroma_h_shift, EDGE_WIDTH>>s->chroma_v_shift, EDGE_TOP | EDGE_BOTTOM);
         }
+        emms_c();
     }
 
     ff_snow_frame_start(s);
@@ -1856,6 +1857,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
         }
 
     }
+    emms_c();
 
     update_last_header_values(s);
 
-- 
2.10.1



More information about the ffmpeg-devel mailing list