projects
/
platform
/
upstream
/
libav.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
628a17d
)
vf_interlace: do not process an already interlaced frame
author
Vittorio Giovara
<vittorio.giovara@gmail.com>
Tue, 1 Oct 2013 17:08:03 +0000
(19:08 +0200)
committer
Anton Khirnov
<anton@khirnov.net>
Wed, 2 Oct 2013 14:40:49 +0000
(16:40 +0200)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
libavfilter/vf_interlace.c
patch
|
blob
|
history
diff --git
a/libavfilter/vf_interlace.c
b/libavfilter/vf_interlace.c
index
d654739
..
139d5b0
100644
(file)
--- a/
libavfilter/vf_interlace.c
+++ b/
libavfilter/vf_interlace.c
@@
-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)