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

Haihao Xiang haihao.xiang at intel.com
Tue Jun 15 09:13:55 EEST 2021


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

diff --git a/libavfilter/vf_vpp_qsv.c b/libavfilter/vf_vpp_qsv.c
index 29ba220665..cde1acdbb0 100644
--- a/libavfilter/vf_vpp_qsv.c
+++ b/libavfilter/vf_vpp_qsv.c
@@ -255,10 +255,16 @@ 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) {
+        av_log(ctx, AV_LOG_WARNING, "Ignore user setting of output framerate "
+               "when bob / advanced deinterlace is used.\n");
+        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