1
0
Fork 0
forked from len0rd/rockbox
foxbox/lib/rbcodec/codecs/libfaad
Roman Artiukhin 19f21a2b3f Codecs: mp4: Enable FAAD_STATIC_ALLOC
Allocates several SBR + PS arrays and variables statically
Prevents out of memory exceptions for long audiobooks

Note from original commit a602f46d why it was disabled:
For now malloc is not fully removed but used by a few arrays needed for AAC-HE SBR+PS only. Reason to keep malloc is to have this amount of memory available for AAC-LC files which might require large m4a tables.

But now with "shrinkable" seek table 2c6dfd06 it's no longer a critical issue for aac-lc files (we just load less seek entries) but might be critical for aac-he files.

Fixes issue described here https://www.rockbox.org/tracker/task/13049#comment44587

Change-Id: Id9c20bad4c46034299a2a4de95d41c807b3af412
2024-03-28 08:25:02 -04:00
..
codebook Limit more variables to file scope 2015-01-11 21:40:51 +01:00
analysis.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
bits.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
bits.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
common.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
common.h Codecs: mp4: Enable FAAD_STATIC_ALLOC 2024-03-28 08:25:02 -04:00
COPYING Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
decoder.c Codecs: aac: Improve ADTS stream detection 2024-01-21 20:08:04 -05:00
decoder.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
drc.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
drc.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
drm_dec.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
drm_dec.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
error.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
error.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
faad_config.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
filtbank.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
filtbank.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
fixed.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
hcr.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
huffman.c Limit more variables to file scope 2015-01-11 21:40:51 +01:00
huffman.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
ic_predict.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
ic_predict.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
iq_table.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
is.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
is.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
kbd_win.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
libfaad.make Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
lt_predict.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
lt_predict.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
mp4.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
mp4.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
ms.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
ms.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
output.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
output.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
pns.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
pns.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
ps_dec.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
ps_dec.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
ps_syntax.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
ps_tables.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
pulse.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
pulse.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
README Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
README.rockbox Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
rvlc.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
rvlc.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_dct.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_dct.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_dec.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_dec.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_e_nf.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_e_nf.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_fbt.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_fbt.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_hfadj.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_hfadj.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_hfgen.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_hfgen.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_huff.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_huff.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_noise.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_qmf.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_qmf.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_qmf_c.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_syntax.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_syntax.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_tf_grid.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sbr_tf_grid.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
sine_win.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
SOURCES Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
specrec.c Codecs: mp4: Disable SBR decoding for PP5002 - PP5022 platforms 2023-12-31 20:44:15 -05:00
specrec.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
structs.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
syntax.c Limit more variables to file scope 2015-01-11 21:40:51 +01:00
syntax.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
tns.c Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00
tns.h Add codecs to librbcodec. 2012-04-25 22:13:20 +02:00

Freeware Advanced Audio (AAC) Decoder including SBR decoding
http://www.audiocoding.com/

FAAD2 is a HE, LC, MAIN and LTP profile, MPEG2 and MPEG-4 AAC decoder.
FAAD2 includes code for SBR (HE AAC) decoding.
FAAD2 is licensed under the GPL.


__________
COPYRIGHTS

For FAAD2 the following license applies:

******************************************************************************
** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
** Copyright (C) 2003 M. Bakker (mbakker(at)nero.com), Ahead Software AG
**  
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
** 
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
** GNU General Public License for more details.
** 
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software 
** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
**
** Commercial non-GPL licensing of this software is also possible.
** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
******************************************************************************


Please note that the use of this software may require the payment of
patent royalties. You need to consider this issue before you start
building derivative works. We are not warranting or indemnifying you in
any way for patent royalities! YOU ARE SOLELY RESPONSIBLE FOR YOUR OWN
ACTIONS!


______
PEOPLE

FAAD2 is written by:
 - M. Bakker (mbakker(at)nero.com).


_______________
VERSION HISTORY

Sorry, try building a ChangeLog from CVS.

__________________________________
REDISTRIBUTED OPEN SOURCE PACKAGES

This is the list of redistributed open source packages that are included 
in FAAD2:

Name:       mp4v2
Version:    0.9.8.6
Origin:     http://www.mpeg4ip.net
Author:     David Mackie
Directory:  common/mp4v2
License:    MPL, Mozilla Public License, version 1.1

Name:       mp4av
Version:    0.9.8.6
Origin:     http://www.mpeg4ip.net
Author:     David Mackie
Directory:  common/mp4av
License:    MPL, Mozilla Public License, version 1.1


___________________
DIRECTORY STRUCTURE

faad2 - top level directory.

   aacDECdrop - windows decoder/player with drag'n'drop functionality

   common - generally used libraries and code.

      faad - general common functions like filereading and streaming
             as well as getting info from aac files.

      mp4v2 - MPEG-4 file reading library.
      
      mp4av - MPEG-4 file general function library.
      
      mp4ff - Small MP4 file format library (includes tagging abilities).
      
   CoreAAC - AAC DirectShow filter.

   frontend - command line frontend to the FAAD2 library, also supports
              MPEG-4 file decoding.

   include - inlude file for the FAAD2 library.

   libfaad - the FAAD2 AAC decoder library including SBR.
   
      codebook - Huffman codebooks

   plugins - plugins for all kinds of pograms.
   
      in_mp4 - winamp MPEG-4 AAC file input plugin.
      
      QCD - Quintessential player AAC plugin.

      QCDMp4 - Quintessential player MP4 plugin.

      winamp - winamp2 AAC input plugin.

      winamp3 - winamp3 AAC input plugin.
      
      xmms - xmms AAC plugin

      mpeg4ip - plugin for the mpeg4ip player