Class VkVideoDecodeH264PictureInfoKHR
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
This structure is specified in the pNext chain of the VkVideoDecodeInfoKHR structure passed to CmdDecodeVideoKHR to specify the codec-specific picture information for an H.264 decode operation.
- Decode Output Picture Information
- If
pStdPictureInfo→flags.field_pic_flagis not set, then the picture represents a frame. - If
pStdPictureInfo→flags.field_pic_flagis set, then the picture represents a field. Specifically:- If
pStdPictureInfo→flags.bottom_field_flagis not set, then the picture represents the top field of the frame. - If
pStdPictureInfo→flags.bottom_field_flagis set, then the picture represents the bottom field of the frame.
- If
- The image subregion used is determined according to the H.264 Decode Picture Data Access section.
- The decode output picture is associated with the H.264 picture information provided in
pStdPictureInfo.
- If
- Std Picture Information
reserved1andreserved2are used only for padding purposes and are otherwise ignored;flags.is_intraas defined in section 3.73 of the ITU-T H.264 Specification;flags.is_referenceas defined in section 3.136 of the ITU-T H.264 Specification;flags.complementary_field_pairas defined in section 3.35 of the ITU-T H.264 Specification;seq_parameter_set_idandpic_parameter_set_idare used to identify the active parameter sets, as described below;- all other members are interpreted as defined in section 7.4.3 of the ITU-T H.264 Specification.
Reference picture setup is controlled by the value of StdVideoDecodeH264PictureInfo::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 pDecodeInfo→pSetupReferenceSlot→slotIndex. If StdVideoDecodeH264PictureInfo::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 active SPS is the SPS identified by the key specified in
StdVideoDecodeH264PictureInfo::seq_parameter_set_id. - The active PPS is the PPS identified by the key specified by the pair constructed from
StdVideoDecodeH264PictureInfo::seq_parameter_set_idandStdVideoDecodeH264PictureInfo::pic_parameter_set_id.
- The active SPS is the SPS identified by the key specified in
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHRpStdPictureInfomust be a valid pointer to a validStdVideoDecodeH264PictureInfovaluepSliceOffsetsmust be a valid pointer to an array ofsliceCountuint32_tvaluessliceCountmust be greater than 0
Layout
struct VkVideoDecodeH264PictureInfoKHR {
VkStructureType sType();
void const * pNext();
StdVideoDecodeH264PictureInfo const * pStdPictureInfo();
uint32_t sliceCount();
uint32_t const * pSliceOffsets();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkVideoDecodeH264PictureInfoKHRstructs.Nested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkVideoDecodeH264PictureInfoKHR(ByteBuffer container) Creates aVkVideoDecodeH264PictureInfoKHRinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkVideoDecodeH264PictureInfoKHRinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkVideoDecodeH264PictureInfoKHR.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeH264PictureInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeH264PictureInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkVideoDecodeH264PictureInfoKHRinstance allocated withBufferUtils.create(int capacity) Returns a newVkVideoDecodeH264PictureInfoKHR.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkVideoDecodeH264PictureInfoKHRinstance for the specified memory address.create(long address, int capacity) Create aVkVideoDecodeH264PictureInfoKHR.Bufferinstance at the specified memory.static @Nullable VkVideoDecodeH264PictureInfoKHRcreateSafe(long address) static @Nullable VkVideoDecodeH264PictureInfoKHR.BuffercreateSafe(long address, int capacity) malloc()Returns a newVkVideoDecodeH264PictureInfoKHRinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkVideoDecodeH264PictureInfoKHR.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeH264PictureInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeH264PictureInfoKHRinstance allocated on the specifiedMemoryStack.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static IntBuffernpSliceOffsets(long struct) Unsafe version ofpSliceOffsets.static voidnpSliceOffsets(long struct, IntBuffer value) Unsafe version ofpSliceOffsets.npStdPictureInfo(long struct) Unsafe version ofpStdPictureInfo().static voidnpStdPictureInfo(long struct, StdVideoDecodeH264PictureInfo value) Unsafe version ofpStdPictureInfo.static intnsliceCount(long struct) Unsafe version ofsliceCount().static voidnsliceCount(long struct, int value) Sets the specified value to thesliceCountfield of the specifiedstruct.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.a pointer to an array ofsliceCountoffsets specifying the start offset of the slices of the picture within the video bitstream buffer range specified inVkVideoDecodeInfoKHR.pSliceOffsets(IntBuffer value) Sets the address of the specifiedIntBufferto thepSliceOffsets()field.a pointer to aStdVideoDecodeH264PictureInfostructure specifying H.264 picture information.Sets the address of the specifiedStdVideoDecodeH264PictureInfoto thepStdPictureInfo()field.set(int sType, long pNext, StdVideoDecodeH264PictureInfo pStdPictureInfo, IntBuffer pSliceOffsets) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intthe number of elements inpSliceOffsets.intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHRvalue to thesType()field.static voidvalidate(long struct) Validates pointer members that should not beNULL.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
PSTDPICTUREINFO
public static final int PSTDPICTUREINFOThe struct member offsets. -
SLICECOUNT
public static final int SLICECOUNTThe struct member offsets. -
PSLICEOFFSETS
public static final int PSLICEOFFSETSThe struct member offsets.
-
-
Constructor Details
-
VkVideoDecodeH264PictureInfoKHR
Creates aVkVideoDecodeH264PictureInfoKHRinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkVideoDecodeH264PictureInfoKHR>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
pStdPictureInfo
a pointer to aStdVideoDecodeH264PictureInfostructure specifying H.264 picture information. -
sliceCount
public int sliceCount()the number of elements inpSliceOffsets. -
pSliceOffsets
a pointer to an array ofsliceCountoffsets specifying the start offset of the slices of the picture within the video bitstream buffer range specified inVkVideoDecodeInfoKHR. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHRvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pStdPictureInfo
Sets the address of the specifiedStdVideoDecodeH264PictureInfoto thepStdPictureInfo()field. -
pSliceOffsets
Sets the address of the specifiedIntBufferto thepSliceOffsets()field. -
set
public VkVideoDecodeH264PictureInfoKHR set(int sType, long pNext, StdVideoDecodeH264PictureInfo pStdPictureInfo, IntBuffer pSliceOffsets) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkVideoDecodeH264PictureInfoKHRinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkVideoDecodeH264PictureInfoKHRinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkVideoDecodeH264PictureInfoKHRinstance allocated withBufferUtils. -
create
Returns a newVkVideoDecodeH264PictureInfoKHRinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkVideoDecodeH264PictureInfoKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkVideoDecodeH264PictureInfoKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkVideoDecodeH264PictureInfoKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkVideoDecodeH264PictureInfoKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkVideoDecodeH264PictureInfoKHR.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkVideoDecodeH264PictureInfoKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkVideoDecodeH264PictureInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkVideoDecodeH264PictureInfoKHR.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeH264PictureInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkVideoDecodeH264PictureInfoKHR.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeH264PictureInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
npStdPictureInfo
Unsafe version ofpStdPictureInfo(). -
nsliceCount
public static int nsliceCount(long struct) Unsafe version ofsliceCount(). -
npSliceOffsets
Unsafe version ofpSliceOffsets. -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
npStdPictureInfo
Unsafe version ofpStdPictureInfo. -
nsliceCount
public static void nsliceCount(long struct, int value) Sets the specified value to thesliceCountfield of the specifiedstruct. -
npSliceOffsets
Unsafe version ofpSliceOffsets. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-