diff mbox series

[FFmpeg-devel] libavfilter/vf_vpp_qsv: Fix a timestamp bug when framerate is not set

Message ID 20230815083425.2648894-1-wenbin.chen@intel.com
State Accepted
Commit 9ae4863cc57c38fa2f41f3b8c732fede4a2b78c6
Headers show
Series [FFmpeg-devel] libavfilter/vf_vpp_qsv: Fix a timestamp bug when framerate is not set | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Chen, Wenbin Aug. 15, 2023, 8:34 a.m. UTC
From: Wenbin Chen <wenbin.chen@intel.com>

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>
---
 libavfilter/vf_vpp_qsv.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Xiang, Haihao Aug. 16, 2023, 1:24 a.m. UTC | #1
On Di, 2023-08-15 at 16:34 +0800, wenbin.chen-at-intel.com@ffmpeg.org wrote:
> From: Wenbin Chen <wenbin.chen@intel.com>
> 
> 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>
> ---
>  libavfilter/vf_vpp_qsv.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> 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;

LGTM, will apply

Thanks
Haihao
diff mbox series

Patch

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;