Class VkVideoEncodeH264CapabilitiesKHR

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

public class VkVideoEncodeH264CapabilitiesKHR extends org.lwjgl.system.Struct<VkVideoEncodeH264CapabilitiesKHR> implements org.lwjgl.system.NativeResource
Structure describing H.264 encode capabilities.
Valid Usage (Implicit)

Layout


 struct VkVideoEncodeH264CapabilitiesKHR {
     VkStructureType sType();
     void * pNext();
     VkVideoEncodeH264CapabilityFlagsKHR 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();
     VkVideoEncodeH264StdFlagsKHR 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

    • VkVideoEncodeH264CapabilitiesKHR

      public VkVideoEncodeH264CapabilitiesKHR(ByteBuffer container)
      Creates a VkVideoEncodeH264CapabilitiesKHR 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<VkVideoEncodeH264CapabilitiesKHR>
    • 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 VkVideoEncodeH264CapabilityFlagBitsKHR indicating supported H.264 encoding capabilities.
    • maxLevelIdc

      public int maxLevelIdc()
      a StdVideoH264LevelIdc value indicating the maximum H.264 level supported by the profile, where enum constant STD_VIDEO_H264_LEVEL_IDC_&lt;major&gt;_&lt;minor&gt; identifies H.264 level &lt;major&gt;.&lt;minor&gt; as defined in section A.3 of the ITU-T H.264 Specification.
    • 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.
      Note

      As implementations may override the reference lists, maxPPictureL0ReferenceCount does not limit the number of elements that the application can specify in the L0 reference list for P pictures. However, if maxPPictureL0ReferenceCount is zero, then the use of P pictures is not allowed.

    • maxBPictureL0ReferenceCount

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

      public int maxL1ReferenceCount()
      indicates the maximum number of reference pictures the implementation supports in the reference list L1 if encoding of B pictures is supported.
      Note

      As implementations may override the reference lists, maxBPictureL0ReferenceCount and maxL1ReferenceCount does not limit the number of elements that the application can specify in the L0 and L1 reference lists for B pictures. However, if maxBPictureL0ReferenceCount and maxL1ReferenceCount are both zero, then the use of B pictures is not allowed.

    • 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 when beginning a video coding scope.
    • 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 when beginning a video coding scope.
    • stdSyntaxFlags

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

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

      public VkVideoEncodeH264CapabilitiesKHR sType$Default()
    • pNext

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

      public VkVideoEncodeH264CapabilitiesKHR 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 VkVideoEncodeH264CapabilitiesKHR malloc()
      Returns a new VkVideoEncodeH264CapabilitiesKHR instance allocated with memAlloc. The instance must be explicitly freed.
    • calloc

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

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

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

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

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

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

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

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

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

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

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

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

      public static VkVideoEncodeH264CapabilitiesKHR.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new VkVideoEncodeH264CapabilitiesKHR.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.