diff mbox series

[FFmpeg-devel,4/4] aacdec_usac: skip coeff decoding if the number to be decoded is 0

Message ID 20240606051243.3177266-4-dev@lynne.ee
State Accepted
Commit a18d0659f403cf4b93a3c5a293a42e0ff7348e90
Headers show
Series [FFmpeg-devel,1/4] aacdec_usac: respect tns_on_lr flag | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Lynne June 6, 2024, 5:12 a.m. UTC
Yet another thing not mentioned in the spec.
---
 libavcodec/aac/aacdec_usac.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
diff mbox series

Patch

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);