1 /****************************************************************************** 2 * 3 * Copyright (C) 2015 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 21 /** 22 ******************************************************************************* 23 * @file 24 * ih264_common_tables.h 25 * 26 * @brief 27 * Common tables 28 * 29 * @author 30 * ittiam 31 * 32 * @remarks 33 * none 34 * 35 ******************************************************************************* 36 */ 37 38 #ifndef _IH264_COMMON_TABLES_H_ 39 #define _IH264_COMMON_TABLES_H_ 40 41 42 /*****************************************************************************/ 43 /* Structures */ 44 /*****************************************************************************/ 45 46 /** 47 ****************************************************************************** 48 * @brief level tables 49 ****************************************************************************** 50 */ 51 typedef struct 52 { 53 /* level */ 54 IH264_LEVEL_T u4_level_idc; 55 56 /* max macroblock processing rate */ 57 UWORD32 u4_max_mbps; 58 59 /* max frame size in mbs */ 60 UWORD32 u4_max_fs; 61 62 /* max dpb size / 768 */ 63 UWORD32 u4_max_dpb_size; 64 65 /* max bit rate */ 66 UWORD32 u4_max_br; 67 68 /* max cpb size */ 69 UWORD32 u4_max_cpb_size; 70 71 /* max vertical MV component range */ 72 UWORD32 u4_max_mv_y; 73 74 }level_tables_t; 75 76 /*****************************************************************************/ 77 /* Extern global declarations */ 78 /*****************************************************************************/ 79 80 extern const level_tables_t gas_ih264_lvl_tbl[16]; 81 82 extern const WORD32 gai4_ih264_levels[]; 83 extern const WORD32 gai4_ih264_max_luma_pic_size[]; 84 extern const WORD32 gai4_ih264_max_wd_ht[]; 85 extern const WORD32 gai4_ih264_min_wd_ht[]; 86 87 extern intra_mbtype_info_t gas_ih264_i_mbtype_info[]; 88 extern inter_mbtype_info_t gas_ih264_p_mbtype_info[]; 89 extern inter_mbtype_info_t gas_ih264_b_mbtype_info[]; 90 extern submbtype_info_t gas_ih264_p_submbtype_info[]; 91 extern submbtype_info_t gas_ih264_b_submbtype_info[]; 92 93 94 extern const UWORD8 gau1_ih264_inv_scan_prog4x4[]; 95 extern const UWORD8 gau1_ih264_inv_scan_int4x4[]; 96 extern const UWORD8 gau1_ih264_inv_scan_prog8x8_cavlc[64]; 97 extern const UWORD8 gau1_ih264_inv_scan_int8x8_cavlc[64]; 98 extern const UWORD8 gau1_ih264_inv_scan_prog8x8_cabac[64]; 99 extern const UWORD8 gau1_ih264_inv_scan_int8x8_cabac[64]; 100 101 extern const UWORD8 *const gpau1_ih264_inv_scan8x8[]; 102 extern const UWORD8 *const gpau1_ih264_inv_scan4x4[]; 103 104 extern const UWORD8 gau1_ih264_8x8_subblk_idx[]; 105 106 extern const UWORD8 gau1_ih264_chroma_qp[]; 107 108 extern const UWORD8 gau1_ih264_4x4_ngbr_avbl[16][16]; 109 extern const UWORD8 gau1_ih264_8x8_ngbr_avbl[16][4]; 110 111 112 extern const UWORD16 gau2_ih264_default_inter4x4_weight_scale[]; 113 extern const UWORD16 gau2_ih264_default_intra4x4_weight_scale[]; 114 extern const UWORD16 gau2_ih264_default_intra4x4_scaling_list[]; 115 extern const UWORD16 gau2_ih264_default_inter4x4_scaling_list[]; 116 extern const UWORD16 gau2_ih264_default_intra8x8_scaling_list[]; 117 extern const UWORD16 gau2_ih264_default_inter8x8_scaling_list[]; 118 extern const UWORD16 gau2_ih264_default_intra8x8_weight_scale[]; 119 extern const UWORD16 gau2_ih264_default_inter8x8_weight_scale[]; 120 extern const UWORD16 gau2_ih264_flat_4x4_weight_scale[]; 121 extern const UWORD16 gau2_ih264_flat_8x8_weight_scale[]; 122 123 extern const UWORD16 gau2_ih264_iquant_scale_matrix_4x4 [96]; 124 extern const UWORD16 gau2_ih264_iquant_scale_matrix_8x8 [384]; 125 126 #endif /*_IH264_COMMON_TABLES_H_*/ 127