[FFmpeg-cvslog] avcodec/libfdk-aacenc: export CPB properties
James Almer
git at videolan.org
Fri Nov 22 16:13:43 EET 2024
ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Sun Nov 17 23:01:38 2024 -0300| [46c6ca3ed1651c67faf899776f1922c108093a44] | committer: James Almer
avcodec/libfdk-aacenc: export CPB properties
Needed to signal the muxer that the stream is VBR.
Finishes fixing ticket #11303.
Signed-off-by: James Almer <jamrial at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=46c6ca3ed1651c67faf899776f1922c108093a44
---
libavcodec/libfdk-aacenc.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c
index 0f33cdb8c9..cc0ae0d8da 100644
--- a/libavcodec/libfdk-aacenc.c
+++ b/libavcodec/libfdk-aacenc.c
@@ -178,6 +178,7 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
AACContext *s = avctx->priv_data;
int ret = AVERROR(EINVAL);
AACENC_InfoStruct info = { 0 };
+ AVCPBProperties *cpb_props;
CHANNEL_MODE mode;
AACENC_ERROR err;
int aot = AV_PROFILE_AAC_LOW + 1;
@@ -438,6 +439,14 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
memcpy(avctx->extradata, info.confBuf, info.confSize);
}
+
+ cpb_props = ff_encode_add_cpb_side_data(avctx);
+ if (!cpb_props)
+ return AVERROR(ENOMEM);
+ cpb_props->max_bitrate =
+ cpb_props->min_bitrate =
+ cpb_props->avg_bitrate = avctx->bit_rate;
+
return 0;
error:
aac_encode_close(avctx);
More information about the ffmpeg-cvslog
mailing list