diff options
author | Hamsalekha S <hamsalekha.s@ittiam.com> | 2015-03-13 21:24:58 +0530 |
---|---|---|
committer | Hamsalekha S <hamsalekha.s@ittiam.com> | 2015-04-02 15:59:02 +0530 |
commit | 8d3d303c7942ced6a987a52db8977d768dc3605f (patch) | |
tree | cc806c96794356996b13ba9970941d0aed74a97e /common/ih264_common_tables.h | |
parent | 3956d913d37327dcb340f836e604b04bd478b158 (diff) | |
download | android_external_libavc-8d3d303c7942ced6a987a52db8977d768dc3605f.tar.gz android_external_libavc-8d3d303c7942ced6a987a52db8977d768dc3605f.tar.bz2 android_external_libavc-8d3d303c7942ced6a987a52db8977d768dc3605f.zip |
Initial version
Change-Id: I7efe9a589cd24edf86e8d086b40c27cbbf8b4017
Diffstat (limited to 'common/ih264_common_tables.h')
-rwxr-xr-x | common/ih264_common_tables.h | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/common/ih264_common_tables.h b/common/ih264_common_tables.h new file mode 100755 index 0000000..3127a2c --- /dev/null +++ b/common/ih264_common_tables.h @@ -0,0 +1,136 @@ +/****************************************************************************** + * + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ***************************************************************************** + * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore +*/ +/** +******************************************************************************* +* @file +* ih264_common_tables.h +* +* @brief +* Common tables +* +* @author +* Harish +* +* @par List of Functions: +* +* @remarks +* None +* +******************************************************************************* +*/ + +#ifndef _IH264_COMMON_TABLES_H_ +#define _IH264_COMMON_TABLES_H_ + + +/*****************************************************************************/ +/* Structures */ +/*****************************************************************************/ + +/** +****************************************************************************** + * @brief level tables +****************************************************************************** + */ +typedef struct +{ + /* level */ + IH264_LEVEL_T u4_level_idc; + + /* max macroblock processing rate */ + UWORD32 u4_max_mbps; + + /* max frame size in mbs */ + UWORD32 u4_max_fs; + + /* max dpb size / 768 */ + UWORD32 u4_max_dpb_size; + + /* max bit rate */ + UWORD32 u4_max_br; + + /* max cpb size */ + UWORD32 u4_max_cpb_size; + + /* max vertical MV component range */ + UWORD32 u4_max_mv_y; + +}level_tables_t; + +/*****************************************************************************/ +/* Extern global declarations */ +/*****************************************************************************/ + +/** + ****************************************************************************** + * @brief while encoding, basing on the input configuration parameters, the + * the level of the bitstream is computed basing on the table below. + * input : table_idx + * output : level_idc or cpb size + * @remarks Table A-1 – level table limits + ****************************************************************************** + */ +extern const level_tables_t gas_ih264_lvl_tbl[16]; + +extern const WORD32 gai4_ih264_levels[]; +extern const WORD32 gai4_ih264_max_luma_pic_size[]; +extern const WORD32 gai4_ih264_max_wd_ht[]; +extern const WORD32 gai4_ih264_min_wd_ht[]; + +extern intra_mbtype_info_t gas_ih264_i_mbtype_info[]; +extern inter_mbtype_info_t gas_ih264_p_mbtype_info[]; +extern inter_mbtype_info_t gas_ih264_b_mbtype_info[]; +extern submbtype_info_t gas_ih264_p_submbtype_info[]; +extern submbtype_info_t gas_ih264_b_submbtype_info[]; + + +extern const UWORD8 gau1_ih264_inv_scan_prog4x4[]; +extern const UWORD8 gau1_ih264_inv_scan_int4x4[]; +extern const UWORD8 gau1_ih264_inv_scan_prog8x8_cavlc[64]; +extern const UWORD8 gau1_ih264_inv_scan_int8x8_cavlc[64]; +extern const UWORD8 gau1_ih264_inv_scan_prog8x8_cabac[64]; +extern const UWORD8 gau1_ih264_inv_scan_int8x8_cabac[64]; + +extern const UWORD8 *gpau1_ih264_inv_scan8x8[]; +extern const UWORD8 *gpau1_ih264_inv_scan4x4[]; + +extern const UWORD8 gau1_ih264_8x8_subblk_idx[]; + +extern const UWORD8 gau1_ih264_chroma_qp[]; + +extern const UWORD8 gau1_ih264_4x4_ngbr_avbl[16][16]; +extern const UWORD8 gau1_ih264_8x8_ngbr_avbl[16][4]; + + +extern const UWORD16 gau2_ih264_default_inter4x4_weight_scale[]; +extern const UWORD16 gau2_ih264_default_intra4x4_weight_scale[]; +extern const UWORD16 gau2_ih264_default_intra4x4_scaling_list[]; +extern const UWORD16 gau2_ih264_default_inter4x4_scaling_list[]; +extern const UWORD16 gau2_ih264_default_intra8x8_scaling_list[]; +extern const UWORD16 gau2_ih264_default_inter8x8_scaling_list[]; +extern const UWORD16 gau2_ih264_default_intra8x8_weight_scale[]; +extern const UWORD16 gau2_ih264_default_inter8x8_weight_scale[]; +extern const UWORD16 gau2_ih264_flat_4x4_weight_scale[]; +extern const UWORD16 gau2_ih264_flat_8x8_weight_scale[]; + +extern const UWORD16 gau2_ih264_iquant_scale_matrix_4x4 [96]; +extern const UWORD16 gau2_ih264_iquant_scale_matrix_8x8 [384]; + +#endif /*_IH264_COMMON_TABLES_H_*/ |