Record Class StdVideoEncodeAV1PictureInfo

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.StdVideoEncodeAV1PictureInfo
All Implemented Interfaces:
IPointer, IStdVideoEncodeAV1PictureInfo

@ValueBasedCandidate @UnsafeConstructor public record StdVideoEncodeAV1PictureInfo(@NotNull MemorySegment segment) extends Record implements IStdVideoEncodeAV1PictureInfo

Represents a pointer to a StdVideoEncodeAV1PictureInfo structure in native memory.

Structure

typedef struct StdVideoEncodeAV1PictureInfo {
    StdVideoEncodeAV1PictureInfoFlags flags;
    StdVideoAV1FrameType frame_type;
    uint32_t frame_presentation_time;
    uint32_t current_frame_id;
    uint8_t order_hint;
    uint8_t primary_ref_frame;
    uint8_t refresh_frame_flags;
    uint8_t coded_denom;
    uint16_t render_width_minus_1;
    uint16_t render_height_minus_1;
    StdVideoAV1InterpolationFilter interpolation_filter;
    StdVideoAV1TxMode TxMode;
    uint8_t delta_q_res;
    uint8_t delta_lf_res;
    uint8_t[STD_VIDEO_AV1_NUM_REF_FRAMES] ref_order_hint;
    int8_t[STD_VIDEO_AV1_REFS_PER_FRAME] ref_frame_idx;
    uint8_t[3] reserved1;
    uint32_t[STD_VIDEO_AV1_REFS_PER_FRAME] delta_frame_id_minus_1;
    StdVideoAV1TileInfo const* pTileInfo;
    StdVideoAV1Quantization const* pQuantization;
    StdVideoAV1Segmentation const* pSegmentation;
    StdVideoAV1LoopFilter const* pLoopFilter;
    StdVideoAV1CDEF const* pCDEF;
    StdVideoAV1LoopRestoration const* pLoopRestoration;
    StdVideoAV1GlobalMotion const* pGlobalMotion;
    StdVideoEncodeAV1ExtensionHeader const* pExtensionHeader;
    uint32_t const* pBufferRemovalTimes;
} StdVideoEncodeAV1PictureInfo;

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.