From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id A2E084C1CA
	for <ffmpegdev@gitmailbox.com>; Wed,  2 Apr 2025 04:12:18 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 03C10687CCA;
	Wed,  2 Apr 2025 07:12:15 +0300 (EEST)
Received: from mail-oa1-f44.google.com (mail-oa1-f44.google.com
 [209.85.160.44])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3B18C687C7D
 for <ffmpeg-devel@ffmpeg.org>; Wed,  2 Apr 2025 07:12:08 +0300 (EEST)
Received: by mail-oa1-f44.google.com with SMTP id
 586e51a60fabf-2a01bcd0143so6837266fac.2
 for <ffmpeg-devel@ffmpeg.org>; Tue, 01 Apr 2025 21:12:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1743567126; x=1744171926; darn=ffmpeg.org;
 h=content-transfer-encoding:mime-version:message-id:date:subject:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=8QcY2Wuxi+C1z2jetJQ2dUMYbbm6xaLdRiSdrdwN/M0=;
 b=HEpUx2sPWvFg69DvVWS6D1OcVlbmFPLS99DYGaMqY+7cPnPob8FXF3SmgariOlTcGe
 fmEyoHOk617XzXQaCeggq9+NO4OMReKrVZdHH+f0mH2e1d/3YjsYYh76IIrh/51TEiBc
 VF3aE5+60eoMaSBXZAmL/0ttU4ThL+LsSPxYgYH079mg0QL5sF6aCO5NxUay0bZRloFj
 deyaus6JHNS/HNBEKgObCixQxHbSFiYpTfYeDf8jes1Cxx70I7KqtG2/Zbe984Kpt9ot
 F2cGzLgpyQWrti+YgbmXS2XSkChEH9Ku6u0yUi17zqAUsEbuUd5WK9pUNsDh1LT5A/2o
 tYIQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1743567126; x=1744171926;
 h=content-transfer-encoding:mime-version:message-id:date:subject:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=8QcY2Wuxi+C1z2jetJQ2dUMYbbm6xaLdRiSdrdwN/M0=;
 b=KuuBHVCn/W7urlBnMZBYhXc5oHZJlc2dSywByn8JVll+1SZgJut55GdoMZIP0ow5pt
 9qWFXWAxkDFTuSTOPcBolbrMHe03e03eFfTD15x9iy3WHeqX794Lbb/L0e01GOrrkKLW
 /EMoJZ7fdyzpLUNkKpMJmAgwlpyoMbkVn63z0AmhMaSeBGGUqrIqeFGQeOxyzILvsUJw
 dMkMmmaNXZykj0EbesH5zmnkyvXeLILP7hRa4Op2Emv3uau/vVQIPfNX2sNr+tmlEpd7
 2EEheANDJCtv7/lgUqR3dcfmahbCir5eOgPt/Mibsgp1AXebhFvawfKU+49n0Jm2PeXC
 J1zg==
X-Forwarded-Encrypted: i=1;
 AJvYcCWBXOxrrecgkgGoI2Evvuy118GbGbl2OBxAcNCzuwpBgm5KAOB8dVJ7CVNbwXngKku56jPVYYnGV4BjTg0=@ffmpeg.org
X-Gm-Message-State: AOJu0Yz8OVgsJpbF8XkqIH2ONb0S0ZRz0ikmfSu69SgeHO3eNHphNhlJ
 yetgFtEfTMF615KchdygcMNZTs5zlyzbiVcWuGvO7ccChIIP9bvI
X-Gm-Gg: ASbGnctKWPN9IKZ1Y/m35r54QL1MUTx6XKKklmhFKGdg2Km3WRpXcvNoFrax4qbmbPe
 VT2wOzQnYb5VvtgVfOrEDkO8S93esfGoVv3nWAEVH5vk34VbFKcF5qSw2r9EhVWkFLe1/n/peoQ
 iZlbNl1NGK8oDGvVl2uxalhOLlNJr4GVGUfa8kEB9qi1l2Wh/PYeFYM9/btHSwRhJ7rYNen5hW5
 vVbWXMAHDasNfkcjc0bvyGkjAhMUUv07U+9fvf1PED0r33+H/6QPE10ue/clkAK7lETECA7YTnr
 mfyKZX1u/yhdjwCHsTXMCSJqAY8NJHBzhNxnLpQXikfhNNJTVF24M1qVivo9/A==
X-Google-Smtp-Source: AGHT+IG1XFpYEpgRVlzrzX8g3VdtUQG4v1m+iJroy1rRYdykQgcYP4gzzln1Lz6tv/o/H7SBjpVwjA==
X-Received: by 2002:a05:6870:558e:b0:2c2:541d:2cd6 with SMTP id
 586e51a60fabf-2cbcf41abbbmr10217659fac.6.1743567126266; 
 Tue, 01 Apr 2025 21:12:06 -0700 (PDT)
Received: from cassini.localdomain ([2600:1702:50c6:cf10:38b3:1353:266b:b701])
 by smtp.gmail.com with ESMTPSA id
 586e51a60fabf-2cc12af5d73sm1177835fac.20.2025.04.01.21.12.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 01 Apr 2025 21:12:05 -0700 (PDT)
From: Cameron Gutman <aicommander@gmail.com>
To: haihao.xiang@intel.com,
	ffmpeg-devel@ffmpeg.org
Date: Tue,  1 Apr 2025 23:11:20 -0500
Message-ID: <20250402041204.317602-1-aicommander@gmail.com>
X-Mailer: git-send-email 2.49.0
MIME-Version: 1.0
Subject: [FFmpeg-devel] [PATCH RESEND] avcodec/vaapi_encode: skip AVBR if
 HRD parameters are set
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/20250402041204.317602-1-aicommander@gmail.com/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

AVBR does not use VAEncMiscParameterTypeHRD, so attempting to set
rc_buffer_size and bit_rate together will cause the rc_buffer_size
to be ignored if the VAAPI driver supports AVBR. We should prefer
regular VBR for that case.

Signed-off-by: Cameron Gutman <aicommander@gmail.com>
---
 libavcodec/vaapi_encode.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c
index 8960e6b20a..8bd0701caf 100644
--- a/libavcodec/vaapi_encode.c
+++ b/libavcodec/vaapi_encode.c
@@ -1338,7 +1338,10 @@ static av_cold int vaapi_encode_init_rate_control(AVCodecContext *avctx)
         TRY_RC_MODE(RC_MODE_CBR, 0);
 
     if (avctx->bit_rate > 0) {
-        TRY_RC_MODE(RC_MODE_AVBR, 0);
+        // AVBR does not enforce RC buffer constraints
+        if (!avctx->rc_buffer_size && !avctx->rc_initial_buffer_occupancy)
+            TRY_RC_MODE(RC_MODE_AVBR, 0);
+
         TRY_RC_MODE(RC_MODE_VBR, 0);
         TRY_RC_MODE(RC_MODE_CBR, 0);
     } else {
-- 
2.49.0

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".