diff options
author | Luca Barbato <lu_zero@gentoo.org> | 2014-03-05 10:41:33 +0100 |
---|---|---|
committer | Sean McGovern <gseanmcg@gmail.com> | 2014-04-14 18:29:46 -0400 |
commit | b1432e905d462198a8d7834b256848f2b9e4f8e6 (patch) | |
tree | 2d45052b83f59c40a6eb808e8ea46cb2aed97c55 | |
parent | 1bccf68caeee787139f22679e1300a5eea048cf5 (diff) | |
download | ffmpeg-b1432e905d462198a8d7834b256848f2b9e4f8e6.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.c | 2 | ||||
-rw-r--r-- | libavfilter/vf_gradfun.c | 1 | ||||
-rw-r--r-- | libavfilter/vf_hqdn3d.c | 1 |
3 files changed, 4 insertions, 0 deletions
diff --git a/libavfilter/af_volume.c b/libavfilter/af_volume.c index 3f3ad47258..c8e88975e7 100644 --- a/libavfilter/af_volume.c +++ b/libavfilter/af_volume.c @@ -282,6 +282,8 @@ static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *buf) } } + emms_c(); + if (buf != out_buf) avfilter_unref_buffer(buf); diff --git a/libavfilter/vf_gradfun.c b/libavfilter/vf_gradfun.c index 79e149009d..b9fd50f826 100644 --- a/libavfilter/vf_gradfun.c +++ b/libavfilter/vf_gradfun.c @@ -117,6 +117,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, const char *args) diff --git a/libavfilter/vf_hqdn3d.c b/libavfilter/vf_hqdn3d.c index e2d90d53ab..ae794d8df0 100644 --- a/libavfilter/vf_hqdn3d.c +++ b/libavfilter/vf_hqdn3d.c @@ -155,6 +155,7 @@ static void denoise_depth(HQDN3DContext *hqdn3d, else denoise_temporal(src, dst, frame_ant, w, h, sstride, dstride, temporal, depth); + emms_c(); } #define denoise(...) \ |