xref: /aosp_15_r20/external/libavc/common/ih264_cavlc_tables.h (revision 495ae853bb871d1e5a258cb02c2cc13cde8ddb9a)
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_cavlc_tables.h
25 *
26 * @brief
27 *  This file contains enumerations, macros and extern declarations of H264
28 *  cavlc tables
29 *
30 * @author
31 *  ittiam
32 *
33 * @remarks
34 *  none
35 ******************************************************************************
36 */
37 
38 #ifndef _IH264_CAVLC_TABLES_H_
39 #define _IH264_CAVLC_TABLES_H_
40 
41 /*****************************************************************************/
42 /* Constant Macros                                                           */
43 /*****************************************************************************/
44 /**
45 ******************************************************************************
46  *  @brief  maximum zeros left
47 ******************************************************************************
48  */
49 #define MAX_ZERO_LEFT 6
50 
51 /*****************************************************************************/
52 /* global declarations                                                       */
53 /*****************************************************************************/
54 
55 extern const UWORD8 gu1_cbp_map_tables[48][2];
56 extern const UWORD8 gu1_code_coeff_token_table[3][4][16];
57 extern const UWORD8 gu1_size_coeff_token_table[3][4][16];
58 extern const UWORD8 gu1_code_coeff_token_table_chroma[4][4];
59 extern const UWORD8 gu1_size_coeff_token_table_chroma[4][4];
60 extern const UWORD8 gu1_threshold_vlc_level[6];
61 extern const UWORD8 gu1_size_zero_table[135];
62 extern const UWORD8 gu1_code_zero_table[135];
63 extern const UWORD8 gu1_size_zero_table_chroma[9];
64 extern const UWORD8 gu1_code_zero_table_chroma[9];
65 extern const UWORD8 gu1_index_zero_table[15];
66 extern const UWORD8 gu1_size_run_table[42];
67 extern const UWORD8 gu1_code_run_table[42];
68 extern const UWORD8 gu1_index_run_table[7];
69 
70 #endif /* _IH264_CAVLC_TABLES_H_ */
71