From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 096D44AC04 for ; Thu, 16 May 2024 10:08:50 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C410468D4BC; Thu, 16 May 2024 13:08:47 +0300 (EEST) Received: from vidala.lynne.ee (vidala.pars.ee [116.203.72.101]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EC0A568D2AC for ; Thu, 16 May 2024 13:08:45 +0300 (EEST) To: ffmpeg-devel@ffmpeg.org Date: Thu, 16 May 2024 12:08:10 +0200 Message-ID: <20240516100818.246162-1-dev@lynne.ee> X-Mailer: git-send-email 2.43.0.381.gb435a96ce8 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 0/8] aacdec: add a native xHE-AAC decoder X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Lynne via ffmpeg-devel Reply-To: FFmpeg development discussions and patches Cc: Lynne Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This commit adds a decoder for the frequency-domain part of USAC. What works: - Mono - Stereo (no prediction) - Stereo (mid/side coding) What doesn't: - Preroll decoding (every single decoder seems faulty or weird?) - Complex stereo prediction Known issues: - Spec incompliance due to the spec being flat-out wrong in 11 cases. - Spec compliance due to the spec being woefully underspecified. - Lack of robustness - A single memory leak in packet fragmentation. I've reached out to the spec authors to get a conformation. I'm reasonably happy with the way I integrated it to send it off for review ahead of spec issue clarification. 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 | 364 ++++---- libavcodec/aac/aacdec.h | 211 ++++- libavcodec/aac/aacdec_ac.c | 224 +++++ 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 | 192 ++++ libavcodec/aac/aacdec_lpd.h | 33 + libavcodec/aac/aacdec_usac.c | 1230 ++++++++++++++++++++++++++ libavcodec/aac/aacdec_usac.h | 47 + libavcodec/aactab.c | 523 +++++++++++ libavcodec/aactab.h | 15 + libavcodec/sinewin_fixed_tablegen.c | 2 + libavcodec/sinewin_fixed_tablegen.h | 4 + 17 files changed, 2850 insertions(+), 234 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".