Record Class StdVideoEncodeH264WeightTable

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.StdVideoEncodeH264WeightTable
All Implemented Interfaces:
IPointer, IStdVideoEncodeH264WeightTable

@ValueBasedCandidate @UnsafeConstructor public record StdVideoEncodeH264WeightTable(@NotNull MemorySegment segment) extends Record implements IStdVideoEncodeH264WeightTable

Represents a pointer to a StdVideoEncodeH264WeightTable structure in native memory.

Structure

typedef struct StdVideoEncodeH264WeightTable {
    StdVideoEncodeH264WeightTableFlags flags;
    uint8_t luma_log2_weight_denom;
    uint8_t chroma_log2_weight_denom;
    int8_t[STD_VIDEO_H264_MAX_NUM_LIST_REF] luma_weight_l0;
    int8_t[STD_VIDEO_H264_MAX_NUM_LIST_REF] luma_offset_l0;
    int8_t[STD_VIDEO_H264_MAX_CHROMA_PLANES][STD_VIDEO_H264_MAX_NUM_LIST_REF] chroma_weight_l0;
    int8_t[STD_VIDEO_H264_MAX_CHROMA_PLANES][STD_VIDEO_H264_MAX_NUM_LIST_REF] chroma_offset_l0;
    int8_t[STD_VIDEO_H264_MAX_NUM_LIST_REF] luma_weight_l1;
    int8_t[STD_VIDEO_H264_MAX_NUM_LIST_REF] luma_offset_l1;
    int8_t[STD_VIDEO_H264_MAX_CHROMA_PLANES][STD_VIDEO_H264_MAX_NUM_LIST_REF] chroma_weight_l1;
    int8_t[STD_VIDEO_H264_MAX_CHROMA_PLANES][STD_VIDEO_H264_MAX_NUM_LIST_REF] chroma_offset_l1;
} StdVideoEncodeH264WeightTable;

Contracts

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.