From 2c1d38d1e1c2617f51bbb833bb7fe1298644cd21 Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michael@niedermayer.cc>
Date: Fri, 21 Oct 2016 15:10:48 +0200
Subject: [PATCH] avcodec/snowenc: Clear MMX state after edge drawing and
 picture encode

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

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

diff --git a/libavcodec/snowenc.c b/libavcodec/snowenc.c
index 00aef572ae1..5cc7997f5c9 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);
 
-- 
GitLab