xref: /aosp_15_r20/external/libxaac/decoder/ixheaacd_mps_res_rom.h (revision 15dc779a375ca8b5125643b829a8aa4b70d7f451)
1*15dc779aSAndroid Build Coastguard Worker /******************************************************************************
2*15dc779aSAndroid Build Coastguard Worker  *
3*15dc779aSAndroid Build Coastguard Worker  * Copyright (C) 2023 The Android Open Source Project
4*15dc779aSAndroid Build Coastguard Worker  *
5*15dc779aSAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
6*15dc779aSAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
7*15dc779aSAndroid Build Coastguard Worker  * You may obtain a copy of the License at:
8*15dc779aSAndroid Build Coastguard Worker  *
9*15dc779aSAndroid Build Coastguard Worker  * http://www.apache.org/licenses/LICENSE-2.0
10*15dc779aSAndroid Build Coastguard Worker  *
11*15dc779aSAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
12*15dc779aSAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
13*15dc779aSAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*15dc779aSAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
15*15dc779aSAndroid Build Coastguard Worker  * limitations under the License.
16*15dc779aSAndroid Build Coastguard Worker  *
17*15dc779aSAndroid Build Coastguard Worker  *****************************************************************************
18*15dc779aSAndroid Build Coastguard Worker  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19*15dc779aSAndroid Build Coastguard Worker */
20*15dc779aSAndroid Build Coastguard Worker #ifndef IXHEAACD_MPS_RES_ROM_H
21*15dc779aSAndroid Build Coastguard Worker #define IXHEAACD_MPS_RES_ROM_H
22*15dc779aSAndroid Build Coastguard Worker 
23*15dc779aSAndroid Build Coastguard Worker typedef struct {
24*15dc779aSAndroid Build Coastguard Worker   WORD32 pow_table_q17[129];
25*15dc779aSAndroid Build Coastguard Worker   WORD32 scale_table[4];
26*15dc779aSAndroid Build Coastguard Worker   WORD32 scale_table_960[4];
27*15dc779aSAndroid Build Coastguard Worker   WORD8 tns_max_bands_tbl[12][2];
28*15dc779aSAndroid Build Coastguard Worker   WORD16 tns_coeff3_16[8];
29*15dc779aSAndroid Build Coastguard Worker   WORD16 tns_coeff4_16[16];
30*15dc779aSAndroid Build Coastguard Worker } ia_mps_dec_res_block_tables_struct;
31*15dc779aSAndroid Build Coastguard Worker 
32*15dc779aSAndroid Build Coastguard Worker extern const ia_mps_dec_res_block_tables_struct ixheaacd_mps_dec_res_block_tables;
33*15dc779aSAndroid Build Coastguard Worker 
34*15dc779aSAndroid Build Coastguard Worker typedef struct {
35*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_96_1024[42 + 1];
36*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_96_128[13 + 1];
37*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_64_1024[48 + 1];
38*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_48_1024[50 + 1];
39*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_48_128[15 + 1];
40*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_32_1024[52 + 1];
41*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_24_1024[48 + 1];
42*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_24_128[16 + 1];
43*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_16_1024[44 + 1];
44*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_16_128[16 + 1];
45*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_8_1024[41 + 1];
46*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_8_128[16 + 1];
47*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_96_960[40 + 1];
48*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_96_120[12 + 1];
49*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_64_960[46 + 1];
50*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_48_960[49 + 1];
51*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_48_120[14 + 1];
52*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_24_960[46 + 1];
53*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_24_120[15 + 1];
54*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_16_960[42 + 1];
55*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_16_120[15 + 1];
56*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_8_960[40 + 1];
57*15dc779aSAndroid Build Coastguard Worker   WORD8 sfb_8_120[15 + 1];
58*15dc779aSAndroid Build Coastguard Worker 
59*15dc779aSAndroid Build Coastguard Worker   UWORD16 huffman_code_book_1[108];
60*15dc779aSAndroid Build Coastguard Worker   UWORD16 huffman_code_book_2[110];
61*15dc779aSAndroid Build Coastguard Worker   UWORD16 huffman_code_book_3[136];
62*15dc779aSAndroid Build Coastguard Worker   UWORD16 huffman_code_book_4[116];
63*15dc779aSAndroid Build Coastguard Worker   UWORD16 huffman_code_book_5[126];
64*15dc779aSAndroid Build Coastguard Worker   UWORD16 huffman_code_book_6[120];
65*15dc779aSAndroid Build Coastguard Worker   UWORD16 huffman_code_book_7[112];
66*15dc779aSAndroid Build Coastguard Worker   UWORD16 huffman_code_book_8[92];
67*15dc779aSAndroid Build Coastguard Worker   UWORD16 huffman_code_book_9[236];
68*15dc779aSAndroid Build Coastguard Worker   UWORD16 huffman_code_book_10[218];
69*15dc779aSAndroid Build Coastguard Worker   UWORD16 huffman_codebook_11[344];
70*15dc779aSAndroid Build Coastguard Worker   UWORD16 huffman_code_book_scl[273];
71*15dc779aSAndroid Build Coastguard Worker 
72*15dc779aSAndroid Build Coastguard Worker } ia_mps_dec_res_huffmann_tables_struct;
73*15dc779aSAndroid Build Coastguard Worker 
74*15dc779aSAndroid Build Coastguard Worker extern const ia_mps_dec_res_huffmann_tables_struct ixheaacd_mps_dec_res_huffmann_tables;
75*15dc779aSAndroid Build Coastguard Worker 
76*15dc779aSAndroid Build Coastguard Worker typedef struct {
77*15dc779aSAndroid Build Coastguard Worker   ia_mps_dec_res_block_tables_struct *res_block_tables_ptr;
78*15dc779aSAndroid Build Coastguard Worker   ia_mps_dec_res_huffmann_tables_struct *res_huffmann_tables_ptr;
79*15dc779aSAndroid Build Coastguard Worker   WORD8 *scale_factor_bands_long[24];
80*15dc779aSAndroid Build Coastguard Worker   WORD8 *scale_factor_bands_short[24];
81*15dc779aSAndroid Build Coastguard Worker   WORD16 *sfb_index_long;
82*15dc779aSAndroid Build Coastguard Worker   WORD16 *sfb_index_short;
83*15dc779aSAndroid Build Coastguard Worker   WORD8 *sfb_index_long_width;
84*15dc779aSAndroid Build Coastguard Worker   WORD8 *sfb_index_short_width;
85*15dc779aSAndroid Build Coastguard Worker   UWORD16 *code_book[13];
86*15dc779aSAndroid Build Coastguard Worker 
87*15dc779aSAndroid Build Coastguard Worker } ia_mps_dec_residual_aac_tables_struct;
88*15dc779aSAndroid Build Coastguard Worker 
89*15dc779aSAndroid Build Coastguard Worker #endif /* IXHEAACD_MPS_RES_ROM_H */
90