summaryrefslogtreecommitdiff
path: root/libavfilter/vsrc_buffer.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2010-05-07 10:02:59 +0000
committerMichael Niedermayer <michaelni@gmx.at>2010-05-07 10:02:59 +0000
commitefdc74ef198e9e73e63818f20417e4582b9b6a18 (patch)
treea2ed3b8a3eb9912c555da9a04f424768a4fcd74b /libavfilter/vsrc_buffer.c
parent46847a336e7e71559c8f3917bf8512c90635598b (diff)
Try to keep track of interlaced and top field first.
Originally committed as revision 23044 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavfilter/vsrc_buffer.c')
-rw-r--r--libavfilter/vsrc_buffer.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavfilter/vsrc_buffer.c b/libavfilter/vsrc_buffer.c
index 74da712fc4..17e56eeb79 100644
--- a/libavfilter/vsrc_buffer.c
+++ b/libavfilter/vsrc_buffer.c
@@ -46,6 +46,8 @@ int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame,
memcpy(c->frame.data , frame->data , sizeof(frame->data));
memcpy(c->frame.linesize, frame->linesize, sizeof(frame->linesize));
+ c->frame.interlaced_frame= frame->interlaced_frame;
+ c->frame.top_field_first = frame->top_field_first;
c->pts = pts;
c->pixel_aspect = pixel_aspect;
c->has_frame = 1;
@@ -106,6 +108,8 @@ static int request_frame(AVFilterLink *link)
picref->pts = c->pts;
picref->pixel_aspect = c->pixel_aspect;
+ picref->interlaced = c->frame.interlaced_frame;
+ picref->top_field_first = c->frame.top_field_first;
avfilter_start_frame(link, avfilter_ref_pic(picref, ~0));
avfilter_draw_slice(link, 0, link->h, 1);
avfilter_end_frame(link);