aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWenbin Chen <wenbin.chen@intel.com>2023-08-15 16:34:25 +0800
committerHaihao Xiang <haihao.xiang@intel.com>2023-08-17 12:06:09 +0800
commit9ae4863cc57c38fa2f41f3b8c732fede4a2b78c6 (patch)
tree556633b0aef3741e98d48034c29a481b6c17b23c
parente0a5c35270c68d77d101e518901de5a9f002b451 (diff)
downloadffmpeg-9ae4863cc57c38fa2f41f3b8c732fede4a2b78c6.tar.gz
libavfilter/vf_vpp_qsv: Fix a timestamp bug when framerate is not set
If user doesn't set framerate when he creates a filter, the filter uses default framerate {0, 1}. This causes error when setting timebase to 1/framerate. Now change it to pass inlink->time_base to outlink when framerate is not set. This patch fixes ticket: #10476 #10468 Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
-rw-r--r--libavfilter/vf_vpp_qsv.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libavfilter/vf_vpp_qsv.c b/libavfilter/vf_vpp_qsv.c
index 92ef0f1d89..c07b45fedb 100644
--- a/libavfilter/vf_vpp_qsv.c
+++ b/libavfilter/vf_vpp_qsv.c
@@ -536,7 +536,10 @@ static int config_output(AVFilterLink *outlink)
outlink->w = vpp->out_width;
outlink->h = vpp->out_height;
outlink->frame_rate = vpp->framerate;
- outlink->time_base = av_inv_q(vpp->framerate);
+ if (vpp->framerate.num == 0 || vpp->framerate.den == 0)
+ outlink->time_base = inlink->time_base;
+ else
+ outlink->time_base = av_inv_q(vpp->framerate);
param.filter_frame = NULL;
param.set_frame_ext_params = vpp_set_frame_ext_params;