]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/vf_noise.c
Merge commit 'cf679b9476727a237c8006c685ace18acba149ab'
[ffmpeg] / libavfilter / vf_noise.c
index bdab9fadc12b0b750eabb50b3a11bafefd17d415..c965cbf0d96b054f15bef22cb3303f11cdc8e2ea 100644 (file)
@@ -377,7 +377,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *inpicref)
     NoiseContext *n = inlink->dst->priv;
     AVFilterLink *outlink = inlink->dst->outputs[0];
     AVFrame *out;
-    int ret, i;
+    int i;
 
     if (av_frame_is_writable(inpicref)) {
         out = inpicref;
@@ -393,11 +393,11 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *inpicref)
     for (i = 0; i < n->nb_planes; i++)
         noise(out->data[i], inpicref->data[i], out->linesize[i],
               inpicref->linesize[i], n->linesize[i], n->height[i], n, i);
+    emms_c();
 
-    ret = ff_filter_frame(outlink, out);
     if (inpicref != out)
         av_frame_free(&inpicref);
-    return ret;
+    return ff_filter_frame(outlink, out);
 }
 
 static av_cold int init(AVFilterContext *ctx)
@@ -447,7 +447,6 @@ static const AVFilterPad noise_inputs[] = {
     {
         .name             = "default",
         .type             = AVMEDIA_TYPE_VIDEO,
-        .get_video_buffer = ff_null_get_video_buffer,
         .filter_frame     = filter_frame,
         .config_props     = config_input,
     },
@@ -472,4 +471,5 @@ AVFilter avfilter_vf_noise = {
     .inputs        = noise_inputs,
     .outputs       = noise_outputs,
     .priv_class    = &noise_class,
+    .flags         = AVFILTER_FLAG_SUPPORT_TIMELINE,
 };