rockbox/apps/codecs/libfaad
Nils Wallménius 4909e09267 FS#12141 by Sean Bartell
Some of these were found with http://www.samba.org/junkcode/#findstatic. Changes of note:
* The old MDCT has been removed.
* Makefile.test files that create test programs for libatrac, libcook, and libffmpegFLAC have been removed, as they don't work. My project will have a replacement that works with all codecs.
* I've tried not to remove anything useful. CLIP_TO_15 was removed from libtremor because there's another copy (also commented) in codeclib.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29945 a1c6a512-1295-4272-9138-f99709370657
2011-06-02 14:59:15 +00:00
..
codebook Fix red and yellow. Needed to remove one codebook from IRAM due to full IRAM on iPod4G. 2010-07-01 21:39:55 +00:00
analysis.h
bits.c Rework of libfaad in several areas. Allow removal of malloc with a new define FAAD_STATIC_ALLOC (in common.h). 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. The changes make the allocation routines much smaller, better centralized and allow to move duplicated code from aac.c/raa.c to libfaad. The rework includes removal of (now and former) unused code as well. 2011-04-24 20:19:05 +00:00
bits.h Rework of libfaad in several areas. Allow removal of malloc with a new define FAAD_STATIC_ALLOC (in common.h). 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. The changes make the allocation routines much smaller, better centralized and allow to move duplicated code from aac.c/raa.c to libfaad. The rework includes removal of (now and former) unused code as well. 2011-04-24 20:19:05 +00:00
common.c Rework of libfaad in several areas. Allow removal of malloc with a new define FAAD_STATIC_ALLOC (in common.h). 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. The changes make the allocation routines much smaller, better centralized and allow to move duplicated code from aac.c/raa.c to libfaad. The rework includes removal of (now and former) unused code as well. 2011-04-24 20:19:05 +00:00
common.h Trapped into ifdef-hell. Configure libfaad's IRAM/DRAM usage like it is meant to be. 2011-05-12 22:24:09 +00:00
COPYING
decoder.c FS#12141 by Sean Bartell 2011-06-02 14:59:15 +00:00
decoder.h Rework of libfaad in several areas. Allow removal of malloc with a new define FAAD_STATIC_ALLOC (in common.h). 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. The changes make the allocation routines much smaller, better centralized and allow to move duplicated code from aac.c/raa.c to libfaad. The rework includes removal of (now and former) unused code as well. 2011-04-24 20:19:05 +00:00
drc.c Rework of libfaad in several areas. Allow removal of malloc with a new define FAAD_STATIC_ALLOC (in common.h). 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. The changes make the allocation routines much smaller, better centralized and allow to move duplicated code from aac.c/raa.c to libfaad. The rework includes removal of (now and former) unused code as well. 2011-04-24 20:19:05 +00:00
drc.h Rework of libfaad in several areas. Allow removal of malloc with a new define FAAD_STATIC_ALLOC (in common.h). 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. The changes make the allocation routines much smaller, better centralized and allow to move duplicated code from aac.c/raa.c to libfaad. The rework includes removal of (now and former) unused code as well. 2011-04-24 20:19:05 +00:00
drm_dec.c Rework of libfaad in several areas. Allow removal of malloc with a new define FAAD_STATIC_ALLOC (in common.h). 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. The changes make the allocation routines much smaller, better centralized and allow to move duplicated code from aac.c/raa.c to libfaad. The rework includes removal of (now and former) unused code as well. 2011-04-24 20:19:05 +00:00
drm_dec.h Rework of libfaad in several areas. Allow removal of malloc with a new define FAAD_STATIC_ALLOC (in common.h). 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. The changes make the allocation routines much smaller, better centralized and allow to move duplicated code from aac.c/raa.c to libfaad. The rework includes removal of (now and former) unused code as well. 2011-04-24 20:19:05 +00:00
error.c Implement error handling for libfaad's memory allocation. Do not allocate PS related types dynamically anymore to minimize code changes. 2011-05-10 19:04:24 +00:00
error.h
faad_config.h
filtbank.c Rework of libfaad in several areas. Allow removal of malloc with a new define FAAD_STATIC_ALLOC (in common.h). 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. The changes make the allocation routines much smaller, better centralized and allow to move duplicated code from aac.c/raa.c to libfaad. The rework includes removal of (now and former) unused code as well. 2011-04-24 20:19:05 +00:00
filtbank.h Fix FS#10174 by correcting an oversimplification of the AAC window switching code I introduced with the unified IMDCT library. Should significantly improve accuracy for all AAC files. 2009-04-29 17:44:02 +00:00
fixed.h Clean up libfaad's fixed point implementation. 2010-09-13 20:57:22 +00:00
hcr.c Remove all tabs within codec path. 2010-02-22 19:44:05 +00:00
huffman.c Submit FS#11445. Speed up of faad (aac) decoder via several optimizations like refactoring some requantization routines, moving several arrays and code tables to IRAM, using an optimized swap32() function and inlining several huffman decoder functions. Decoding is sped up by ~10% (PP5002, PP5022, MCF5249) and ~22% (MCF5250). 2010-07-01 21:18:42 +00:00
huffman.h Submit FS#11445. Speed up of faad (aac) decoder via several optimizations like refactoring some requantization routines, moving several arrays and code tables to IRAM, using an optimized swap32() function and inlining several huffman decoder functions. Decoding is sped up by ~10% (PP5002, PP5022, MCF5249) and ~22% (MCF5250). 2010-07-01 21:18:42 +00:00
ic_predict.c
ic_predict.h Use MEM_ALIGN_ATTR in libfaad. Remove global array and re-use existing one. 2011-02-05 19:50:16 +00:00
iq_table.h Use MEM_ALIGN_ATTR in libfaad. Remove global array and re-use existing one. 2011-02-05 19:50:16 +00:00
is.c Minor loop optimization in libfaad's is/ms decoding. 2011-05-08 19:36:08 +00:00
is.h
kbd_win.h Use MEM_ALIGN_ATTR in libfaad. Remove global array and re-use existing one. 2011-02-05 19:50:16 +00:00
libfaad.make Switch coldfire builds over to new toolchain using gcc 4.5.2 and binutils 2.20.1 2011-01-12 22:28:43 +00:00
lt_predict.c Use MEM_ALIGN_ATTR in libfaad. Remove global array and re-use existing one. 2011-02-05 19:50:16 +00:00
lt_predict.h
mp4.c FS#12141 by Sean Bartell 2011-06-02 14:59:15 +00:00
mp4.h FS#12141 by Sean Bartell 2011-06-02 14:59:15 +00:00
ms.c Minor loop optimization in libfaad's is/ms decoding. 2011-05-08 19:36:08 +00:00
ms.h
output.c
output.h
pns.c Clean up libfaad's fixed point implementation. 2010-09-13 20:57:22 +00:00
pns.h
ps_dec.c libfaad: Move PS related variables to sbr_info struct. This allows dynamic allocation including error handling. 2011-05-11 18:52:05 +00:00
ps_dec.h libfaad: Move PS related variables to sbr_info struct. This allows dynamic allocation including error handling. 2011-05-11 18:52:05 +00:00
ps_syntax.c
ps_tables.h
pulse.c
pulse.h
README
README.rockbox
rvlc.c
rvlc.h
sbr_dct.c Rework of libfaad in several areas. Allow removal of malloc with a new define FAAD_STATIC_ALLOC (in common.h). 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. The changes make the allocation routines much smaller, better centralized and allow to move duplicated code from aac.c/raa.c to libfaad. The rework includes removal of (now and former) unused code as well. 2011-04-24 20:19:05 +00:00
sbr_dct.h Submit FS#11461. Major speedup for aac he profile (PP5002 +20%, PP5020 +15%, PP5022 +19%, MCF5249 +35%, MCF5250 +80%), still not realtime on most targets though. This change does a lot of refactoring in the sbr filters and the dct, switching to our optimized codeclib fft and tweaking IRAM usage. 2010-07-09 18:32:37 +00:00
sbr_dec.c Trapped into ifdef-hell. Configure libfaad's IRAM/DRAM usage like it is meant to be. 2011-05-12 22:24:09 +00:00
sbr_dec.h libfaad: Move PS related variables to sbr_info struct. This allows dynamic allocation including error handling. 2011-05-11 18:52:05 +00:00
sbr_e_nf.c Rework of libfaad in several areas. Allow removal of malloc with a new define FAAD_STATIC_ALLOC (in common.h). 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. The changes make the allocation routines much smaller, better centralized and allow to move duplicated code from aac.c/raa.c to libfaad. The rework includes removal of (now and former) unused code as well. 2011-04-24 20:19:05 +00:00
sbr_e_nf.h
sbr_fbt.c AAC decoder: Remove suspicious use of the REAL_CONST macro. I don't know what triggers the execution of this code, but this change stops some floating point math code from being linked. It looks like the right thing to do... 2008-03-09 12:36:30 +00:00
sbr_fbt.h
sbr_hfadj.c Use MEM_ALIGN_ATTR in libfaad. Remove global array and re-use existing one. 2011-02-05 19:50:16 +00:00
sbr_hfadj.h
sbr_hfgen.c Rework of libfaad in several areas. Allow removal of malloc with a new define FAAD_STATIC_ALLOC (in common.h). 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. The changes make the allocation routines much smaller, better centralized and allow to move duplicated code from aac.c/raa.c to libfaad. The rework includes removal of (now and former) unused code as well. 2011-04-24 20:19:05 +00:00
sbr_hfgen.h Rework of libfaad in several areas. Allow removal of malloc with a new define FAAD_STATIC_ALLOC (in common.h). 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. The changes make the allocation routines much smaller, better centralized and allow to move duplicated code from aac.c/raa.c to libfaad. The rework includes removal of (now and former) unused code as well. 2011-04-24 20:19:05 +00:00
sbr_huff.c
sbr_huff.h
sbr_noise.h Use MEM_ALIGN_ATTR in libfaad. Remove global array and re-use existing one. 2011-02-05 19:50:16 +00:00
sbr_qmf.c Rework of libfaad in several areas. Allow removal of malloc with a new define FAAD_STATIC_ALLOC (in common.h). 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. The changes make the allocation routines much smaller, better centralized and allow to move duplicated code from aac.c/raa.c to libfaad. The rework includes removal of (now and former) unused code as well. 2011-04-24 20:19:05 +00:00
sbr_qmf.h Rework of libfaad in several areas. Allow removal of malloc with a new define FAAD_STATIC_ALLOC (in common.h). 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. The changes make the allocation routines much smaller, better centralized and allow to move duplicated code from aac.c/raa.c to libfaad. The rework includes removal of (now and former) unused code as well. 2011-04-24 20:19:05 +00:00
sbr_qmf_c.h Use MEM_ALIGN_ATTR in libfaad. Remove global array and re-use existing one. 2011-02-05 19:50:16 +00:00
sbr_syntax.c libfaad: Move PS related variables to sbr_info struct. This allows dynamic allocation including error handling. 2011-05-11 18:52:05 +00:00
sbr_syntax.h
sbr_tf_grid.c
sbr_tf_grid.h
sine_win.h Use MEM_ALIGN_ATTR in libfaad. Remove global array and re-use existing one. 2011-02-05 19:50:16 +00:00
SOURCES Remove unneeded libfaad files from SOURCE. 2010-07-06 19:23:13 +00:00
specrec.c Implement error handling for libfaad's memory allocation. Do not allocate PS related types dynamically anymore to minimize code changes. 2011-05-10 19:04:24 +00:00
specrec.h
structs.h Rework of libfaad in several areas. Allow removal of malloc with a new define FAAD_STATIC_ALLOC (in common.h). 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. The changes make the allocation routines much smaller, better centralized and allow to move duplicated code from aac.c/raa.c to libfaad. The rework includes removal of (now and former) unused code as well. 2011-04-24 20:19:05 +00:00
syntax.c Implement error handling for libfaad's memory allocation. Do not allocate PS related types dynamically anymore to minimize code changes. 2011-05-10 19:04:24 +00:00
syntax.h
tns.c FS#12141 by Sean Bartell 2011-06-02 14:59:15 +00:00
tns.h

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