[libav-stable] avfilter: Add missing emms_c when needed

Luca Barbato git at libav.org
Wed Mar 5 11:08:10 CET 2014


Module: libav
Branch: master
Commit: e995cf1bccc6e91bbaa6a8771e23fb3ab259c110

Author:    Luca Barbato <lu_zero at gentoo.org>
Committer: Luca Barbato <lu_zero at gentoo.org>
Date:      Wed Mar  5 10:41:33 2014 +0100

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 at 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 12d496e..59223e5 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 79f6790..f7c4372 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 cd9f0d2..be6b761 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(...) \



More information about the libav-stable mailing list