PR #20463 opened by Damiano Galassi (galad)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20463
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20463.patch

The original patch was sent by Artem Galin (whom worked at Intel at the time) 
to HandBrake, but it didn't make it upstream.

It sets the context has_b_frames value just like is done in almost all the 
other encoders that uses b-frames.


>From 07ce64d0e8ed3874dd0f031b7e928b854c89b3ba Mon Sep 17 00:00:00 2001
From: galinart <[email protected]>
Date: Thu, 17 Oct 2024 16:17:36 +0100
Subject: [PATCH] libavcodec/qsvenc.c: update has_b_frames value after
 initialization of encoder

---
 libavcodec/qsvenc.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index 318a99e2a1..039a108aae 100644
--- a/libavcodec/qsvenc.c
+++ b/libavcodec/qsvenc.c
@@ -1842,6 +1842,13 @@ int ff_qsv_enc_init(AVCodecContext *avctx, QSVEncContext 
*q)
         return ret;
     }
 
+    // Update AVCodecContext with actual encoding parameters
+    mfxInfoMFX *info = &q->param.mfx;
+    avctx->has_b_frames = 0;
+    if (info->GopRefDist > 1) {
+        avctx->has_b_frames = info->GopRefDist - 1;
+    }
+
     q->avctx = avctx;
 
     return 0;
-- 
2.49.1

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to