[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