C Specification
The VkVideoEncodeH265PictureInfoKHR structure is defined as:
// Provided by VK_KHR_video_encode_h265
typedef struct VkVideoEncodeH265PictureInfoKHR {
VkStructureType sType;
const void* pNext;
uint32_t naluSliceSegmentEntryCount;
const VkVideoEncodeH265NaluSliceSegmentInfoKHR* pNaluSliceSegmentEntries;
const StdVideoEncodeH265PictureInfo* pStdPictureInfo;
} VkVideoEncodeH265PictureInfoKHR;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
naluSliceSegmentEntryCountis the number of elements inpNaluSliceSegmentEntries. -
pNaluSliceSegmentEntriesis a pointer to an array ofnaluSliceSegmentEntryCountVkVideoEncodeH265NaluSliceSegmentInfoKHR structures specifying the parameters of the individual H.265 slice segments to encode for the input picture. -
pStdPictureInfois a pointer to aStdVideoEncodeH265PictureInfostructure specifying H.265 picture information.
Description
This structure is specified in the pNext chain of the
VkVideoEncodeInfoKHR structure passed to vkCmdEncodeVideoKHR to
specify the codec-specific picture information for an H.265
encode operation.
- Encode Input Picture Information
-
When this structure is specified in the
pNextchain of the VkVideoEncodeInfoKHR structure passed to vkCmdEncodeVideoKHR, the information related to the encode input picture is defined as follows:-
The image subregion used is determined according to the H.265 Encode Picture Data Access section.
-
The encode input picture is associated with the H.265 picture information provided in
pStdPictureInfo.
-
- Std Picture Information
-
The members of the
StdVideoEncodeH265PictureInfostructure pointed to bypStdPictureInfoare interpreted as follows:-
flags.reservedandreserved1are used only for padding purposes and are otherwise ignored; -
flags.is_referenceas defined in section 3.132 of the ITU-T H.265 Specification; -
flags.IrapPicFlagas defined in section 3.73 of the ITU-T H.265 Specification; -
flags.used_for_long_term_referenceis used to indicate whether the picture is marked as “used for long-term reference” as defined in section 8.3.2 of the ITU-T H.265 Specification; -
flags.discardable_flagandcross_layer_bla_flagas defined in section F.7.4.7.1 of the ITU-T H.265 Specification; -
pic_typeas defined in section 7.4.3.5 of the ITU-T H.265 Specification; -
sps_video_parameter_set_id,pps_seq_parameter_set_id, andpps_pic_parameter_set_idare used to identify the active parameter sets, as described below; -
PicOrderCntValas defined in section 8.3.1 of the ITU-T H.265 Specification; -
TemporalIdas defined in section 7.4.2.2 of the ITU-T H.265 Specification; -
if
pRefListsis notNULL, then it is a pointer to aStdVideoEncodeH265ReferenceListsInfostructure that is interpreted as follows:-
flags.reservedis used only for padding purposes and is otherwise ignored; -
ref_pic_list_modification_flag_l0andref_pic_list_modification_flag_l1as defined in section 7.4.7.2 of the ITU-T H.265 Specification; -
num_ref_idx_l0_active_minus1andnum_ref_idx_l1_active_minus1as defined in section 7.4.7.1 of the ITU-T H.265 Specification; -
RefPicList0andRefPicList1as defined in section 8.3.4 of the ITU-T H.265 Specification where each element of these arrays either identifies an active reference picture using its DPB slot index or contains the valueSTD_VIDEO_H265_NO_REFERENCE_PICTUREto indicate “no reference picture”; -
list_entry_l0andlist_entry_l1as defined in section 7.4.7.2 of the ITU-T H.265 Specification;
-
-
if
flags.short_term_ref_pic_set_sps_flagis set, then theStdVideoH265ShortTermRefPicSetstructure pointed to bypShortTermRefPicSetis interpreted as defined for the elements of thepShortTermRefPicSetarray specified in H.265 sequence parameter sets. -
if
flags.long_term_ref_pics_present_flagis set in the active SPS, then theStdVideoEncodeH265LongTermRefPicsstructure pointed to bypLongTermRefPicsis interpreted as follows:-
used_by_curr_pic_lt_flagis a bitmask where bit index i corresponds toused_by_curr_pic_lt_flag[i]as defined in section 7.4.7.1 of the ITU-T H.265 Specification; -
all other members of
StdVideoEncodeH265LongTermRefPicsare interpreted as defined in section 7.4.7.1 of the ITU-T H.265 Specification;
-
-
all other members are interpreted as defined in section 7.4.7.1 of the ITU-T H.265 Specification.
-
Reference picture setup is controlled by the value of
StdVideoEncodeH265PictureInfo::flags.is_reference.
If it is set and a reconstructed
picture is specified, then the latter is used as the target of picture
reconstruction to activate the DPB slot
specified in pEncodeInfo->pSetupReferenceSlot->slotIndex.
If StdVideoEncodeH265PictureInfo::flags.is_reference is not set,
but a reconstructed picture is
specified, then the corresponding picture reference associated with the
DPB slot is invalidated, as described in the
DPB Slot States section.
- Active Parameter Sets
-
The members of the
StdVideoEncodeH265PictureInfostructure pointed to bypStdPictureInfoare used to select the active parameter sets to use from the bound video session parameters object, as follows:-
The active VPS is the VPS identified by the key specified in
StdVideoEncodeH265PictureInfo::sps_video_parameter_set_id. -
The active SPS is the SPS identified by the key specified by the pair constructed from
StdVideoEncodeH265PictureInfo::sps_video_parameter_set_idandStdVideoEncodeH265PictureInfo::pps_seq_parameter_set_id. -
The active PPS is the PPS identified by the key specified by the triplet constructed from
StdVideoEncodeH265PictureInfo::sps_video_parameter_set_id,StdVideoEncodeH265PictureInfo::pps_seq_parameter_set_id, andStdVideoEncodeH265PictureInfo::pps_pic_parameter_set_id.
-
H.265 encoding uses explicit weighted sample prediction for a slice
segment, as defined in section 8.5.3.3.4 of the ITU-T H.265
Specification, if any of the following conditions are true for the active
PPS and the pStdSliceSegmentHeader member of the
corresponding element of pNaluSliceSegmentEntries:
-
pStdSliceSegmentHeader->slice_typeisSTD_VIDEO_H265_SLICE_TYPE_Pandweighted_pred_flagis enabled in the active PPS. -
pStdSliceSegmentHeader->slice_typeisSTD_VIDEO_H265_SLICE_TYPE_Bandweighted_bipred_flagis enabled in the active PPS.
The number of H.265 tiles, as defined in section 3.174 of the ITU-T H.265 Specification, is derived from the
num_tile_columns_minus1 and num_tile_rows_minus1 members of the
active PPS as follows:
-
(
num_tile_columns_minus1+ 1) × (num_tile_rows_minus1+ 1)
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.