]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/vf_detelecine.c
Merge commit 'a78f5548d94f23ce23cece41edf0fe9d18926de6'
[ffmpeg] / libavfilter / vf_detelecine.c
index 218a8c8e7028582967c925dadd0f01936a59b728..44379a3ec7c55b0645b74da109bc289daa01cb76 100644 (file)
@@ -126,8 +126,7 @@ static int query_formats(AVFilterContext *ctx)
             ff_add_format(&pix_fmts, fmt);
     }
 
-    ff_set_common_formats(ctx, pix_fmts);
-    return 0;
+    return ff_set_common_formats(ctx, pix_fmts);
 }
 
 static int config_input(AVFilterLink *inlink)
@@ -265,12 +264,16 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *inpicref)
                 out = 1;
             } else if (len == 1) {
                 // fill in the EARLIER field from the new pic
-                av_image_copy_plane(s->frame->data[i] + s->frame->linesize[i] * s->first_field,
-                                    s->frame->linesize[i] * 2,
-                                    inpicref->data[i] + inpicref->linesize[i] * s->first_field,
-                                    inpicref->linesize[i] * 2,
-                                    s->stride[i],
-                                    (s->planeheight[i] - s->first_field + 1) / 2);
+                for (i = 0; i < s->nb_planes; i++) {
+                    av_image_copy_plane(s->frame->data[i] +
+                                        s->frame->linesize[i] * s->first_field,
+                                        s->frame->linesize[i] * 2,
+                                        inpicref->data[i] +
+                                        inpicref->linesize[i] * s->first_field,
+                                        inpicref->linesize[i] * 2, s->stride[i],
+                                        (s->planeheight[i] - s->first_field + 1) / 2);
+                 }
+
                 // TODO: not sure about the other field
 
                 len--;