1*e5436536SAndroid Build Coastguard Worker /* ----------------------------------------------------------------------------- 2*e5436536SAndroid Build Coastguard Worker Software License for The Fraunhofer FDK AAC Codec Library for Android 3*e5436536SAndroid Build Coastguard Worker 4*e5436536SAndroid Build Coastguard Worker © Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten 5*e5436536SAndroid Build Coastguard Worker Forschung e.V. All rights reserved. 6*e5436536SAndroid Build Coastguard Worker 7*e5436536SAndroid Build Coastguard Worker 1. INTRODUCTION 8*e5436536SAndroid Build Coastguard Worker The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software 9*e5436536SAndroid Build Coastguard Worker that implements the MPEG Advanced Audio Coding ("AAC") encoding and decoding 10*e5436536SAndroid Build Coastguard Worker scheme for digital audio. This FDK AAC Codec software is intended to be used on 11*e5436536SAndroid Build Coastguard Worker a wide variety of Android devices. 12*e5436536SAndroid Build Coastguard Worker 13*e5436536SAndroid Build Coastguard Worker AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient 14*e5436536SAndroid Build Coastguard Worker general perceptual audio codecs. AAC-ELD is considered the best-performing 15*e5436536SAndroid Build Coastguard Worker full-bandwidth communications codec by independent studies and is widely 16*e5436536SAndroid Build Coastguard Worker deployed. AAC has been standardized by ISO and IEC as part of the MPEG 17*e5436536SAndroid Build Coastguard Worker specifications. 18*e5436536SAndroid Build Coastguard Worker 19*e5436536SAndroid Build Coastguard Worker Patent licenses for necessary patent claims for the FDK AAC Codec (including 20*e5436536SAndroid Build Coastguard Worker those of Fraunhofer) may be obtained through Via Licensing 21*e5436536SAndroid Build Coastguard Worker (www.vialicensing.com) or through the respective patent owners individually for 22*e5436536SAndroid Build Coastguard Worker the purpose of encoding or decoding bit streams in products that are compliant 23*e5436536SAndroid Build Coastguard Worker with the ISO/IEC MPEG audio standards. Please note that most manufacturers of 24*e5436536SAndroid Build Coastguard Worker Android devices already license these patent claims through Via Licensing or 25*e5436536SAndroid Build Coastguard Worker directly from the patent owners, and therefore FDK AAC Codec software may 26*e5436536SAndroid Build Coastguard Worker already be covered under those patent licenses when it is used for those 27*e5436536SAndroid Build Coastguard Worker licensed purposes only. 28*e5436536SAndroid Build Coastguard Worker 29*e5436536SAndroid Build Coastguard Worker Commercially-licensed AAC software libraries, including floating-point versions 30*e5436536SAndroid Build Coastguard Worker with enhanced sound quality, are also available from Fraunhofer. Users are 31*e5436536SAndroid Build Coastguard Worker encouraged to check the Fraunhofer website for additional applications 32*e5436536SAndroid Build Coastguard Worker information and documentation. 33*e5436536SAndroid Build Coastguard Worker 34*e5436536SAndroid Build Coastguard Worker 2. COPYRIGHT LICENSE 35*e5436536SAndroid Build Coastguard Worker 36*e5436536SAndroid Build Coastguard Worker Redistribution and use in source and binary forms, with or without modification, 37*e5436536SAndroid Build Coastguard Worker are permitted without payment of copyright license fees provided that you 38*e5436536SAndroid Build Coastguard Worker satisfy the following conditions: 39*e5436536SAndroid Build Coastguard Worker 40*e5436536SAndroid Build Coastguard Worker You must retain the complete text of this software license in redistributions of 41*e5436536SAndroid Build Coastguard Worker the FDK AAC Codec or your modifications thereto in source code form. 42*e5436536SAndroid Build Coastguard Worker 43*e5436536SAndroid Build Coastguard Worker You must retain the complete text of this software license in the documentation 44*e5436536SAndroid Build Coastguard Worker and/or other materials provided with redistributions of the FDK AAC Codec or 45*e5436536SAndroid Build Coastguard Worker your modifications thereto in binary form. You must make available free of 46*e5436536SAndroid Build Coastguard Worker charge copies of the complete source code of the FDK AAC Codec and your 47*e5436536SAndroid Build Coastguard Worker modifications thereto to recipients of copies in binary form. 48*e5436536SAndroid Build Coastguard Worker 49*e5436536SAndroid Build Coastguard Worker The name of Fraunhofer may not be used to endorse or promote products derived 50*e5436536SAndroid Build Coastguard Worker from this library without prior written permission. 51*e5436536SAndroid Build Coastguard Worker 52*e5436536SAndroid Build Coastguard Worker You may not charge copyright license fees for anyone to use, copy or distribute 53*e5436536SAndroid Build Coastguard Worker the FDK AAC Codec software or your modifications thereto. 54*e5436536SAndroid Build Coastguard Worker 55*e5436536SAndroid Build Coastguard Worker Your modified versions of the FDK AAC Codec must carry prominent notices stating 56*e5436536SAndroid Build Coastguard Worker that you changed the software and the date of any change. For modified versions 57*e5436536SAndroid Build Coastguard Worker of the FDK AAC Codec, the term "Fraunhofer FDK AAC Codec Library for Android" 58*e5436536SAndroid Build Coastguard Worker must be replaced by the term "Third-Party Modified Version of the Fraunhofer FDK 59*e5436536SAndroid Build Coastguard Worker AAC Codec Library for Android." 60*e5436536SAndroid Build Coastguard Worker 61*e5436536SAndroid Build Coastguard Worker 3. NO PATENT LICENSE 62*e5436536SAndroid Build Coastguard Worker 63*e5436536SAndroid Build Coastguard Worker NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without 64*e5436536SAndroid Build Coastguard Worker limitation the patents of Fraunhofer, ARE GRANTED BY THIS SOFTWARE LICENSE. 65*e5436536SAndroid Build Coastguard Worker Fraunhofer provides no warranty of patent non-infringement with respect to this 66*e5436536SAndroid Build Coastguard Worker software. 67*e5436536SAndroid Build Coastguard Worker 68*e5436536SAndroid Build Coastguard Worker You may use this FDK AAC Codec software or modifications thereto only for 69*e5436536SAndroid Build Coastguard Worker purposes that are authorized by appropriate patent licenses. 70*e5436536SAndroid Build Coastguard Worker 71*e5436536SAndroid Build Coastguard Worker 4. DISCLAIMER 72*e5436536SAndroid Build Coastguard Worker 73*e5436536SAndroid Build Coastguard Worker This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright 74*e5436536SAndroid Build Coastguard Worker holders and contributors "AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, 75*e5436536SAndroid Build Coastguard Worker including but not limited to the implied warranties of merchantability and 76*e5436536SAndroid Build Coastguard Worker fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 77*e5436536SAndroid Build Coastguard Worker CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, 78*e5436536SAndroid Build Coastguard Worker or consequential damages, including but not limited to procurement of substitute 79*e5436536SAndroid Build Coastguard Worker goods or services; loss of use, data, or profits, or business interruption, 80*e5436536SAndroid Build Coastguard Worker however caused and on any theory of liability, whether in contract, strict 81*e5436536SAndroid Build Coastguard Worker liability, or tort (including negligence), arising in any way out of the use of 82*e5436536SAndroid Build Coastguard Worker this software, even if advised of the possibility of such damage. 83*e5436536SAndroid Build Coastguard Worker 84*e5436536SAndroid Build Coastguard Worker 5. CONTACT INFORMATION 85*e5436536SAndroid Build Coastguard Worker 86*e5436536SAndroid Build Coastguard Worker Fraunhofer Institute for Integrated Circuits IIS 87*e5436536SAndroid Build Coastguard Worker Attention: Audio and Multimedia Departments - FDK AAC LL 88*e5436536SAndroid Build Coastguard Worker Am Wolfsmantel 33 89*e5436536SAndroid Build Coastguard Worker 91058 Erlangen, Germany 90*e5436536SAndroid Build Coastguard Worker 91*e5436536SAndroid Build Coastguard Worker www.iis.fraunhofer.de/amm 92*e5436536SAndroid Build Coastguard Worker [email protected] 93*e5436536SAndroid Build Coastguard Worker ----------------------------------------------------------------------------- */ 94*e5436536SAndroid Build Coastguard Worker 95*e5436536SAndroid Build Coastguard Worker /**************************** SBR encoder library ****************************** 96*e5436536SAndroid Build Coastguard Worker 97*e5436536SAndroid Build Coastguard Worker Author(s): Tobias Chalupka 98*e5436536SAndroid Build Coastguard Worker 99*e5436536SAndroid Build Coastguard Worker Description: Definition of constant tables 100*e5436536SAndroid Build Coastguard Worker 101*e5436536SAndroid Build Coastguard Worker *******************************************************************************/ 102*e5436536SAndroid Build Coastguard Worker 103*e5436536SAndroid Build Coastguard Worker /*! 104*e5436536SAndroid Build Coastguard Worker \file 105*e5436536SAndroid Build Coastguard Worker \brief Definition of constant tables 106*e5436536SAndroid Build Coastguard Worker $Revision: 95404 $ 107*e5436536SAndroid Build Coastguard Worker 108*e5436536SAndroid Build Coastguard Worker This module contains most of the constant data that can be stored in ROM. 109*e5436536SAndroid Build Coastguard Worker */ 110*e5436536SAndroid Build Coastguard Worker 111*e5436536SAndroid Build Coastguard Worker #include "sbrenc_rom.h" 112*e5436536SAndroid Build Coastguard Worker #include "genericStds.h" 113*e5436536SAndroid Build Coastguard Worker 114*e5436536SAndroid Build Coastguard Worker //@{ 115*e5436536SAndroid Build Coastguard Worker /******************************************************************************* 116*e5436536SAndroid Build Coastguard Worker 117*e5436536SAndroid Build Coastguard Worker Table Overview: 118*e5436536SAndroid Build Coastguard Worker 119*e5436536SAndroid Build Coastguard Worker o envelope level, 1.5 dB: 120*e5436536SAndroid Build Coastguard Worker 1a) v_Huff_envelopeLevelC10T[121] 121*e5436536SAndroid Build Coastguard Worker 1b) v_Huff_envelopeLevelL10T[121] 122*e5436536SAndroid Build Coastguard Worker 2a) v_Huff_envelopeLevelC10F[121] 123*e5436536SAndroid Build Coastguard Worker 2b) v_Huff_envelopeLevelL10F[121] 124*e5436536SAndroid Build Coastguard Worker 125*e5436536SAndroid Build Coastguard Worker o envelope balance, 1.5 dB: 126*e5436536SAndroid Build Coastguard Worker 3a) bookSbrEnvBalanceC10T[49] 127*e5436536SAndroid Build Coastguard Worker 3b) bookSbrEnvBalanceL10T[49] 128*e5436536SAndroid Build Coastguard Worker 4a) bookSbrEnvBalanceC10F[49] 129*e5436536SAndroid Build Coastguard Worker 4b) bookSbrEnvBalanceL10F[49] 130*e5436536SAndroid Build Coastguard Worker 131*e5436536SAndroid Build Coastguard Worker o envelope level, 3.0 dB: 132*e5436536SAndroid Build Coastguard Worker 5a) v_Huff_envelopeLevelC11T[63] 133*e5436536SAndroid Build Coastguard Worker 5b) v_Huff_envelopeLevelL11T[63] 134*e5436536SAndroid Build Coastguard Worker 6a) v_Huff_envelopeLevelC11F[63] 135*e5436536SAndroid Build Coastguard Worker 6b) v_Huff_envelopeLevelC11F[63] 136*e5436536SAndroid Build Coastguard Worker 137*e5436536SAndroid Build Coastguard Worker o envelope balance, 3.0 dB: 138*e5436536SAndroid Build Coastguard Worker 7a) bookSbrEnvBalanceC11T[25] 139*e5436536SAndroid Build Coastguard Worker 7b) bookSbrEnvBalanceL11T[25] 140*e5436536SAndroid Build Coastguard Worker 8a) bookSbrEnvBalanceC11F[25] 141*e5436536SAndroid Build Coastguard Worker 8b) bookSbrEnvBalanceL11F[25] 142*e5436536SAndroid Build Coastguard Worker 143*e5436536SAndroid Build Coastguard Worker o noise level, 3.0 dB: 144*e5436536SAndroid Build Coastguard Worker 9a) v_Huff_NoiseLevelC11T[63] 145*e5436536SAndroid Build Coastguard Worker 9b) v_Huff_NoiseLevelL11T[63] 146*e5436536SAndroid Build Coastguard Worker - ) (v_Huff_envelopeLevelC11F[63] is used for freq dir) 147*e5436536SAndroid Build Coastguard Worker - ) (v_Huff_envelopeLevelL11F[63] is used for freq dir) 148*e5436536SAndroid Build Coastguard Worker 149*e5436536SAndroid Build Coastguard Worker o noise balance, 3.0 dB: 150*e5436536SAndroid Build Coastguard Worker 10a) bookSbrNoiseBalanceC11T[25] 151*e5436536SAndroid Build Coastguard Worker 10b) bookSbrNoiseBalanceL11T[25] 152*e5436536SAndroid Build Coastguard Worker - ) (bookSbrEnvBalanceC11F[25] is used for freq dir) 153*e5436536SAndroid Build Coastguard Worker - ) (bookSbrEnvBalanceL11F[25] is used for freq dir) 154*e5436536SAndroid Build Coastguard Worker 155*e5436536SAndroid Build Coastguard Worker 156*e5436536SAndroid Build Coastguard Worker (1.5 dB is never used for noise) 157*e5436536SAndroid Build Coastguard Worker 158*e5436536SAndroid Build Coastguard Worker ********************************************************************************/ 159*e5436536SAndroid Build Coastguard Worker 160*e5436536SAndroid Build Coastguard Worker /*******************************************************************************/ 161*e5436536SAndroid Build Coastguard Worker /* table : envelope level, 1.5 dB */ 162*e5436536SAndroid Build Coastguard Worker /* theor range : [-58,58], CODE_BOOK_SCF_LAV = 58 */ 163*e5436536SAndroid Build Coastguard Worker /* implem range: [-60,60], CODE_BOOK_SCF_LAV10 = 60 */ 164*e5436536SAndroid Build Coastguard Worker /* raw stats : envelopeLevel_00 (yes, wrong suffix in name) KK 01-03-09 */ 165*e5436536SAndroid Build Coastguard Worker /*******************************************************************************/ 166*e5436536SAndroid Build Coastguard Worker 167*e5436536SAndroid Build Coastguard Worker /* direction: time 168*e5436536SAndroid Build Coastguard Worker contents : codewords 169*e5436536SAndroid Build Coastguard Worker raw table: HuffCode3C2FIX.m/envelopeLevel_00T_cF.mat/v_nChex_cF 170*e5436536SAndroid Build Coastguard Worker built by : FH 01-07-05 */ 171*e5436536SAndroid Build Coastguard Worker 172*e5436536SAndroid Build Coastguard Worker const INT v_Huff_envelopeLevelC10T[121] = { 173*e5436536SAndroid Build Coastguard Worker 0x0003FFD6, 0x0003FFD7, 0x0003FFD8, 0x0003FFD9, 0x0003FFDA, 0x0003FFDB, 174*e5436536SAndroid Build Coastguard Worker 0x0007FFB8, 0x0007FFB9, 0x0007FFBA, 0x0007FFBB, 0x0007FFBC, 0x0007FFBD, 175*e5436536SAndroid Build Coastguard Worker 0x0007FFBE, 0x0007FFBF, 0x0007FFC0, 0x0007FFC1, 0x0007FFC2, 0x0007FFC3, 176*e5436536SAndroid Build Coastguard Worker 0x0007FFC4, 0x0007FFC5, 0x0007FFC6, 0x0007FFC7, 0x0007FFC8, 0x0007FFC9, 177*e5436536SAndroid Build Coastguard Worker 0x0007FFCA, 0x0007FFCB, 0x0007FFCC, 0x0007FFCD, 0x0007FFCE, 0x0007FFCF, 178*e5436536SAndroid Build Coastguard Worker 0x0007FFD0, 0x0007FFD1, 0x0007FFD2, 0x0007FFD3, 0x0001FFE6, 0x0003FFD4, 179*e5436536SAndroid Build Coastguard Worker 0x0000FFF0, 0x0001FFE9, 0x0003FFD5, 0x0001FFE7, 0x0000FFF1, 0x0000FFEC, 180*e5436536SAndroid Build Coastguard Worker 0x0000FFED, 0x0000FFEE, 0x00007FF4, 0x00003FF9, 0x00003FF7, 0x00001FFA, 181*e5436536SAndroid Build Coastguard Worker 0x00001FF9, 0x00000FFB, 0x000007FC, 0x000003FC, 0x000001FD, 0x000000FD, 182*e5436536SAndroid Build Coastguard Worker 0x0000007D, 0x0000003D, 0x0000001D, 0x0000000D, 0x00000005, 0x00000001, 183*e5436536SAndroid Build Coastguard Worker 0x00000000, 0x00000004, 0x0000000C, 0x0000001C, 0x0000003C, 0x0000007C, 184*e5436536SAndroid Build Coastguard Worker 0x000000FC, 0x000001FC, 0x000003FD, 0x00000FFA, 0x00001FF8, 0x00003FF6, 185*e5436536SAndroid Build Coastguard Worker 0x00003FF8, 0x00007FF5, 0x0000FFEF, 0x0001FFE8, 0x0000FFF2, 0x0007FFD4, 186*e5436536SAndroid Build Coastguard Worker 0x0007FFD5, 0x0007FFD6, 0x0007FFD7, 0x0007FFD8, 0x0007FFD9, 0x0007FFDA, 187*e5436536SAndroid Build Coastguard Worker 0x0007FFDB, 0x0007FFDC, 0x0007FFDD, 0x0007FFDE, 0x0007FFDF, 0x0007FFE0, 188*e5436536SAndroid Build Coastguard Worker 0x0007FFE1, 0x0007FFE2, 0x0007FFE3, 0x0007FFE4, 0x0007FFE5, 0x0007FFE6, 189*e5436536SAndroid Build Coastguard Worker 0x0007FFE7, 0x0007FFE8, 0x0007FFE9, 0x0007FFEA, 0x0007FFEB, 0x0007FFEC, 190*e5436536SAndroid Build Coastguard Worker 0x0007FFED, 0x0007FFEE, 0x0007FFEF, 0x0007FFF0, 0x0007FFF1, 0x0007FFF2, 191*e5436536SAndroid Build Coastguard Worker 0x0007FFF3, 0x0007FFF4, 0x0007FFF5, 0x0007FFF6, 0x0007FFF7, 0x0007FFF8, 192*e5436536SAndroid Build Coastguard Worker 0x0007FFF9, 0x0007FFFA, 0x0007FFFB, 0x0007FFFC, 0x0007FFFD, 0x0007FFFE, 193*e5436536SAndroid Build Coastguard Worker 0x0007FFFF}; 194*e5436536SAndroid Build Coastguard Worker 195*e5436536SAndroid Build Coastguard Worker /* direction: time 196*e5436536SAndroid Build Coastguard Worker contents : codeword lengths 197*e5436536SAndroid Build Coastguard Worker raw table: HuffCode3C2FIX.m/envelopeLevel_00T_cF.mat/v_nLhex_cF 198*e5436536SAndroid Build Coastguard Worker built by : FH 01-07-05 */ 199*e5436536SAndroid Build Coastguard Worker 200*e5436536SAndroid Build Coastguard Worker const UCHAR v_Huff_envelopeLevelL10T[121] = { 201*e5436536SAndroid Build Coastguard Worker 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 202*e5436536SAndroid Build Coastguard Worker 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 203*e5436536SAndroid Build Coastguard Worker 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 204*e5436536SAndroid Build Coastguard Worker 0x13, 0x11, 0x12, 0x10, 0x11, 0x12, 0x11, 0x10, 0x10, 0x10, 0x10, 205*e5436536SAndroid Build Coastguard Worker 0x0F, 0x0E, 0x0E, 0x0D, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 206*e5436536SAndroid Build Coastguard Worker 0x06, 0x05, 0x04, 0x03, 0x02, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 207*e5436536SAndroid Build Coastguard Worker 0x08, 0x09, 0x0A, 0x0C, 0x0D, 0x0E, 0x0E, 0x0F, 0x10, 0x11, 0x10, 208*e5436536SAndroid Build Coastguard Worker 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 209*e5436536SAndroid Build Coastguard Worker 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 210*e5436536SAndroid Build Coastguard Worker 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 211*e5436536SAndroid Build Coastguard Worker 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13}; 212*e5436536SAndroid Build Coastguard Worker 213*e5436536SAndroid Build Coastguard Worker /* direction: freq 214*e5436536SAndroid Build Coastguard Worker contents : codewords 215*e5436536SAndroid Build Coastguard Worker raw table: HuffCode3C2FIX.m/envelopeLevel_00F_cF.mat/v_nChex_cF 216*e5436536SAndroid Build Coastguard Worker built by : FH 01-07-05 */ 217*e5436536SAndroid Build Coastguard Worker 218*e5436536SAndroid Build Coastguard Worker const INT v_Huff_envelopeLevelC10F[121] = { 219*e5436536SAndroid Build Coastguard Worker 0x0007FFE7, 0x0007FFE8, 0x000FFFD2, 0x000FFFD3, 0x000FFFD4, 0x000FFFD5, 220*e5436536SAndroid Build Coastguard Worker 0x000FFFD6, 0x000FFFD7, 0x000FFFD8, 0x0007FFDA, 0x000FFFD9, 0x000FFFDA, 221*e5436536SAndroid Build Coastguard Worker 0x000FFFDB, 0x000FFFDC, 0x0007FFDB, 0x000FFFDD, 0x0007FFDC, 0x0007FFDD, 222*e5436536SAndroid Build Coastguard Worker 0x000FFFDE, 0x0003FFE4, 0x000FFFDF, 0x000FFFE0, 0x000FFFE1, 0x0007FFDE, 223*e5436536SAndroid Build Coastguard Worker 0x000FFFE2, 0x000FFFE3, 0x000FFFE4, 0x0007FFDF, 0x000FFFE5, 0x0007FFE0, 224*e5436536SAndroid Build Coastguard Worker 0x0003FFE8, 0x0007FFE1, 0x0003FFE0, 0x0003FFE9, 0x0001FFEF, 0x0003FFE5, 225*e5436536SAndroid Build Coastguard Worker 0x0001FFEC, 0x0001FFED, 0x0001FFEE, 0x0000FFF4, 0x0000FFF3, 0x0000FFF0, 226*e5436536SAndroid Build Coastguard Worker 0x00007FF7, 0x00007FF6, 0x00003FFA, 0x00001FFA, 0x00001FF9, 0x00000FFA, 227*e5436536SAndroid Build Coastguard Worker 0x00000FF8, 0x000007F9, 0x000003FB, 0x000001FC, 0x000001FA, 0x000000FB, 228*e5436536SAndroid Build Coastguard Worker 0x0000007C, 0x0000003C, 0x0000001C, 0x0000000C, 0x00000005, 0x00000001, 229*e5436536SAndroid Build Coastguard Worker 0x00000000, 0x00000004, 0x0000000D, 0x0000001D, 0x0000003D, 0x000000FA, 230*e5436536SAndroid Build Coastguard Worker 0x000000FC, 0x000001FB, 0x000003FA, 0x000007F8, 0x000007FA, 0x000007FB, 231*e5436536SAndroid Build Coastguard Worker 0x00000FF9, 0x00000FFB, 0x00001FF8, 0x00001FFB, 0x00003FF8, 0x00003FF9, 232*e5436536SAndroid Build Coastguard Worker 0x0000FFF1, 0x0000FFF2, 0x0001FFEA, 0x0001FFEB, 0x0003FFE1, 0x0003FFE2, 233*e5436536SAndroid Build Coastguard Worker 0x0003FFEA, 0x0003FFE3, 0x0003FFE6, 0x0003FFE7, 0x0003FFEB, 0x000FFFE6, 234*e5436536SAndroid Build Coastguard Worker 0x0007FFE2, 0x000FFFE7, 0x000FFFE8, 0x000FFFE9, 0x000FFFEA, 0x000FFFEB, 235*e5436536SAndroid Build Coastguard Worker 0x000FFFEC, 0x0007FFE3, 0x000FFFED, 0x000FFFEE, 0x000FFFEF, 0x000FFFF0, 236*e5436536SAndroid Build Coastguard Worker 0x0007FFE4, 0x000FFFF1, 0x0003FFEC, 0x000FFFF2, 0x000FFFF3, 0x0007FFE5, 237*e5436536SAndroid Build Coastguard Worker 0x0007FFE6, 0x000FFFF4, 0x000FFFF5, 0x000FFFF6, 0x000FFFF7, 0x000FFFF8, 238*e5436536SAndroid Build Coastguard Worker 0x000FFFF9, 0x000FFFFA, 0x000FFFFB, 0x000FFFFC, 0x000FFFFD, 0x000FFFFE, 239*e5436536SAndroid Build Coastguard Worker 0x000FFFFF}; 240*e5436536SAndroid Build Coastguard Worker 241*e5436536SAndroid Build Coastguard Worker /* direction: freq 242*e5436536SAndroid Build Coastguard Worker contents : codeword lengths 243*e5436536SAndroid Build Coastguard Worker raw table: HuffCode3C2FIX.m/envelopeLevel_00F_cF.mat/v_nLhex_cF 244*e5436536SAndroid Build Coastguard Worker built by : FH 01-07-05 */ 245*e5436536SAndroid Build Coastguard Worker 246*e5436536SAndroid Build Coastguard Worker const UCHAR v_Huff_envelopeLevelL10F[121] = { 247*e5436536SAndroid Build Coastguard Worker 0x13, 0x13, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x13, 0x14, 248*e5436536SAndroid Build Coastguard Worker 0x14, 0x14, 0x14, 0x13, 0x14, 0x13, 0x13, 0x14, 0x12, 0x14, 0x14, 249*e5436536SAndroid Build Coastguard Worker 0x14, 0x13, 0x14, 0x14, 0x14, 0x13, 0x14, 0x13, 0x12, 0x13, 0x12, 250*e5436536SAndroid Build Coastguard Worker 0x12, 0x11, 0x12, 0x11, 0x11, 0x11, 0x10, 0x10, 0x10, 0x0F, 0x0F, 251*e5436536SAndroid Build Coastguard Worker 0x0E, 0x0D, 0x0D, 0x0C, 0x0C, 0x0B, 0x0A, 0x09, 0x09, 0x08, 0x07, 252*e5436536SAndroid Build Coastguard Worker 0x06, 0x05, 0x04, 0x03, 0x02, 0x02, 0x03, 0x04, 0x05, 0x06, 0x08, 253*e5436536SAndroid Build Coastguard Worker 0x08, 0x09, 0x0A, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0D, 0x0D, 0x0E, 254*e5436536SAndroid Build Coastguard Worker 0x0E, 0x10, 0x10, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 255*e5436536SAndroid Build Coastguard Worker 0x12, 0x14, 0x13, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x13, 0x14, 256*e5436536SAndroid Build Coastguard Worker 0x14, 0x14, 0x14, 0x13, 0x14, 0x12, 0x14, 0x14, 0x13, 0x13, 0x14, 257*e5436536SAndroid Build Coastguard Worker 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14}; 258*e5436536SAndroid Build Coastguard Worker 259*e5436536SAndroid Build Coastguard Worker /*******************************************************************************/ 260*e5436536SAndroid Build Coastguard Worker /* table : envelope balance, 1.5 dB */ 261*e5436536SAndroid Build Coastguard Worker /* theor range : [-48,48], CODE_BOOK_SCF_LAV = 48 */ 262*e5436536SAndroid Build Coastguard Worker /* implem range: same but mapped to [-24,24], CODE_BOOK_SCF_LAV_BALANCE10 = 24 263*e5436536SAndroid Build Coastguard Worker */ 264*e5436536SAndroid Build Coastguard Worker /* raw stats : envelopePan_00 (yes, wrong suffix in name) KK 01-03-09 */ 265*e5436536SAndroid Build Coastguard Worker /*******************************************************************************/ 266*e5436536SAndroid Build Coastguard Worker 267*e5436536SAndroid Build Coastguard Worker /* direction: time 268*e5436536SAndroid Build Coastguard Worker contents : codewords 269*e5436536SAndroid Build Coastguard Worker raw table: HuffCode3C.m/envelopePan_00T.mat/v_nBhex 270*e5436536SAndroid Build Coastguard Worker built by : FH 01-05-15 */ 271*e5436536SAndroid Build Coastguard Worker 272*e5436536SAndroid Build Coastguard Worker const INT bookSbrEnvBalanceC10T[49] = { 273*e5436536SAndroid Build Coastguard Worker 0x0000FFE4, 0x0000FFE5, 0x0000FFE6, 0x0000FFE7, 0x0000FFE8, 0x0000FFE9, 274*e5436536SAndroid Build Coastguard Worker 0x0000FFEA, 0x0000FFEB, 0x0000FFEC, 0x0000FFED, 0x0000FFEE, 0x0000FFEF, 275*e5436536SAndroid Build Coastguard Worker 0x0000FFF0, 0x0000FFF1, 0x0000FFF2, 0x0000FFF3, 0x0000FFF4, 0x0000FFE2, 276*e5436536SAndroid Build Coastguard Worker 0x00000FFC, 0x000007FC, 0x000001FE, 0x0000007E, 0x0000001E, 0x00000006, 277*e5436536SAndroid Build Coastguard Worker 0x00000000, 0x00000002, 0x0000000E, 0x0000003E, 0x000000FE, 0x000007FD, 278*e5436536SAndroid Build Coastguard Worker 0x00000FFD, 0x00007FF0, 0x0000FFE3, 0x0000FFF5, 0x0000FFF6, 0x0000FFF7, 279*e5436536SAndroid Build Coastguard Worker 0x0000FFF8, 0x0000FFF9, 0x0000FFFA, 0x0001FFF6, 0x0001FFF7, 0x0001FFF8, 280*e5436536SAndroid Build Coastguard Worker 0x0001FFF9, 0x0001FFFA, 0x0001FFFB, 0x0001FFFC, 0x0001FFFD, 0x0001FFFE, 281*e5436536SAndroid Build Coastguard Worker 0x0001FFFF}; 282*e5436536SAndroid Build Coastguard Worker 283*e5436536SAndroid Build Coastguard Worker /* direction: time 284*e5436536SAndroid Build Coastguard Worker contents : codeword lengths 285*e5436536SAndroid Build Coastguard Worker raw table: HuffCode3C.m/envelopePan_00T.mat/v_nLhex 286*e5436536SAndroid Build Coastguard Worker built by : FH 01-05-15 */ 287*e5436536SAndroid Build Coastguard Worker 288*e5436536SAndroid Build Coastguard Worker const UCHAR bookSbrEnvBalanceL10T[49] = { 289*e5436536SAndroid Build Coastguard Worker 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 290*e5436536SAndroid Build Coastguard Worker 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0C, 0x0B, 291*e5436536SAndroid Build Coastguard Worker 0x09, 0x07, 0x05, 0x03, 0x01, 0x02, 0x04, 0x06, 0x08, 0x0B, 292*e5436536SAndroid Build Coastguard Worker 0x0C, 0x0F, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 293*e5436536SAndroid Build Coastguard Worker 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11}; 294*e5436536SAndroid Build Coastguard Worker 295*e5436536SAndroid Build Coastguard Worker /* direction: freq 296*e5436536SAndroid Build Coastguard Worker contents : codewords 297*e5436536SAndroid Build Coastguard Worker raw table: HuffCode3C.m/envelopePan_00F.mat/v_nBhex 298*e5436536SAndroid Build Coastguard Worker built by : FH 01-05-15 */ 299*e5436536SAndroid Build Coastguard Worker 300*e5436536SAndroid Build Coastguard Worker const INT bookSbrEnvBalanceC10F[49] = { 301*e5436536SAndroid Build Coastguard Worker 0x0003FFE2, 0x0003FFE3, 0x0003FFE4, 0x0003FFE5, 0x0003FFE6, 0x0003FFE7, 302*e5436536SAndroid Build Coastguard Worker 0x0003FFE8, 0x0003FFE9, 0x0003FFEA, 0x0003FFEB, 0x0003FFEC, 0x0003FFED, 303*e5436536SAndroid Build Coastguard Worker 0x0003FFEE, 0x0003FFEF, 0x0003FFF0, 0x0000FFF7, 0x0001FFF0, 0x00003FFC, 304*e5436536SAndroid Build Coastguard Worker 0x000007FE, 0x000007FC, 0x000000FE, 0x0000007E, 0x0000000E, 0x00000002, 305*e5436536SAndroid Build Coastguard Worker 0x00000000, 0x00000006, 0x0000001E, 0x0000003E, 0x000001FE, 0x000007FD, 306*e5436536SAndroid Build Coastguard Worker 0x00000FFE, 0x00007FFA, 0x0000FFF6, 0x0003FFF1, 0x0003FFF2, 0x0003FFF3, 307*e5436536SAndroid Build Coastguard Worker 0x0003FFF4, 0x0003FFF5, 0x0003FFF6, 0x0003FFF7, 0x0003FFF8, 0x0003FFF9, 308*e5436536SAndroid Build Coastguard Worker 0x0003FFFA, 0x0003FFFB, 0x0003FFFC, 0x0003FFFD, 0x0003FFFE, 0x0007FFFE, 309*e5436536SAndroid Build Coastguard Worker 0x0007FFFF}; 310*e5436536SAndroid Build Coastguard Worker 311*e5436536SAndroid Build Coastguard Worker /* direction: freq 312*e5436536SAndroid Build Coastguard Worker contents : codeword lengths 313*e5436536SAndroid Build Coastguard Worker raw table: HuffCode3C.m/envelopePan_00F.mat/v_nLhex 314*e5436536SAndroid Build Coastguard Worker built by : FH 01-05-15 */ 315*e5436536SAndroid Build Coastguard Worker 316*e5436536SAndroid Build Coastguard Worker const UCHAR bookSbrEnvBalanceL10F[49] = { 317*e5436536SAndroid Build Coastguard Worker 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 318*e5436536SAndroid Build Coastguard Worker 0x12, 0x12, 0x12, 0x12, 0x12, 0x10, 0x11, 0x0E, 0x0B, 0x0B, 319*e5436536SAndroid Build Coastguard Worker 0x08, 0x07, 0x04, 0x02, 0x01, 0x03, 0x05, 0x06, 0x09, 0x0B, 320*e5436536SAndroid Build Coastguard Worker 0x0C, 0x0F, 0x10, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 321*e5436536SAndroid Build Coastguard Worker 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13}; 322*e5436536SAndroid Build Coastguard Worker 323*e5436536SAndroid Build Coastguard Worker /*******************************************************************************/ 324*e5436536SAndroid Build Coastguard Worker /* table : envelope level, 3.0 dB */ 325*e5436536SAndroid Build Coastguard Worker /* theor range : [-29,29], CODE_BOOK_SCF_LAV = 29 */ 326*e5436536SAndroid Build Coastguard Worker /* implem range: [-31,31], CODE_BOOK_SCF_LAV11 = 31 */ 327*e5436536SAndroid Build Coastguard Worker /* raw stats : envelopeLevel_11 KK 00-02-03 */ 328*e5436536SAndroid Build Coastguard Worker /*******************************************************************************/ 329*e5436536SAndroid Build Coastguard Worker 330*e5436536SAndroid Build Coastguard Worker /* direction: time 331*e5436536SAndroid Build Coastguard Worker contents : codewords 332*e5436536SAndroid Build Coastguard Worker raw table: HuffCode2.m 333*e5436536SAndroid Build Coastguard Worker built by : FH 00-02-04 */ 334*e5436536SAndroid Build Coastguard Worker 335*e5436536SAndroid Build Coastguard Worker const INT v_Huff_envelopeLevelC11T[63] = { 336*e5436536SAndroid Build Coastguard Worker 0x0003FFED, 0x0003FFEE, 0x0007FFDE, 0x0007FFDF, 0x0007FFE0, 0x0007FFE1, 337*e5436536SAndroid Build Coastguard Worker 0x0007FFE2, 0x0007FFE3, 0x0007FFE4, 0x0007FFE5, 0x0007FFE6, 0x0007FFE7, 338*e5436536SAndroid Build Coastguard Worker 0x0007FFE8, 0x0007FFE9, 0x0007FFEA, 0x0007FFEB, 0x0007FFEC, 0x0001FFF4, 339*e5436536SAndroid Build Coastguard Worker 0x0000FFF7, 0x0000FFF9, 0x0000FFF8, 0x00003FFB, 0x00003FFA, 0x00003FF8, 340*e5436536SAndroid Build Coastguard Worker 0x00001FFA, 0x00000FFC, 0x000007FC, 0x000000FE, 0x0000003E, 0x0000000E, 341*e5436536SAndroid Build Coastguard Worker 0x00000002, 0x00000000, 0x00000006, 0x0000001E, 0x0000007E, 0x000001FE, 342*e5436536SAndroid Build Coastguard Worker 0x000007FD, 0x00001FFB, 0x00003FF9, 0x00003FFC, 0x00007FFA, 0x0000FFF6, 343*e5436536SAndroid Build Coastguard Worker 0x0001FFF5, 0x0003FFEC, 0x0007FFED, 0x0007FFEE, 0x0007FFEF, 0x0007FFF0, 344*e5436536SAndroid Build Coastguard Worker 0x0007FFF1, 0x0007FFF2, 0x0007FFF3, 0x0007FFF4, 0x0007FFF5, 0x0007FFF6, 345*e5436536SAndroid Build Coastguard Worker 0x0007FFF7, 0x0007FFF8, 0x0007FFF9, 0x0007FFFA, 0x0007FFFB, 0x0007FFFC, 346*e5436536SAndroid Build Coastguard Worker 0x0007FFFD, 0x0007FFFE, 0x0007FFFF}; 347*e5436536SAndroid Build Coastguard Worker 348*e5436536SAndroid Build Coastguard Worker /* direction: time 349*e5436536SAndroid Build Coastguard Worker contents : codeword lengths 350*e5436536SAndroid Build Coastguard Worker raw table: HuffCode2.m 351*e5436536SAndroid Build Coastguard Worker built by : FH 00-02-04 */ 352*e5436536SAndroid Build Coastguard Worker 353*e5436536SAndroid Build Coastguard Worker const UCHAR v_Huff_envelopeLevelL11T[63] = { 354*e5436536SAndroid Build Coastguard Worker 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 355*e5436536SAndroid Build Coastguard Worker 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x11, 0x10, 0x10, 0x10, 0x0E, 356*e5436536SAndroid Build Coastguard Worker 0x0E, 0x0E, 0x0D, 0x0C, 0x0B, 0x08, 0x06, 0x04, 0x02, 0x01, 0x03, 357*e5436536SAndroid Build Coastguard Worker 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0E, 0x0E, 0x0F, 0x10, 0x11, 0x12, 358*e5436536SAndroid Build Coastguard Worker 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 359*e5436536SAndroid Build Coastguard Worker 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13}; 360*e5436536SAndroid Build Coastguard Worker 361*e5436536SAndroid Build Coastguard Worker /* direction: freq 362*e5436536SAndroid Build Coastguard Worker contents : codewords 363*e5436536SAndroid Build Coastguard Worker raw table: HuffCode2.m 364*e5436536SAndroid Build Coastguard Worker built by : FH 00-02-04 */ 365*e5436536SAndroid Build Coastguard Worker 366*e5436536SAndroid Build Coastguard Worker const INT v_Huff_envelopeLevelC11F[63] = { 367*e5436536SAndroid Build Coastguard Worker 0x000FFFF0, 0x000FFFF1, 0x000FFFF2, 0x000FFFF3, 0x000FFFF4, 0x000FFFF5, 368*e5436536SAndroid Build Coastguard Worker 0x000FFFF6, 0x0003FFF3, 0x0007FFF5, 0x0007FFEE, 0x0007FFEF, 0x0007FFF6, 369*e5436536SAndroid Build Coastguard Worker 0x0003FFF4, 0x0003FFF2, 0x000FFFF7, 0x0007FFF0, 0x0001FFF5, 0x0003FFF0, 370*e5436536SAndroid Build Coastguard Worker 0x0001FFF4, 0x0000FFF7, 0x0000FFF6, 0x00007FF8, 0x00003FFB, 0x00000FFD, 371*e5436536SAndroid Build Coastguard Worker 0x000007FD, 0x000003FD, 0x000001FD, 0x000000FD, 0x0000003E, 0x0000000E, 372*e5436536SAndroid Build Coastguard Worker 0x00000002, 0x00000000, 0x00000006, 0x0000001E, 0x000000FC, 0x000001FC, 373*e5436536SAndroid Build Coastguard Worker 0x000003FC, 0x000007FC, 0x00000FFC, 0x00001FFC, 0x00003FFA, 0x00007FF9, 374*e5436536SAndroid Build Coastguard Worker 0x00007FFA, 0x0000FFF8, 0x0000FFF9, 0x0001FFF6, 0x0001FFF7, 0x0003FFF5, 375*e5436536SAndroid Build Coastguard Worker 0x0003FFF6, 0x0003FFF1, 0x000FFFF8, 0x0007FFF1, 0x0007FFF2, 0x0007FFF3, 376*e5436536SAndroid Build Coastguard Worker 0x000FFFF9, 0x0007FFF7, 0x0007FFF4, 0x000FFFFA, 0x000FFFFB, 0x000FFFFC, 377*e5436536SAndroid Build Coastguard Worker 0x000FFFFD, 0x000FFFFE, 0x000FFFFF}; 378*e5436536SAndroid Build Coastguard Worker 379*e5436536SAndroid Build Coastguard Worker /* direction: freq 380*e5436536SAndroid Build Coastguard Worker contents : codeword lengths 381*e5436536SAndroid Build Coastguard Worker raw table: HuffCode2.m 382*e5436536SAndroid Build Coastguard Worker built by : FH 00-02-04 */ 383*e5436536SAndroid Build Coastguard Worker 384*e5436536SAndroid Build Coastguard Worker const UCHAR v_Huff_envelopeLevelL11F[63] = { 385*e5436536SAndroid Build Coastguard Worker 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x12, 0x13, 0x13, 0x13, 386*e5436536SAndroid Build Coastguard Worker 0x13, 0x12, 0x12, 0x14, 0x13, 0x11, 0x12, 0x11, 0x10, 0x10, 0x0F, 387*e5436536SAndroid Build Coastguard Worker 0x0E, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x06, 0x04, 0x02, 0x01, 0x03, 388*e5436536SAndroid Build Coastguard Worker 0x05, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x0F, 0x10, 389*e5436536SAndroid Build Coastguard Worker 0x10, 0x11, 0x11, 0x12, 0x12, 0x12, 0x14, 0x13, 0x13, 0x13, 0x14, 390*e5436536SAndroid Build Coastguard Worker 0x13, 0x13, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14}; 391*e5436536SAndroid Build Coastguard Worker 392*e5436536SAndroid Build Coastguard Worker /*******************************************************************************/ 393*e5436536SAndroid Build Coastguard Worker /* table : envelope balance, 3.0 dB */ 394*e5436536SAndroid Build Coastguard Worker /* theor range : [-24,24], CODE_BOOK_SCF_LAV = 24 */ 395*e5436536SAndroid Build Coastguard Worker /* implem range: same but mapped to [-12,12], CODE_BOOK_SCF_LAV_BALANCE11 = 12 396*e5436536SAndroid Build Coastguard Worker */ 397*e5436536SAndroid Build Coastguard Worker /* raw stats : envelopeBalance_11 KK 00-02-03 */ 398*e5436536SAndroid Build Coastguard Worker /*******************************************************************************/ 399*e5436536SAndroid Build Coastguard Worker 400*e5436536SAndroid Build Coastguard Worker /* direction: time 401*e5436536SAndroid Build Coastguard Worker contents : codewords 402*e5436536SAndroid Build Coastguard Worker raw table: HuffCode3C.m/envelopeBalance_11T.mat/v_nBhex 403*e5436536SAndroid Build Coastguard Worker built by : FH 01-05-15 */ 404*e5436536SAndroid Build Coastguard Worker 405*e5436536SAndroid Build Coastguard Worker const INT bookSbrEnvBalanceC11T[25] = { 406*e5436536SAndroid Build Coastguard Worker 0x00001FF2, 0x00001FF3, 0x00001FF4, 0x00001FF5, 0x00001FF6, 407*e5436536SAndroid Build Coastguard Worker 0x00001FF7, 0x00001FF8, 0x00000FF8, 0x000000FE, 0x0000007E, 408*e5436536SAndroid Build Coastguard Worker 0x0000000E, 0x00000006, 0x00000000, 0x00000002, 0x0000001E, 409*e5436536SAndroid Build Coastguard Worker 0x0000003E, 0x000001FE, 0x00001FF9, 0x00001FFA, 0x00001FFB, 410*e5436536SAndroid Build Coastguard Worker 0x00001FFC, 0x00001FFD, 0x00001FFE, 0x00003FFE, 0x00003FFF}; 411*e5436536SAndroid Build Coastguard Worker 412*e5436536SAndroid Build Coastguard Worker /* direction: time 413*e5436536SAndroid Build Coastguard Worker contents : codeword lengths 414*e5436536SAndroid Build Coastguard Worker raw table: HuffCode3C.m/envelopeBalance_11T.mat/v_nLhex 415*e5436536SAndroid Build Coastguard Worker built by : FH 01-05-15 */ 416*e5436536SAndroid Build Coastguard Worker 417*e5436536SAndroid Build Coastguard Worker const UCHAR bookSbrEnvBalanceL11T[25] = { 418*e5436536SAndroid Build Coastguard Worker 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0C, 0x08, 419*e5436536SAndroid Build Coastguard Worker 0x07, 0x04, 0x03, 0x01, 0x02, 0x05, 0x06, 0x09, 0x0D, 420*e5436536SAndroid Build Coastguard Worker 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0E, 0x0E}; 421*e5436536SAndroid Build Coastguard Worker 422*e5436536SAndroid Build Coastguard Worker /* direction: freq 423*e5436536SAndroid Build Coastguard Worker contents : codewords 424*e5436536SAndroid Build Coastguard Worker raw table: HuffCode3C.m/envelopeBalance_11F.mat/v_nBhex 425*e5436536SAndroid Build Coastguard Worker built by : FH 01-05-15 */ 426*e5436536SAndroid Build Coastguard Worker 427*e5436536SAndroid Build Coastguard Worker const INT bookSbrEnvBalanceC11F[25] = { 428*e5436536SAndroid Build Coastguard Worker 0x00001FF7, 0x00001FF8, 0x00001FF9, 0x00001FFA, 0x00001FFB, 429*e5436536SAndroid Build Coastguard Worker 0x00003FF8, 0x00003FF9, 0x000007FC, 0x000000FE, 0x0000007E, 430*e5436536SAndroid Build Coastguard Worker 0x0000000E, 0x00000002, 0x00000000, 0x00000006, 0x0000001E, 431*e5436536SAndroid Build Coastguard Worker 0x0000003E, 0x000001FE, 0x00000FFA, 0x00001FF6, 0x00003FFA, 432*e5436536SAndroid Build Coastguard Worker 0x00003FFB, 0x00003FFC, 0x00003FFD, 0x00003FFE, 0x00003FFF}; 433*e5436536SAndroid Build Coastguard Worker 434*e5436536SAndroid Build Coastguard Worker /* direction: freq 435*e5436536SAndroid Build Coastguard Worker contents : codeword lengths 436*e5436536SAndroid Build Coastguard Worker raw table: HuffCode3C.m/envelopeBalance_11F.mat/v_nLhex 437*e5436536SAndroid Build Coastguard Worker built by : FH 01-05-15 */ 438*e5436536SAndroid Build Coastguard Worker 439*e5436536SAndroid Build Coastguard Worker const UCHAR bookSbrEnvBalanceL11F[25] = { 440*e5436536SAndroid Build Coastguard Worker 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0E, 0x0E, 0x0B, 0x08, 441*e5436536SAndroid Build Coastguard Worker 0x07, 0x04, 0x02, 0x01, 0x03, 0x05, 0x06, 0x09, 0x0C, 442*e5436536SAndroid Build Coastguard Worker 0x0D, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E}; 443*e5436536SAndroid Build Coastguard Worker 444*e5436536SAndroid Build Coastguard Worker /*******************************************************************************/ 445*e5436536SAndroid Build Coastguard Worker /* table : noise level, 3.0 dB */ 446*e5436536SAndroid Build Coastguard Worker /* theor range : [-29,29], CODE_BOOK_SCF_LAV = 29 */ 447*e5436536SAndroid Build Coastguard Worker /* implem range: [-31,31], CODE_BOOK_SCF_LAV11 = 31 */ 448*e5436536SAndroid Build Coastguard Worker /* raw stats : noiseLevel_11 KK 00-02-03 */ 449*e5436536SAndroid Build Coastguard Worker /*******************************************************************************/ 450*e5436536SAndroid Build Coastguard Worker 451*e5436536SAndroid Build Coastguard Worker /* direction: time 452*e5436536SAndroid Build Coastguard Worker contents : codewords 453*e5436536SAndroid Build Coastguard Worker raw table: HuffCode2.m 454*e5436536SAndroid Build Coastguard Worker built by : FH 00-02-04 */ 455*e5436536SAndroid Build Coastguard Worker 456*e5436536SAndroid Build Coastguard Worker const INT v_Huff_NoiseLevelC11T[63] = { 457*e5436536SAndroid Build Coastguard Worker 0x00001FCE, 0x00001FCF, 0x00001FD0, 0x00001FD1, 0x00001FD2, 0x00001FD3, 458*e5436536SAndroid Build Coastguard Worker 0x00001FD4, 0x00001FD5, 0x00001FD6, 0x00001FD7, 0x00001FD8, 0x00001FD9, 459*e5436536SAndroid Build Coastguard Worker 0x00001FDA, 0x00001FDB, 0x00001FDC, 0x00001FDD, 0x00001FDE, 0x00001FDF, 460*e5436536SAndroid Build Coastguard Worker 0x00001FE0, 0x00001FE1, 0x00001FE2, 0x00001FE3, 0x00001FE4, 0x00001FE5, 461*e5436536SAndroid Build Coastguard Worker 0x00001FE6, 0x00001FE7, 0x000007F2, 0x000000FD, 0x0000003E, 0x0000000E, 462*e5436536SAndroid Build Coastguard Worker 0x00000006, 0x00000000, 0x00000002, 0x0000001E, 0x000000FC, 0x000003F8, 463*e5436536SAndroid Build Coastguard Worker 0x00001FCC, 0x00001FE8, 0x00001FE9, 0x00001FEA, 0x00001FEB, 0x00001FEC, 464*e5436536SAndroid Build Coastguard Worker 0x00001FCD, 0x00001FED, 0x00001FEE, 0x00001FEF, 0x00001FF0, 0x00001FF1, 465*e5436536SAndroid Build Coastguard Worker 0x00001FF2, 0x00001FF3, 0x00001FF4, 0x00001FF5, 0x00001FF6, 0x00001FF7, 466*e5436536SAndroid Build Coastguard Worker 0x00001FF8, 0x00001FF9, 0x00001FFA, 0x00001FFB, 0x00001FFC, 0x00001FFD, 467*e5436536SAndroid Build Coastguard Worker 0x00001FFE, 0x00003FFE, 0x00003FFF}; 468*e5436536SAndroid Build Coastguard Worker 469*e5436536SAndroid Build Coastguard Worker /* direction: time 470*e5436536SAndroid Build Coastguard Worker contents : codeword lengths 471*e5436536SAndroid Build Coastguard Worker raw table: HuffCode2.m 472*e5436536SAndroid Build Coastguard Worker built by : FH 00-02-04 */ 473*e5436536SAndroid Build Coastguard Worker 474*e5436536SAndroid Build Coastguard Worker const UCHAR v_Huff_NoiseLevelL11T[63] = { 475*e5436536SAndroid Build Coastguard Worker 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 476*e5436536SAndroid Build Coastguard Worker 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 477*e5436536SAndroid Build Coastguard Worker 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 478*e5436536SAndroid Build Coastguard Worker 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 479*e5436536SAndroid Build Coastguard Worker 0x0000000D, 0x0000000D, 0x0000000B, 0x00000008, 0x00000006, 0x00000004, 480*e5436536SAndroid Build Coastguard Worker 0x00000003, 0x00000001, 0x00000002, 0x00000005, 0x00000008, 0x0000000A, 481*e5436536SAndroid Build Coastguard Worker 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 482*e5436536SAndroid Build Coastguard Worker 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 483*e5436536SAndroid Build Coastguard Worker 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 484*e5436536SAndroid Build Coastguard Worker 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 0x0000000D, 485*e5436536SAndroid Build Coastguard Worker 0x0000000D, 0x0000000E, 0x0000000E}; 486*e5436536SAndroid Build Coastguard Worker 487*e5436536SAndroid Build Coastguard Worker /*******************************************************************************/ 488*e5436536SAndroid Build Coastguard Worker /* table : noise balance, 3.0 dB */ 489*e5436536SAndroid Build Coastguard Worker /* theor range : [-24,24], CODE_BOOK_SCF_LAV = 24 */ 490*e5436536SAndroid Build Coastguard Worker /* implem range: same but mapped to [-12,12], CODE_BOOK_SCF_LAV_BALANCE11 = 12 491*e5436536SAndroid Build Coastguard Worker */ 492*e5436536SAndroid Build Coastguard Worker /* raw stats : noiseBalance_11 KK 00-02-03 */ 493*e5436536SAndroid Build Coastguard Worker /*******************************************************************************/ 494*e5436536SAndroid Build Coastguard Worker 495*e5436536SAndroid Build Coastguard Worker /* direction: time 496*e5436536SAndroid Build Coastguard Worker contents : codewords 497*e5436536SAndroid Build Coastguard Worker raw table: HuffCode3C.m/noiseBalance_11.mat/v_nBhex 498*e5436536SAndroid Build Coastguard Worker built by : FH 01-05-15 */ 499*e5436536SAndroid Build Coastguard Worker 500*e5436536SAndroid Build Coastguard Worker const INT bookSbrNoiseBalanceC11T[25] = { 501*e5436536SAndroid Build Coastguard Worker 0x000000EC, 0x000000ED, 0x000000EE, 0x000000EF, 0x000000F0, 502*e5436536SAndroid Build Coastguard Worker 0x000000F1, 0x000000F2, 0x000000F3, 0x000000F4, 0x000000F5, 503*e5436536SAndroid Build Coastguard Worker 0x0000001C, 0x00000002, 0x00000000, 0x00000006, 0x0000003A, 504*e5436536SAndroid Build Coastguard Worker 0x000000F6, 0x000000F7, 0x000000F8, 0x000000F9, 0x000000FA, 505*e5436536SAndroid Build Coastguard Worker 0x000000FB, 0x000000FC, 0x000000FD, 0x000000FE, 0x000000FF}; 506*e5436536SAndroid Build Coastguard Worker 507*e5436536SAndroid Build Coastguard Worker /* direction: time 508*e5436536SAndroid Build Coastguard Worker contents : codeword lengths 509*e5436536SAndroid Build Coastguard Worker raw table: HuffCode3C.m/noiseBalance_11.mat/v_nLhex 510*e5436536SAndroid Build Coastguard Worker built by : FH 01-05-15 */ 511*e5436536SAndroid Build Coastguard Worker 512*e5436536SAndroid Build Coastguard Worker const UCHAR bookSbrNoiseBalanceL11T[25] = { 513*e5436536SAndroid Build Coastguard Worker 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 514*e5436536SAndroid Build Coastguard Worker 0x08, 0x05, 0x02, 0x01, 0x03, 0x06, 0x08, 0x08, 0x08, 515*e5436536SAndroid Build Coastguard Worker 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08}; 516*e5436536SAndroid Build Coastguard Worker 517*e5436536SAndroid Build Coastguard Worker /* 518*e5436536SAndroid Build Coastguard Worker tuningTable 519*e5436536SAndroid Build Coastguard Worker */ 520*e5436536SAndroid Build Coastguard Worker const sbrTuningTable_t sbrTuningTable[] = { 521*e5436536SAndroid Build Coastguard Worker /* Some of the low bitrates are commented out here, this is because the 522*e5436536SAndroid Build Coastguard Worker encoder could lose frames at those bitrates and throw an error 523*e5436536SAndroid Build Coastguard Worker because it has insufficient bits to encode for some test items. 524*e5436536SAndroid Build Coastguard Worker */ 525*e5436536SAndroid Build Coastguard Worker 526*e5436536SAndroid Build Coastguard Worker /*** HE-AAC section ***/ 527*e5436536SAndroid Build Coastguard Worker /* sf,sfsp,sf,sfsp,nnb,nfo,saml,SM,FS*/ 528*e5436536SAndroid Build Coastguard Worker 529*e5436536SAndroid Build Coastguard Worker /*** mono ***/ 530*e5436536SAndroid Build Coastguard Worker 531*e5436536SAndroid Build Coastguard Worker /* 8/16 kHz dual rate */ 532*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 8000, 10000, 8000, 1, 7, 6, 11, 10, 1, 0, 6, SBR_MONO, 3}, 533*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 10000, 12000, 8000, 1, 11, 7, 13, 12, 1, 0, 6, SBR_MONO, 3}, 534*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 12000, 16001, 8000, 1, 14, 10, 13, 13, 1, 0, 6, SBR_MONO, 3}, 535*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 16000, 24000, 8000, 1, 14, 10, 14, 14, 2, 0, 3, SBR_MONO, 2}, 536*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 24000, 32000, 8000, 1, 14, 10, 14, 14, 2, 0, 3, SBR_MONO, 2}, 537*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 32000, 48001, 8000, 1, 14, 11, 15, 15, 2, 0, 3, SBR_MONO, 2}, 538*e5436536SAndroid Build Coastguard Worker 539*e5436536SAndroid Build Coastguard Worker /* 11/22 kHz dual rate */ 540*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 8000, 10000, 11025, 1, 5, 4, 6, 6, 1, 0, 6, SBR_MONO, 3}, 541*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 10000, 12000, 11025, 1, 8, 5, 12, 9, 1, 0, 6, SBR_MONO, 3}, 542*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 12000, 16000, 11025, 1, 12, 8, 13, 8, 1, 0, 6, SBR_MONO, 3}, 543*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 16000, 20000, 11025, 1, 12, 8, 13, 8, 1, 0, 6, SBR_MONO, 3}, 544*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 20000, 24001, 11025, 1, 13, 9, 13, 8, 1, 0, 6, SBR_MONO, 3}, 545*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 24000, 32000, 11025, 1, 14, 10, 14, 9, 2, 0, 3, SBR_MONO, 2}, 546*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 32000, 48000, 11025, 1, 15, 11, 15, 10, 2, 0, 3, SBR_MONO, 2}, 547*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 48000, 64001, 11025, 1, 15, 11, 15, 10, 2, 0, 3, SBR_MONO, 1}, 548*e5436536SAndroid Build Coastguard Worker 549*e5436536SAndroid Build Coastguard Worker /* 12/24 kHz dual rate */ 550*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 8000, 10000, 12000, 1, 4, 3, 6, 6, 1, 0, 6, SBR_MONO, 3}, 551*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 10000, 12000, 12000, 1, 7, 4, 11, 8, 1, 0, 6, SBR_MONO, 3}, 552*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 12000, 16000, 12000, 1, 11, 7, 12, 8, 1, 0, 6, SBR_MONO, 3}, 553*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 16000, 20000, 12000, 1, 11, 7, 12, 8, 1, 0, 6, SBR_MONO, 3}, 554*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 20000, 24001, 12000, 1, 12, 8, 12, 8, 1, 0, 6, SBR_MONO, 3}, 555*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 24000, 32000, 12000, 1, 13, 9, 13, 9, 2, 0, 3, SBR_MONO, 2}, 556*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 32000, 48000, 12000, 1, 14, 10, 14, 10, 2, 0, 3, SBR_MONO, 2}, 557*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 48000, 64001, 12000, 1, 14, 11, 15, 11, 2, 0, 3, SBR_MONO, 1}, 558*e5436536SAndroid Build Coastguard Worker 559*e5436536SAndroid Build Coastguard Worker /* 16/32 kHz dual rate */ 560*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 8000, 10000, 16000, 1, 1, 1, 0, 0, 1, 0, 6, SBR_MONO, 3}, 561*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 10000, 12000, 16000, 1, 2, 1, 6, 0, 1, 0, 6, SBR_MONO, 3}, 562*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 12000, 16000, 16000, 1, 4, 2, 6, 0, 1, 0, 6, SBR_MONO, 3}, 563*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 16000, 18000, 16000, 1, 4, 2, 8, 3, 1, 0, 6, SBR_MONO, 3}, 564*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 18000, 22000, 16000, 1, 6, 5, 11, 7, 2, 0, 6, SBR_MONO, 2}, 565*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 22000, 28000, 16000, 1, 10, 9, 12, 8, 2, 0, 6, SBR_MONO, 2}, 566*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 28000, 36000, 16000, 1, 12, 12, 13, 13, 2, 0, 3, SBR_MONO, 2}, 567*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 36000, 44000, 16000, 1, 14, 14, 13, 13, 2, 0, 3, SBR_MONO, 1}, 568*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 44000, 64001, 16000, 1, 14, 14, 13, 13, 2, 0, 3, SBR_MONO, 1}, 569*e5436536SAndroid Build Coastguard Worker 570*e5436536SAndroid Build Coastguard Worker /* 22.05/44.1 kHz dual rate */ 571*e5436536SAndroid Build Coastguard Worker /* { CODEC_AAC, 8000, 11369, 22050, 1, 1, 1, 1, 1, 1, 0, 6, 572*e5436536SAndroid Build Coastguard Worker SBR_MONO, 3 }, */ 573*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 11369, 16000, 22050, 1, 3, 1, 4, 4, 1, 0, 6, SBR_MONO, 3}, 574*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 16000, 18000, 22050, 1, 3, 1, 5, 4, 1, 0, 6, SBR_MONO, 3}, 575*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 18000, 22000, 22050, 1, 4, 4, 8, 5, 2, 0, 6, SBR_MONO, 2}, 576*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 22000, 28000, 22050, 1, 7, 6, 8, 6, 2, 0, 6, SBR_MONO, 2}, 577*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 28000, 36000, 22050, 1, 10, 10, 9, 9, 2, 0, 3, SBR_MONO, 2}, 578*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 36000, 44000, 22050, 1, 11, 11, 10, 10, 2, 0, 3, SBR_MONO, 1}, 579*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 44000, 64001, 22050, 1, 13, 13, 12, 12, 2, 0, 3, SBR_MONO, 1}, 580*e5436536SAndroid Build Coastguard Worker 581*e5436536SAndroid Build Coastguard Worker /* 24/48 kHz dual rate */ 582*e5436536SAndroid Build Coastguard Worker /* { CODEC_AAC, 8000, 12000, 24000, 1, 1, 1, 1, 1, 1, 0, 6, 583*e5436536SAndroid Build Coastguard Worker SBR_MONO, 3 }, */ 584*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 12000, 16000, 24000, 1, 3, 1, 4, 4, 1, 0, 6, SBR_MONO, 3}, 585*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 16000, 18000, 24000, 1, 3, 1, 5, 4, 1, 0, 6, SBR_MONO, 3}, 586*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 18000, 22000, 24000, 1, 4, 3, 8, 5, 2, 0, 6, SBR_MONO, 2}, 587*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 22000, 28000, 24000, 1, 7, 6, 8, 6, 2, 0, 6, SBR_MONO, 2}, 588*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 28000, 36000, 24000, 1, 10, 10, 9, 9, 2, 0, 3, SBR_MONO, 2}, 589*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 36000, 44000, 24000, 1, 11, 11, 10, 10, 2, 0, 3, SBR_MONO, 1}, 590*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 44000, 64001, 24000, 1, 13, 13, 11, 11, 2, 0, 3, SBR_MONO, 1}, 591*e5436536SAndroid Build Coastguard Worker 592*e5436536SAndroid Build Coastguard Worker /* 32/64 kHz dual rate */ 593*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 24000, 36000, 32000, 1, 4, 4, 4, 4, 2, 0, 3, SBR_MONO, 3}, 594*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 36000, 60000, 32000, 1, 7, 7, 6, 6, 2, 0, 3, SBR_MONO, 2}, 595*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 60000, 72000, 32000, 1, 9, 9, 8, 8, 2, 0, 3, SBR_MONO, 1}, 596*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 72000, 100000, 32000, 1, 11, 11, 10, 10, 2, 0, 3, SBR_MONO, 1}, 597*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 100000, 160001, 32000, 1, 13, 13, 11, 11, 2, 0, 3, SBR_MONO, 1}, 598*e5436536SAndroid Build Coastguard Worker 599*e5436536SAndroid Build Coastguard Worker /* 44.1/88.2 kHz dual rate */ 600*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 24000, 36000, 44100, 1, 4, 4, 4, 4, 2, 0, 3, SBR_MONO, 3}, 601*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 36000, 60000, 44100, 1, 7, 7, 6, 6, 2, 0, 3, SBR_MONO, 2}, 602*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 60000, 72000, 44100, 1, 9, 9, 8, 8, 2, 0, 3, SBR_MONO, 1}, 603*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 72000, 100000, 44100, 1, 11, 11, 10, 10, 2, 0, 3, SBR_MONO, 1}, 604*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 100000, 160001, 44100, 1, 13, 13, 11, 11, 2, 0, 3, SBR_MONO, 1}, 605*e5436536SAndroid Build Coastguard Worker 606*e5436536SAndroid Build Coastguard Worker /* 48/96 kHz dual rate */ 607*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 32000, 36000, 48000, 1, 4, 4, 9, 9, 2, 0, 3, SBR_MONO, 3}, 608*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 36000, 60000, 48000, 1, 7, 7, 10, 10, 2, 0, 3, SBR_MONO, 2}, 609*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 60000, 72000, 48000, 1, 9, 9, 10, 10, 2, 0, 3, SBR_MONO, 1}, 610*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 72000, 100000, 48000, 1, 11, 11, 11, 11, 2, 0, 3, SBR_MONO, 1}, 611*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 100000, 160001, 48000, 1, 13, 13, 11, 11, 2, 0, 3, SBR_MONO, 1}, 612*e5436536SAndroid Build Coastguard Worker 613*e5436536SAndroid Build Coastguard Worker /*** stereo ***/ 614*e5436536SAndroid Build Coastguard Worker /* 08/16 kHz dual rate */ 615*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 16000, 24000, 8000, 2, 6, 6, 9, 7, 1, 0, -3, SBR_SWITCH_LRC, 3}, 616*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 24000, 28000, 8000, 2, 9, 9, 11, 9, 1, 0, -3, SBR_SWITCH_LRC, 617*e5436536SAndroid Build Coastguard Worker 3}, 618*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 28000, 36000, 8000, 2, 11, 9, 11, 9, 2, 0, -3, SBR_SWITCH_LRC, 619*e5436536SAndroid Build Coastguard Worker 2}, 620*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 36000, 44000, 8000, 2, 13, 11, 13, 11, 2, 0, -3, SBR_SWITCH_LRC, 621*e5436536SAndroid Build Coastguard Worker 2}, 622*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 44000, 52000, 8000, 2, 14, 12, 13, 12, 2, 0, -3, SBR_SWITCH_LRC, 623*e5436536SAndroid Build Coastguard Worker 2}, 624*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 52000, 60000, 8000, 2, 14, 14, 13, 13, 3, 0, -3, SBR_SWITCH_LRC, 625*e5436536SAndroid Build Coastguard Worker 1}, 626*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 60000, 76000, 8000, 2, 14, 14, 13, 13, 3, 0, -3, SBR_LEFT_RIGHT, 627*e5436536SAndroid Build Coastguard Worker 1}, 628*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 76000, 128001, 8000, 2, 14, 14, 13, 13, 3, 0, -3, 629*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 630*e5436536SAndroid Build Coastguard Worker 631*e5436536SAndroid Build Coastguard Worker /* 11/22 kHz dual rate */ 632*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 16000, 24000, 11025, 2, 7, 5, 9, 7, 1, 0, -3, SBR_SWITCH_LRC, 633*e5436536SAndroid Build Coastguard Worker 3}, 634*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 24000, 28000, 11025, 2, 10, 8, 10, 8, 1, 0, -3, SBR_SWITCH_LRC, 635*e5436536SAndroid Build Coastguard Worker 3}, 636*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 28000, 36000, 11025, 2, 12, 8, 12, 8, 2, 0, -3, SBR_SWITCH_LRC, 637*e5436536SAndroid Build Coastguard Worker 2}, 638*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 36000, 44000, 11025, 2, 13, 9, 13, 9, 2, 0, -3, SBR_SWITCH_LRC, 639*e5436536SAndroid Build Coastguard Worker 2}, 640*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 44000, 52000, 11025, 2, 14, 11, 13, 11, 2, 0, -3, 641*e5436536SAndroid Build Coastguard Worker SBR_SWITCH_LRC, 2}, 642*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 52000, 60000, 11025, 2, 15, 15, 13, 13, 3, 0, -3, 643*e5436536SAndroid Build Coastguard Worker SBR_SWITCH_LRC, 1}, 644*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 60000, 76000, 11025, 2, 15, 15, 13, 13, 3, 0, -3, 645*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 646*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 76000, 128001, 11025, 2, 15, 15, 13, 13, 3, 0, -3, 647*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 648*e5436536SAndroid Build Coastguard Worker 649*e5436536SAndroid Build Coastguard Worker /* 12/24 kHz dual rate */ 650*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 16000, 24000, 12000, 2, 6, 4, 9, 7, 1, 0, -3, SBR_SWITCH_LRC, 651*e5436536SAndroid Build Coastguard Worker 3}, 652*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 24000, 28000, 12000, 2, 9, 7, 10, 8, 1, 0, -3, SBR_SWITCH_LRC, 653*e5436536SAndroid Build Coastguard Worker 3}, 654*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 28000, 36000, 12000, 2, 11, 7, 12, 8, 2, 0, -3, SBR_SWITCH_LRC, 655*e5436536SAndroid Build Coastguard Worker 2}, 656*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 36000, 44000, 12000, 2, 12, 9, 12, 9, 2, 0, -3, SBR_SWITCH_LRC, 657*e5436536SAndroid Build Coastguard Worker 2}, 658*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 44000, 52000, 12000, 2, 13, 12, 13, 12, 2, 0, -3, 659*e5436536SAndroid Build Coastguard Worker SBR_SWITCH_LRC, 2}, 660*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 52000, 60000, 12000, 2, 14, 14, 13, 13, 3, 0, -3, 661*e5436536SAndroid Build Coastguard Worker SBR_SWITCH_LRC, 1}, 662*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 60000, 76000, 12000, 2, 14, 14, 13, 13, 3, 0, -3, 663*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 664*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 76000, 128001, 12000, 2, 14, 14, 13, 13, 3, 0, -3, 665*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 666*e5436536SAndroid Build Coastguard Worker 667*e5436536SAndroid Build Coastguard Worker /* 16/32 kHz dual rate */ 668*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 16000, 24000, 16000, 2, 4, 2, 1, 0, 1, 0, -3, SBR_SWITCH_LRC, 669*e5436536SAndroid Build Coastguard Worker 3}, 670*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 24000, 28000, 16000, 2, 8, 7, 10, 8, 1, 0, -3, SBR_SWITCH_LRC, 671*e5436536SAndroid Build Coastguard Worker 3}, 672*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 28000, 36000, 16000, 2, 10, 9, 12, 11, 2, 0, -3, SBR_SWITCH_LRC, 673*e5436536SAndroid Build Coastguard Worker 2}, 674*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 36000, 44000, 16000, 2, 13, 13, 13, 13, 2, 0, -3, 675*e5436536SAndroid Build Coastguard Worker SBR_SWITCH_LRC, 2}, 676*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 44000, 52000, 16000, 2, 14, 14, 13, 13, 2, 0, -3, 677*e5436536SAndroid Build Coastguard Worker SBR_SWITCH_LRC, 2}, 678*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 52000, 60000, 16000, 2, 14, 14, 13, 13, 3, 0, -3, 679*e5436536SAndroid Build Coastguard Worker SBR_SWITCH_LRC, 1}, 680*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 60000, 76000, 16000, 2, 14, 14, 13, 13, 3, 0, -3, 681*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 682*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 76000, 128001, 16000, 2, 14, 14, 13, 13, 3, 0, -3, 683*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 684*e5436536SAndroid Build Coastguard Worker 685*e5436536SAndroid Build Coastguard Worker /* 22.05/44.1 kHz dual rate */ 686*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 16000, 24000, 22050, 2, 2, 1, 1, 0, 1, 0, -3, SBR_SWITCH_LRC, 687*e5436536SAndroid Build Coastguard Worker 3}, 688*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 24000, 28000, 22050, 2, 5, 4, 6, 5, 1, 0, -3, SBR_SWITCH_LRC, 689*e5436536SAndroid Build Coastguard Worker 3}, 690*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 28000, 32000, 22050, 2, 5, 4, 8, 7, 2, 0, -3, SBR_SWITCH_LRC, 691*e5436536SAndroid Build Coastguard Worker 2}, 692*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 32000, 36000, 22050, 2, 7, 6, 8, 7, 2, 0, -3, SBR_SWITCH_LRC, 693*e5436536SAndroid Build Coastguard Worker 2}, 694*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 36000, 44000, 22050, 2, 10, 10, 9, 9, 2, 0, -3, SBR_SWITCH_LRC, 695*e5436536SAndroid Build Coastguard Worker 2}, 696*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 44000, 52000, 22050, 2, 12, 12, 9, 9, 3, 0, -3, SBR_SWITCH_LRC, 697*e5436536SAndroid Build Coastguard Worker 2}, 698*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 52000, 60000, 22050, 2, 13, 13, 10, 10, 3, 0, -3, 699*e5436536SAndroid Build Coastguard Worker SBR_SWITCH_LRC, 1}, 700*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 60000, 76000, 22050, 2, 14, 14, 12, 12, 3, 0, -3, 701*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 702*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 76000, 128001, 22050, 2, 14, 14, 12, 12, 3, 0, -3, 703*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 704*e5436536SAndroid Build Coastguard Worker 705*e5436536SAndroid Build Coastguard Worker /* 24/48 kHz dual rate */ 706*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 16000, 24000, 24000, 2, 2, 1, 1, 0, 1, 0, -3, SBR_SWITCH_LRC, 707*e5436536SAndroid Build Coastguard Worker 3}, 708*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 24000, 28000, 24000, 2, 5, 5, 6, 6, 1, 0, -3, SBR_SWITCH_LRC, 709*e5436536SAndroid Build Coastguard Worker 3}, 710*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 28000, 36000, 24000, 2, 7, 6, 8, 7, 2, 0, -3, SBR_SWITCH_LRC, 711*e5436536SAndroid Build Coastguard Worker 2}, 712*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 36000, 44000, 24000, 2, 10, 10, 9, 9, 2, 0, -3, SBR_SWITCH_LRC, 713*e5436536SAndroid Build Coastguard Worker 2}, 714*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 44000, 52000, 24000, 2, 12, 12, 9, 9, 3, 0, -3, SBR_SWITCH_LRC, 715*e5436536SAndroid Build Coastguard Worker 2}, 716*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 52000, 60000, 24000, 2, 13, 13, 10, 10, 3, 0, -3, 717*e5436536SAndroid Build Coastguard Worker SBR_SWITCH_LRC, 1}, 718*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 60000, 76000, 24000, 2, 14, 14, 12, 12, 3, 0, -3, 719*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 720*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 76000, 128001, 24000, 2, 14, 14, 12, 12, 3, 0, -3, 721*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 722*e5436536SAndroid Build Coastguard Worker 723*e5436536SAndroid Build Coastguard Worker /* 32/64 kHz dual rate */ 724*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 32000, 60000, 32000, 2, 4, 4, 4, 4, 2, 0, -3, SBR_SWITCH_LRC, 725*e5436536SAndroid Build Coastguard Worker 3}, 726*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 60000, 80000, 32000, 2, 7, 7, 6, 6, 3, 0, -3, SBR_SWITCH_LRC, 727*e5436536SAndroid Build Coastguard Worker 2}, 728*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 80000, 112000, 32000, 2, 9, 9, 8, 8, 3, 0, -3, SBR_LEFT_RIGHT, 729*e5436536SAndroid Build Coastguard Worker 1}, 730*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 112000, 144000, 32000, 2, 11, 11, 10, 10, 3, 0, -3, 731*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 732*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 144000, 256001, 32000, 2, 13, 13, 11, 11, 3, 0, -3, 733*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 734*e5436536SAndroid Build Coastguard Worker 735*e5436536SAndroid Build Coastguard Worker /* 44.1/88.2 kHz dual rate */ 736*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 32000, 60000, 44100, 2, 4, 4, 4, 4, 2, 0, -3, SBR_SWITCH_LRC, 737*e5436536SAndroid Build Coastguard Worker 3}, 738*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 60000, 80000, 44100, 2, 7, 7, 6, 6, 3, 0, -3, SBR_SWITCH_LRC, 739*e5436536SAndroid Build Coastguard Worker 2}, 740*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 80000, 112000, 44100, 2, 9, 9, 8, 8, 3, 0, -3, SBR_LEFT_RIGHT, 741*e5436536SAndroid Build Coastguard Worker 1}, 742*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 112000, 144000, 44100, 2, 11, 11, 10, 10, 3, 0, -3, 743*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 744*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 144000, 256001, 44100, 2, 13, 13, 11, 11, 3, 0, -3, 745*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 746*e5436536SAndroid Build Coastguard Worker 747*e5436536SAndroid Build Coastguard Worker /* 48/96 kHz dual rate */ 748*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 36000, 60000, 48000, 2, 4, 4, 9, 9, 2, 0, -3, SBR_SWITCH_LRC, 749*e5436536SAndroid Build Coastguard Worker 3}, 750*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 60000, 80000, 48000, 2, 7, 7, 9, 9, 3, 0, -3, SBR_SWITCH_LRC, 751*e5436536SAndroid Build Coastguard Worker 2}, 752*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 80000, 112000, 48000, 2, 9, 9, 10, 10, 3, 0, -3, SBR_LEFT_RIGHT, 753*e5436536SAndroid Build Coastguard Worker 1}, 754*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 112000, 144000, 48000, 2, 11, 11, 11, 11, 3, 0, -3, 755*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 756*e5436536SAndroid Build Coastguard Worker {CODEC_AAC, 144000, 256001, 48000, 2, 13, 13, 11, 11, 3, 0, -3, 757*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 758*e5436536SAndroid Build Coastguard Worker 759*e5436536SAndroid Build Coastguard Worker /** AAC LOW DELAY SECTION **/ 760*e5436536SAndroid Build Coastguard Worker 761*e5436536SAndroid Build Coastguard Worker /* 24 kHz dual rate - 12kHz singlerate is not allowed (deactivated in 762*e5436536SAndroid Build Coastguard Worker FDKsbrEnc_IsSbrSettingAvail()) */ 763*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 8000, 32000, 12000, 1, 1, 1, 0, 0, 1, 0, 6, SBR_MONO, 3}, 764*e5436536SAndroid Build Coastguard Worker 765*e5436536SAndroid Build Coastguard Worker /*** mono ***/ 766*e5436536SAndroid Build Coastguard Worker /* 16/32 kHz dual rate */ 767*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 16000, 18000, 16000, 1, 4, 5, 9, 7, 1, 0, 6, SBR_MONO, 3}, 768*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 18000, 22000, 16000, 1, 7, 7, 12, 12, 1, 6, 9, SBR_MONO, 3}, 769*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 22000, 28000, 16000, 1, 6, 6, 9, 9, 2, 3, 6, SBR_MONO, 3}, 770*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 28000, 36000, 16000, 1, 8, 8, 12, 7, 2, 9, 12, SBR_MONO, 3}, 771*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 36000, 44000, 16000, 1, 10, 14, 12, 13, 2, 0, 3, SBR_MONO, 1}, 772*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 44000, 64001, 16000, 1, 11, 14, 13, 13, 2, 0, 3, SBR_MONO, 1}, 773*e5436536SAndroid Build Coastguard Worker 774*e5436536SAndroid Build Coastguard Worker /* 22.05/44.1 kHz dual rate */ 775*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 18000, 22000, 22050, 1, 4, 4, 5, 5, 2, 0, 6, SBR_MONO, 3}, 776*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 22000, 28000, 22050, 1, 5, 5, 6, 6, 2, 0, 6, SBR_MONO, 2}, 777*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 28000, 36000, 22050, 1, 7, 8, 8, 8, 2, 0, 3, SBR_MONO, 2}, 778*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 36000, 44000, 22050, 1, 9, 9, 9, 9, 2, 0, 3, SBR_MONO, 1}, 779*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 44000, 52000, 22050, 1, 12, 11, 11, 11, 2, 0, 3, SBR_MONO, 1}, 780*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 52000, 64001, 22050, 1, 13, 11, 11, 10, 2, 0, 3, SBR_MONO, 1}, 781*e5436536SAndroid Build Coastguard Worker 782*e5436536SAndroid Build Coastguard Worker /* 24/48 kHz dual rate */ 783*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 20000, 22000, 24000, 1, 3, 4, 8, 8, 2, 0, 6, SBR_MONO, 2}, 784*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 22000, 28000, 24000, 1, 3, 8, 8, 7, 2, 0, 3, SBR_MONO, 2}, 785*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 28000, 36000, 24000, 1, 4, 8, 8, 7, 2, 0, 3, SBR_MONO, 2}, 786*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 36000, 56000, 24000, 1, 8, 9, 9, 8, 2, 0, 3, SBR_MONO, 1}, 787*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 56000, 64001, 24000, 1, 13, 11, 11, 10, 2, 0, 3, SBR_MONO, 1}, 788*e5436536SAndroid Build Coastguard Worker 789*e5436536SAndroid Build Coastguard Worker /* 32/64 kHz dual rate */ 790*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 24000, 36000, 32000, 1, 4, 4, 4, 4, 2, 0, 3, SBR_MONO, 3}, 791*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 36000, 60000, 32000, 1, 7, 7, 6, 6, 2, 0, 3, SBR_MONO, 2}, 792*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 60000, 72000, 32000, 1, 9, 9, 8, 8, 2, 0, 3, SBR_MONO, 1}, 793*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 72000, 100000, 32000, 1, 11, 11, 10, 10, 2, 0, 3, SBR_MONO, 794*e5436536SAndroid Build Coastguard Worker 1}, 795*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 100000, 160001, 32000, 1, 13, 13, 11, 11, 2, 0, 3, SBR_MONO, 796*e5436536SAndroid Build Coastguard Worker 1}, 797*e5436536SAndroid Build Coastguard Worker 798*e5436536SAndroid Build Coastguard Worker /* 44/88 kHz dual rate */ 799*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 36000, 60000, 44100, 1, 8, 7, 6, 9, 2, 0, 3, SBR_MONO, 2}, 800*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 60000, 72000, 44100, 1, 9, 9, 10, 10, 2, 0, 3, SBR_MONO, 1}, 801*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 72000, 100000, 44100, 1, 11, 11, 11, 11, 2, 0, 3, SBR_MONO, 802*e5436536SAndroid Build Coastguard Worker 1}, 803*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 100000, 160001, 44100, 1, 13, 13, 11, 11, 2, 0, 3, SBR_MONO, 804*e5436536SAndroid Build Coastguard Worker 1}, 805*e5436536SAndroid Build Coastguard Worker 806*e5436536SAndroid Build Coastguard Worker /* 48/96 kHz dual rate */ /* 32 and 40kbps line tuned for dual-rate SBR 807*e5436536SAndroid Build Coastguard Worker */ 808*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 36000, 60000, 48000, 1, 4, 7, 4, 4, 2, 0, 3, SBR_MONO, 3}, 809*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 60000, 72000, 48000, 1, 9, 9, 10, 10, 2, 0, 3, SBR_MONO, 1}, 810*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 72000, 100000, 48000, 1, 11, 11, 11, 11, 2, 0, 3, SBR_MONO, 811*e5436536SAndroid Build Coastguard Worker 1}, 812*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 100000, 160001, 48000, 1, 13, 13, 11, 11, 2, 0, 3, SBR_MONO, 813*e5436536SAndroid Build Coastguard Worker 1}, 814*e5436536SAndroid Build Coastguard Worker 815*e5436536SAndroid Build Coastguard Worker /*** stereo ***/ 816*e5436536SAndroid Build Coastguard Worker /* 16/32 kHz dual rate */ 817*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 32000, 36000, 16000, 2, 10, 9, 12, 11, 2, 0, -3, 818*e5436536SAndroid Build Coastguard Worker SBR_SWITCH_LRC, 2}, 819*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 36000, 44000, 16000, 2, 13, 13, 13, 13, 2, 0, -3, 820*e5436536SAndroid Build Coastguard Worker SBR_SWITCH_LRC, 2}, 821*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 44000, 52000, 16000, 2, 10, 9, 11, 9, 2, 0, -3, 822*e5436536SAndroid Build Coastguard Worker SBR_SWITCH_LRC, 2}, 823*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 52000, 60000, 16000, 2, 14, 14, 13, 13, 3, 0, -3, 824*e5436536SAndroid Build Coastguard Worker SBR_SWITCH_LRC, 1}, 825*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 60000, 76000, 16000, 2, 14, 14, 13, 13, 3, 0, -3, 826*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 827*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 76000, 128001, 16000, 2, 14, 14, 13, 13, 3, 0, -3, 828*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 829*e5436536SAndroid Build Coastguard Worker 830*e5436536SAndroid Build Coastguard Worker /* 22.05/44.1 kHz dual rate */ 831*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 32000, 36000, 22050, 2, 5, 4, 7, 6, 2, 0, -3, SBR_SWITCH_LRC, 832*e5436536SAndroid Build Coastguard Worker 2}, 833*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 36000, 44000, 22050, 2, 5, 8, 8, 8, 2, 0, -3, SBR_SWITCH_LRC, 834*e5436536SAndroid Build Coastguard Worker 2}, 835*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 44000, 52000, 22050, 2, 7, 10, 8, 8, 3, 0, -3, SBR_SWITCH_LRC, 836*e5436536SAndroid Build Coastguard Worker 2}, 837*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 52000, 60000, 22050, 2, 9, 11, 9, 9, 3, 0, -3, SBR_SWITCH_LRC, 838*e5436536SAndroid Build Coastguard Worker 1}, 839*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 60000, 76000, 22050, 2, 10, 12, 10, 11, 3, 0, -3, 840*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 841*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 76000, 82000, 22050, 2, 12, 12, 11, 11, 3, 0, -3, 842*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 843*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 82000, 128001, 22050, 2, 13, 12, 11, 11, 3, 0, -3, 844*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 845*e5436536SAndroid Build Coastguard Worker 846*e5436536SAndroid Build Coastguard Worker /* 24/48 kHz dual rate */ 847*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 32000, 36000, 24000, 2, 5, 4, 7, 6, 2, 0, -3, SBR_SWITCH_LRC, 848*e5436536SAndroid Build Coastguard Worker 2}, 849*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 36000, 44000, 24000, 2, 4, 8, 8, 8, 2, 0, -3, SBR_SWITCH_LRC, 850*e5436536SAndroid Build Coastguard Worker 2}, 851*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 44000, 52000, 24000, 2, 6, 10, 8, 8, 3, 0, -3, SBR_SWITCH_LRC, 852*e5436536SAndroid Build Coastguard Worker 2}, 853*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 52000, 60000, 24000, 2, 9, 11, 9, 9, 3, 0, -3, SBR_SWITCH_LRC, 854*e5436536SAndroid Build Coastguard Worker 1}, 855*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 60000, 76000, 24000, 2, 11, 12, 10, 11, 3, 0, -3, 856*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 857*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 76000, 88000, 24000, 2, 12, 13, 11, 11, 3, 0, -3, 858*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 859*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 88000, 128001, 24000, 2, 13, 13, 11, 11, 3, 0, -3, 860*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 861*e5436536SAndroid Build Coastguard Worker 862*e5436536SAndroid Build Coastguard Worker /* 32/64 kHz dual rate */ 863*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 60000, 80000, 32000, 2, 7, 7, 6, 6, 3, 0, -3, SBR_SWITCH_LRC, 864*e5436536SAndroid Build Coastguard Worker 2}, 865*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 80000, 112000, 32000, 2, 9, 9, 8, 8, 3, 0, -3, SBR_LEFT_RIGHT, 866*e5436536SAndroid Build Coastguard Worker 1}, 867*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 112000, 144000, 32000, 2, 11, 11, 10, 10, 3, 0, -3, 868*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 869*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 144000, 256001, 32000, 2, 13, 13, 11, 11, 3, 0, -3, 870*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 871*e5436536SAndroid Build Coastguard Worker 872*e5436536SAndroid Build Coastguard Worker /* 44.1/88.2 kHz dual rate */ 873*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 60000, 80000, 44100, 2, 7, 7, 6, 6, 3, 0, -3, SBR_SWITCH_LRC, 874*e5436536SAndroid Build Coastguard Worker 2}, 875*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 80000, 112000, 44100, 2, 10, 10, 8, 8, 3, 0, -3, 876*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 877*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 112000, 144000, 44100, 2, 12, 12, 10, 10, 3, 0, -3, 878*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 879*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 144000, 256001, 44100, 2, 13, 13, 11, 11, 3, 0, -3, 880*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 881*e5436536SAndroid Build Coastguard Worker 882*e5436536SAndroid Build Coastguard Worker /* 48/96 kHz dual rate */ 883*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 60000, 80000, 48000, 2, 7, 7, 10, 10, 2, 0, -3, 884*e5436536SAndroid Build Coastguard Worker SBR_SWITCH_LRC, 2}, 885*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 80000, 112000, 48000, 2, 9, 9, 10, 10, 3, 0, -3, 886*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 887*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 112000, 144000, 48000, 2, 11, 11, 11, 11, 3, 0, -3, 888*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 889*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 144000, 176000, 48000, 2, 12, 12, 11, 11, 3, 0, -3, 890*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 891*e5436536SAndroid Build Coastguard Worker {CODEC_AACLD, 176000, 256001, 48000, 2, 13, 13, 11, 11, 3, 0, -3, 892*e5436536SAndroid Build Coastguard Worker SBR_LEFT_RIGHT, 1}, 893*e5436536SAndroid Build Coastguard Worker 894*e5436536SAndroid Build Coastguard Worker }; 895*e5436536SAndroid Build Coastguard Worker 896*e5436536SAndroid Build Coastguard Worker const int sbrTuningTableSize = 897*e5436536SAndroid Build Coastguard Worker sizeof(sbrTuningTable) / sizeof(sbrTuningTable[0]); 898*e5436536SAndroid Build Coastguard Worker 899*e5436536SAndroid Build Coastguard Worker const psTuningTable_t psTuningTable[4] = { 900*e5436536SAndroid Build Coastguard Worker {8000, 22000, PSENC_STEREO_BANDS_10, PSENC_NENV_1, 901*e5436536SAndroid Build Coastguard Worker FL2FXCONST_DBL(3.0f / 4.0f)}, 902*e5436536SAndroid Build Coastguard Worker {22000, 28000, PSENC_STEREO_BANDS_20, PSENC_NENV_1, 903*e5436536SAndroid Build Coastguard Worker FL2FXCONST_DBL(2.0f / 4.0f)}, 904*e5436536SAndroid Build Coastguard Worker {28000, 36000, PSENC_STEREO_BANDS_20, PSENC_NENV_2, 905*e5436536SAndroid Build Coastguard Worker FL2FXCONST_DBL(1.5f / 4.0f)}, 906*e5436536SAndroid Build Coastguard Worker {36000, 160001, PSENC_STEREO_BANDS_20, PSENC_NENV_4, 907*e5436536SAndroid Build Coastguard Worker FL2FXCONST_DBL(1.1f / 4.0f)}, 908*e5436536SAndroid Build Coastguard Worker }; 909*e5436536SAndroid Build Coastguard Worker 910*e5436536SAndroid Build Coastguard Worker //@} 911