On 30/05/2024 04:37, Lynne wrote: > This commit adds a decoder for the frequency-domain part of USAC. > > Changes over version 4: > - Actually reset entropy decoding upon configuration. > - Support for LFE channels. > > Lynne (10): > channel_layout: add new channel positions supported by xHE-AAC > aacdec: move from scalefactor ranged arrays to flat arrays > aacdec: expose channel layout related functions > aacdec: expose decode_tns > aacdec_dsp: implement 768-point transform and windowing > aactab: add deemphasis tables for USAC > aactab: add tables for the new USAC arithmetic coder > aactab: add new scalefactor offset tables for 96/768pt windows > aacdec: add a decoder for AAC USAC (xHE-AAC) > fate: add tests for xHE-AAC > > libavcodec/aac/Makefile | 3 +- > libavcodec/aac/aacdec.c | 371 +++--- > libavcodec/aac/aacdec.h | 219 +++- > libavcodec/aac/aacdec_ac.c | 208 ++++ > libavcodec/aac/aacdec_ac.h | 54 + > libavcodec/aac/aacdec_dsp_template.c | 162 ++- > libavcodec/aac/aacdec_fixed.c | 2 + > libavcodec/aac/aacdec_float.c | 4 + > libavcodec/aac/aacdec_latm.h | 14 +- > libavcodec/aac/aacdec_lpd.c | 198 ++++ > libavcodec/aac/aacdec_lpd.h | 33 + > libavcodec/aac/aacdec_usac.c | 1608 ++++++++++++++++++++++++++ > libavcodec/aac/aacdec_usac.h | 37 + > libavcodec/aactab.c | 560 +++++++++ > libavcodec/aactab.h | 22 + > libavcodec/sinewin_fixed_tablegen.c | 2 + > libavcodec/sinewin_fixed_tablegen.h | 4 + > libavutil/channel_layout.c | 4 + > libavutil/channel_layout.h | 8 + > tests/fate/aac.mak | 8 + > 20 files changed, 3286 insertions(+), 235 deletions(-) > create mode 100644 libavcodec/aac/aacdec_ac.c > create mode 100644 libavcodec/aac/aacdec_ac.h > create mode 100644 libavcodec/aac/aacdec_lpd.c > create mode 100644 libavcodec/aac/aacdec_lpd.h > create mode 100644 libavcodec/aac/aacdec_usac.c > create mode 100644 libavcodec/aac/aacdec_usac.h Patchset pushed. Thanks for the reviews.