rockbox/apps/codecs/libfaad
Michael Giacomelli 93caf52db5 Use new MDCT library for libfaad. Speeds up AAC-LC by 2.5MHz.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24781 a1c6a512-1295-4272-9138-f99709370657
2010-02-20 00:29:31 +00:00
..
codebook Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
analysis.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
bits.c AAC codec: Fix buffer overrun on high-bitrate files. 2006-10-10 19:22:40 +00:00
bits.h Changes to make libfaad compile in Rockbox. Also remove compiler warnings, use some IRAM (IRAM usage needs reviewing) and drastically reduce the stack usage 2005-10-31 20:33:27 +00:00
common.c Libfaad pow2/log2 improvements: 2009-12-13 03:45:40 +00:00
common.h Libfaad pow2/log2 improvements: 2009-12-13 03:45:40 +00:00
COPYING Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
decoder.c Combine the Vorbis, WMA and AAC IMDCT functions and put them into the codeclib. Combined IMDCT is now based on existing Tremor transform. Reduces CPU for 192k AAC by 21MHz on Coldfire, and 5MHz on PP5024. WMA and Vorbis should have no functional changes since they already used this code. Further optimization is possible and would benefit all 3 codecs. 2008-09-04 18:02:10 +00:00
decoder.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
drc.c Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
drc.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
drm_dec.c Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
drm_dec.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
error.c Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
error.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
faad_config.h Changes to make libfaad compile in Rockbox. Also remove compiler warnings, use some IRAM (IRAM usage needs reviewing) and drastically reduce the stack usage 2005-10-31 20:33:27 +00:00
filtbank.c Use new MDCT library for libfaad. Speeds up AAC-LC by 2.5MHz. 2010-02-20 00:29:31 +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 Fix red, DESCALE_SHIFT macro was missing a right-parenthesis. 2009-12-13 04:06:45 +00:00
hcr.c Changes to make libfaad compile in Rockbox. Also remove compiler warnings, use some IRAM (IRAM usage needs reviewing) and drastically reduce the stack usage 2005-10-31 20:33:27 +00:00
huffman.c Fix the warning. 2006-09-24 19:18:09 +00:00
huffman.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
ic_predict.c Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
ic_predict.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
iq_table.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
is.c Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
is.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
kbd_win.h Apply a bunch of simple AAC decoder optimizations. Biggest speedup is on ColdFire targets, but ARM targets benefits too. Allows realtime playback of some AAC files on Iriver targets (H1x0, H3x0). Remove support for some rarely used AAC profiles to reduce code size a bit. 2006-09-24 19:00:29 +00:00
libfaad.make Silence warning from 'ar' if the archive had to be created. 2009-03-01 09:04:15 +00:00
lt_predict.c Changes to make libfaad compile in Rockbox. Also remove compiler warnings, use some IRAM (IRAM usage needs reviewing) and drastically reduce the stack usage 2005-10-31 20:33:27 +00:00
lt_predict.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
mp4.c Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
mp4.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
ms.c Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
ms.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
output.c Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
output.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
pns.c Make local functions static in codecs, where possible. 2008-12-29 19:49:48 +00:00
pns.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
ps_dec.c Fix playback of HE-AACv2 (aka SBR+PS) files. 2007-09-21 17:39:24 +00:00
ps_dec.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
ps_syntax.c Changes to make libfaad compile in Rockbox. Also remove compiler warnings, use some IRAM (IRAM usage needs reviewing) and drastically reduce the stack usage 2005-10-31 20:33:27 +00:00
ps_tables.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
pulse.c Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
pulse.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
README Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
README.rockbox Changes to make libfaad compile in Rockbox. Also remove compiler warnings, use some IRAM (IRAM usage needs reviewing) and drastically reduce the stack usage 2005-10-31 20:33:27 +00:00
rvlc.c Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
rvlc.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
sbr_dct.c Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
sbr_dct.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
sbr_dec.c Changes to make libfaad compile in Rockbox. Also remove compiler warnings, use some IRAM (IRAM usage needs reviewing) and drastically reduce the stack usage 2005-10-31 20:33:27 +00:00
sbr_dec.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
sbr_e_nf.c Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
sbr_e_nf.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
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 Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
sbr_hfadj.c Changes to make libfaad compile in Rockbox. Also remove compiler warnings, use some IRAM (IRAM usage needs reviewing) and drastically reduce the stack usage 2005-10-31 20:33:27 +00:00
sbr_hfadj.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
sbr_hfgen.c Extend av_log2 in codeclib into a generic for scanning for set bits, which can provide either log2 or leading-zero-count output, and can force mapping 0 input to 0 output if needed (otherwise 0 input produces undefined result). Replace av_log2 in lib/codeclib.h, floor_log2 and wl_min_lzc in libfaad/common.c and common.h, and count_leading_zeros in libalac/alac.c with macros using bs_generic. 2009-12-09 02:24:45 +00:00
sbr_hfgen.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
sbr_huff.c Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
sbr_huff.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
sbr_noise.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
sbr_qmf.c Fix playback of HE-AACv2 (aka SBR+PS) files. 2007-09-21 17:39:24 +00:00
sbr_qmf.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
sbr_qmf_c.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
sbr_syntax.c Changes to make libfaad compile in Rockbox. Also remove compiler warnings, use some IRAM (IRAM usage needs reviewing) and drastically reduce the stack usage 2005-10-31 20:33:27 +00:00
sbr_syntax.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
sbr_tf_grid.c Changes to make libfaad compile in Rockbox. Also remove compiler warnings, use some IRAM (IRAM usage needs reviewing) and drastically reduce the stack usage 2005-10-31 20:33:27 +00:00
sbr_tf_grid.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
sine_win.h Apply a bunch of simple AAC decoder optimizations. Biggest speedup is on ColdFire targets, but ARM targets benefits too. Allows realtime playback of some AAC files on Iriver targets (H1x0, H3x0). Remove support for some rarely used AAC profiles to reduce code size a bit. 2006-09-24 19:00:29 +00:00
SOURCES Combine the Vorbis, WMA and AAC IMDCT functions and put them into the codeclib. Combined IMDCT is now based on existing Tremor transform. Reduces CPU for 192k AAC by 21MHz on Coldfire, and 5MHz on PP5024. WMA and Vorbis should have no functional changes since they already used this code. Further optimization is possible and would benefit all 3 codecs. 2008-09-04 18:02:10 +00:00
specrec.c 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
specrec.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
structs.h Combine the Vorbis, WMA and AAC IMDCT functions and put them into the codeclib. Combined IMDCT is now based on existing Tremor transform. Reduces CPU for 192k AAC by 21MHz on Coldfire, and 5MHz on PP5024. WMA and Vorbis should have no functional changes since they already used this code. Further optimization is possible and would benefit all 3 codecs. 2008-09-04 18:02:10 +00:00
syntax.c Disable AAC-SBR, AAC-SSR, and AAC-PS on Sansa clip. Clean up warnings introduced by this. Enable compiling the AAC codec on the Clip. Due to lack of memory for seek tables, files over 10 minutes long or so will probably fail. 2009-04-25 03:51:58 +00:00
syntax.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00:00
tns.c Changes to make libfaad compile in Rockbox. Also remove compiler warnings, use some IRAM (IRAM usage needs reviewing) and drastically reduce the stack usage 2005-10-31 20:33:27 +00:00
tns.h Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 2005-10-31 18:56:29 +00: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