From c7344f433f1189fc2bdefb39fecd16bc709f4ebd Mon Sep 17 00:00:00 2001 From: Lynne Date: Wed, 13 Mar 2024 07:11:55 +0100 Subject: [PATCH 12/38] aacdec: give spectrum dequant+decode SCE rather than an ICS Eliminates using templated values in function definition. --- libavcodec/aacdec_template.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/libavcodec/aacdec_template.c b/libavcodec/aacdec_template.c index 066dd58056..b7eaa7216a 100644 --- a/libavcodec/aacdec_template.c +++ b/libavcodec/aacdec_template.c @@ -1659,14 +1659,16 @@ static void decode_mid_side_stereo(ChannelElement *cpe, GetBitContext *gb, * @return Returns error status. 0 - OK, !0 - error */ static int decode_spectrum_and_dequant(AACDecContext *ac, INTFLOAT coef[1024], - GetBitContext *gb, const INTFLOAT sf[120], + GetBitContext *gb, int pulse_present, const Pulse *pulse, - const IndividualChannelStream *ics, - enum BandType band_type[120]) + SingleChannelElement *sce) { int i, k, g, idx = 0; + IndividualChannelStream *ics = &sce->ics; const int c = 1024 / ics->num_windows; const uint16_t *offsets = ics->swb_offset; + const INTFLOAT *sf = sce->AAC_RENAME(sf); + const enum BandType *band_type = sce->band_type; INTFLOAT *coef_base = coef; for (g = 0; g < ics->num_windows; g++) @@ -2093,8 +2095,9 @@ static int decode_ics(AACDecContext *ac, SingleChannelElement *sce, } } - ret = decode_spectrum_and_dequant(ac, out, gb, sce->AAC_RENAME(sf), pulse_present, - &pulse, ics, sce->band_type); + ret = decode_spectrum_and_dequant(ac, out, gb, + pulse_present, + &pulse, sce); if (ret < 0) goto fail; -- 2.43.0.381.gb435a96ce8