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.

Valid Usage
  • videoSession must have memory bound to all of its memory bindings returned by GetVideoSessionMemoryRequirementsKHR for videoSession
  • Each non-negative VkVideoReferenceSlotInfoKHR::slotIndex specified in the elements of pReferenceSlots must be less than the VkVideoSessionCreateInfoKHR::maxDpbSlots specified when videoSession was created
  • Each video picture resource corresponding to any non-NULL pPictureResource member specified in the elements of pReferenceSlots must be unique within pReferenceSlots
  • If the pPictureResource member of any element of pReferenceSlots is not NULL, then the image view specified in pPictureResource→imageViewBinding for that element must be compatible with the video profile videoSession was created with
  • If the pPictureResource member of any element of pReferenceSlots is not NULL, then the format of the image view specified in pPictureResource→imageViewBinding for that element must match the VkVideoSessionCreateInfoKHR::referencePictureFormat videoSession was created with
  • If the pPictureResource member of any element of pReferenceSlots is not NULL, then its codedOffset member must be an integer multiple of codedOffsetGranularity
  • If the pPictureResource member of any element of pReferenceSlots is not NULL, then its codedExtent member must be between minCodedExtent and maxCodedExtent, inclusive, videoSession was created with
  • If VkVideoCapabilitiesKHR::flags does not include VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR, as returned by GetPhysicalDeviceVideoCapabilitiesKHR for the video profile videoSession was created with, then pPictureResource→imageViewBinding of all elements of pReferenceSlots with a non-NULL pPictureResource member must specify image views created from the same image
  • If videoSession was created with a decode operation and the slotIndex member of any element of pReferenceSlots is not negative, then the image view specified in pPictureResource→imageViewBinding for that element must have been created with IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR
  • If videoSession was created with an encode operation and the slotIndex member of any element of pReferenceSlots is not negative, then the image view specified in pPictureResource→imageViewBinding for that element must have been created with IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR
  • If videoSession was created with the video codec operation VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR, then videoSessionParameters must not be NULL_HANDLE
  • If videoSession was created with the video codec operation VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR, then videoSessionParameters must not be NULL_HANDLE
  • If videoSession was created with the video codec operation VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR, then videoSessionParameters must not be NULL_HANDLE
  • If videoSession was created with the video codec operation VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR, then videoSessionParameters must not be NULL_HANDLE
  • If videoSession was created with the video codec operation VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR, then videoSessionParameters must not be NULL_HANDLE
  • If videoSession was created with the video codec operation VIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR, then videoSessionParameters must not be NULL_HANDLE
  • If videoSessionParameters is not NULL_HANDLE, it must have been created with videoSession specified in VkVideoSessionParametersCreateInfoKHR::videoSession
Valid Usage (Implicit)
See Also

VkVideoReferenceSlotInfoKHR, CmdBeginVideoCodingKHR

Layout


 struct VkVideoBeginCodingInfoKHR {
     VkStructureType sType();
     void const * pNext();
     VkVideoBeginCodingFlagsKHR flags();
     VkVideoSessionKHR videoSession();
     VkVideoSessionParametersKHR videoSessionParameters();
     uint32_t referenceSlotCount();
     VkVideoReferenceSlotInfoKHR const * pReferenceSlots();
 }