Message ID | 20230724023651.407929-1-haihao.xiang@intel.com |
---|---|
State | Accepted |
Commit | 567e78b28320939c18e16acbdbeb2b77d24e2c03 |
Headers | show |
Series | [FFmpeg-devel] lavfi/vf_vpp_qsv: fix duration in pass-through mode | expand |
Context | Check | Description |
---|---|---|
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
On Ma, 2023-07-24 at 10:36 +0800, Xiang, Haihao wrote: > From: Haihao Xiang <haihao.xiang@intel.com> > > Signed-off-by: Haihao Xiang <haihao.xiang@intel.com> > --- > libavfilter/vf_vpp_qsv.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/libavfilter/vf_vpp_qsv.c b/libavfilter/vf_vpp_qsv.c > index 334a86551b..be9bf54743 100644 > --- a/libavfilter/vf_vpp_qsv.c > +++ b/libavfilter/vf_vpp_qsv.c > @@ -582,6 +582,11 @@ static int activate(AVFilterContext *ctx) > if (in->pts != AV_NOPTS_VALUE) > in->pts = av_rescale_q(in->pts, inlink->time_base, outlink- > >time_base); > > + if (outlink->frame_rate.num && outlink->frame_rate.den) > + in->duration = av_rescale_q(1, av_inv_q(outlink->frame_rate), > outlink->time_base); > + else > + in->duration = 0; > + > ret = ff_filter_frame(outlink, in); > if (ret < 0) > return ret; Will apply - Haihao
diff --git a/libavfilter/vf_vpp_qsv.c b/libavfilter/vf_vpp_qsv.c index 334a86551b..be9bf54743 100644 --- a/libavfilter/vf_vpp_qsv.c +++ b/libavfilter/vf_vpp_qsv.c @@ -582,6 +582,11 @@ static int activate(AVFilterContext *ctx) if (in->pts != AV_NOPTS_VALUE) in->pts = av_rescale_q(in->pts, inlink->time_base, outlink->time_base); + if (outlink->frame_rate.num && outlink->frame_rate.den) + in->duration = av_rescale_q(1, av_inv_q(outlink->frame_rate), outlink->time_base); + else + in->duration = 0; + ret = ff_filter_frame(outlink, in); if (ret < 0) return ret;