aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaihao Xiang <haihao.xiang@intel.com>2023-07-24 10:36:51 +0800
committerHaihao Xiang <haihao.xiang@intel.com>2023-07-31 09:09:20 +0800
commit567e78b28320939c18e16acbdbeb2b77d24e2c03 (patch)
tree53167ee1bd78ad1fbc590c27ad3e7dde766723ca
parente63d9ba007cb628653c7e9349eafc98654fba49e (diff)
downloadffmpeg-567e78b28320939c18e16acbdbeb2b77d24e2c03.tar.gz
lavfi/vf_vpp_qsv: fix duration in pass-through mode
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
-rw-r--r--libavfilter/vf_vpp_qsv.c5
1 files changed, 5 insertions, 0 deletions
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;