图像参数集Picture Paramater Set PPS
第一个字节开始就表示数据内容,没有具体的长度信息,其长度根据具体里面的内容是不同的
pic_parameter_set_id | 当前PPS的ID,供slice RBSP使用 |
---|---|
seq_parameter_set_id | 当前PPS所属的SPS的ID |
entropy_coding_mode_flag | 为0时表明采用CAVLC编码 为1时表明采用CABAC编码 |
bottom_field_pic_order_in_frame_present_flag | 用于POC计算 |
num_slice_groups_minus1 | 进行图像编码时,分成几个slice group num_slice_groups_minus1加上1表示一个图像中的切片组数目.当num_slice_groups_minus1为0时,图象所有的切片属于同一组 |
slice_group_map_type | 如果num_slice_groups_minus1大于0表明会分成多个slice group此时采用该值来规定宏块的组合方式 type种类参考宏块映射 FMO openh264只支持type0 和type1 |
run_length_minus1 | |
num_ref_idx_l0_default_active_minus1 | 前向参考图像的数量 |
num_ref_idx_l1_default_active_minus1 | 后向参考图片的数量 |
weighted_pred_flag | 用于指示P,SP slice是否进行亮度的加权预测 |
weighted_bipred_idc | 用于指示B slice的加权预测,0:否 1:显式加权预测,2:隐式加权预测 |
pic_init_qp_minus26 | 用于计算初始QP(整个视频QP的初始值) |
pic_init_qs_minus26 | 用于计算SP,SI帧的初始QP |
chroma_qp_index_offset | 色度宏块db与亮度宏块y的QP差值 |
deblocking_filter_control_present_flag | 是否进行deblocking |
constrained_intra_pred_flag | 0:当宏块进行intra编码时,尽管周边宏块为inter编码,也能用于当前宏块的intra预测 1:当宏块进行intra编码时,只有为intra编码当周边宏块才能用于当前宏块的intra预测 |
redundant_pic_cnt_present_flag | 如果当前视频中冗余图像的话(SI,SP),那么这个flag应该为1 |
transform_8x8_mode_flag | 用于指示luma宏块是否以8x8的方式进行DCT变换 1:当前luma宏块进行8x8 DCT 0:当前luma宏块进行4x4 DCT |
这个标记不会作用到chroma宏块,除非序列格式为4:4:4。也就是说如果序列格式为4:2:0或者4:2:2,那么无论transform_8x8_mode_flag是什么,chroma宏块都是采用4x4 DCT。而如果序列格式为4:4:4,chroma宏块采用与luma宏块相同的DCT。如果码流中没有出现这个标记,那么这个标记的值默认为0。 | | pic_scaling_matrix_present_flag | scaling list相关 | | second_chroma_qp_index_offset | 色彩宏块Cr与亮度宏块Y的QP差值 |