diff options
-rw-r--r-- | libavfilter/vf_detelecine.c | 16 |
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--; |