avfilter/vf_tinterlace: use frame counter from lavfi
Remove internal counter.
This commit is contained in:
parent
fe591393cd
commit
24fea4d09b
|
@ -67,7 +67,6 @@ typedef struct TInterlaceContext {
|
||||||
AVRational preout_time_base;
|
AVRational preout_time_base;
|
||||||
int flags; ///< flags affecting interlacing algorithm
|
int flags; ///< flags affecting interlacing algorithm
|
||||||
int lowpass; ///< legacy interlace filter lowpass mode
|
int lowpass; ///< legacy interlace filter lowpass mode
|
||||||
int frame; ///< number of the output frame
|
|
||||||
int vsub; ///< chroma vertical subsampling
|
int vsub; ///< chroma vertical subsampling
|
||||||
AVFrame *cur;
|
AVFrame *cur;
|
||||||
AVFrame *next;
|
AVFrame *next;
|
||||||
|
|
|
@ -423,7 +423,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *picref)
|
||||||
out->height = outlink->h;
|
out->height = outlink->h;
|
||||||
out->sample_aspect_ratio = av_mul_q(cur->sample_aspect_ratio, av_make_q(2, 1));
|
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 upper and lower fields */
|
||||||
copy_picture_field(tinterlace, out->data, out->linesize,
|
copy_picture_field(tinterlace, out->data, out->linesize,
|
||||||
(const uint8_t **)cur->data, cur->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);
|
out->pts = av_rescale_q(out->pts, tinterlace->preout_time_base, outlink->time_base);
|
||||||
ret = ff_filter_frame(outlink, out);
|
ret = ff_filter_frame(outlink, out);
|
||||||
tinterlace->frame++;
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue