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 e995cf1bcc)
This commit is contained in:
Luca Barbato
2014-03-05 10:41:33 +01:00
committed by Sean McGovern
parent 1bccf68cae
commit b1432e905d
3 changed files with 4 additions and 0 deletions

View File

@@ -282,6 +282,8 @@ static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *buf)
} }
} }
emms_c();
if (buf != out_buf) if (buf != out_buf)
avfilter_unref_buffer(buf); avfilter_unref_buffer(buf);

View File

@@ -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]); ctx->filter_line(dst + y * dst_linesize, src + y * src_linesize, dc - r / 2, width, thresh, dither[y & 7]);
if (++y >= height) break; if (++y >= height) break;
} }
emms_c();
} }
static av_cold int init(AVFilterContext *ctx, const char *args) static av_cold int init(AVFilterContext *ctx, const char *args)

View File

@@ -155,6 +155,7 @@ static void denoise_depth(HQDN3DContext *hqdn3d,
else else
denoise_temporal(src, dst, frame_ant, denoise_temporal(src, dst, frame_ant,
w, h, sstride, dstride, temporal, depth); w, h, sstride, dstride, temporal, depth);
emms_c();
} }
#define denoise(...) \ #define denoise(...) \