Class VkVideoEncodeH264RateControlInfoEXT

  • All Implemented Interfaces:
    java.lang.AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

    public class VkVideoEncodeH264RateControlInfoEXT
    extends org.lwjgl.system.Struct
    implements org.lwjgl.system.NativeResource
    Structure describing H.264 stream rate control parameters.
    Description

    In order to provide H.264-specific stream rate control parameters, add a VkVideoEncodeH264RateControlInfoEXT structure to the pNext chain of the VkVideoEncodeRateControlInfoKHR structure in the pNext chain of the VkVideoCodingControlInfoKHR structure passed to the CmdControlVideoCodingKHR command.

    The parameters from this structure act as a guidance for implementations to apply various rate control heuristics.

    It is possible to infer the picture type to be used when encoding a frame, on the basis of the values provided for consecutiveBFrameCount, idrPeriod, and gopFrameCount, but this inferred picture type will not be used by implementations to override the picture type provided in CmdEncodeVideoKHR. Additionally, it is not required for the video session to be reset if the inferred picture type does not match the actual picture type.

    Valid Usage (Implicit)

    Layout

    
     struct VkVideoEncodeH264RateControlInfoEXT {
         VkStructureType sType();
         void const * pNext();
         uint32_t gopFrameCount();
         uint32_t idrPeriod();
         uint32_t consecutiveBFrameCount();
         VkVideoEncodeH264RateControlStructureFlagBitsEXT rateControlStructure();
         uint8_t temporalLayerCount();
     }
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • STYPE, PNEXT, GOPFRAMECOUNT, IDRPERIOD, CONSECUTIVEBFRAMECOUNT, RATECONTROLSTRUCTURE, TEMPORALLAYERCOUNT

        The struct member offsets.
    • Constructor Detail

      • VkVideoEncodeH264RateControlInfoEXT

        public VkVideoEncodeH264RateControlInfoEXT​(java.nio.ByteBuffer container)
        Creates a VkVideoEncodeH264RateControlInfoEXT 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.