• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /******************************************************************************
2  *                                                                            *
3  * Copyright (C) 2018 The Android Open Source Project
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at:
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *****************************************************************************
18  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19 */
20 #ifndef IXHEAACD_MPS_HUFF_TAB_H
21 #define IXHEAACD_MPS_HUFF_TAB_H
22 
23 typedef struct { const WORD32 node_tab[39][2]; } ia_huff_res_nodes_struct;
24 
25 typedef struct { const WORD32 node_tab[30][2]; } ia_huff_cld_node_1d_struct;
26 
27 typedef struct { const WORD32 node_tab[7][2]; } ia_huff_icc_node_1d_struct;
28 
29 typedef struct { const WORD32 node_tab[50][2]; } HUFF_CPC_NOD_1D;
30 
31 typedef struct {
32   const WORD32 lav3[15][2];
33   const WORD32 lav5[35][2];
34   const WORD32 lav7[63][2];
35   const WORD32 lav9[99][2];
36 } ia_huff_cld_node_2d_struct;
37 
38 typedef struct {
39   const WORD32 lav1[3][2];
40   const WORD32 lav3[15][2];
41   const WORD32 lav5[35][2];
42   const WORD32 lav7[63][2];
43 } ia_huff_icc_node_2d_struct;
44 
45 typedef struct {
46   const WORD32 lav3[15][2];
47   const WORD32 lav6[48][2];
48   const WORD32 lav9[99][2];
49   const WORD32 lav12[168][2];
50 } HUFF_CPC_NOD_2D;
51 
52 typedef struct {
53   ia_huff_cld_node_1d_struct h_1_dim[3];
54   ia_huff_cld_node_2d_struct h_2_dim[3][2];
55 
56 } ia_huff_cld_nodes_struct;
57 
58 typedef struct {
59   ia_huff_icc_node_1d_struct h_1_dim[3];
60   ia_huff_icc_node_2d_struct h_2_dim[3][2];
61 
62 } ia_huff_icc_nodes_struct;
63 
64 typedef struct {
65   HUFF_CPC_NOD_1D h_1_dim[3];
66   HUFF_CPC_NOD_2D h_2_dim[3][2];
67 
68 } HUFF_CPC_NODES;
69 
70 typedef struct {
71   const WORD32 cld[30][2];
72   const WORD32 icc[7][2];
73   const WORD32 cpc[25][2];
74 
75 } ia_huff_pt0_nodes_struct;
76 
77 typedef struct { const WORD32 node_tab[3][2]; } ia_huff_lav_nodes_struct;
78 
79 typedef struct { const WORD32 node_tab[7][2]; } ia_huff_ipd_node_1d_struct;
80 
81 typedef struct {
82   const WORD32 lav1[3][2];
83   const WORD32 lav3[15][2];
84   const WORD32 lav5[35][2];
85   const WORD32 lav7[63][2];
86 } ia_huff_ipd_node_2d_struct;
87 
88 typedef struct {
89   ia_huff_ipd_node_1d_struct hp0;
90   ia_huff_ipd_node_1d_struct h_1_dim[3];
91   ia_huff_ipd_node_2d_struct h_2_dim[3][2];
92 
93 } ia_huff_ipd_nodes_struct;
94 
95 #endif
96