16cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK/* ----------------------------------------------------------------------------- 26cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKSoftware License for The Fraunhofer FDK AAC Codec Library for Android 36cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 46cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten 56cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKForschung e.V. All rights reserved. 66cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 76cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1. INTRODUCTION 86cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKThe Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software 96cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKthat implements the MPEG Advanced Audio Coding ("AAC") encoding and decoding 106cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKscheme for digital audio. This FDK AAC Codec software is intended to be used on 116cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKa wide variety of Android devices. 126cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 136cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKAAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient 146cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKgeneral perceptual audio codecs. AAC-ELD is considered the best-performing 156cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKfull-bandwidth communications codec by independent studies and is widely 166cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKdeployed. AAC has been standardized by ISO and IEC as part of the MPEG 176cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKspecifications. 186cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 196cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKPatent licenses for necessary patent claims for the FDK AAC Codec (including 206cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKthose of Fraunhofer) may be obtained through Via Licensing 216cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK(www.vialicensing.com) or through the respective patent owners individually for 226cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKthe purpose of encoding or decoding bit streams in products that are compliant 236cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKwith the ISO/IEC MPEG audio standards. Please note that most manufacturers of 246cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKAndroid devices already license these patent claims through Via Licensing or 256cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKdirectly from the patent owners, and therefore FDK AAC Codec software may 266cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKalready be covered under those patent licenses when it is used for those 276cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKlicensed purposes only. 286cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 296cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKCommercially-licensed AAC software libraries, including floating-point versions 306cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKwith enhanced sound quality, are also available from Fraunhofer. Users are 316cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKencouraged to check the Fraunhofer website for additional applications 326cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKinformation and documentation. 336cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 346cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK2. COPYRIGHT LICENSE 356cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 366cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKRedistribution and use in source and binary forms, with or without modification, 376cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKare permitted without payment of copyright license fees provided that you 386cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKsatisfy the following conditions: 396cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 406cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKYou must retain the complete text of this software license in redistributions of 416cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKthe FDK AAC Codec or your modifications thereto in source code form. 426cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 436cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKYou must retain the complete text of this software license in the documentation 446cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKand/or other materials provided with redistributions of the FDK AAC Codec or 456cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKyour modifications thereto in binary form. You must make available free of 466cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKcharge copies of the complete source code of the FDK AAC Codec and your 476cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKmodifications thereto to recipients of copies in binary form. 486cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 496cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKThe name of Fraunhofer may not be used to endorse or promote products derived 506cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKfrom this library without prior written permission. 516cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 526cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKYou may not charge copyright license fees for anyone to use, copy or distribute 536cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKthe FDK AAC Codec software or your modifications thereto. 546cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 556cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKYour modified versions of the FDK AAC Codec must carry prominent notices stating 566cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKthat you changed the software and the date of any change. For modified versions 576cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKof the FDK AAC Codec, the term "Fraunhofer FDK AAC Codec Library for Android" 586cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKmust be replaced by the term "Third-Party Modified Version of the Fraunhofer FDK 596cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKAAC Codec Library for Android." 606cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 616cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK3. NO PATENT LICENSE 626cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 636cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKNO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without 646cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKlimitation the patents of Fraunhofer, ARE GRANTED BY THIS SOFTWARE LICENSE. 656cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKFraunhofer provides no warranty of patent non-infringement with respect to this 666cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKsoftware. 676cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 686cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKYou may use this FDK AAC Codec software or modifications thereto only for 696cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKpurposes that are authorized by appropriate patent licenses. 706cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 716cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK4. DISCLAIMER 726cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 736cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKThis FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright 746cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKholders and contributors "AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, 756cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKincluding but not limited to the implied warranties of merchantability and 766cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKfitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 776cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKCONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, 786cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKor consequential damages, including but not limited to procurement of substitute 796cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKgoods or services; loss of use, data, or profits, or business interruption, 806cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKhowever caused and on any theory of liability, whether in contract, strict 816cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKliability, or tort (including negligence), arising in any way out of the use of 826cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKthis software, even if advised of the possibility of such damage. 836cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 846cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK5. CONTACT INFORMATION 856cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 866cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKFraunhofer Institute for Integrated Circuits IIS 876cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKAttention: Audio and Multimedia Departments - FDK AAC LL 886cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKAm Wolfsmantel 33 896cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK91058 Erlangen, Germany 906cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 916cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKwww.iis.fraunhofer.de/amm 926cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKamm-info@iis.fraunhofer.de 936cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK----------------------------------------------------------------------------- */ 946cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 956cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK/******************* Library for basic calculation routines ******************** 966cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 976cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK Author(s): Omer Osman 986cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 996cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK Description: MPEG-D SAC/USAC/SAOC Huffman Part0 Tables 1006cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1016cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK*******************************************************************************/ 1026cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1036cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK#ifndef HUFF_NODES_H 1046cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK#define HUFF_NODES_H 1056cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1066cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK#include "genericStds.h" 1076cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1086cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 1096cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT nodeTab[39][2]; 1106cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1116cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_RES_NODES; 1126cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1136cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK/* 1D Nodes */ 1146cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 1156cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT nodeTab[30][2]; 1166cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1176cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_CLD_NOD_1D; 1186cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1196cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 1206cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT nodeTab[7][2]; 1216cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1226cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_ICC_NOD_1D; 1236cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1246cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 1256cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT nodeTab[50][2]; 1266cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1276cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_CPC_NOD_1D; 1286cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1296cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 1306cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT nodeTab[15][2]; 1316cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1326cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_OLD_NOD_1D; 1336cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1346cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 1356cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT nodeTab[63][2]; 1366cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1376cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_NRG_NOD_1D; 1386cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1396cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK/* 2D Nodes */ 1406cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 1416cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav3[15][2]; 1426cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav5[35][2]; 1436cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav7[63][2]; 1446cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav9[99][2]; 1456cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1466cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_CLD_NOD_2D; 1476cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1486cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 1496cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav1[3][2]; 1506cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav3[15][2]; 1516cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav5[35][2]; 1526cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav7[63][2]; 1536cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1546cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_ICC_NOD_2D; 1556cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1566cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 1576cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav3[15][2]; 1586cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav6[48][2]; 1596cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav9[99][2]; 1606cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav12[168][2]; 1616cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1626cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_OLD_NOD_2D; 1636cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1646cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 1656cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav3[15][2]; 1666cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav5[35][2]; 1676cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav7[63][2]; 1686cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav9[99][2]; 1696cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1706cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_NRG_NOD_2D_df; 1716cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1726cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 1736cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav3[15][2]; 1746cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav6[48][2]; 1756cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav9[99][2]; 1766cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav12[168][2]; 1776cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1786cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_NRG_NOD_2D_dt; 1796cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1806cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 1816cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK HUFF_NRG_NOD_2D_df df[2]; 1826cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK HUFF_NRG_NOD_2D_dt dt[2]; 1836cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK HUFF_NRG_NOD_2D_df dp[2]; 1846cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1856cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_NRG_NOD_2D; 1866cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1876cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK/* Complete bs Parameter Nodes */ 1886cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 1896cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK const HUFF_CLD_NOD_1D *h1D[3]; 1906cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK const HUFF_CLD_NOD_2D *h2D[3][2]; 1916cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1926cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_CLD_NODES; 1936cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1946cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 1956cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK const HUFF_ICC_NOD_1D *h1D[3]; 1966cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK const HUFF_ICC_NOD_2D *h2D[3][2]; 1976cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 1986cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_ICC_NODES; 1996cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2006cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 2016cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK const HUFF_OLD_NOD_1D *h1D[3]; 2026cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK const HUFF_OLD_NOD_2D *h2D[3][2]; 2036cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2046cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_OLD_NODES; 2056cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2066cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 2076cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK const HUFF_NRG_NOD_1D *h1D[3]; 2086cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK const HUFF_NRG_NOD_2D *h2D; 2096cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2106cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_NRG_NODES; 2116cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2126cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK/* parameter instance */ 2136cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 2146cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT cld[30][2]; 2156cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT icc[7][2]; 2166cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT ipd[7][2]; 2176cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT old[15][2]; 2186cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT nrg[63][2]; 2196cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_PT0_NODES; 2206cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2216cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 2226cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT nodeTab[3][2]; 2236cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2246cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_LAV_NODES; 2256cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2266cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK/* USAC specific */ 2276cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 2286cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT nodeTab[7][2]; 2296cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2306cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_IPD_NOD_1D; 2316cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2326cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 2336cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav1[3][2]; 2346cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav3[15][2]; 2356cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav5[35][2]; 2366cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK SHORT lav7[63][2]; 2376cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2386cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_IPD_NOD_2D; 2396cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2406cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKtypedef struct { 2416cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK HUFF_IPD_NOD_1D h1D[3]; 2426cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK HUFF_IPD_NOD_2D h2D[3][2]; 2436cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2446cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK} HUFF_IPD_NODES; 2456cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2466cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK/* non-lossy coding decoder */ 2476cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKextern const HUFF_PT0_NODES FDK_huffPart0Nodes; 2486cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKextern const HUFF_LAV_NODES FDK_huffLavIdxNodes; 2496cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2506cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKextern const HUFF_ICC_NODES FDK_huffICCNodes; 2516cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKextern const HUFF_CLD_NODES FDK_huffCLDNodes; 2526cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKextern const HUFF_RES_NODES FDK_huffReshapeNodes; 2536cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2546cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKextern const HUFF_OLD_NODES huffOLDNodes; 2556cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2566cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDKextern const HUFF_IPD_NODES FDK_huffIPDNodes; 2576cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK 2586cfabd35363c3ef5e3b209b867169a500b3ccc3cFraunhofer IIS FDK#endif /* HUFF_NODES_H */ 259