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_CBS_MPEG2_H
20 #define AVCODEC_CBS_MPEG2_H
21
22 #include <stddef.h>
23 #include <stdint.h>
24
26
27
28 enum {
38 };
39
40 #define MPEG2_START_IS_SLICE(type) \
41 ((type) >= MPEG2_START_SLICE_MIN && \
42 (type) <= MPEG2_START_SLICE_MAX)
43
44 enum {
56 };
57
58
61
69
75
78
83
96
99
104
108
111
116
119
123
128
131
134
146
154
165
170
174
175 union {
183
186
189
191
196
198
203
206
212
213
215 // Elements stored in headers which are required for other decoding.
222
223 // Write buffer.
227
228
229 #endif /* AVCODEC_CBS_MPEG2_H */
MPEG2RawPictureDisplayExtension picture_display
uint8_t frame_pred_frame_dct
uint8_t extension_start_code_identifier
uint8_t number_of_frame_centre_offsets
uint16_t bit_rate_extension
MPEG2RawSequenceExtension sequence
uint8_t progressive_sequence
uint16_t display_horizontal_size
union MPEG2RawExtensionData::@48 data
uint8_t composite_display_flag
uint8_t transfer_characteristics
uint8_t repeat_first_field
uint16_t display_vertical_size
MPEG2RawQuantMatrixExtension quant_matrix
MPEG2RawPictureCodingExtension picture_coding
uint8_t colour_description
uint8_t intra_quantiser_matrix[64]
uint8_t progressive_sequence
uint16_t frame_centre_vertical_offset[3]
AVBufferRef * user_data_ref
uint8_t progressive_frame
uint8_t concealment_motion_vectors
uint8_t non_intra_quantiser_matrix[64]
uint8_t load_chroma_non_intra_quantiser_matrix
uint16_t frame_centre_horizontal_offset[3]
uint8_t load_non_intra_quantiser_matrix
uint8_t horizontal_size_extension
uint8_t picture_structure
uint8_t chroma_intra_quantiser_matrix[64]
uint8_t load_chroma_intra_quantiser_matrix
MPEG2RawSequenceDisplayExtension sequence_display
uint8_t sub_carrier_phase
uint8_t frame_rate_extension_n
uint8_t vbv_buffer_size_extension
uint8_t load_intra_quantiser_matrix
uint8_t frame_rate_extension_d
uint8_t extension_start_code
refcounted data buffer API
uint8_t chroma_non_intra_quantiser_matrix[64]
MPEG2RawSliceHeader header
A reference to a data buffer.
uint8_t user_data_start_code
uint8_t intra_dc_precision
uint8_t profile_and_level_indication
uint8_t vertical_size_extension
uint8_t matrix_coefficients