From a18d0659f403cf4b93a3c5a293a42e0ff7348e90 Mon Sep 17 00:00:00 2001 From: Lynne Date: Thu, 6 Jun 2024 04:38:47 +0200 Subject: [PATCH] aacdec_usac: skip coeff decoding if the number to be decoded is 0 Yet another thing not mentioned in the spec. --- libavcodec/aac/aacdec_usac.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libavcodec/aac/aacdec_usac.c b/libavcodec/aac/aacdec_usac.c index 97655787ee..5dd489a43b 100644 --- a/libavcodec/aac/aacdec_usac.c +++ b/libavcodec/aac/aacdec_usac.c @@ -572,9 +572,15 @@ static int decode_spectrum_and_dequant_ac(AACDecContext *s, float coef[1024], int gb_count; GetBitContext gb2; - ff_aac_ac_init(&ac, gb); c = ff_aac_ac_map_process(state, reset, N); + if (!len) { + ff_aac_ac_finish(state, 0, N); + return 0; + } + + ff_aac_ac_init(&ac, gb); + /* Backup reader for rolling back by 14 bits at the end */ gb2 = *gb; gb_count = get_bits_count(&gb2);