From e995cf1bccc6e91bbaa6a8771e23fb3ab259c110 Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Wed, 5 Mar 2014 10:41:33 +0100 Subject: [PATCH] avfilter: Add missing emms_c when needed Arch specific calls should have an emms_c following to keep the cpu state consistent. Reported-By: wm4 CC: libav-stable@libav.org --- libavfilter/af_volume.c | 2 ++ libavfilter/vf_gradfun.c | 1 + libavfilter/vf_hqdn3d.c | 1 + 3 files changed, 4 insertions(+) diff --git a/libavfilter/af_volume.c b/libavfilter/af_volume.c index 12d496ed4d..59223e548b 100644 --- a/libavfilter/af_volume.c +++ b/libavfilter/af_volume.c @@ -278,6 +278,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *buf) } } + emms_c(); + if (buf != out_buf) av_frame_free(&buf); diff --git a/libavfilter/vf_gradfun.c b/libavfilter/vf_gradfun.c index 79f6790f30..f7c4372dd3 100644 --- a/libavfilter/vf_gradfun.c +++ b/libavfilter/vf_gradfun.c @@ -118,6 +118,7 @@ static void filter(GradFunContext *ctx, uint8_t *dst, uint8_t *src, int width, i ctx->filter_line(dst + y * dst_linesize, src + y * src_linesize, dc - r / 2, width, thresh, dither[y & 7]); if (++y >= height) break; } + emms_c(); } static av_cold int init(AVFilterContext *ctx) diff --git a/libavfilter/vf_hqdn3d.c b/libavfilter/vf_hqdn3d.c index cd9f0d2856..be6b7616b6 100644 --- a/libavfilter/vf_hqdn3d.c +++ b/libavfilter/vf_hqdn3d.c @@ -147,6 +147,7 @@ static void denoise_depth(HQDN3DContext *s, else denoise_temporal(src, dst, frame_ant, w, h, sstride, dstride, temporal, depth); + emms_c(); } #define denoise(...) \