From d2e051e30c0ffc1e80a7e7e76ccdfbeb2956daa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20B=C5=93sch?= Date: Wed, 10 Apr 2013 02:38:07 +0200 Subject: [PATCH] lavfi/separatefields: adjust tb to avoid rounding errors. Since the PTS need double accuracy, the timebase denominator is doubled as well, and this new time base is used for the timestamp unit. --- libavfilter/vf_separatefields.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavfilter/vf_separatefields.c b/libavfilter/vf_separatefields.c index 81f37cf7c5..5849b62b77 100644 --- a/libavfilter/vf_separatefields.c +++ b/libavfilter/vf_separatefields.c @@ -41,11 +41,13 @@ static int config_props_output(AVFilterLink *outlink) return AVERROR_INVALIDDATA; } + outlink->time_base.num = inlink->time_base.num; + outlink->time_base.den = inlink->time_base.den * 2; outlink->frame_rate.num = inlink->frame_rate.num * 2; outlink->frame_rate.den = inlink->frame_rate.den; outlink->w = inlink->w; outlink->h = inlink->h / 2; - sf->ts_unit = av_q2d(av_inv_q(av_mul_q(outlink->frame_rate, inlink->time_base))); + sf->ts_unit = av_q2d(av_inv_q(av_mul_q(outlink->frame_rate, outlink->time_base))); return 0; }