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