[FFmpeg-devel] [PATCH 14/22] lavf/vpp_qsv: double the framerate for deinterlacing

Haihao Xiang haihao.xiang at intel.com
Fri May 14 07:53:52 EEST 2021


---
 libavfilter/vf_vpp_qsv.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/libavfilter/vf_vpp_qsv.c b/libavfilter/vf_vpp_qsv.c
index 29ba220665..ec35f85b04 100644
--- a/libavfilter/vf_vpp_qsv.c
+++ b/libavfilter/vf_vpp_qsv.c
@@ -255,10 +255,14 @@ static int config_input(AVFilterLink *inlink)
     int              ret;
     int64_t          ow, oh;
 
-    if (vpp->framerate.den == 0 || vpp->framerate.num == 0)
+    /* Ignore user's setting for framerate when deinterlacing is used */
+    if (vpp->deinterlace)
+        vpp->framerate = av_mul_q(inlink->frame_rate,
+                                  (AVRational){ 2, 1 });
+    else if (vpp->framerate.den == 0 || vpp->framerate.num == 0)
         vpp->framerate = inlink->frame_rate;
 
-    if (av_cmp_q(vpp->framerate, inlink->frame_rate))
+    if (!vpp->deinterlace && av_cmp_q(vpp->framerate, inlink->frame_rate))
         vpp->use_frc = 1;
 
     ret = eval_expr(ctx);
-- 
2.25.1



More information about the ffmpeg-devel mailing list