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
-
sType
is a VkStructureType value identifying this structure. -
pNext
isNULL
or a pointer to a structure extending this structure. -
naluSliceSegmentEntryCount
is the number of elements inpNaluSliceSegmentEntries
. -
pNaluSliceSegmentEntries
is a pointer to an array ofnaluSliceSegmentEntryCount
VkVideoEncodeH265NaluSliceSegmentInfoKHR structures specifying the parameters of the individual H.265 slice segments to encode for the input picture. -
pStdPictureInfo
is a pointer to aStdVideoEncodeH265PictureInfo
structure 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
pNext
chain 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
StdVideoEncodeH265PictureInfo
structure pointed to bypStdPictureInfo
are interpreted as follows:-
flags.reserved
andreserved1
are used only for padding purposes and are otherwise ignored; -
flags.is_reference
as defined in section 3.132 of the ITU-T H.265 Specification; -
flags.IrapPicFlag
as defined in section 3.73 of the ITU-T H.265 Specification; -
flags.used_for_long_term_reference
is 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_flag
andcross_layer_bla_flag
as defined in section F.7.4.7.1 of the ITU-T H.265 Specification; -
pic_type
as 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_id
are used to identify the active parameter sets, as described below; -
PicOrderCntVal
as defined in section 8.3.1 of the ITU-T H.265 Specification; -
TemporalId
as defined in section 7.4.2.2 of the ITU-T H.265 Specification; -
if
pRefLists
is notNULL
, then it is a pointer to aStdVideoEncodeH265ReferenceListsInfo
structure that is interpreted as follows:-
flags.reserved
is used only for padding purposes and is otherwise ignored; -
ref_pic_list_modification_flag_l0
andref_pic_list_modification_flag_l1
as defined in section 7.4.7.2 of the ITU-T H.265 Specification; -
num_ref_idx_l0_active_minus1
andnum_ref_idx_l1_active_minus1
as defined in section 7.4.7.1 of the ITU-T H.265 Specification; -
RefPicList0
andRefPicList1
as 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_PICTURE
to indicate “no reference picture”; -
list_entry_l0
andlist_entry_l1
as defined in section 7.4.7.2 of the ITU-T H.265 Specification;
-
-
if
flags.short_term_ref_pic_set_sps_flag
is set, then theStdVideoH265ShortTermRefPicSet
structure pointed to bypShortTermRefPicSet
is interpreted as defined for the elements of thepShortTermRefPicSet
array specified in H.265 sequence parameter sets. -
if
flags.long_term_ref_pics_present_flag
is set in the active SPS, then theStdVideoEncodeH265LongTermRefPics
structure pointed to bypLongTermRefPics
is interpreted as follows:-
used_by_curr_pic_lt_flag
is 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
StdVideoEncodeH265LongTermRefPics
are 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
StdVideoEncodeH265PictureInfo
structure pointed to bypStdPictureInfo
are 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_id
andStdVideoEncodeH265PictureInfo
::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_type
isSTD_VIDEO_H265_SLICE_TYPE_P
andweighted_pred_flag
is enabled in the active PPS. -
pStdSliceSegmentHeader->slice_type
isSTD_VIDEO_H265_SLICE_TYPE_B
andweighted_bipred_flag
is 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.