The following patchset refactors the AAC decoder step by step, removing all large-scale templating and abstracting away typed DSP functions from symbol parsing. This series saves 110Kib of binary data from libavcodec.so when compiled with Clang 18 with -O3, after stripping. The patchset can also be viewed here: https://github.com/cyanreg/FFmpeg/tree/aac_cleanup Fate passes on each step, and I've been running this patchset for a week with no issues. This also prepares the decoder for USAC support.