Class VkVideoEncodeH264CapabilitiesEXT

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkVideoEncodeH264CapabilitiesEXT>
org.lwjgl.vulkan.VkVideoEncodeH264CapabilitiesEXT
All Implemented Interfaces:
AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

public class VkVideoEncodeH264CapabilitiesEXT extends org.lwjgl.system.Struct<VkVideoEncodeH264CapabilitiesEXT> implements org.lwjgl.system.NativeResource
Structure specifying H.264 encode capabilities.
Description

When GetPhysicalDeviceVideoCapabilitiesKHR is called to query the capabilities with parameter videoCodecOperation specified as VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT, a VkVideoEncodeH264CapabilitiesEXT structure can be chained to VkVideoCapabilitiesKHR to retrieve H.264 extension specific capabilities.

Valid Usage (Implicit)

Layout


 struct VkVideoEncodeH264CapabilitiesEXT {
     VkStructureType sType();
     void * pNext();
     VkVideoEncodeH264CapabilityFlagsEXT flags();
     StdVideoH264LevelIdc maxLevelIdc();
     uint32_t maxSliceCount();
     uint32_t maxPPictureL0ReferenceCount();
     uint32_t maxBPictureL0ReferenceCount();
     uint32_t maxL1ReferenceCount();
     uint32_t maxTemporalLayerCount();
     VkBool32 expectDyadicTemporalLayerPattern();
     int32_t minQp();
     int32_t maxQp();
     VkBool32 prefersGopRemainingFrames();
     VkBool32 requiresGopRemainingFrames();
     VkVideoEncodeH264StdFlagsEXT stdSyntaxFlags();
 }
  • Field Details

    • SIZEOF

      public static final int SIZEOF
      The struct size in bytes.
    • ALIGNOF

      public static final int ALIGNOF
      The struct alignment in bytes.
    • STYPE

      public static final int STYPE
      The struct member offsets.
    • PNEXT

      public static final int PNEXT
      The struct member offsets.
    • FLAGS

      public static final int FLAGS
      The struct member offsets.
    • MAXLEVELIDC

      public static final int MAXLEVELIDC
      The struct member offsets.
    • MAXSLICECOUNT

      public static final int MAXSLICECOUNT
      The struct member offsets.
    • MAXPPICTUREL0REFERENCECOUNT

      public static final int MAXPPICTUREL0REFERENCECOUNT
      The struct member offsets.
    • MAXBPICTUREL0REFERENCECOUNT

      public static final int MAXBPICTUREL0REFERENCECOUNT
      The struct member offsets.
    • MAXL1REFERENCECOUNT

      public static final int MAXL1REFERENCECOUNT
      The struct member offsets.
    • MAXTEMPORALLAYERCOUNT

      public static final int MAXTEMPORALLAYERCOUNT
      The struct member offsets.
    • EXPECTDYADICTEMPORALLAYERPATTERN

      public static final int EXPECTDYADICTEMPORALLAYERPATTERN
      The struct member offsets.
    • MINQP

      public static final int MINQP
      The struct member offsets.
    • MAXQP

      public static final int MAXQP
      The struct member offsets.
    • PREFERSGOPREMAININGFRAMES

      public static final int PREFERSGOPREMAININGFRAMES
      The struct member offsets.
    • REQUIRESGOPREMAININGFRAMES

      public static final int REQUIRESGOPREMAININGFRAMES
      The struct member offsets.
    • STDSYNTAXFLAGS

      public static final int STDSYNTAXFLAGS
      The struct member offsets.
  • Constructor Details

    • VkVideoEncodeH264CapabilitiesEXT

      public VkVideoEncodeH264CapabilitiesEXT(ByteBuffer container)
      Creates a VkVideoEncodeH264CapabilitiesEXT instance at the current position of the specified ByteBuffer container. 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:
      sizeof in class org.lwjgl.system.Struct<VkVideoEncodeH264CapabilitiesEXT>
    • sType

      public int sType()
      a VkStructureType value identifying this structure.
    • pNext

      public long pNext()
      NULL or a pointer to a structure extending this structure.
    • flags

      public int flags()
      a bitmask of VkVideoEncodeH264CapabilityFlagBitsEXT indicating supported H.264 encoding capabilities.
    • maxLevelIdc

      public int maxLevelIdc()
      a StdVideoH264LevelIdc value indicating the maximum H.264 level supported.
    • maxSliceCount

      public int maxSliceCount()
      indicates the maximum number of slices that can be encoded for a single picture. Further restrictions may apply to the number of slices that can be encoded for a single picture depending on other capabilities and codec-specific rules.
    • maxPPictureL0ReferenceCount

      public int maxPPictureL0ReferenceCount()
      indicates the maximum number of reference pictures the implementation supports in the reference list L0 for P pictures.
    • maxBPictureL0ReferenceCount

      public int maxBPictureL0ReferenceCount()
      indicates the maximum number of reference pictures the implementation supports in the reference list L0 for B pictures. The reported value is 0 if encoding of B pictures is not supported.
    • maxL1ReferenceCount

      public int maxL1ReferenceCount()
      reports the maximum number of reference pictures the implementation supports in the reference list L1 if encoding of B pictures is supported. The reported value is 0 if encoding of B pictures is not supported.
    • maxTemporalLayerCount

      public int maxTemporalLayerCount()
      indicates the maximum number of H.264 temporal layers supported by the implementation.
    • expectDyadicTemporalLayerPattern

      public boolean expectDyadicTemporalLayerPattern()
      indicates that the implementation’s rate control algorithms expect the application to use a dyadic temporal layer pattern when encoding multiple temporal layers.
    • minQp

      public int minQp()
      indicates the minimum QP value supported.
    • maxQp

      public int maxQp()
      indicates the maximum QP value supported.
    • prefersGopRemainingFrames

      public boolean prefersGopRemainingFrames()
      indicates that the implementation’s rate control algorithm prefers the application to specify the number of frames of each type remaining in the current group of pictures.
    • requiresGopRemainingFrames

      public boolean requiresGopRemainingFrames()
      indicates that the implementation’s rate control algorithm requires the application to specify the number of frames of each type remaining in the current group of pictures.
    • stdSyntaxFlags

      public int stdSyntaxFlags()
      a bitmask of VkVideoEncodeH264StdFlagBitsEXT indicating capabilities related to H.264 syntax elements.
    • sType

      public VkVideoEncodeH264CapabilitiesEXT sType(int value)
      Sets the specified value to the sType() field.
    • sType$Default

      public VkVideoEncodeH264CapabilitiesEXT sType$Default()
    • pNext

      public VkVideoEncodeH264CapabilitiesEXT pNext(long value)
      Sets the specified value to the pNext() field.
    • set

      public VkVideoEncodeH264CapabilitiesEXT set(int sType, long pNext)
      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

      public static VkVideoEncodeH264CapabilitiesEXT malloc()
      Returns a new VkVideoEncodeH264CapabilitiesEXT instance allocated with memAlloc. The instance must be explicitly freed.
    • calloc

      public static VkVideoEncodeH264CapabilitiesEXT calloc()
      Returns a new VkVideoEncodeH264CapabilitiesEXT instance allocated with memCalloc. The instance must be explicitly freed.
    • create

      public static VkVideoEncodeH264CapabilitiesEXT create()
      Returns a new VkVideoEncodeH264CapabilitiesEXT instance allocated with BufferUtils.
    • create

      public static VkVideoEncodeH264CapabilitiesEXT create(long address)
      Returns a new VkVideoEncodeH264CapabilitiesEXT instance for the specified memory address.
    • createSafe

      @Nullable public static VkVideoEncodeH264CapabilitiesEXT createSafe(long address)
      Like create, but returns null if address is NULL.
    • malloc

      public static VkVideoEncodeH264CapabilitiesEXT.Buffer malloc(int capacity)
      Returns a new VkVideoEncodeH264CapabilitiesEXT.Buffer instance allocated with memAlloc. The instance must be explicitly freed.
      Parameters:
      capacity - the buffer capacity
    • calloc

      public static VkVideoEncodeH264CapabilitiesEXT.Buffer calloc(int capacity)
      Returns a new VkVideoEncodeH264CapabilitiesEXT.Buffer instance allocated with memCalloc. The instance must be explicitly freed.
      Parameters:
      capacity - the buffer capacity
    • create

      public static VkVideoEncodeH264CapabilitiesEXT.Buffer create(int capacity)
      Returns a new VkVideoEncodeH264CapabilitiesEXT.Buffer instance allocated with BufferUtils.
      Parameters:
      capacity - the buffer capacity
    • create

      public static VkVideoEncodeH264CapabilitiesEXT.Buffer create(long address, int capacity)
      Create a VkVideoEncodeH264CapabilitiesEXT.Buffer instance at the specified memory.
      Parameters:
      address - the memory address
      capacity - the buffer capacity
    • createSafe

      @Nullable public static VkVideoEncodeH264CapabilitiesEXT.Buffer createSafe(long address, int capacity)
      Like create, but returns null if address is NULL.
    • malloc

      public static VkVideoEncodeH264CapabilitiesEXT malloc(org.lwjgl.system.MemoryStack stack)
      Returns a new VkVideoEncodeH264CapabilitiesEXT instance allocated on the specified MemoryStack.
      Parameters:
      stack - the stack from which to allocate
    • calloc

      public static VkVideoEncodeH264CapabilitiesEXT calloc(org.lwjgl.system.MemoryStack stack)
      Returns a new VkVideoEncodeH264CapabilitiesEXT instance allocated on the specified MemoryStack and initializes all its bits to zero.
      Parameters:
      stack - the stack from which to allocate
    • malloc

      public static VkVideoEncodeH264CapabilitiesEXT.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new VkVideoEncodeH264CapabilitiesEXT.Buffer instance allocated on the specified MemoryStack.
      Parameters:
      capacity - the buffer capacity
      stack - the stack from which to allocate
    • calloc

      public static VkVideoEncodeH264CapabilitiesEXT.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new VkVideoEncodeH264CapabilitiesEXT.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
      Parameters:
      capacity - the buffer capacity
      stack - the stack from which to allocate
    • nsType

      public static int nsType(long struct)
      Unsafe version of sType().
    • npNext

      public static long npNext(long struct)
      Unsafe version of pNext().
    • nflags

      public static int nflags(long struct)
      Unsafe version of flags().
    • nmaxLevelIdc

      public static int nmaxLevelIdc(long struct)
      Unsafe version of maxLevelIdc().
    • nmaxSliceCount

      public static int nmaxSliceCount(long struct)
      Unsafe version of maxSliceCount().
    • nmaxPPictureL0ReferenceCount

      public static int nmaxPPictureL0ReferenceCount(long struct)
    • nmaxBPictureL0ReferenceCount

      public static int nmaxBPictureL0ReferenceCount(long struct)
    • nmaxL1ReferenceCount

      public static int nmaxL1ReferenceCount(long struct)
      Unsafe version of maxL1ReferenceCount().
    • nmaxTemporalLayerCount

      public static int nmaxTemporalLayerCount(long struct)
      Unsafe version of maxTemporalLayerCount().
    • nexpectDyadicTemporalLayerPattern

      public static int nexpectDyadicTemporalLayerPattern(long struct)
    • nminQp

      public static int nminQp(long struct)
      Unsafe version of minQp().
    • nmaxQp

      public static int nmaxQp(long struct)
      Unsafe version of maxQp().
    • nprefersGopRemainingFrames

      public static int nprefersGopRemainingFrames(long struct)
      Unsafe version of prefersGopRemainingFrames().
    • nrequiresGopRemainingFrames

      public static int nrequiresGopRemainingFrames(long struct)
      Unsafe version of requiresGopRemainingFrames().
    • nstdSyntaxFlags

      public static int nstdSyntaxFlags(long struct)
      Unsafe version of stdSyntaxFlags().
    • nsType

      public static void nsType(long struct, int value)
      Unsafe version of sType.
    • npNext

      public static void npNext(long struct, long value)
      Unsafe version of pNext.