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.