Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Lynne via ffmpeg-devel <ffmpeg-devel@ffmpeg.org>
To: ffmpeg-devel@ffmpeg.org
Cc: Lynne <dev@lynne.ee>
Subject: [FFmpeg-devel] [PATCH v2 0/8] aacdec: add a native xHE-AAC decoder
Date: Sun, 19 May 2024 18:54:36 +0200
Message-ID: <20240519165444.829271-1-dev@lynne.ee> (raw)

This patch adds support for the frequency domain part of the
xHE-AAC standard (ISO/IEC 23003-3).
The speech synthesis support is to be implemented with a later
patch. LPD is left as a stub with most bitstream parsing complete.

The DRC support is left up for discussion. The DRC system is
pretty much exactly ReplayGain2's system, so we may want to
expose it and be left for users to implement.
Validation does depend on DRC, however, so if we did it externally,
we'd still need a filter.

Changes from V1:
 - Preroll implemented
 - Complex stereo implemented
 - More robustness and bitstream validation
 - Surround/multichannel support
 - Desync fixes

Lynne (8):
  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)

 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         | 1587 ++++++++++++++++++++++++++
 libavcodec/aac/aacdec_usac.h         |   39 +
 libavcodec/aactab.c                  |  560 +++++++++
 libavcodec/aactab.h                  |   22 +
 libavcodec/sinewin_fixed_tablegen.c  |    2 +
 libavcodec/sinewin_fixed_tablegen.h  |    4 +
 17 files changed, 3247 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
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

             reply	other threads:[~2024-05-19 16:55 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-19 16:54 Lynne via ffmpeg-devel [this message]
2024-05-19 16:54 ` [FFmpeg-devel] [PATCH v2 1/8] aacdec: move from scalefactor ranged arrays to flat arrays Lynne via ffmpeg-devel
2024-05-19 16:54 ` [FFmpeg-devel] [PATCH v2 2/8] aacdec: expose channel layout related functions Lynne via ffmpeg-devel
2024-05-19 16:54 ` [FFmpeg-devel] [PATCH v2 3/8] aacdec: expose decode_tns Lynne via ffmpeg-devel
2024-05-19 16:54 ` [FFmpeg-devel] [PATCH v2 4/8] aacdec_dsp: implement 768-point transform and windowing Lynne via ffmpeg-devel
2024-05-19 16:54 ` [FFmpeg-devel] [PATCH v2 5/8] aactab: add deemphasis tables for USAC Lynne via ffmpeg-devel
2024-05-19 16:54 ` [FFmpeg-devel] [PATCH v2 6/8] aactab: add tables for the new USAC arithmetic coder Lynne via ffmpeg-devel
2024-05-19 16:54 ` [FFmpeg-devel] [PATCH v2 7/8] aactab: add new scalefactor offset tables for 96/768pt windows Lynne via ffmpeg-devel
2024-05-19 16:54 ` [FFmpeg-devel] [PATCH v2 8/8] aacdec: add a decoder for AAC USAC (xHE-AAC) Lynne via ffmpeg-devel
2024-05-19 19:39   ` Marton Balint
2024-05-19 19:50     ` Lynne via ffmpeg-devel
2024-05-21  7:16       ` Marton Balint
2024-05-21 17:58         ` Lynne via ffmpeg-devel
2024-05-21 19:40           ` Marton Balint
2024-05-21 19:52             ` Lynne via ffmpeg-devel
2024-05-21 20:12               ` Marton Balint
2024-05-21 21:33               ` Hendrik Leppkes
2024-05-21 22:09                 ` Lynne via ffmpeg-devel
2024-05-22 20:15                   ` Marton Balint
2024-05-22 20:25                     ` Lynne via ffmpeg-devel
2024-05-19 23:19   ` Michael Niedermayer
2024-05-20  1:11     ` Lynne via ffmpeg-devel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240519165444.829271-1-dev@lynne.ee \
    --to=ffmpeg-devel@ffmpeg.org \
    --cc=dev@lynne.ee \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git