PR #20488 opened by Zhao Zhili (quink)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20488
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20488.patch

VideoToolbox doesn't support automatic bitrate in low delay mode.
Check bitrate and show error message so user knows what's going
wrong.


>From c1dc2e2b7cc8df8a40b616793d1204be0e71103c Mon Sep 17 00:00:00 2001
From: Zhao Zhili <[email protected]>
Date: Wed, 10 Sep 2025 20:29:47 +0800
Subject: [PATCH] avcodec/videotoolboxenc: ensure bitrate is set in low_delay
 mode

VideoToolbox doesn't support automatic bitrate in low delay mode.
Check bitrate and show error message so user knows what's going
wrong.
---
 libavcodec/videotoolboxenc.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
index f0d3a15897..729072c0b9 100644
--- a/libavcodec/videotoolboxenc.c
+++ b/libavcodec/videotoolboxenc.c
@@ -1711,6 +1711,12 @@ static int vtenc_configure_encoder(AVCodecContext *avctx)
     // low-latency mode: eliminate frame reordering, follow a one-in-one-out 
encoding mode
     if ((avctx->flags & AV_CODEC_FLAG_LOW_DELAY) &&
         ((avctx->codec_id == AV_CODEC_ID_H264) || (TARGET_CPU_ARM64 && 
avctx->codec_id == AV_CODEC_ID_HEVC))) {
+        if (!avctx->bit_rate) {
+            av_log(avctx, AV_LOG_ERROR, "Doesn't support automatic bitrate in 
low_delay mode, "
+                                        "please specify bitrate explicitly\n");
+            status = AVERROR(EINVAL);
+            goto init_cleanup;
+        }
         CFDictionarySetValue(enc_info,
                              
compat_keys.kVTVideoEncoderSpecification_EnableLowLatencyRateControl,
                              kCFBooleanTrue);
-- 
2.49.1

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

Reply via email to