[FFmpeg-devel] [PATCH v3 00/10] aacdec: add a native xHE-AAC decoder
Lynne
dev at lynne.ee
Sat May 25 05:27:53 EEST 2024
This commit adds a decoder for the frequency-domain part of USAC.
SBR is as of now not yet supported, will be added with a future
patch.
A known issue is that preroll frames (usually present quite often
within the file, as xHE-AAC has real keyframes and I-frames) can
cause artifacts.
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 | 1592 ++++++++++++++++++++++++++
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.h | 4 +
tests/fate/aac.mak | 8 +
19 files changed, 3262 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
--
2.43.0.381.gb435a96ce8
More information about the ffmpeg-devel
mailing list