[FFmpeg-cvslog] avcodec/videotoolboxenc: Fix bitrate doesn't work as expected
Zhao Zhili
git at videolan.org
Fri Jul 26 15:16:18 EEST 2024
ffmpeg | branch: release/7.0 | Zhao Zhili <zhilizhao at tencent.com> | Tue Jul 16 20:59:52 2024 +0800| [a83c1a3db97f540841da13b031c7d500d8f2b779] | committer: Zhao Zhili
avcodec/videotoolboxenc: Fix bitrate doesn't work as expected
Commit 4ef5e7d4722 add qmin/qmax support to videotoolbox encoder.
The default value of (qmin, qmax) is (2, 31), which makes bitrate
control doesn't work as users' expectations.
Signed-off-by: Zhao Zhili <zhilizhao at tencent.com>
(cherry picked from commit d07da7539d54c0ce71e06a577eb1fa3036467449)
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a83c1a3db97f540841da13b031c7d500d8f2b779
---
libavcodec/videotoolboxenc.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
index 15c34d59c3..5ea9afee22 100644
--- a/libavcodec/videotoolboxenc.c
+++ b/libavcodec/videotoolboxenc.c
@@ -2905,6 +2905,12 @@ static const AVOption h264_options[] = {
{ NULL },
};
+static const FFCodecDefault vt_defaults[] = {
+ {"qmin", "-1"},
+ {"qmax", "-1"},
+ {NULL},
+};
+
static const AVClass h264_videotoolbox_class = {
.class_name = "h264_videotoolbox",
.item_name = av_default_item_name,
@@ -2920,6 +2926,7 @@ const FFCodec ff_h264_videotoolbox_encoder = {
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
.priv_data_size = sizeof(VTEncContext),
.p.pix_fmts = avc_pix_fmts,
+ .defaults = vt_defaults,
.init = vtenc_init,
FF_CODEC_ENCODE_CB(vtenc_frame),
.close = vtenc_close,
@@ -2957,6 +2964,7 @@ const FFCodec ff_hevc_videotoolbox_encoder = {
AV_CODEC_CAP_HARDWARE,
.priv_data_size = sizeof(VTEncContext),
.p.pix_fmts = hevc_pix_fmts,
+ .defaults = vt_defaults,
.init = vtenc_init,
FF_CODEC_ENCODE_CB(vtenc_frame),
.close = vtenc_close,
@@ -2996,6 +3004,7 @@ const FFCodec ff_prores_videotoolbox_encoder = {
AV_CODEC_CAP_HARDWARE,
.priv_data_size = sizeof(VTEncContext),
.p.pix_fmts = prores_pix_fmts,
+ .defaults = vt_defaults,
.init = vtenc_init,
FF_CODEC_ENCODE_CB(vtenc_frame),
.close = vtenc_close,
More information about the ffmpeg-cvslog
mailing list