Class KHRVideoQueue
- java.lang.Object
-
- org.lwjgl.vulkan.KHRVideoQueue
-
public class KHRVideoQueue extends java.lang.ObjectVkVideoSessionKHRVkVideoSessionParametersKHR
VK_KHR_video_queue
- Name String
VK_KHR_video_queue- Extension Type
- Device extension
- Registered Extension Number
- 24
- Revision
- 2
- Extension and Version Dependencies
- Requires Vulkan 1.0
- Requires
VK_KHR_get_physical_device_properties2 - Requires
VK_KHR_sampler_ycbcr_conversion - This is a provisional extension and must be used with caution. See the description of provisional header files for enablement and stability details.
- Contact
- Tony Zlatinski tzlatinski
Other Extension Metadata
- Last Modified Date
- 2021-03-29
- IP Status
- No known IP claims.
- Contributors
- Ahmed Abdelkhalek, AMD
- George Hao, AMD
- Jake Beju, AMD
- Piers Daniell, NVIDIA
- Srinath Kumarapuram, NVIDIA
- Tobias Hector, AMD
- Tony Zlatinski, NVIDIA
-
-
Field Summary
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static intnvkBindVideoSessionMemoryKHR(org.lwjgl.vulkan.VkDevice device, long videoSession, int videoSessionBindMemoryCount, long pVideoSessionBindMemories)Unsafe version of:BindVideoSessionMemoryKHRstatic voidnvkCmdBeginVideoCodingKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pBeginInfo)Unsafe version of:CmdBeginVideoCodingKHRstatic voidnvkCmdControlVideoCodingKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pCodingControlInfo)Unsafe version of:CmdControlVideoCodingKHRstatic voidnvkCmdEndVideoCodingKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pEndCodingInfo)Unsafe version of:CmdEndVideoCodingKHRstatic intnvkCreateVideoSessionKHR(org.lwjgl.vulkan.VkDevice device, long pCreateInfo, long pAllocator, long pVideoSession)Unsafe version of:CreateVideoSessionKHRstatic intnvkCreateVideoSessionParametersKHR(org.lwjgl.vulkan.VkDevice device, long pCreateInfo, long pAllocator, long pVideoSessionParameters)Unsafe version of:CreateVideoSessionParametersKHRstatic voidnvkDestroyVideoSessionKHR(org.lwjgl.vulkan.VkDevice device, long videoSession, long pAllocator)Unsafe version of:DestroyVideoSessionKHRstatic voidnvkDestroyVideoSessionParametersKHR(org.lwjgl.vulkan.VkDevice device, long videoSessionParameters, long pAllocator)Unsafe version of:DestroyVideoSessionParametersKHRstatic intnvkGetPhysicalDeviceVideoCapabilitiesKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, long pVideoProfile, long pCapabilities)Unsafe version of:GetPhysicalDeviceVideoCapabilitiesKHRstatic intnvkGetPhysicalDeviceVideoFormatPropertiesKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, long pVideoFormatInfo, long pVideoFormatPropertyCount, long pVideoFormatProperties)Unsafe version of:GetPhysicalDeviceVideoFormatPropertiesKHRstatic intnvkGetVideoSessionMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, long videoSession, long pVideoSessionMemoryRequirementsCount, long pVideoSessionMemoryRequirements)Unsafe version of:GetVideoSessionMemoryRequirementsKHRstatic intnvkUpdateVideoSessionParametersKHR(org.lwjgl.vulkan.VkDevice device, long videoSessionParameters, long pUpdateInfo)Unsafe version of:UpdateVideoSessionParametersKHRstatic intvkBindVideoSessionMemoryKHR(org.lwjgl.vulkan.VkDevice device, long videoSession, VkVideoBindMemoryKHR.Buffer pVideoSessionBindMemories)Bind Video Memory.static voidvkCmdBeginVideoCodingKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkVideoBeginCodingInfoKHR pBeginInfo)Start decode jobs.static voidvkCmdControlVideoCodingKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkVideoCodingControlInfoKHR pCodingControlInfo)Set encode rate control parameters.static voidvkCmdEndVideoCodingKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkVideoEndCodingInfoKHR pEndCodingInfo)End decode jobs.static intvkCreateVideoSessionKHR(org.lwjgl.vulkan.VkDevice device, VkVideoSessionCreateInfoKHR pCreateInfo, VkAllocationCallbacks pAllocator, long[] pVideoSession)Array version of:CreateVideoSessionKHRstatic intvkCreateVideoSessionKHR(org.lwjgl.vulkan.VkDevice device, VkVideoSessionCreateInfoKHR pCreateInfo, VkAllocationCallbacks pAllocator, java.nio.LongBuffer pVideoSession)Creates a video session object.static intvkCreateVideoSessionParametersKHR(org.lwjgl.vulkan.VkDevice device, VkVideoSessionParametersCreateInfoKHR pCreateInfo, VkAllocationCallbacks pAllocator, long[] pVideoSessionParameters)Array version of:CreateVideoSessionParametersKHRstatic intvkCreateVideoSessionParametersKHR(org.lwjgl.vulkan.VkDevice device, VkVideoSessionParametersCreateInfoKHR pCreateInfo, VkAllocationCallbacks pAllocator, java.nio.LongBuffer pVideoSessionParameters)Creates video session video session parameter object.static voidvkDestroyVideoSessionKHR(org.lwjgl.vulkan.VkDevice device, long videoSession, VkAllocationCallbacks pAllocator)Destroy decode session object.static voidvkDestroyVideoSessionParametersKHR(org.lwjgl.vulkan.VkDevice device, long videoSessionParameters, VkAllocationCallbacks pAllocator)Destroy video session parameters object.static intvkGetPhysicalDeviceVideoCapabilitiesKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, VkVideoProfileKHR pVideoProfile, VkVideoCapabilitiesKHR pCapabilities)Query video decode or encode capabilities.static intvkGetPhysicalDeviceVideoFormatPropertiesKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, VkPhysicalDeviceVideoFormatInfoKHR pVideoFormatInfo, int[] pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR.Buffer pVideoFormatProperties)Array version of:GetPhysicalDeviceVideoFormatPropertiesKHRstatic intvkGetPhysicalDeviceVideoFormatPropertiesKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, VkPhysicalDeviceVideoFormatInfoKHR pVideoFormatInfo, java.nio.IntBuffer pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR.Buffer pVideoFormatProperties)Query supported Video Decode and Encode image formats.static intvkGetVideoSessionMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, long videoSession, int[] pVideoSessionMemoryRequirementsCount, VkVideoGetMemoryPropertiesKHR.Buffer pVideoSessionMemoryRequirements)Array version of:GetVideoSessionMemoryRequirementsKHRstatic intvkGetVideoSessionMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, long videoSession, java.nio.IntBuffer pVideoSessionMemoryRequirementsCount, VkVideoGetMemoryPropertiesKHR.Buffer pVideoSessionMemoryRequirements)Get Memory Requirements.static intvkUpdateVideoSessionParametersKHR(org.lwjgl.vulkan.VkDevice device, long videoSessionParameters, VkVideoSessionParametersUpdateInfoKHR pUpdateInfo)Update video session video session parameter object.
-
-
-
Field Detail
-
VK_KHR_VIDEO_QUEUE_SPEC_VERSION
The extension specification version.
-
VK_KHR_VIDEO_QUEUE_EXTENSION_NAME
The extension name.
-
VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR, VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR, VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR, VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR, VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR, VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR, VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR, VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR, VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR, VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR, VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR, VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR, VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR, VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR, VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR, VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR
ExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_VIDEO_PROFILE_KHRSTRUCTURE_TYPE_VIDEO_CAPABILITIES_KHRSTRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHRSTRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHRSTRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHRSTRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHRSTRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHRSTRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHRSTRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHRSTRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHRSTRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHRSTRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHRSTRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHRSTRUCTURE_TYPE_VIDEO_PROFILES_KHRSTRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHRSTRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHRSTRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR
-
VK_OBJECT_TYPE_VIDEO_SESSION_KHR, VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR
ExtendsVkObjectType.Enum values:
-
VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR
ExtendsVkQueryType.
-
VK_QUERY_RESULT_WITH_STATUS_BIT_KHR
ExtendsVkQueryResultFlagBits.
-
VK_VIDEO_CODEC_OPERATION_INVALID_BIT_KHR
VkVideoCodecOperationFlagBitsKHR - Video codec operation typesDescription
Each decode or encode codec-specific extension extends this enumeration with the appropriate bit corresponding to the extension’s codec operation:
VIDEO_CODEC_OPERATION_INVALID_BIT_KHR- No video operations are supported for this queue family.VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT- H.264 video encode operations are supported by this queue family.VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT- H.264 video decode operations are supported by this queue family.VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT- H.265 video decode operations are supported by this queue family.
See Also
-
VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_BIT_KHR, VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR, VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR, VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR, VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR
VkVideoChromaSubsamplingFlagBitsKHR - Video chroma subsamplingDescription
VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR- the format is monochrome.VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR- the format is 4:2:0 chroma subsampled. The two chroma components are each subsampled at a factor of 2 both horizontally and vertically.VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR- the format is 4:2:2 chroma subsampled. The two chroma components are sampled at half the sample rate of luma. The horizontal chroma resolution is halved.VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR- the format is 4:4:4 chroma sampled. Each of the three YCbCr components have the same sample rate, thus there is no chroma subsampling.
Enum values:
-
VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR, VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR, VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR, VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR
VkVideoComponentBitDepthFlagBitsKHR - Video component bit depthDescription
VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR- the format component bit depth is 8 bits.VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR- the format component bit depth is 10 bits.VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR- the format component bit depth is 12 bits.
Enum values:
-
VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR, VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR
VkVideoCapabilityFlagBitsKHR - Video Decode and Encode Capability FlagsDescription
VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR- the decode or encode session supports protected content.VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR- the DPB or Reconstructed Video Picture Resources for the video session may be created as a separateVkImagefor each DPB picture. If not supported, the DPB must be created as single multi-layered image where each layer represents one of the DPB Video Picture Resources.
-
VK_VIDEO_SESSION_CREATE_DEFAULT_KHR, VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR
VkVideoSessionCreateFlagBitsKHR - Video decode or encode video session creation flagsDescription
VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR- create the video session for use with protected video content
Enum values:
-
VK_VIDEO_CODING_CONTROL_DEFAULT_KHR, VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR
VkVideoCodingControlFlagBitsKHR - Video Coding Control Command FlagsDescription
VIDEO_CODING_CONTROL_DEFAULT_KHRindicates a request for the coding control paramaters to be applied to the current state of the bound video session.VIDEO_CODING_CONTROL_RESET_BIT_KHRindicates a request for the bound video session device context to be reset before the coding control parameters are applied.
A newly created video session must be reset before use for video decode or encode operations. The reset operation returns all session DPB slots to the unused state (see DPB Slot States). For encode sessions, the reset operation returns rate control configuration to implementation default settings. After decode or encode operations are performed on a session, the reset operation may be used to return the video session device context to the same initial state as after the reset of a newly created video session. This may be used when different video sequences are processed with the same session.
-
VK_VIDEO_CODING_QUALITY_PRESET_NORMAL_BIT_KHR, VK_VIDEO_CODING_QUALITY_PRESET_POWER_BIT_KHR, VK_VIDEO_CODING_QUALITY_PRESET_QUALITY_BIT_KHR
VkVideoCodingQualityPresetFlagBitsKHR - Video codec profile typesDescription
VIDEO_CODING_QUALITY_PRESET_NORMAL_BIT_KHRdefines normal decode case.VIDEO_CODING_QUALITY_PRESET_POWER_BIT_KHRdefines power efficient case.VIDEO_CODING_QUALITY_PRESET_QUALITY_BIT_KHRdefines quality focus case.
-
VK_QUERY_RESULT_STATUS_ERROR_KHR, VK_QUERY_RESULT_STATUS_NOT_READY_KHR, VK_QUERY_RESULT_STATUS_COMPLETE_KHR
VkQueryResultStatusKHR - Specific status codes for operationsDescription
QUERY_RESULT_STATUS_NOT_READY_KHRspecifies that the query result is not yet available.QUERY_RESULT_STATUS_ERROR_KHRspecifies that operations did not complete successfully.QUERY_RESULT_STATUS_COMPLETE_KHRspecifies that operations completed successfully and the query result is available.
-
-
Method Detail
-
nvkGetPhysicalDeviceVideoCapabilitiesKHR
public static int nvkGetPhysicalDeviceVideoCapabilitiesKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, long pVideoProfile, long pCapabilities)Unsafe version of:GetPhysicalDeviceVideoCapabilitiesKHR
-
vkGetPhysicalDeviceVideoCapabilitiesKHR
public static int vkGetPhysicalDeviceVideoCapabilitiesKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, VkVideoProfileKHR pVideoProfile, VkVideoCapabilitiesKHR pCapabilities)Query video decode or encode capabilities.C Specification
To query video decode or encode capabilities for a specific codec, call:
VkResult vkGetPhysicalDeviceVideoCapabilitiesKHR( VkPhysicalDevice physicalDevice, const VkVideoProfileKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities);Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandlepVideoProfilemust be a valid pointer to a validVkVideoProfileKHRstructurepCapabilitiesmust be a valid pointer to aVkVideoCapabilitiesKHRstructure
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
physicalDevice- the physical device whose video decode or encode capabilities will be queried.pVideoProfile- a pointer to aVkVideoProfileKHRstructure with a chained codec-operation specific video profile structure.pCapabilities- a pointer to aVkVideoCapabilitiesKHRstructure in which the capabilities are returned.
-
nvkGetPhysicalDeviceVideoFormatPropertiesKHR
public static int nvkGetPhysicalDeviceVideoFormatPropertiesKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, long pVideoFormatInfo, long pVideoFormatPropertyCount, long pVideoFormatProperties)Unsafe version of:GetPhysicalDeviceVideoFormatPropertiesKHR- Parameters:
pVideoFormatPropertyCount- a pointer to an integer related to the number of video format properties available or queried, as described below.
-
vkGetPhysicalDeviceVideoFormatPropertiesKHR
public static int vkGetPhysicalDeviceVideoFormatPropertiesKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, VkPhysicalDeviceVideoFormatInfoKHR pVideoFormatInfo, java.nio.IntBuffer pVideoFormatPropertyCount, @Nullable VkVideoFormatPropertiesKHR.Buffer pVideoFormatProperties)Query supported Video Decode and Encode image formats.C Specification
To enumerate the supported output, input and DPB image formats for a specific codec operation and video profile, call:
VkResult vkGetPhysicalDeviceVideoFormatPropertiesKHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties);Description
If
pVideoFormatPropertiesisNULL, then the number of video format properties supported for the givenphysicalDeviceis returned inpVideoFormatPropertyCount. Otherwise,pVideoFormatPropertyCountmust point to a variable set by the user to the number of elements in thepVideoFormatPropertiesarray, and on return the variable is overwritten with the number of values actually written topVideoFormatProperties. If the value ofpVideoFormatPropertyCountis less than the number of video format properties supported, at mostpVideoFormatPropertyCountvalues will be written topVideoFormatProperties, andINCOMPLETEwill be returned instead ofSUCCESS, to indicate that not all the available values were returned.Valid Usage
- The
imageUsageenum ofVkPhysicalDeviceVideoFormatInfoKHRmust contain at least one of the following video image usage bit(s):IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR,IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR,IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR, orIMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR
Note:
For most use cases, only decode or encode related usage flags are going to be specified. For a use case such as transcode, if the image were to be shared between decode and encode session(s), then both decode and encode related usage flags can be set.
Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandlepVideoFormatInfomust be a valid pointer to a validVkPhysicalDeviceVideoFormatInfoKHRstructurepVideoFormatPropertyCountmust be a valid pointer to auint32_tvalue- If the value referenced by
pVideoFormatPropertyCountis not 0, andpVideoFormatPropertiesis notNULL,pVideoFormatPropertiesmust be a valid pointer to an array ofpVideoFormatPropertyCountVkVideoFormatPropertiesKHRstructures
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
VkPhysicalDeviceVideoFormatInfoKHR,VkVideoFormatPropertiesKHR- Parameters:
physicalDevice- the physical device being queried.pVideoFormatInfo- a pointer to aVkPhysicalDeviceVideoFormatInfoKHRstructure specifying the codec and video profile for which information is returned.pVideoFormatPropertyCount- a pointer to an integer related to the number of video format properties available or queried, as described below.pVideoFormatProperties- a pointer to an array ofVkVideoFormatPropertiesKHRstructures in which supported formats are returned.
- The
-
nvkCreateVideoSessionKHR
public static int nvkCreateVideoSessionKHR(org.lwjgl.vulkan.VkDevice device, long pCreateInfo, long pAllocator, long pVideoSession)Unsafe version of:CreateVideoSessionKHR
-
vkCreateVideoSessionKHR
public static int vkCreateVideoSessionKHR(org.lwjgl.vulkan.VkDevice device, VkVideoSessionCreateInfoKHR pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, java.nio.LongBuffer pVideoSession)Creates a video session object.C Specification
To create a video session object, call:
VkResult vkCreateVideoSessionKHR( VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession);Valid Usage (Implicit)
devicemust be a validVkDevicehandlepCreateInfomust be a valid pointer to a validVkVideoSessionCreateInfoKHRstructure- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure pVideoSessionmust be a valid pointer to aVkVideoSessionKHRhandle
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
device- the logical device that creates the decode or encode session object.pCreateInfo- a pointer to aVkVideoSessionCreateInfoKHRstructure containing parameters specifying the creation of the decode or encode session.pAllocator- controls host memory allocation as described in the Memory Allocation chapter.pVideoSession- a pointer to aVkVideoSessionKHRstructure specifying the decode or encode video session object which will be created by this function when it returnsSUCCESS
-
nvkDestroyVideoSessionKHR
public static void nvkDestroyVideoSessionKHR(org.lwjgl.vulkan.VkDevice device, long videoSession, long pAllocator)Unsafe version of:DestroyVideoSessionKHR
-
vkDestroyVideoSessionKHR
public static void vkDestroyVideoSessionKHR(org.lwjgl.vulkan.VkDevice device, long videoSession, @Nullable VkAllocationCallbacks pAllocator)Destroy decode session object.C Specification
To destroy a decode session object, call:
void vkDestroyVideoSessionKHR( VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator);Valid Usage (Implicit)
devicemust be a validVkDevicehandlevideoSessionmust be a validVkVideoSessionKHRhandle- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure videoSessionmust have been created, allocated, or retrieved fromdevice
See Also
- Parameters:
device- the device that was used for the creation of the video session.videoSession- the decode or encode video session to be destroyed.pAllocator- controls host memory allocation as described in the Memory Allocation chapter.
-
nvkGetVideoSessionMemoryRequirementsKHR
public static int nvkGetVideoSessionMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, long videoSession, long pVideoSessionMemoryRequirementsCount, long pVideoSessionMemoryRequirements)Unsafe version of:GetVideoSessionMemoryRequirementsKHR- Parameters:
pVideoSessionMemoryRequirementsCount- a pointer to an integer related to the number of memory heap requirements available or queried, as described below.
-
vkGetVideoSessionMemoryRequirementsKHR
public static int vkGetVideoSessionMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, long videoSession, java.nio.IntBuffer pVideoSessionMemoryRequirementsCount, @Nullable VkVideoGetMemoryPropertiesKHR.Buffer pVideoSessionMemoryRequirements)Get Memory Requirements.C Specification
To get memory requirements for a video session, call:
VkResult vkGetVideoSessionMemoryRequirementsKHR( VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pVideoSessionMemoryRequirementsCount, VkVideoGetMemoryPropertiesKHR* pVideoSessionMemoryRequirements);Description
If
pVideoSessionMemoryRequirementsisNULL, then the number of memory heap types required for the video session is returned inpVideoSessionMemoryRequirementsCount. Otherwise,pVideoSessionMemoryRequirementsCountmust point to a variable set by the user with the number of elements in thepVideoSessionMemoryRequirementsarray, and on return the variable is overwritten with the number of formats actually written topVideoSessionMemoryRequirements. IfpVideoSessionMemoryRequirementsCountis less than the number of memory heap types required for the video session, then at mostpVideoSessionMemoryRequirementsCountelements will be written topVideoSessionMemoryRequirements, andINCOMPLETEwill be returned, instead ofSUCCESS, to indicate that not all required memory heap types were returned.Valid Usage (Implicit)
devicemust be a validVkDevicehandlevideoSessionmust be a validVkVideoSessionKHRhandlepVideoSessionMemoryRequirementsCountmust be a valid pointer to auint32_tvalue- If the value referenced by
pVideoSessionMemoryRequirementsCountis not 0, andpVideoSessionMemoryRequirementsis notNULL,pVideoSessionMemoryRequirementsmust be a valid pointer to an array ofpVideoSessionMemoryRequirementsCountVkVideoGetMemoryPropertiesKHRstructures videoSessionmust have been created, allocated, or retrieved fromdevice
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
device- the logical device that owns the video session.videoSession- the video session to query.pVideoSessionMemoryRequirementsCount- a pointer to an integer related to the number of memory heap requirements available or queried, as described below.pVideoSessionMemoryRequirements-NULLor a pointer to an array ofVkVideoGetMemoryPropertiesKHRstructures in which the memory heap requirements of the video session are returned.
-
nvkBindVideoSessionMemoryKHR
public static int nvkBindVideoSessionMemoryKHR(org.lwjgl.vulkan.VkDevice device, long videoSession, int videoSessionBindMemoryCount, long pVideoSessionBindMemories)Unsafe version of:BindVideoSessionMemoryKHR- Parameters:
videoSessionBindMemoryCount- the number ofpVideoSessionBindMemoriesto be bound.
-
vkBindVideoSessionMemoryKHR
public static int vkBindVideoSessionMemoryKHR(org.lwjgl.vulkan.VkDevice device, long videoSession, VkVideoBindMemoryKHR.Buffer pVideoSessionBindMemories)Bind Video Memory.C Specification
To attach memory to a video session object, call:
VkResult vkBindVideoSessionMemoryKHR( VkDevice device, VkVideoSessionKHR videoSession, uint32_t videoSessionBindMemoryCount, const VkVideoBindMemoryKHR* pVideoSessionBindMemories);Valid Usage (Implicit)
devicemust be a validVkDevicehandlevideoSessionmust be a validVkVideoSessionKHRhandlepVideoSessionBindMemoriesmust be a valid pointer to an array ofvideoSessionBindMemoryCountvalidVkVideoBindMemoryKHRstructuresvideoSessionBindMemoryCountmust be greater than 0videoSessionmust have been created, allocated, or retrieved fromdevice
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
device- the logical device that owns the video session’s memory.videoSession- the video session to be bound with device memory.pVideoSessionBindMemories- a pointer to an array ofVkVideoBindMemoryKHRstructures specifying memory regions to be bound to a device memory heap.
-
nvkCreateVideoSessionParametersKHR
public static int nvkCreateVideoSessionParametersKHR(org.lwjgl.vulkan.VkDevice device, long pCreateInfo, long pAllocator, long pVideoSessionParameters)Unsafe version of:CreateVideoSessionParametersKHR
-
vkCreateVideoSessionParametersKHR
public static int vkCreateVideoSessionParametersKHR(org.lwjgl.vulkan.VkDevice device, VkVideoSessionParametersCreateInfoKHR pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, java.nio.LongBuffer pVideoSessionParameters)Creates video session video session parameter object.C Specification
To create a video session parameters object, call:
VkResult vkCreateVideoSessionParametersKHR( VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters);Valid Usage (Implicit)
devicemust be a validVkDevicehandlepCreateInfomust be a valid pointer to a validVkVideoSessionParametersCreateInfoKHRstructure- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure pVideoSessionParametersmust be a valid pointer to aVkVideoSessionParametersKHRhandle
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
VkAllocationCallbacks,VkVideoSessionParametersCreateInfoKHR- Parameters:
device- the logical device that was used for the creation of the video session object.pCreateInfo- a pointer toVkVideoSessionParametersCreateInfoKHRstructure specifying the video session parameters.pAllocator- controls host memory allocation as described in the Memory Allocation chapter.pVideoSessionParameters- a pointer to aVkVideoSessionParametersKHRhandle in which the video session parameters object is returned.
-
nvkUpdateVideoSessionParametersKHR
public static int nvkUpdateVideoSessionParametersKHR(org.lwjgl.vulkan.VkDevice device, long videoSessionParameters, long pUpdateInfo)Unsafe version of:UpdateVideoSessionParametersKHR
-
vkUpdateVideoSessionParametersKHR
public static int vkUpdateVideoSessionParametersKHR(org.lwjgl.vulkan.VkDevice device, long videoSessionParameters, VkVideoSessionParametersUpdateInfoKHR pUpdateInfo)Update video session video session parameter object.C Specification
To update, add, or remove video session parameters state, call:
VkResult vkUpdateVideoSessionParametersKHR( VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo);Valid Usage (Implicit)
devicemust be a validVkDevicehandlevideoSessionParametersmust be a validVkVideoSessionParametersKHRhandlepUpdateInfomust be a valid pointer to a validVkVideoSessionParametersUpdateInfoKHRstructure
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
device- the logical device that was used for the creation of the video session object.videoSessionParameters- the video session object that is going to be updated.pUpdateInfo- a pointer to aVkVideoSessionParametersUpdateInfoKHRstructure containing the session parameters update information.
-
nvkDestroyVideoSessionParametersKHR
public static void nvkDestroyVideoSessionParametersKHR(org.lwjgl.vulkan.VkDevice device, long videoSessionParameters, long pAllocator)Unsafe version of:DestroyVideoSessionParametersKHR
-
vkDestroyVideoSessionParametersKHR
public static void vkDestroyVideoSessionParametersKHR(org.lwjgl.vulkan.VkDevice device, long videoSessionParameters, @Nullable VkAllocationCallbacks pAllocator)Destroy video session parameters object.C Specification
To destroy a video session object, call:
void vkDestroyVideoSessionParametersKHR( VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator);Valid Usage (Implicit)
devicemust be a validVkDevicehandlevideoSessionParametersmust be a validVkVideoSessionParametersKHRhandle- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure
See Also
- Parameters:
device- the device the video session was created with.videoSessionParameters- the video session parameters object to be destroyed.pAllocator- controls host memory allocation as described in the Memory Allocation chapter.
-
nvkCmdBeginVideoCodingKHR
public static void nvkCmdBeginVideoCodingKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pBeginInfo)Unsafe version of:CmdBeginVideoCodingKHR
-
vkCmdBeginVideoCodingKHR
public static void vkCmdBeginVideoCodingKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkVideoBeginCodingInfoKHR pBeginInfo)Start decode jobs.C Specification
To start video decode or encode operations, call:
void vkCmdBeginVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo);Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlepBeginInfomust be a valid pointer to a validVkVideoBeginCodingInfoKHRstructurecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support decode, or encode operations - This command must only be called outside of a render pass instance
commandBuffermust be a primaryVkCommandBuffer
Host Synchronization
- Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
Command Buffer Levels Render Pass Scope Supported Queue Types Primary Outside Decode Encode See Also
- Parameters:
commandBuffer- the command buffer to be used when recording commands for the video decode or encode operations.pBeginInfo- a pointer to aVkVideoBeginCodingInfoKHRstructure.
-
nvkCmdEndVideoCodingKHR
public static void nvkCmdEndVideoCodingKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pEndCodingInfo)Unsafe version of:CmdEndVideoCodingKHR
-
vkCmdEndVideoCodingKHR
public static void vkCmdEndVideoCodingKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkVideoEndCodingInfoKHR pEndCodingInfo)End decode jobs.C Specification
To end video decode or encode operations, call:
void vkCmdEndVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo);Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlepEndCodingInfomust be a valid pointer to a validVkVideoEndCodingInfoKHRstructurecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support decode, or encode operations - This command must only be called outside of a render pass instance
commandBuffermust be a primaryVkCommandBuffer
Host Synchronization
- Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
Command Buffer Levels Render Pass Scope Supported Queue Types Primary Outside Decode Encode See Also
- Parameters:
commandBuffer- the command buffer to be filled by this function.pEndCodingInfo- a pointer to aVkVideoEndCodingInfoKHRstructure.
-
nvkCmdControlVideoCodingKHR
public static void nvkCmdControlVideoCodingKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pCodingControlInfo)Unsafe version of:CmdControlVideoCodingKHR
-
vkCmdControlVideoCodingKHR
public static void vkCmdControlVideoCodingKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkVideoCodingControlInfoKHR pCodingControlInfo)Set encode rate control parameters.C Specification
To apply dynamic controls to video decode or video encode operations, call:
void vkCmdControlVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo);Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlepCodingControlInfomust be a valid pointer to a validVkVideoCodingControlInfoKHRstructurecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support decode, or encode operations - This command must only be called outside of a render pass instance
commandBuffermust be a primaryVkCommandBuffer
Host Synchronization
- Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
Command Buffer Levels Render Pass Scope Supported Queue Types Primary Outside Decode Encode See Also
- Parameters:
commandBuffer- the command buffer to be filled by this function.pCodingControlInfo- a pointer to aVkVideoCodingControlInfoKHRstructure.
-
vkGetPhysicalDeviceVideoFormatPropertiesKHR
public static int vkGetPhysicalDeviceVideoFormatPropertiesKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, VkPhysicalDeviceVideoFormatInfoKHR pVideoFormatInfo, int[] pVideoFormatPropertyCount, @Nullable VkVideoFormatPropertiesKHR.Buffer pVideoFormatProperties)Array version of:GetPhysicalDeviceVideoFormatPropertiesKHR
-
vkCreateVideoSessionKHR
public static int vkCreateVideoSessionKHR(org.lwjgl.vulkan.VkDevice device, VkVideoSessionCreateInfoKHR pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, long[] pVideoSession)Array version of:CreateVideoSessionKHR
-
vkGetVideoSessionMemoryRequirementsKHR
public static int vkGetVideoSessionMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, long videoSession, int[] pVideoSessionMemoryRequirementsCount, @Nullable VkVideoGetMemoryPropertiesKHR.Buffer pVideoSessionMemoryRequirements)Array version of:GetVideoSessionMemoryRequirementsKHR
-
vkCreateVideoSessionParametersKHR
public static int vkCreateVideoSessionParametersKHR(org.lwjgl.vulkan.VkDevice device, VkVideoSessionParametersCreateInfoKHR pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, long[] pVideoSessionParameters)Array version of:CreateVideoSessionParametersKHR
-
-