// Copyright 2020-2024 The Khronos Group Inc. // // SPDX-License-Identifier: CC-BY-4.0 // Common H.264 Parameter Set descriptions // "operationType" attribute specifies whether this is included in the encode or decode section [[{operationType}-h264-sps]] H.264 Sequence Parameter Sets (SPS):: Represented by code:StdVideoH264SequenceParameterSet structures and interpreted as follows: * code:reserved1 and code:reserved2 are used only for padding purposes and are otherwise ignored; * code:seq_parameter_set_id is used as the key of the SPS entry; * code:level_idc is one of the enum constants `STD_VIDEO_H264_LEVEL_IDC__` identifying the H.264 level `.` as defined in section A.3 of the <>; * if code:flags.seq_scaling_matrix_present_flag is set, then the code:StdVideoH264ScalingLists structure pointed to by code:pScalingLists is interpreted as follows: ** code:scaling_list_present_mask is a bitmask where bit index [eq]#i# corresponds to `seq_scaling_list_present_flag[i]` as defined in section 7.4.2.1 of the <>; ** code:use_default_scaling_matrix_mask is a bitmask where bit index [eq]#i# corresponds to `UseDefaultScalingMatrix4x4Flag[i]`, when [eq]#i < 6#, or corresponds to `UseDefaultScalingMatrix8x8Flag[i-6]`, otherwise, as defined in section 7.3.2.1 of the <>; ** code:ScalingList4x4 and code:ScalingList8x8 correspond to the identically named syntax elements defined in section 7.3.2.1 of the <>; * if code:flags.vui_parameters_present_flag is set, then code:pSequenceParameterSetVui is a pointer to a code:StdVideoH264SequenceParameterSetVui structure that is interpreted as follows: ** code:reserved1 is used only for padding purposes and is otherwise ignored; ** if code:flags.nal_hrd_parameters_present_flag or code:flags.vcl_hrd_parameters_present_flag is set, then the code:StdVideoH264HrdParameters structure pointed to by code:pHrdParameters is interpreted as follows: *** code:reserved1 is used only for padding purposes and is otherwise ignored; *** all other members of code:StdVideoH264HrdParameters are interpreted as defined in section E.2.2 of the <>; ** all other members of code:StdVideoH264SequenceParameterSetVui are interpreted as defined in section E.2.1 of the <>; * all other members of code:StdVideoH264SequenceParameterSet are interpreted as defined in section 7.4.2.1 of the <>. [[{operationType}-h264-pps]] H.264 Picture Parameter Sets (PPS):: Represented by code:StdVideoH264PictureParameterSet structures and interpreted as follows: * the pair constructed from code:seq_parameter_set_id and code:pic_parameter_set_id is used as the key of the PPS entry; * if code:flags.pic_scaling_matrix_present_flag is set, then the code:StdVideoH264ScalingLists structure pointed to by code:pScalingLists is interpreted as follows: ** code:scaling_list_present_mask is a bitmask where bit index [eq]#i# corresponds to `pic_scaling_list_present_flag[i]` as defined in section 7.4.2.2 of the <>; ** code:use_default_scaling_matrix_mask is a bitmask where bit index [eq]#i# corresponds to `UseDefaultScalingMatrix4x4Flag[i]`, when [eq]#i < 6#, or corresponds to `UseDefaultScalingMatrix8x8Flag[i-6]`, otherwise, as defined in section 7.3.2.2 of the <>; ** code:ScalingList4x4 and code:ScalingList8x8 correspond to the identically named syntax elements defined in section 7.3.2.2 of the <>; * all other members of code:StdVideoH264PictureParameterSet are interpreted as defined in section 7.4.2.2 of the <>.