Package org.lwjgl.vulkan
Class VkVideoBeginCodingInfoKHR
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkVideoBeginCodingInfoKHR>
org.lwjgl.vulkan.VkVideoBeginCodingInfoKHR
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkVideoBeginCodingInfoKHR
extends org.lwjgl.system.Struct<VkVideoBeginCodingInfoKHR>
implements org.lwjgl.system.NativeResource
Structure specifying video coding scope begin information.
Description
Limiting values are defined below that are referenced by the relevant valid usage statements of this structure.
- Let
VkOffset2D codedOffsetGranularitybe the minimum alignment requirement for the coded offset of video picture resources. Unless otherwise defined, the value of thexandymembers ofcodedOffsetGranularityare 0.- If
videoSessionwas created with an H.264 decode profile with aVkVideoDecodeH264ProfileInfoKHR::pictureLayoutofVIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR, thencodedOffsetGranularityis equal toVkVideoDecodeH264CapabilitiesKHR::fieldOffsetGranularity, as returned byGetPhysicalDeviceVideoCapabilitiesKHRfor that video profile.
- If
Valid Usage
videoSessionmust have memory bound to all of its memory bindings returned byGetVideoSessionMemoryRequirementsKHRforvideoSession- Each non-negative
VkVideoReferenceSlotInfoKHR::slotIndexspecified in the elements ofpReferenceSlotsmust be less than theVkVideoSessionCreateInfoKHR::maxDpbSlotsspecified whenvideoSessionwas created - Each video picture resource corresponding to any non-
NULLpPictureResourcemember specified in the elements ofpReferenceSlotsmust be unique withinpReferenceSlots - If the
pPictureResourcemember of any element ofpReferenceSlotsis notNULL, then the image view specified inpPictureResource→imageViewBindingfor that element must be compatible with the video profilevideoSessionwas created with - If the
pPictureResourcemember of any element ofpReferenceSlotsis notNULL, then the format of the image view specified inpPictureResource→imageViewBindingfor that element must match theVkVideoSessionCreateInfoKHR::referencePictureFormatvideoSessionwas created with - If the
pPictureResourcemember of any element ofpReferenceSlotsis notNULL, then itscodedOffsetmember must be an integer multiple ofcodedOffsetGranularity - If the
pPictureResourcemember of any element ofpReferenceSlotsis notNULL, then itscodedExtentmember must be betweenminCodedExtentandmaxCodedExtent, inclusive,videoSessionwas created with - If
VkVideoCapabilitiesKHR::flagsdoes not includeVIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR, as returned byGetPhysicalDeviceVideoCapabilitiesKHRfor the video profilevideoSessionwas created with, thenpPictureResource→imageViewBindingof all elements ofpReferenceSlotswith a non-NULLpPictureResourcemember must specify image views created from the same image - If
videoSessionwas created with a decode operation and theslotIndexmember of any element ofpReferenceSlotsis not negative, then the image view specified inpPictureResource→imageViewBindingfor that element must have been created withIMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR - If
videoSessionwas created with an encode operation and theslotIndexmember of any element ofpReferenceSlotsis not negative, then the image view specified inpPictureResource→imageViewBindingfor that element must have been created withIMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR - If
videoSessionwas created with the video codec operationVIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR, thenvideoSessionParametersmust not beNULL_HANDLE - If
videoSessionwas created with the video codec operationVIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR, thenvideoSessionParametersmust not beNULL_HANDLE - If
videoSessionwas created with the video codec operationVIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR, thenvideoSessionParametersmust not beNULL_HANDLE - If
videoSessionwas created with the video codec operationVIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR, thenvideoSessionParametersmust not beNULL_HANDLE - If
videoSessionwas created with the video codec operationVIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR, thenvideoSessionParametersmust not beNULL_HANDLE - If
videoSessionwas created with the video codec operationVIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR, thenvideoSessionParametersmust not beNULL_HANDLE - If
videoSessionParametersis notNULL_HANDLE, it must have been created withvideoSessionspecified inVkVideoSessionParametersCreateInfoKHR::videoSession
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofVkVideoEncodeAV1GopRemainingFrameInfoKHR,VkVideoEncodeAV1RateControlInfoKHR,VkVideoEncodeH264GopRemainingFrameInfoKHR,VkVideoEncodeH264RateControlInfoKHR,VkVideoEncodeH265GopRemainingFrameInfoKHR,VkVideoEncodeH265RateControlInfoKHR, orVkVideoEncodeRateControlInfoKHR - The
sTypevalue of each struct in thepNextchain must be unique flagsmust be 0videoSessionmust be a validVkVideoSessionKHRhandle- If
videoSessionParametersis notNULL_HANDLE,videoSessionParametersmust be a validVkVideoSessionParametersKHRhandle - If
referenceSlotCountis not 0,pReferenceSlotsmust be a valid pointer to an array ofreferenceSlotCountvalidVkVideoReferenceSlotInfoKHRstructures - If
videoSessionParametersis a valid handle, it must have been created, allocated, or retrieved fromvideoSession - Both of
videoSession, andvideoSessionParametersthat are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameVkDevice
See Also
VkVideoReferenceSlotInfoKHR, CmdBeginVideoCodingKHR
Layout
struct VkVideoBeginCodingInfoKHR {
VkStructureType sType();
void const * pNext();
VkVideoBeginCodingFlagsKHR flags();
VkVideoSessionKHR videoSession();
VkVideoSessionParametersKHR videoSessionParameters();
uint32_t referenceSlotCount();
VkVideoReferenceSlotInfoKHR const * pReferenceSlots();
}-
Nested Class Summary
Nested ClassesNested 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 member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.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
ConstructorsConstructorDescriptionVkVideoBeginCodingInfoKHR(ByteBuffer container) Creates aVkVideoBeginCodingInfoKHRinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkVideoBeginCodingInfoKHRcalloc()Returns a newVkVideoBeginCodingInfoKHRinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkVideoBeginCodingInfoKHR.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoBeginCodingInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkVideoBeginCodingInfoKHRcalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVideoBeginCodingInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkVideoBeginCodingInfoKHRcreate()Returns a newVkVideoBeginCodingInfoKHRinstance allocated withBufferUtils.create(int capacity) Returns a newVkVideoBeginCodingInfoKHR.Bufferinstance allocated withBufferUtils.static VkVideoBeginCodingInfoKHRcreate(long address) Returns a newVkVideoBeginCodingInfoKHRinstance for the specified memory address.create(long address, int capacity) Create aVkVideoBeginCodingInfoKHR.Bufferinstance at the specified memory.static @Nullable VkVideoBeginCodingInfoKHRcreateSafe(long address) static @Nullable VkVideoBeginCodingInfoKHR.BuffercreateSafe(long address, int capacity) intflags()reserved for future use.flags(int value) Sets the specified value to theflags()field.static VkVideoBeginCodingInfoKHRmalloc()Returns a newVkVideoBeginCodingInfoKHRinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkVideoBeginCodingInfoKHR.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoBeginCodingInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.static VkVideoBeginCodingInfoKHRmalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVideoBeginCodingInfoKHRinstance allocated on the specifiedMemoryStack.static intnflags(long struct) Unsafe version offlags().static voidnflags(long struct, int value) Unsafe version offlags.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static @Nullable VkVideoReferenceSlotInfoKHR.BuffernpReferenceSlots(long struct) Unsafe version ofpReferenceSlots().static voidnpReferenceSlots(long struct, @Nullable VkVideoReferenceSlotInfoKHR.Buffer value) Unsafe version ofpReferenceSlots.static intnreferenceSlotCount(long struct) Unsafe version ofreferenceSlotCount().static voidnreferenceSlotCount(long struct, int value) Sets the specified value to thereferenceSlotCountfield of the specifiedstruct.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.static longnvideoSession(long struct) Unsafe version ofvideoSession().static voidnvideoSession(long struct, long value) Unsafe version ofvideoSession.static longnvideoSessionParameters(long struct) Unsafe version ofvideoSessionParameters().static voidnvideoSessionParameters(long struct, long value) Unsafe version ofvideoSessionParameters.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.Prepends the specifiedVkVideoEncodeAV1GopRemainingFrameInfoKHRvalue to thepNextchain.Prepends the specifiedVkVideoEncodeAV1RateControlInfoKHRvalue to thepNextchain.Prepends the specifiedVkVideoEncodeH264GopRemainingFrameInfoKHRvalue to thepNextchain.Prepends the specifiedVkVideoEncodeH264RateControlInfoKHRvalue to thepNextchain.Prepends the specifiedVkVideoEncodeH265GopRemainingFrameInfoKHRvalue to thepNextchain.Prepends the specifiedVkVideoEncodeH265RateControlInfoKHRvalue to thepNextchain.Prepends the specifiedVkVideoEncodeRateControlInfoKHRvalue to thepNextchain.@Nullable VkVideoReferenceSlotInfoKHR.Buffera pointer to an array ofVkVideoReferenceSlotInfoKHRstructures specifying the information used to determine the set of bound reference picture resources for the video coding scope and their initial association with DPB slot indices.pReferenceSlots(@Nullable VkVideoReferenceSlotInfoKHR.Buffer value) Sets the address of the specifiedVkVideoReferenceSlotInfoKHR.Bufferto thepReferenceSlots()field.intthe number of elements in thepReferenceSlotsarray.set(int sType, long pNext, int flags, long videoSession, long videoSessionParameters, @Nullable VkVideoReferenceSlotInfoKHR.Buffer pReferenceSlots) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHRvalue to thesType()field.static voidvalidate(long struct) Validates pointer members that should not beNULL.longthe video session object to be bound for the processing of the video commands.videoSession(long value) Sets the specified value to thevideoSession()field.longNULL_HANDLEor a handle of aVkVideoSessionParametersKHRobject to be used for the processing of the video commands.videoSessionParameters(long value) Sets the specified value to thevideoSessionParameters()field.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. -
FLAGS
public static final int FLAGSThe struct member offsets. -
VIDEOSESSION
public static final int VIDEOSESSIONThe struct member offsets. -
VIDEOSESSIONPARAMETERS
public static final int VIDEOSESSIONPARAMETERSThe struct member offsets. -
REFERENCESLOTCOUNT
public static final int REFERENCESLOTCOUNTThe struct member offsets. -
PREFERENCESLOTS
public static final int PREFERENCESLOTSThe struct member offsets.
-
-
Constructor Details
-
VkVideoBeginCodingInfoKHR
Creates aVkVideoBeginCodingInfoKHRinstance 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<VkVideoBeginCodingInfoKHR>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
flags
public int flags()reserved for future use. -
videoSession
public long videoSession()the video session object to be bound for the processing of the video commands. -
videoSessionParameters
public long videoSessionParameters()NULL_HANDLEor a handle of aVkVideoSessionParametersKHRobject to be used for the processing of the video commands. IfNULL_HANDLE, then no video session parameters object is bound for the duration of the video coding scope. -
referenceSlotCount
public int referenceSlotCount()the number of elements in thepReferenceSlotsarray. -
pReferenceSlots
a pointer to an array ofVkVideoReferenceSlotInfoKHRstructures specifying the information used to determine the set of bound reference picture resources for the video coding scope and their initial association with DPB slot indices. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHRvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pNext
Prepends the specifiedVkVideoEncodeAV1GopRemainingFrameInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkVideoEncodeAV1RateControlInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkVideoEncodeH264GopRemainingFrameInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkVideoEncodeH264RateControlInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkVideoEncodeH265GopRemainingFrameInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkVideoEncodeH265RateControlInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkVideoEncodeRateControlInfoKHRvalue to thepNextchain. -
flags
Sets the specified value to theflags()field. -
videoSession
Sets the specified value to thevideoSession()field. -
videoSessionParameters
Sets the specified value to thevideoSessionParameters()field. -
pReferenceSlots
public VkVideoBeginCodingInfoKHR pReferenceSlots(@Nullable VkVideoReferenceSlotInfoKHR.Buffer value) Sets the address of the specifiedVkVideoReferenceSlotInfoKHR.Bufferto thepReferenceSlots()field. -
set
public VkVideoBeginCodingInfoKHR set(int sType, long pNext, int flags, long videoSession, long videoSessionParameters, @Nullable VkVideoReferenceSlotInfoKHR.Buffer pReferenceSlots) 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 newVkVideoBeginCodingInfoKHRinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkVideoBeginCodingInfoKHRinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkVideoBeginCodingInfoKHRinstance allocated withBufferUtils. -
create
Returns a newVkVideoBeginCodingInfoKHRinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkVideoBeginCodingInfoKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkVideoBeginCodingInfoKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkVideoBeginCodingInfoKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkVideoBeginCodingInfoKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newVkVideoBeginCodingInfoKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkVideoBeginCodingInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkVideoBeginCodingInfoKHR.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoBeginCodingInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkVideoBeginCodingInfoKHR.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoBeginCodingInfoKHR.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(). -
nflags
public static int nflags(long struct) Unsafe version offlags(). -
nvideoSession
public static long nvideoSession(long struct) Unsafe version ofvideoSession(). -
nvideoSessionParameters
public static long nvideoSessionParameters(long struct) Unsafe version ofvideoSessionParameters(). -
nreferenceSlotCount
public static int nreferenceSlotCount(long struct) Unsafe version ofreferenceSlotCount(). -
npReferenceSlots
Unsafe version ofpReferenceSlots(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nflags
public static void nflags(long struct, int value) Unsafe version offlags. -
nvideoSession
public static void nvideoSession(long struct, long value) Unsafe version ofvideoSession. -
nvideoSessionParameters
public static void nvideoSessionParameters(long struct, long value) Unsafe version ofvideoSessionParameters. -
nreferenceSlotCount
public static void nreferenceSlotCount(long struct, int value) Sets the specified value to thereferenceSlotCountfield of the specifiedstruct. -
npReferenceSlots
public static void npReferenceSlots(long struct, @Nullable VkVideoReferenceSlotInfoKHR.Buffer value) Unsafe version ofpReferenceSlots. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-