PR #23150 opened by Diego de Souza (ddesouza)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23150
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23150.patch

The NVENC driver currently forces deltaQ_v_ac equal to deltaQ_u_ac for
AV1, so crQPIndexOffset is silently ignored. The SDK header annotates
the field as "for future use only" (nvEncodeAPI.h, NV_ENC_RC_PARAMS).

Reported in #22737

Signed-off-by: Diego de Souza <[email protected]>


>From 4f60b9efd774e11214e59713929c2c09c5cd1534 Mon Sep 17 00:00:00 2001
From: Diego de Souza <[email protected]>
Date: Tue, 19 May 2026 09:50:10 +0200
Subject: [PATCH] avcodec/nvenc: warn when av1_nvenc qp_cr_offset differs from
 qp_cb_offset

The NVENC driver currently forces deltaQ_v_ac equal to deltaQ_u_ac for
AV1, so crQPIndexOffset is silently ignored. The SDK header annotates
the field as "for future use only" (nvEncodeAPI.h, NV_ENC_RC_PARAMS).

Reported in #22737

Signed-off-by: Diego de Souza <[email protected]>
---
 libavcodec/nvenc.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index 7b9f7260df..e9ca6e01fd 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -1162,6 +1162,13 @@ static av_cold int 
nvenc_setup_rate_control(AVCodecContext *avctx)
 #ifdef NVENC_HAVE_QP_CHROMA_OFFSETS
     ctx->encode_config.rcParams.cbQPIndexOffset = ctx->qp_cb_offset;
     ctx->encode_config.rcParams.crQPIndexOffset = ctx->qp_cr_offset;
+
+    if (avctx->codec->id == AV_CODEC_ID_AV1 &&
+        ctx->qp_cr_offset != ctx->qp_cb_offset)
+        av_log(avctx, AV_LOG_WARNING,
+               "av1_nvenc: qp_cr_offset is currently ignored by the NVENC 
driver "
+               "(deltaQ_v_ac is forced equal to deltaQ_u_ac); only 
qp_cb_offset "
+               "takes effect.\n");
 #else
     if (ctx->qp_cb_offset || ctx->qp_cr_offset)
         av_log(avctx, AV_LOG_WARNING, "Failed setting QP CB/CR offsets, SDK 
11.1 or greater required at compile time.\n");
-- 
2.52.0

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

Reply via email to