aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2014-03-05 10:41:33 +0100
committerReinhard Tartler <siretart@tauware.de>2014-05-10 11:11:21 -0400
commitff79f6b35a94dde69b3d52bd2abdfdb793f525c3 (patch)
treeab2583dddb25ce5e543f502aaa065682f017d008
parente2a83d72da866a29f5307a56f66c469966f02473 (diff)
downloadffmpeg-ff79f6b35a94dde69b3d52bd2abdfdb793f525c3.tar.gz
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 (cherry picked from commit e995cf1bccc6e91bbaa6a8771e23fb3ab259c110)
-rw-r--r--libavfilter/af_volume.c2
-rw-r--r--libavfilter/vf_gradfun.c1
-rw-r--r--libavfilter/vf_hqdn3d.c1
3 files changed, 4 insertions, 0 deletions
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(...) \