Class VkVideoProfileInfoKHR
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
Video profiles are provided as input to video capability queries such as GetPhysicalDeviceVideoCapabilitiesKHR or GetPhysicalDeviceVideoFormatPropertiesKHR, as well as when creating resources to be used by video coding operations such as images, buffers, query pools, and video sessions.
The full description of a video profile is specified by an instance of this structure, and the codec-specific and auxiliary structures provided in its pNext chain.
When this structure is specified as an input parameter to GetPhysicalDeviceVideoCapabilitiesKHR, or through the pProfiles member of a VkVideoProfileListInfoKHR structure in the pNext chain of the input parameter of a query command such as GetPhysicalDeviceVideoFormatPropertiesKHR or GetPhysicalDeviceImageFormatProperties2, the following error codes indicate specific causes of the failure of the query operation:
ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHRspecifies that the requested video picture layout (e.g. through thepictureLayoutmember of aVkVideoDecodeH264ProfileInfoKHRstructure included in thepNextchain ofVkVideoProfileInfoKHR) is not supported.ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHRspecifies that a video profile operation specified byvideoCodecOperationis not supported.ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHRspecifies that video format parameters specified bychromaSubsampling,lumaBitDepth, orchromaBitDepthare not supported.ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHRspecifies that the codec-specific parameters corresponding to the video codec operation are not supported.
Valid Usage
chromaSubsamplingmust have a single bit setlumaBitDepthmust have a single bit set- If
chromaSubsamplingis notVIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR, thenchromaBitDepthmust have a single bit set - If
videoCodecOperationisVIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR, then thepNextchain must include aVkVideoDecodeH264ProfileInfoKHRstructure - If
videoCodecOperationisVIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR, then thepNextchain must include aVkVideoDecodeH265ProfileInfoKHRstructure - If
videoCodecOperationisVIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR, then thepNextchain must include aVkVideoDecodeAV1ProfileInfoKHRstructure - If
videoCodecOperationisVIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR, then thepNextchain must include aVkVideoEncodeH264ProfileInfoKHRstructure - If
videoCodecOperationisVIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR, then thepNextchain must include aVkVideoEncodeH265ProfileInfoKHRstructure - If
videoCodecOperationisVIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR, then thepNextchain must include aVkVideoEncodeAV1ProfileInfoKHRstructure
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHRvideoCodecOperationmust be a validVkVideoCodecOperationFlagBitsKHRvaluechromaSubsamplingmust be a valid combination ofVkVideoChromaSubsamplingFlagBitsKHRvalueschromaSubsamplingmust not be 0lumaBitDepthmust be a valid combination ofVkVideoComponentBitDepthFlagBitsKHRvalueslumaBitDepthmust not be 0chromaBitDepthmust be a valid combination ofVkVideoComponentBitDepthFlagBitsKHRvalues
See Also
VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR, VkVideoProfileListInfoKHR, VkVideoSessionCreateInfoKHR, GetPhysicalDeviceVideoCapabilitiesKHR
Layout
struct VkVideoProfileInfoKHR {
VkStructureType sType();
void const * pNext();
VkVideoCodecOperationFlagBitsKHR videoCodecOperation();
VkVideoChromaSubsamplingFlagsKHR chromaSubsampling();
VkVideoComponentBitDepthFlagsKHR lumaBitDepth();
VkVideoComponentBitDepthFlagsKHR chromaBitDepth();
}-
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.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkVideoProfileInfoKHR(ByteBuffer container) Creates aVkVideoProfileInfoKHRinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkVideoProfileInfoKHRcalloc()Returns a newVkVideoProfileInfoKHRinstance allocated withmemCalloc.static VkVideoProfileInfoKHR.Buffercalloc(int capacity) Returns a newVkVideoProfileInfoKHR.Bufferinstance allocated withmemCalloc.static VkVideoProfileInfoKHR.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoProfileInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkVideoProfileInfoKHRcalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVideoProfileInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.inta bitmask ofVkVideoComponentBitDepthFlagBitsKHRspecifying video chroma bit depth information.chromaBitDepth(int value) Sets the specified value to thechromaBitDepth()field.inta bitmask ofVkVideoChromaSubsamplingFlagBitsKHRspecifying video chroma subsampling information.chromaSubsampling(int value) Sets the specified value to thechromaSubsampling()field.static VkVideoProfileInfoKHRcreate()Returns a newVkVideoProfileInfoKHRinstance allocated withBufferUtils.static VkVideoProfileInfoKHR.Buffercreate(int capacity) Returns a newVkVideoProfileInfoKHR.Bufferinstance allocated withBufferUtils.static VkVideoProfileInfoKHRcreate(long address) Returns a newVkVideoProfileInfoKHRinstance for the specified memory address.static VkVideoProfileInfoKHR.Buffercreate(long address, int capacity) Create aVkVideoProfileInfoKHR.Bufferinstance at the specified memory.static @Nullable VkVideoProfileInfoKHRcreateSafe(long address) static @Nullable VkVideoProfileInfoKHR.BuffercreateSafe(long address, int capacity) inta bitmask ofVkVideoComponentBitDepthFlagBitsKHRspecifying video luma bit depth information.lumaBitDepth(int value) Sets the specified value to thelumaBitDepth()field.static VkVideoProfileInfoKHRmalloc()Returns a newVkVideoProfileInfoKHRinstance allocated withmemAlloc.static VkVideoProfileInfoKHR.Buffermalloc(int capacity) Returns a newVkVideoProfileInfoKHR.Bufferinstance allocated withmemAlloc.static VkVideoProfileInfoKHR.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoProfileInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.static VkVideoProfileInfoKHRmalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVideoProfileInfoKHRinstance allocated on the specifiedMemoryStack.static intnchromaBitDepth(long struct) Unsafe version ofchromaBitDepth().static voidnchromaBitDepth(long struct, int value) Unsafe version ofchromaBitDepth.static intnchromaSubsampling(long struct) Unsafe version ofchromaSubsampling().static voidnchromaSubsampling(long struct, int value) Unsafe version ofchromaSubsampling.static intnlumaBitDepth(long struct) Unsafe version oflumaBitDepth().static voidnlumaBitDepth(long struct, int value) Unsafe version oflumaBitDepth.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.static intnvideoCodecOperation(long struct) Unsafe version ofvideoCodecOperation().static voidnvideoCodecOperation(long struct, int value) Unsafe version ofvideoCodecOperation.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.Prepends the specifiedVkVideoDecodeAV1ProfileInfoKHRvalue to thepNextchain.Prepends the specifiedVkVideoDecodeH264ProfileInfoKHRvalue to thepNextchain.Prepends the specifiedVkVideoDecodeH265ProfileInfoKHRvalue to thepNextchain.pNext(VkVideoDecodeUsageInfoKHR value) Prepends the specifiedVkVideoDecodeUsageInfoKHRvalue to thepNextchain.Prepends the specifiedVkVideoEncodeAV1ProfileInfoKHRvalue to thepNextchain.Prepends the specifiedVkVideoEncodeH264ProfileInfoKHRvalue to thepNextchain.Prepends the specifiedVkVideoEncodeH265ProfileInfoKHRvalue to thepNextchain.pNext(VkVideoEncodeUsageInfoKHR value) Prepends the specifiedVkVideoEncodeUsageInfoKHRvalue to thepNextchain.set(int sType, long pNext, int videoCodecOperation, int chromaSubsampling, int lumaBitDepth, int chromaBitDepth) Initializes this struct with the specified values.set(VkVideoProfileInfoKHR src) 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_PROFILE_INFO_KHRvalue to thesType()field.intaVkVideoCodecOperationFlagBitsKHRvalue specifying a video codec operation.videoCodecOperation(int value) Sets the specified value to thevideoCodecOperation()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. -
VIDEOCODECOPERATION
public static final int VIDEOCODECOPERATIONThe struct member offsets. -
CHROMASUBSAMPLING
public static final int CHROMASUBSAMPLINGThe struct member offsets. -
LUMABITDEPTH
public static final int LUMABITDEPTHThe struct member offsets. -
CHROMABITDEPTH
public static final int CHROMABITDEPTHThe struct member offsets.
-
-
Constructor Details
-
VkVideoProfileInfoKHR
Creates aVkVideoProfileInfoKHRinstance 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<VkVideoProfileInfoKHR>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
videoCodecOperation
public int videoCodecOperation()aVkVideoCodecOperationFlagBitsKHRvalue specifying a video codec operation. -
chromaSubsampling
public int chromaSubsampling()a bitmask ofVkVideoChromaSubsamplingFlagBitsKHRspecifying video chroma subsampling information. -
lumaBitDepth
public int lumaBitDepth()a bitmask ofVkVideoComponentBitDepthFlagBitsKHRspecifying video luma bit depth information. -
chromaBitDepth
public int chromaBitDepth()a bitmask ofVkVideoComponentBitDepthFlagBitsKHRspecifying video chroma bit depth information. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHRvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pNext
Prepends the specifiedVkVideoDecodeAV1ProfileInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkVideoDecodeH264ProfileInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkVideoDecodeH265ProfileInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkVideoDecodeUsageInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkVideoEncodeAV1ProfileInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkVideoEncodeH264ProfileInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkVideoEncodeH265ProfileInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkVideoEncodeUsageInfoKHRvalue to thepNextchain. -
videoCodecOperation
Sets the specified value to thevideoCodecOperation()field. -
chromaSubsampling
Sets the specified value to thechromaSubsampling()field. -
lumaBitDepth
Sets the specified value to thelumaBitDepth()field. -
chromaBitDepth
Sets the specified value to thechromaBitDepth()field. -
set
public VkVideoProfileInfoKHR set(int sType, long pNext, int videoCodecOperation, int chromaSubsampling, int lumaBitDepth, int chromaBitDepth) 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 newVkVideoProfileInfoKHRinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkVideoProfileInfoKHRinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkVideoProfileInfoKHRinstance allocated withBufferUtils. -
create
Returns a newVkVideoProfileInfoKHRinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkVideoProfileInfoKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkVideoProfileInfoKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkVideoProfileInfoKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkVideoProfileInfoKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newVkVideoProfileInfoKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkVideoProfileInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
Returns a newVkVideoProfileInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
Returns a newVkVideoProfileInfoKHR.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(). -
nvideoCodecOperation
public static int nvideoCodecOperation(long struct) Unsafe version ofvideoCodecOperation(). -
nchromaSubsampling
public static int nchromaSubsampling(long struct) Unsafe version ofchromaSubsampling(). -
nlumaBitDepth
public static int nlumaBitDepth(long struct) Unsafe version oflumaBitDepth(). -
nchromaBitDepth
public static int nchromaBitDepth(long struct) Unsafe version ofchromaBitDepth(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nvideoCodecOperation
public static void nvideoCodecOperation(long struct, int value) Unsafe version ofvideoCodecOperation. -
nchromaSubsampling
public static void nchromaSubsampling(long struct, int value) Unsafe version ofchromaSubsampling. -
nlumaBitDepth
public static void nlumaBitDepth(long struct, int value) Unsafe version oflumaBitDepth. -
nchromaBitDepth
public static void nchromaBitDepth(long struct, int value) Unsafe version ofchromaBitDepth.
-