blob: 3da0e3771f0fe8232578b0a5a756b85416a4ac40
1 | /* |
2 | * copyright (c) 2000,2001 Fabrice Bellard |
3 | * H.263+ support |
4 | * copyright (c) 2001 Juan J. Sierralta P |
5 | * copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at> |
6 | * |
7 | * This file is part of FFmpeg. |
8 | * |
9 | * FFmpeg is free software; you can redistribute it and/or |
10 | * modify it under the terms of the GNU Lesser General Public |
11 | * License as published by the Free Software Foundation; either |
12 | * version 2.1 of the License, or (at your option) any later version. |
13 | * |
14 | * FFmpeg is distributed in the hope that it will be useful, |
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
17 | * Lesser General Public License for more details. |
18 | * |
19 | * You should have received a copy of the GNU Lesser General Public |
20 | * License along with FFmpeg; if not, write to the Free Software |
21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
22 | */ |
23 | |
24 | /** |
25 | * @file |
26 | * H.263 tables. |
27 | */ |
28 | |
29 | #ifndef AVCODEC_H263DATA_H |
30 | #define AVCODEC_H263DATA_H |
31 | |
32 | #include <stdint.h> |
33 | |
34 | #include "libavutil/rational.h" |
35 | |
36 | #include "rl.h" |
37 | |
38 | extern const AVRational ff_h263_pixel_aspect[16]; |
39 | |
40 | /* intra MCBPC, mb_type = (intra), then (intraq) */ |
41 | extern const uint8_t ff_h263_intra_MCBPC_code[9]; |
42 | extern const uint8_t ff_h263_intra_MCBPC_bits[9]; |
43 | |
44 | /* inter MCBPC, mb_type = (inter), (intra), (interq), (intraq), (inter4v) */ |
45 | /* Changed the tables for interq and inter4v+q, following the standard ** Juanjo ** */ |
46 | extern const uint8_t ff_h263_inter_MCBPC_code[28]; |
47 | extern const uint8_t ff_h263_inter_MCBPC_bits[28]; |
48 | |
49 | extern const uint8_t ff_h263_mbtype_b_tab[15][2]; |
50 | |
51 | extern const uint8_t ff_cbpc_b_tab[4][2]; |
52 | extern const uint8_t ff_h263_cbpy_tab[16][2]; |
53 | |
54 | extern const uint8_t ff_mvtab[33][2]; |
55 | |
56 | /* third non intra table */ |
57 | extern const uint16_t ff_inter_vlc[103][2]; |
58 | |
59 | extern const int8_t ff_inter_level[102]; |
60 | extern const int8_t ff_inter_run[102]; |
61 | |
62 | extern RLTable ff_h263_rl_inter; |
63 | extern RLTable ff_rl_intra_aic; |
64 | extern uint8_t ff_h263_static_rl_table_store[2][2][2 * MAX_RUN + MAX_LEVEL + 3]; |
65 | |
66 | extern const uint16_t ff_h263_format[8][2]; |
67 | |
68 | extern const uint8_t ff_aic_dc_scale_table[32]; |
69 | |
70 | extern const uint8_t ff_modified_quant_tab[2][32]; |
71 | |
72 | extern const uint8_t ff_h263_chroma_qscale_table[32]; |
73 | |
74 | extern const uint16_t ff_mba_max[6]; |
75 | extern const uint8_t ff_mba_length[7]; |
76 | |
77 | #endif /* AVCODEC_H263DATA_H */ |
78 |