vf_interlace: do not process an already interlaced frame

Signed-off-by: Anton Khirnov <anton@khirnov.net>
This commit is contained in:
Vittorio Giovara 2013-10-01 19:08:03 +02:00 committed by Anton Khirnov
parent 628a17d78a
commit 06e7301a2e

View File

@ -181,6 +181,16 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *buf)
if (!s->cur || !s->next)
return 0;
if (s->cur->interlaced_frame) {
av_log(ctx, AV_LOG_WARNING,
"video is already interlaced, adjusting framerate only\n");
out = av_frame_clone(s->cur);
out->pts /= 2; // adjust pts to new framerate
ret = ff_filter_frame(outlink, out);
s->got_output = 1;
return ret;
}
tff = (s->scan == MODE_TFF);
out = ff_get_video_buffer(outlink, outlink->w, outlink->h);
if (!out)