summaryrefslogtreecommitdiff
path: root/libavfilter/vf_detelecine.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavfilter/vf_detelecine.c')
-rw-r--r--libavfilter/vf_detelecine.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/libavfilter/vf_detelecine.c b/libavfilter/vf_detelecine.c
index 218a8c8e70..8ad7ae32f2 100644
--- a/libavfilter/vf_detelecine.c
+++ b/libavfilter/vf_detelecine.c
@@ -265,12 +265,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--;