@@ -67,7 +67,6 @@ typedef struct TInterlaceContext {
AVRational preout_time_base;
int flags; ///< flags affecting interlacing algorithm
int lowpass; ///< legacy interlace filter lowpass mode
- int frame; ///< number of the output frame
int vsub; ///< chroma vertical subsampling
AVFrame *cur;
AVFrame *next;
@@ -423,7 +423,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *picref)
out->height = outlink->h;
out->sample_aspect_ratio = av_mul_q(cur->sample_aspect_ratio, av_make_q(2, 1));
- field = (1 + tinterlace->frame) & 1 ? FIELD_UPPER : FIELD_LOWER;
+ field = (1 + outlink->frame_count_in) & 1 ? FIELD_UPPER : FIELD_LOWER;
/* copy upper and lower fields */
copy_picture_field(tinterlace, out->data, out->linesize,
(const uint8_t **)cur->data, cur->linesize,
@@ -517,7 +517,6 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *picref)
out->pts = av_rescale_q(out->pts, tinterlace->preout_time_base, outlink->time_base);
ret = ff_filter_frame(outlink, out);
- tinterlace->frame++;
return ret;
}
Remove internal counter. Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavfilter/tinterlace.h | 1 - libavfilter/vf_tinterlace.c | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-)