Revision efdc74ef
libavfilter/avfilter.c | ||
---|---|---|
266 | 266 |
link->cur_pic->pts = link->srcpic->pts; |
267 | 267 |
link->cur_pic->pos = link->srcpic->pos; |
268 | 268 |
link->cur_pic->pixel_aspect = link->srcpic->pixel_aspect; |
269 |
link->cur_pic->interlaced = link->srcpic->interlaced; |
|
270 |
link->cur_pic->top_field_first = link->srcpic->top_field_first; |
|
269 | 271 |
} |
270 | 272 |
else |
271 | 273 |
link->cur_pic = picref; |
libavfilter/avfilter.h | ||
---|---|---|
115 | 115 |
#define AV_PERM_PRESERVE 0x04 ///< nobody else can overwrite the buffer |
116 | 116 |
#define AV_PERM_REUSE 0x08 ///< can output the buffer multiple times, with the same contents each time |
117 | 117 |
#define AV_PERM_REUSE2 0x10 ///< can output the buffer multiple times, modified each time |
118 |
|
|
119 |
int interlaced; ///< is frame interlaced |
|
120 |
int top_field_first; |
|
118 | 121 |
} AVFilterPicRef; |
119 | 122 |
|
120 | 123 |
/** |
libavfilter/defaults.c | ||
---|---|---|
76 | 76 |
out->outpic->pts = picref->pts; |
77 | 77 |
out->outpic->pos = picref->pos; |
78 | 78 |
out->outpic->pixel_aspect = picref->pixel_aspect; |
79 |
out->outpic->interlaced = picref->interlaced; |
|
80 |
out->outpic->top_field_first = picref->top_field_first; |
|
79 | 81 |
avfilter_start_frame(out, avfilter_ref_pic(out->outpic, ~0)); |
80 | 82 |
} |
81 | 83 |
} |
libavfilter/vf_scale.c | ||
---|---|---|
150 | 150 |
outpicref = avfilter_get_video_buffer(outlink, AV_PERM_WRITE, outlink->w, outlink->h); |
151 | 151 |
outpicref->pts = picref->pts; |
152 | 152 |
outpicref->pos = picref->pos; |
153 |
outpicref->interlaced = picref->interlaced; |
|
154 |
outpicref->top_field_first = picref->top_field_first; |
|
155 |
|
|
153 | 156 |
outlink->outpic = outpicref; |
154 | 157 |
|
155 | 158 |
av_reduce(&outpicref->pixel_aspect.num, &outpicref->pixel_aspect.den, |
libavfilter/vsrc_buffer.c | ||
---|---|---|
46 | 46 |
|
47 | 47 |
memcpy(c->frame.data , frame->data , sizeof(frame->data)); |
48 | 48 |
memcpy(c->frame.linesize, frame->linesize, sizeof(frame->linesize)); |
49 |
c->frame.interlaced_frame= frame->interlaced_frame; |
|
50 |
c->frame.top_field_first = frame->top_field_first; |
|
49 | 51 |
c->pts = pts; |
50 | 52 |
c->pixel_aspect = pixel_aspect; |
51 | 53 |
c->has_frame = 1; |
... | ... | |
106 | 108 |
|
107 | 109 |
picref->pts = c->pts; |
108 | 110 |
picref->pixel_aspect = c->pixel_aspect; |
111 |
picref->interlaced = c->frame.interlaced_frame; |
|
112 |
picref->top_field_first = c->frame.top_field_first; |
|
109 | 113 |
avfilter_start_frame(link, avfilter_ref_pic(picref, ~0)); |
110 | 114 |
avfilter_draw_slice(link, 0, link->h, 1); |
111 | 115 |
avfilter_end_frame(link); |
Also available in: Unified diff