13192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz
23192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz/* -----------------------------------------------------------------------------------------------------------
33192633d4abe262d413e41feb871fe8deed409d8Jakob BornecrantzSoftware License for The Fraunhofer FDK AAC Codec Library for Android
43192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz
53192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz� Copyright  1995 - 2013 Fraunhofer-Gesellschaft zur F�rderung der angewandten Forschung e.V.
63192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz  All rights reserved.
73192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz
83192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz 1.    INTRODUCTION
93192633d4abe262d413e41feb871fe8deed409d8Jakob BornecrantzThe Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
103192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantzthe MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
113192633d4abe262d413e41feb871fe8deed409d8Jakob BornecrantzThis FDK AAC Codec software is intended to be used on a wide variety of Android devices.
123192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz
133192633d4abe262d413e41feb871fe8deed409d8Jakob BornecrantzAAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
143192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantzaudio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
153192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantzindependent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
163192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantzof the MPEG specifications.
173192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz
183192633d4abe262d413e41feb871fe8deed409d8Jakob BornecrantzPatent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
193192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantzmay be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
203192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantzindividually for the purpose of encoding or decoding bit streams in products that are compliant with
213192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantzthe ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
223192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantzthese patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
233192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantzsoftware may already be covered under those patent licenses when it is used for those licensed purposes only.
243192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz
253192633d4abe262d413e41feb871fe8deed409d8Jakob BornecrantzCommercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
2628486880ca3ec39419ccee0cb1a3bedc9ef7117cJosé Fonsecaare also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
273192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantzapplications information and documentation.
283192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz
29fd69fc87444af8ead30b4af64598a98df7969397José Fonseca2.    COPYRIGHT LICENSE
303192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz
313192633d4abe262d413e41feb871fe8deed409d8Jakob BornecrantzRedistribution and use in source and binary forms, with or without modification, are permitted without
323192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantzpayment of copyright license fees provided that you satisfy the following conditions:
333192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz
343192633d4abe262d413e41feb871fe8deed409d8Jakob BornecrantzYou must retain the complete text of this software license in redistributions of the FDK AAC Codec or
353192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantzyour modifications thereto in source code form.
363192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz
373192633d4abe262d413e41feb871fe8deed409d8Jakob BornecrantzYou must retain the complete text of this software license in the documentation and/or other materials
38fd69fc87444af8ead30b4af64598a98df7969397José Fonsecaprovided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
39fd69fc87444af8ead30b4af64598a98df7969397José FonsecaYou must make available free of charge copies of the complete source code of the FDK AAC Codec and your
40bd302f36c40ed0f6453eebf471b641c933345ee9Brian Paulmodifications thereto to recipients of copies in binary form.
41fd69fc87444af8ead30b4af64598a98df7969397José Fonseca
42bd302f36c40ed0f6453eebf471b641c933345ee9Brian PaulThe name of Fraunhofer may not be used to endorse or promote products derived from this library without
43fd69fc87444af8ead30b4af64598a98df7969397José Fonsecaprior written permission.
44fd69fc87444af8ead30b4af64598a98df7969397José Fonseca
453192633d4abe262d413e41feb871fe8deed409d8Jakob BornecrantzYou may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
46bd302f36c40ed0f6453eebf471b641c933345ee9Brian Paulsoftware or your modifications thereto.
47bd302f36c40ed0f6453eebf471b641c933345ee9Brian Paul
483192633d4abe262d413e41feb871fe8deed409d8Jakob BornecrantzYour modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
49bd302f36c40ed0f6453eebf471b641c933345ee9Brian Pauland the date of any change. For modified versions of the FDK AAC Codec, the term
50bd302f36c40ed0f6453eebf471b641c933345ee9Brian Paul"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
513192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
527e161bcf11d539ecc2482b71b21783a23e36f596Brian Paul
537e161bcf11d539ecc2482b71b21783a23e36f596Brian Paul3.    NO PATENT LICENSE
547e161bcf11d539ecc2482b71b21783a23e36f596Brian Paul
557e161bcf11d539ecc2482b71b21783a23e36f596Brian PaulNO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
563192633d4abe262d413e41feb871fe8deed409d8Jakob BornecrantzARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
573192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantzrespect to this software.
58bd302f36c40ed0f6453eebf471b641c933345ee9Brian Paul
59bd302f36c40ed0f6453eebf471b641c933345ee9Brian PaulYou may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
60fd69fc87444af8ead30b4af64598a98df7969397José Fonsecaby appropriate patent licenses.
617c6a5134bac6976fff8aa7bb5408bfbea9be9389Brian Paul
627c6a5134bac6976fff8aa7bb5408bfbea9be9389Brian Paul4.    DISCLAIMER
637c6a5134bac6976fff8aa7bb5408bfbea9be9389Brian Paul
64fd69fc87444af8ead30b4af64598a98df7969397José FonsecaThis FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
655f053bf4ae092df9e5ff6ab38caf9867e6fe46bfBrian Paul"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
667c6a5134bac6976fff8aa7bb5408bfbea9be9389Brian Paulof merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
677c6a5134bac6976fff8aa7bb5408bfbea9be9389Brian PaulCONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
683192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantzincluding but not limited to procurement of substitute goods or services; loss of use, data, or profits,
695f053bf4ae092df9e5ff6ab38caf9867e6fe46bfBrian Paulor business interruption, however caused and on any theory of liability, whether in contract, strict
703192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantzliability, or tort (including negligence), arising in any way out of the use of this software, even if
71c27f24f6f00d632110667a34cb0b213e4fd7f762Brian Pauladvised of the possibility of such damage.
72e33447aac62da5e7fe8f6a262cacaa97ce212ef5José Fonseca
73e33447aac62da5e7fe8f6a262cacaa97ce212ef5José Fonseca5.    CONTACT INFORMATION
74bd302f36c40ed0f6453eebf471b641c933345ee9Brian Paul
75bd302f36c40ed0f6453eebf471b641c933345ee9Brian PaulFraunhofer Institute for Integrated Circuits IIS
763192633d4abe262d413e41feb871fe8deed409d8Jakob BornecrantzAttention: Audio and Multimedia Departments - FDK AAC LL
777c6a5134bac6976fff8aa7bb5408bfbea9be9389Brian PaulAm Wolfsmantel 33
783192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz91058 Erlangen, Germany
79c27f24f6f00d632110667a34cb0b213e4fd7f762Brian Paul
803192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantzwww.iis.fraunhofer.de/amm
813192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantzamm-info@iis.fraunhofer.de
823192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz----------------------------------------------------------------------------------------------------------- */
833192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz
843192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz/*!
853192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz\file
86bd302f36c40ed0f6453eebf471b641c933345ee9Brian Paul\brief Declaration of constant tables
873192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz
88c27f24f6f00d632110667a34cb0b213e4fd7f762Brian Paul*/
893192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz#ifndef __SBR_ROM_H
903192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz#define __SBR_ROM_H
915f053bf4ae092df9e5ff6ab38caf9867e6fe46bfBrian Paul
923192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz#include "sbr_def.h"
933192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz#include "sbr_encoder.h"
94c27f24f6f00d632110667a34cb0b213e4fd7f762Brian Paul
953192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz#include "ps_main.h"
96bd302f36c40ed0f6453eebf471b641c933345ee9Brian Paul
973192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz/*
983192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz  huffman tables
993192633d4abe262d413e41feb871fe8deed409d8Jakob Bornecrantz*/
100bd302f36c40ed0f6453eebf471b641c933345ee9Brian Paulextern const INT           v_Huff_envelopeLevelC10T[121];
101fd69fc87444af8ead30b4af64598a98df7969397José Fonsecaextern const UCHAR         v_Huff_envelopeLevelL10T[121];
102fd69fc87444af8ead30b4af64598a98df7969397José Fonsecaextern const INT           v_Huff_envelopeLevelC10F[121];
103fd69fc87444af8ead30b4af64598a98df7969397José Fonsecaextern const UCHAR         v_Huff_envelopeLevelL10F[121];
104fd69fc87444af8ead30b4af64598a98df7969397José Fonsecaextern const INT           bookSbrEnvBalanceC10T[49];
105fd69fc87444af8ead30b4af64598a98df7969397José Fonsecaextern const UCHAR         bookSbrEnvBalanceL10T[49];
106bd302f36c40ed0f6453eebf471b641c933345ee9Brian Paulextern const INT           bookSbrEnvBalanceC10F[49];
107bd302f36c40ed0f6453eebf471b641c933345ee9Brian Paulextern const UCHAR         bookSbrEnvBalanceL10F[49];
108bd302f36c40ed0f6453eebf471b641c933345ee9Brian Paulextern const INT           v_Huff_envelopeLevelC11T[63];
109bd302f36c40ed0f6453eebf471b641c933345ee9Brian Paulextern const UCHAR         v_Huff_envelopeLevelL11T[63];
110bd302f36c40ed0f6453eebf471b641c933345ee9Brian Paulextern const INT           v_Huff_envelopeLevelC11F[63];
111bd302f36c40ed0f6453eebf471b641c933345ee9Brian Paulextern const UCHAR         v_Huff_envelopeLevelL11F[63];
112fd69fc87444af8ead30b4af64598a98df7969397José Fonsecaextern const INT           bookSbrEnvBalanceC11T[25];
113fd69fc87444af8ead30b4af64598a98df7969397José Fonsecaextern const UCHAR         bookSbrEnvBalanceL11T[25];
114fd69fc87444af8ead30b4af64598a98df7969397José Fonsecaextern const INT           bookSbrEnvBalanceC11F[25];
115fd69fc87444af8ead30b4af64598a98df7969397José Fonsecaextern const UCHAR         bookSbrEnvBalanceL11F[25];
11673e840ab7d5d4f42dabe498b194b388713fdc43bBrian Paulextern const INT           v_Huff_NoiseLevelC11T[63];
117e33447aac62da5e7fe8f6a262cacaa97ce212ef5José Fonsecaextern const UCHAR         v_Huff_NoiseLevelL11T[63];
11873e840ab7d5d4f42dabe498b194b388713fdc43bBrian Paulextern const INT           bookSbrNoiseBalanceC11T[25];
11973e840ab7d5d4f42dabe498b194b388713fdc43bBrian Paulextern const UCHAR         bookSbrNoiseBalanceL11T[25];
12073e840ab7d5d4f42dabe498b194b388713fdc43bBrian Paul
12173e840ab7d5d4f42dabe498b194b388713fdc43bBrian Paulextern const sbrTuningTable_t sbrTuningTable[];
12273e840ab7d5d4f42dabe498b194b388713fdc43bBrian Paulextern const int sbrTuningTableSize;
123e33447aac62da5e7fe8f6a262cacaa97ce212ef5José Fonseca
12473e840ab7d5d4f42dabe498b194b388713fdc43bBrian Paulextern const psTuningTable_t psTuningTable[4];
12573e840ab7d5d4f42dabe498b194b388713fdc43bBrian Paul
12673e840ab7d5d4f42dabe498b194b388713fdc43bBrian Paul
12773e840ab7d5d4f42dabe498b194b388713fdc43bBrian Paul#endif
12873e840ab7d5d4f42dabe498b194b388713fdc43bBrian Paul