[FFmpeg-devel] [PATCH 06/12] avcodec/aac/aacdec: Avoid branch to set sample_fmt

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Mon May 6 15:14:28 EEST 2024


Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 libavcodec/aac/aacdec.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/libavcodec/aac/aacdec.c b/libavcodec/aac/aacdec.c
index a78a669602..1dc4af8a0d 100644
--- a/libavcodec/aac/aacdec.c
+++ b/libavcodec/aac/aacdec.c
@@ -1200,11 +1200,6 @@ static av_cold int aac_decode_init_internal(AVCodecContext *avctx)
     ac->avctx = avctx;
     ac->oc[1].m4ac.sample_rate = avctx->sample_rate;
 
-    if (ac->is_fixed)
-        avctx->sample_fmt = AV_SAMPLE_FMT_S32P;
-    else
-        avctx->sample_fmt = AV_SAMPLE_FMT_FLTP;
-
     if (avctx->extradata_size > 0) {
         if ((ret = decode_audio_specific_config(ac, ac->avctx, &ac->oc[1].m4ac,
                                                 avctx->extradata,
@@ -1254,14 +1249,20 @@ static av_cold int aac_decode_init_internal(AVCodecContext *avctx)
 static av_cold int aac_decode_init(AVCodecContext *avctx)
 {
     AACDecContext *ac = avctx->priv_data;
+
     ac->is_fixed = 0;
+    avctx->sample_fmt = AV_SAMPLE_FMT_FLTP;
+
     return aac_decode_init_internal(avctx);
 }
 
 static av_cold int aac_decode_init_fixed(AVCodecContext *avctx)
 {
     AACDecContext *ac = avctx->priv_data;
+
     ac->is_fixed = 1;
+    avctx->sample_fmt = AV_SAMPLE_FMT_S32P;
+
     return aac_decode_init_internal(avctx);
 }
 
-- 
2.40.1



More information about the ffmpeg-devel mailing list