Record Class VkVideoEncodeH264CapabilitiesKHR

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkVideoEncodeH264CapabilitiesKHR
All Implemented Interfaces:
IPointer, IVkVideoEncodeH264CapabilitiesKHR

@ValueBasedCandidate @UnsafeConstructor public record VkVideoEncodeH264CapabilitiesKHR(@NotNull MemorySegment segment) extends Record implements IVkVideoEncodeH264CapabilitiesKHR

Represents a pointer to a VkVideoEncodeH264CapabilitiesKHR structure in native memory.

Structure Link icon

typedef struct VkVideoEncodeH264CapabilitiesKHR {
    VkStructureType sType;
    void* pNext; // optional
    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;
} VkVideoEncodeH264CapabilitiesKHR;

Auto initialization Link icon

This structure has the following members that can be automatically initialized:

  • sType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR

The allocate (allocate(Arena), allocate(Arena, long)) functions will automatically initialize these fields. Also, you may call autoInit() to initialize these fields manually for non-allocated instances.

Contracts Link icon

The property segment() should always be not-null (segment != NULL && !segment.equals(MemorySegment.NULL)), and properly aligned to LAYOUT.byteAlignment() bytes. To represent null pointer, you may use a Java null instead. See the documentation of IPointer.segment() for more details.

The constructor of this class is marked as UnsafeConstructor, because it does not perform any runtime check. The constructor can be useful for automatic code generators.

See Also: