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