Revision efdc74ef

View differences:

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