FFmpeg
h264data.h
Go to the documentation of this file.
1 /*
2  * This file is part of FFmpeg.
3  *
4  * FFmpeg is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * FFmpeg is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with FFmpeg; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17  */
18 
19 #ifndef AVCODEC_H264DATA_H
20 #define AVCODEC_H264DATA_H
21 
22 #include <stdint.h>
23 
24 #include "h264dec.h"
25 
26 extern const uint8_t ff_h264_golomb_to_pict_type[5];
27 extern const uint8_t ff_h264_golomb_to_intra4x4_cbp[48];
28 extern const uint8_t ff_h264_golomb_to_inter_cbp[48];
29 
30 extern const uint8_t ff_h264_chroma_dc_scan[4];
31 extern const uint8_t ff_h264_chroma422_dc_scan[8];
32 
33 typedef struct IMbInfo {
34  uint16_t type;
35  uint8_t pred_mode;
36  uint8_t cbp;
37 } IMbInfo;
38 
39 extern const IMbInfo ff_h264_i_mb_type_info[26];
40 
41 typedef struct PMbInfo {
42  uint16_t type;
43  uint8_t partition_count;
44 } PMbInfo;
45 
46 extern const PMbInfo ff_h264_p_mb_type_info[5];
47 extern const PMbInfo ff_h264_p_sub_mb_type_info[4];
48 extern const PMbInfo ff_h264_b_mb_type_info[23];
49 extern const PMbInfo ff_h264_b_sub_mb_type_info[13];
50 
51 static const AVRational ff_h264_pixel_aspect[17] = {
52  { 0, 1 },
53  { 1, 1 },
54  { 12, 11 },
55  { 10, 11 },
56  { 16, 11 },
57  { 40, 33 },
58  { 24, 11 },
59  { 20, 11 },
60  { 32, 11 },
61  { 80, 33 },
62  { 18, 11 },
63  { 15, 11 },
64  { 64, 33 },
65  { 160, 99 },
66  { 4, 3 },
67  { 3, 2 },
68  { 2, 1 },
69 };
70 
71 extern const uint8_t ff_h264_dequant4_coeff_init[6][3];
72 extern const uint8_t ff_h264_dequant8_coeff_init_scan[16];
73 extern const uint8_t ff_h264_dequant8_coeff_init[6][6];
74 extern const uint8_t ff_h264_quant_rem6[QP_MAX_NUM + 1];
75 extern const uint8_t ff_h264_quant_div6[QP_MAX_NUM + 1];
76 
77 extern const uint8_t ff_h264_chroma_qp[7][QP_MAX_NUM + 1];
78 
79 #endif /* AVCODEC_H264DATA_H */
ff_h264_chroma422_dc_scan
const uint8_t ff_h264_chroma422_dc_scan[8]
Definition: h264data.c:59
ff_h264_golomb_to_pict_type
const uint8_t ff_h264_golomb_to_pict_type[5]
Definition: h264data.c:37
ff_h264_quant_div6
const uint8_t ff_h264_quant_div6[QP_MAX_NUM+1]
Definition: h264data.c:182
IMbInfo::cbp
uint8_t cbp
Definition: h264data.h:36
ff_h264_dequant8_coeff_init
const uint8_t ff_h264_dequant8_coeff_init[6][6]
Definition: h264data.c:165
ff_h264_chroma_qp
const uint8_t ff_h264_chroma_qp[7][QP_MAX_NUM+1]
Definition: h264data.c:203
ff_h264_b_mb_type_info
const PMbInfo ff_h264_b_mb_type_info[23]
Definition: h264data.c:110
PMbInfo::partition_count
uint8_t partition_count
Definition: h264data.h:43
ff_h264_golomb_to_intra4x4_cbp
const uint8_t ff_h264_golomb_to_intra4x4_cbp[48]
Definition: h264data.c:42
ff_h264_b_sub_mb_type_info
const PMbInfo ff_h264_b_sub_mb_type_info[13]
Definition: h264data.c:136
QP_MAX_NUM
#define QP_MAX_NUM
Definition: h264.h:27
IMbInfo::pred_mode
uint8_t pred_mode
Definition: h264data.h:35
ff_h264_p_sub_mb_type_info
const PMbInfo ff_h264_p_sub_mb_type_info[4]
Definition: h264data.c:103
AVRational
Rational number (pair of numerator and denominator).
Definition: rational.h:58
PMbInfo::type
uint16_t type
Definition: h264data.h:42
IMbInfo::type
uint16_t type
Definition: h264data.h:34
ff_h264_dequant8_coeff_init_scan
const uint8_t ff_h264_dequant8_coeff_init_scan[16]
Definition: h264data.c:161
PMbInfo
Definition: h264data.h:41
ff_h264_pixel_aspect
static const AVRational ff_h264_pixel_aspect[17]
Definition: h264data.h:51
h264dec.h
ff_h264_i_mb_type_info
const IMbInfo ff_h264_i_mb_type_info[26]
Definition: h264data.c:66
ff_h264_chroma_dc_scan
const uint8_t ff_h264_chroma_dc_scan[4]
Definition: h264data.c:54
ff_h264_quant_rem6
const uint8_t ff_h264_quant_rem6[QP_MAX_NUM+1]
Definition: h264data.c:174
ff_h264_dequant4_coeff_init
const uint8_t ff_h264_dequant4_coeff_init[6][3]
Definition: h264data.c:152
ff_h264_golomb_to_inter_cbp
const uint8_t ff_h264_golomb_to_inter_cbp[48]
Definition: h264data.c:48
IMbInfo
Definition: h264data.h:33
ff_h264_p_mb_type_info
const PMbInfo ff_h264_p_mb_type_info[5]
Definition: h264data.c:95