Home | History | Annotate | Download | only in decoder
      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