diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-10-03 11:13:37 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-10-03 11:16:57 +0200 |
commit | c4f3b55f507955a5db45802b09a1a38ff7f8bb8d (patch) | |
tree | f43676e6154d186c1118dfa64cca4902c4c2e2ef /libavfilter/vf_interlace.c | |
parent | f5b27b6d5f86626adf1ece529d8b48ddec7c2961 (diff) | |
parent | 06e7301a2efa8dededecbe6836ee5b59bf7e5e76 (diff) | |
download | ffmpeg-c4f3b55f507955a5db45802b09a1a38ff7f8bb8d.tar.gz |
Merge commit '06e7301a2efa8dededecbe6836ee5b59bf7e5e76'
* commit '06e7301a2efa8dededecbe6836ee5b59bf7e5e76':
vf_interlace: do not process an already interlaced frame
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter/vf_interlace.c')
-rw-r--r-- | libavfilter/vf_interlace.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libavfilter/vf_interlace.c b/libavfilter/vf_interlace.c index bcb5419154..7b45595ff5 100644 --- a/libavfilter/vf_interlace.c +++ b/libavfilter/vf_interlace.c @@ -180,6 +180,15 @@ 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); + return ret; + } + tff = (s->scan == MODE_TFF); out = ff_get_video_buffer(outlink, outlink->w, outlink->h); if (!out) |