FFmpeg: libavcodec/h264_ps.h Source File
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 /**
20 * @file
21 * H.264 parameter set handling
22 */
23
24 #ifndef AVCODEC_H264_PS_H
25 #define AVCODEC_H264_PS_H
26
27 #include <stdint.h>
28
31
36
37 #define MAX_SPS_COUNT 32
38 #define MAX_PPS_COUNT 256
39 #define MAX_LOG2_MAX_FRAME_NUM (12 + 4)
40
41 /**
42 * Sequence parameter set
43 */
60 ///< (pic_height_in_map_units_minus1 + 1) * (2 - frame_mbs_only_flag)
63 int mb_aff;
///< mb_adaptive_frame_field_flag
65 int crop;
///< frame_cropping_flag
66
67 /* those 4 are already in luma samples */
68 unsigned int crop_left;
///< frame_cropping_rect_left_offset
69 unsigned int crop_right;
///< frame_cropping_rect_right_offset
70 unsigned int crop_top;
///< frame_cropping_rect_top_offset
71 unsigned int crop_bottom;
///< frame_cropping_rect_bottom_offset
74
106
107 /**
108 * Picture parameter set
109 */
113 int cabac;
///< entropy_coding_mode_flag
117 unsigned int ref_count[2];
///< num_ref_idx_l0/1_active_minus1 + 1
135
140
143
147
148 /* currently active parameters sets */
150 const SPS *
sps;
///< ordinary pointer, no RefStruct reference
151
154
155 /**
156 * compute profile from sps
157 */
159
160 /**
161 * Decode SPS
162 */
165
166 /**
167 * Decode PPS
168 */
171
172 /**
173 * Uninit H264 param sets structure.
174 */
176
177 #endif /* AVCODEC_H264_PS_H */
const SPS * sps_list[MAX_SPS_COUNT]
RefStruct references.
int32_t offset_for_ref_frame[256]
int cpb_removal_delay_length
cpb_removal_delay_length_minus1 + 1
int scaling_matrix_present
unsigned int crop_bottom
frame_cropping_rect_bottom_offset
const SPS * sps
ordinary pointer, no RefStruct reference
uint8_t scaling_matrix4[6][16]
int mb_width
pic_width_in_mbs_minus1 + 1
int offset_for_non_ref_pic
const PPS * pps_list[MAX_PPS_COUNT]
RefStruct references.
unsigned int crop_right
frame_cropping_rect_right_offset
int chroma_qp_index_offset[2]
unsigned int crop_top
frame_cropping_rect_top_offset
int fixed_frame_rate_flag
uint16_t scaling_matrix_present_mask
uint32_t bit_rate_value[32]
bit_rate_value_minus1 + 1
int poc_type
pic_order_cnt_type
int constrained_intra_pred
constrained_intra_pred_flag
int redundant_pic_cnt_present
redundant_pic_cnt_present_flag
int ff_h264_decode_seq_parameter_set(GetBitContext *gb, AVCodecContext *avctx, H264ParamSets *ps, int ignore_truncation)
Decode SPS.
int residual_color_transform_flag
residual_colour_transform_flag
unsigned int ref_count[2]
num_ref_idx_l0/1_active_minus1 + 1
uint8_t scaling_matrix8[6][64]
int pic_scaling_matrix_present_flag
uint32_t num_units_in_tick
int bit_depth_chroma
bit_depth_chroma_minus8 + 8
int overread_warning_printed[2]
uint16_t pic_scaling_matrix_present_mask
int transform_bypass
qpprime_y_zero_transform_bypass_flag
int deblocking_filter_parameters_present
deblocking_filter_parameters_present_flag
int direct_8x8_inference_flag
unsigned int crop_left
frame_cropping_rect_left_offset
int gaps_in_frame_num_allowed_flag
uint8_t scaling_matrix8[6][64]
int ref_frame_count
num_ref_frames
int ff_h264_decode_picture_parameter_set(GetBitContext *gb, AVCodecContext *avctx, H264ParamSets *ps, int bit_length)
Decode PPS.
int mb_aff
mb_adaptive_frame_field_flag
int cabac
entropy_coding_mode_flag
int pic_order_present
bottom_field_pic_order_in_frame_present_flag
uint32_t(*[6] dequant4_coeff)[16]
uint32_t(*[6] dequant8_coeff)[64]
void ff_h264_ps_uninit(H264ParamSets *ps)
Uninit H264 param sets structure.
int init_qp
pic_init_qp_minus26 + 26
uint32_t cpb_size_value[32]
cpb_size_value_minus1 + 1
int vcl_hrd_parameters_present_flag
int timing_info_present_flag
int poc_cycle_length
num_ref_frames_in_pic_order_cnt_cycle
int weighted_pred
weighted_pred_flag
int delta_pic_order_always_zero_flag
int offset_for_top_to_bottom_field
int crop
frame_cropping_flag
int init_qs
pic_init_qs_minus26 + 26
int initial_cpb_removal_delay_length
initial_cpb_removal_delay_length_minus1 + 1
int log2_max_poc_lsb
log2_max_pic_order_cnt_lsb_minus4
int transform_8x8_mode
transform_8x8_mode_flag
uint8_t chroma_qp_table[2][QP_MAX_NUM+1]
pre-scaled (with chroma_qp_index_offset) version of qp_table
int dpb_output_delay_length
dpb_output_delay_length_minus1 + 1
int slice_group_count
num_slice_groups_minus1 + 1
int constraint_set_flags
constraint_set[0-3]_flag
int nal_hrd_parameters_present_flag
const SPS * sps
RefStruct reference.
static int FUNC() sps(CodedBitstreamContext *ctx, RWContext *rw, H264RawSPS *current)
int max_dec_frame_buffering
main external API structure.
int vui_parameters_present_flag
int ff_h264_get_profile(const SPS *sps)
compute profile from sps
uint32_t dequant8_buffer[6][QP_MAX_NUM+1][64]
int bit_depth_luma
bit_depth_luma_minus8 + 8
int mb_slice_group_map_type
int pic_struct_present_flag
const PPS * pps
RefStruct reference.
int bitstream_restriction_flag
uint8_t scaling_matrix4[6][16]
int cpb_cnt
See H.264 E.1.2.
int log2_max_frame_num
log2_max_frame_num_minus4 + 4
uint32_t dequant4_buffer[6][QP_MAX_NUM+1][16]
Generated on Thu Sep 26 2024 23:14:58 for FFmpeg by
doxygen
1.8.17