All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.nextbreakpoint.ffmpeg4java.AVFrame Maven / Gradle / Ivy

The newest version!
// Generated by jextract

package com.nextbreakpoint.ffmpeg4java;

import java.lang.invoke.*;
import java.lang.foreign.*;
import java.nio.ByteOrder;
import java.util.*;
import java.util.function.*;
import java.util.stream.*;

import static java.lang.foreign.ValueLayout.*;
import static java.lang.foreign.MemoryLayout.PathElement.*;

/**
 * {@snippet lang=c :
 * struct AVFrame {
 *     uint8_t *data[8];
 *     int linesize[8];
 *     uint8_t **extended_data;
 *     int width;
 *     int height;
 *     int nb_samples;
 *     int format;
 *     int key_frame;
 *     enum AVPictureType pict_type;
 *     AVRational sample_aspect_ratio;
 *     int64_t pts;
 *     int64_t pkt_dts;
 *     AVRational time_base;
 *     int quality;
 *     void *opaque;
 *     int repeat_pict;
 *     int interlaced_frame;
 *     int top_field_first;
 *     int palette_has_changed;
 *     int sample_rate;
 *     AVBufferRef *buf[8];
 *     AVBufferRef **extended_buf;
 *     int nb_extended_buf;
 *     AVFrameSideData **side_data;
 *     int nb_side_data;
 *     int flags;
 *     enum AVColorRange color_range;
 *     enum AVColorPrimaries color_primaries;
 *     enum AVColorTransferCharacteristic color_trc;
 *     enum AVColorSpace colorspace;
 *     enum AVChromaLocation chroma_location;
 *     int64_t best_effort_timestamp;
 *     int64_t pkt_pos;
 *     AVDictionary *metadata;
 *     int decode_error_flags;
 *     int pkt_size;
 *     AVBufferRef *hw_frames_ctx;
 *     AVBufferRef *opaque_ref;
 *     size_t crop_top;
 *     size_t crop_bottom;
 *     size_t crop_left;
 *     size_t crop_right;
 *     AVBufferRef *private_ref;
 *     AVChannelLayout ch_layout;
 *     int64_t duration;
 * }
 * }
 */
public class AVFrame {

    AVFrame() {
        // Should not be called directly
    }

    private static final GroupLayout $LAYOUT = MemoryLayout.structLayout(
        MemoryLayout.sequenceLayout(8, Libffmpeg.C_POINTER).withName("data"),
        MemoryLayout.sequenceLayout(8, Libffmpeg.C_INT).withName("linesize"),
        Libffmpeg.C_POINTER.withName("extended_data"),
        Libffmpeg.C_INT.withName("width"),
        Libffmpeg.C_INT.withName("height"),
        Libffmpeg.C_INT.withName("nb_samples"),
        Libffmpeg.C_INT.withName("format"),
        Libffmpeg.C_INT.withName("key_frame"),
        Libffmpeg.C_INT.withName("pict_type"),
        AVRational.layout().withName("sample_aspect_ratio"),
        Libffmpeg.C_LONG_LONG.withName("pts"),
        Libffmpeg.C_LONG_LONG.withName("pkt_dts"),
        AVRational.layout().withName("time_base"),
        Libffmpeg.C_INT.withName("quality"),
        MemoryLayout.paddingLayout(4),
        Libffmpeg.C_POINTER.withName("opaque"),
        Libffmpeg.C_INT.withName("repeat_pict"),
        Libffmpeg.C_INT.withName("interlaced_frame"),
        Libffmpeg.C_INT.withName("top_field_first"),
        Libffmpeg.C_INT.withName("palette_has_changed"),
        Libffmpeg.C_INT.withName("sample_rate"),
        MemoryLayout.paddingLayout(4),
        MemoryLayout.sequenceLayout(8, Libffmpeg.C_POINTER).withName("buf"),
        Libffmpeg.C_POINTER.withName("extended_buf"),
        Libffmpeg.C_INT.withName("nb_extended_buf"),
        MemoryLayout.paddingLayout(4),
        Libffmpeg.C_POINTER.withName("side_data"),
        Libffmpeg.C_INT.withName("nb_side_data"),
        Libffmpeg.C_INT.withName("flags"),
        Libffmpeg.C_INT.withName("color_range"),
        Libffmpeg.C_INT.withName("color_primaries"),
        Libffmpeg.C_INT.withName("color_trc"),
        Libffmpeg.C_INT.withName("colorspace"),
        Libffmpeg.C_INT.withName("chroma_location"),
        MemoryLayout.paddingLayout(4),
        Libffmpeg.C_LONG_LONG.withName("best_effort_timestamp"),
        Libffmpeg.C_LONG_LONG.withName("pkt_pos"),
        Libffmpeg.C_POINTER.withName("metadata"),
        Libffmpeg.C_INT.withName("decode_error_flags"),
        Libffmpeg.C_INT.withName("pkt_size"),
        Libffmpeg.C_POINTER.withName("hw_frames_ctx"),
        Libffmpeg.C_POINTER.withName("opaque_ref"),
        Libffmpeg.C_LONG_LONG.withName("crop_top"),
        Libffmpeg.C_LONG_LONG.withName("crop_bottom"),
        Libffmpeg.C_LONG_LONG.withName("crop_left"),
        Libffmpeg.C_LONG_LONG.withName("crop_right"),
        Libffmpeg.C_POINTER.withName("private_ref"),
        AVChannelLayout.layout().withName("ch_layout"),
        Libffmpeg.C_LONG_LONG.withName("duration")
    ).withName("AVFrame");

    /**
     * The layout of this struct
     */
    public static final GroupLayout layout() {
        return $LAYOUT;
    }

    private static final SequenceLayout data$LAYOUT = (SequenceLayout)$LAYOUT.select(groupElement("data"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * uint8_t *data[8]
     * }
     */
    public static final SequenceLayout data$layout() {
        return data$LAYOUT;
    }

    private static final long data$OFFSET = 0;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * uint8_t *data[8]
     * }
     */
    public static final long data$offset() {
        return data$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * uint8_t *data[8]
     * }
     */
    public static MemorySegment data(MemorySegment struct) {
        return struct.asSlice(data$OFFSET, data$LAYOUT.byteSize());
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * uint8_t *data[8]
     * }
     */
    public static void data(MemorySegment struct, MemorySegment fieldValue) {
        MemorySegment.copy(fieldValue, 0L, struct, data$OFFSET, data$LAYOUT.byteSize());
    }

    private static long[] data$DIMS = { 8 };

    /**
     * Dimensions for array field:
     * {@snippet lang=c :
     * uint8_t *data[8]
     * }
     */
    public static long[] data$dimensions() {
        return data$DIMS;
    }
    private static final VarHandle data$ELEM_HANDLE = data$LAYOUT.varHandle(sequenceElement());

    /**
     * Indexed getter for field:
     * {@snippet lang=c :
     * uint8_t *data[8]
     * }
     */
    public static MemorySegment data(MemorySegment struct, long index0) {
        return (MemorySegment)data$ELEM_HANDLE.get(struct, 0L, index0);
    }

    /**
     * Indexed setter for field:
     * {@snippet lang=c :
     * uint8_t *data[8]
     * }
     */
    public static void data(MemorySegment struct, long index0, MemorySegment fieldValue) {
        data$ELEM_HANDLE.set(struct, 0L, index0, fieldValue);
    }

    private static final SequenceLayout linesize$LAYOUT = (SequenceLayout)$LAYOUT.select(groupElement("linesize"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int linesize[8]
     * }
     */
    public static final SequenceLayout linesize$layout() {
        return linesize$LAYOUT;
    }

    private static final long linesize$OFFSET = 64;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int linesize[8]
     * }
     */
    public static final long linesize$offset() {
        return linesize$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int linesize[8]
     * }
     */
    public static MemorySegment linesize(MemorySegment struct) {
        return struct.asSlice(linesize$OFFSET, linesize$LAYOUT.byteSize());
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int linesize[8]
     * }
     */
    public static void linesize(MemorySegment struct, MemorySegment fieldValue) {
        MemorySegment.copy(fieldValue, 0L, struct, linesize$OFFSET, linesize$LAYOUT.byteSize());
    }

    private static long[] linesize$DIMS = { 8 };

    /**
     * Dimensions for array field:
     * {@snippet lang=c :
     * int linesize[8]
     * }
     */
    public static long[] linesize$dimensions() {
        return linesize$DIMS;
    }
    private static final VarHandle linesize$ELEM_HANDLE = linesize$LAYOUT.varHandle(sequenceElement());

    /**
     * Indexed getter for field:
     * {@snippet lang=c :
     * int linesize[8]
     * }
     */
    public static int linesize(MemorySegment struct, long index0) {
        return (int)linesize$ELEM_HANDLE.get(struct, 0L, index0);
    }

    /**
     * Indexed setter for field:
     * {@snippet lang=c :
     * int linesize[8]
     * }
     */
    public static void linesize(MemorySegment struct, long index0, int fieldValue) {
        linesize$ELEM_HANDLE.set(struct, 0L, index0, fieldValue);
    }

    private static final AddressLayout extended_data$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("extended_data"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * uint8_t **extended_data
     * }
     */
    public static final AddressLayout extended_data$layout() {
        return extended_data$LAYOUT;
    }

    private static final long extended_data$OFFSET = 96;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * uint8_t **extended_data
     * }
     */
    public static final long extended_data$offset() {
        return extended_data$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * uint8_t **extended_data
     * }
     */
    public static MemorySegment extended_data(MemorySegment struct) {
        return struct.get(extended_data$LAYOUT, extended_data$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * uint8_t **extended_data
     * }
     */
    public static void extended_data(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(extended_data$LAYOUT, extended_data$OFFSET, fieldValue);
    }

    private static final OfInt width$LAYOUT = (OfInt)$LAYOUT.select(groupElement("width"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int width
     * }
     */
    public static final OfInt width$layout() {
        return width$LAYOUT;
    }

    private static final long width$OFFSET = 104;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int width
     * }
     */
    public static final long width$offset() {
        return width$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int width
     * }
     */
    public static int width(MemorySegment struct) {
        return struct.get(width$LAYOUT, width$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int width
     * }
     */
    public static void width(MemorySegment struct, int fieldValue) {
        struct.set(width$LAYOUT, width$OFFSET, fieldValue);
    }

    private static final OfInt height$LAYOUT = (OfInt)$LAYOUT.select(groupElement("height"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int height
     * }
     */
    public static final OfInt height$layout() {
        return height$LAYOUT;
    }

    private static final long height$OFFSET = 108;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int height
     * }
     */
    public static final long height$offset() {
        return height$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int height
     * }
     */
    public static int height(MemorySegment struct) {
        return struct.get(height$LAYOUT, height$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int height
     * }
     */
    public static void height(MemorySegment struct, int fieldValue) {
        struct.set(height$LAYOUT, height$OFFSET, fieldValue);
    }

    private static final OfInt nb_samples$LAYOUT = (OfInt)$LAYOUT.select(groupElement("nb_samples"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int nb_samples
     * }
     */
    public static final OfInt nb_samples$layout() {
        return nb_samples$LAYOUT;
    }

    private static final long nb_samples$OFFSET = 112;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int nb_samples
     * }
     */
    public static final long nb_samples$offset() {
        return nb_samples$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int nb_samples
     * }
     */
    public static int nb_samples(MemorySegment struct) {
        return struct.get(nb_samples$LAYOUT, nb_samples$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int nb_samples
     * }
     */
    public static void nb_samples(MemorySegment struct, int fieldValue) {
        struct.set(nb_samples$LAYOUT, nb_samples$OFFSET, fieldValue);
    }

    private static final OfInt format$LAYOUT = (OfInt)$LAYOUT.select(groupElement("format"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int format
     * }
     */
    public static final OfInt format$layout() {
        return format$LAYOUT;
    }

    private static final long format$OFFSET = 116;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int format
     * }
     */
    public static final long format$offset() {
        return format$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int format
     * }
     */
    public static int format(MemorySegment struct) {
        return struct.get(format$LAYOUT, format$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int format
     * }
     */
    public static void format(MemorySegment struct, int fieldValue) {
        struct.set(format$LAYOUT, format$OFFSET, fieldValue);
    }

    private static final OfInt key_frame$LAYOUT = (OfInt)$LAYOUT.select(groupElement("key_frame"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int key_frame
     * }
     */
    public static final OfInt key_frame$layout() {
        return key_frame$LAYOUT;
    }

    private static final long key_frame$OFFSET = 120;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int key_frame
     * }
     */
    public static final long key_frame$offset() {
        return key_frame$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int key_frame
     * }
     */
    public static int key_frame(MemorySegment struct) {
        return struct.get(key_frame$LAYOUT, key_frame$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int key_frame
     * }
     */
    public static void key_frame(MemorySegment struct, int fieldValue) {
        struct.set(key_frame$LAYOUT, key_frame$OFFSET, fieldValue);
    }

    private static final OfInt pict_type$LAYOUT = (OfInt)$LAYOUT.select(groupElement("pict_type"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * enum AVPictureType pict_type
     * }
     */
    public static final OfInt pict_type$layout() {
        return pict_type$LAYOUT;
    }

    private static final long pict_type$OFFSET = 124;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * enum AVPictureType pict_type
     * }
     */
    public static final long pict_type$offset() {
        return pict_type$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * enum AVPictureType pict_type
     * }
     */
    public static int pict_type(MemorySegment struct) {
        return struct.get(pict_type$LAYOUT, pict_type$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * enum AVPictureType pict_type
     * }
     */
    public static void pict_type(MemorySegment struct, int fieldValue) {
        struct.set(pict_type$LAYOUT, pict_type$OFFSET, fieldValue);
    }

    private static final GroupLayout sample_aspect_ratio$LAYOUT = (GroupLayout)$LAYOUT.select(groupElement("sample_aspect_ratio"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * AVRational sample_aspect_ratio
     * }
     */
    public static final GroupLayout sample_aspect_ratio$layout() {
        return sample_aspect_ratio$LAYOUT;
    }

    private static final long sample_aspect_ratio$OFFSET = 128;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * AVRational sample_aspect_ratio
     * }
     */
    public static final long sample_aspect_ratio$offset() {
        return sample_aspect_ratio$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * AVRational sample_aspect_ratio
     * }
     */
    public static MemorySegment sample_aspect_ratio(MemorySegment struct) {
        return struct.asSlice(sample_aspect_ratio$OFFSET, sample_aspect_ratio$LAYOUT.byteSize());
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * AVRational sample_aspect_ratio
     * }
     */
    public static void sample_aspect_ratio(MemorySegment struct, MemorySegment fieldValue) {
        MemorySegment.copy(fieldValue, 0L, struct, sample_aspect_ratio$OFFSET, sample_aspect_ratio$LAYOUT.byteSize());
    }

    private static final OfLong pts$LAYOUT = (OfLong)$LAYOUT.select(groupElement("pts"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int64_t pts
     * }
     */
    public static final OfLong pts$layout() {
        return pts$LAYOUT;
    }

    private static final long pts$OFFSET = 136;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int64_t pts
     * }
     */
    public static final long pts$offset() {
        return pts$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int64_t pts
     * }
     */
    public static long pts(MemorySegment struct) {
        return struct.get(pts$LAYOUT, pts$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int64_t pts
     * }
     */
    public static void pts(MemorySegment struct, long fieldValue) {
        struct.set(pts$LAYOUT, pts$OFFSET, fieldValue);
    }

    private static final OfLong pkt_dts$LAYOUT = (OfLong)$LAYOUT.select(groupElement("pkt_dts"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int64_t pkt_dts
     * }
     */
    public static final OfLong pkt_dts$layout() {
        return pkt_dts$LAYOUT;
    }

    private static final long pkt_dts$OFFSET = 144;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int64_t pkt_dts
     * }
     */
    public static final long pkt_dts$offset() {
        return pkt_dts$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int64_t pkt_dts
     * }
     */
    public static long pkt_dts(MemorySegment struct) {
        return struct.get(pkt_dts$LAYOUT, pkt_dts$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int64_t pkt_dts
     * }
     */
    public static void pkt_dts(MemorySegment struct, long fieldValue) {
        struct.set(pkt_dts$LAYOUT, pkt_dts$OFFSET, fieldValue);
    }

    private static final GroupLayout time_base$LAYOUT = (GroupLayout)$LAYOUT.select(groupElement("time_base"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * AVRational time_base
     * }
     */
    public static final GroupLayout time_base$layout() {
        return time_base$LAYOUT;
    }

    private static final long time_base$OFFSET = 152;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * AVRational time_base
     * }
     */
    public static final long time_base$offset() {
        return time_base$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * AVRational time_base
     * }
     */
    public static MemorySegment time_base(MemorySegment struct) {
        return struct.asSlice(time_base$OFFSET, time_base$LAYOUT.byteSize());
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * AVRational time_base
     * }
     */
    public static void time_base(MemorySegment struct, MemorySegment fieldValue) {
        MemorySegment.copy(fieldValue, 0L, struct, time_base$OFFSET, time_base$LAYOUT.byteSize());
    }

    private static final OfInt quality$LAYOUT = (OfInt)$LAYOUT.select(groupElement("quality"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int quality
     * }
     */
    public static final OfInt quality$layout() {
        return quality$LAYOUT;
    }

    private static final long quality$OFFSET = 160;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int quality
     * }
     */
    public static final long quality$offset() {
        return quality$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int quality
     * }
     */
    public static int quality(MemorySegment struct) {
        return struct.get(quality$LAYOUT, quality$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int quality
     * }
     */
    public static void quality(MemorySegment struct, int fieldValue) {
        struct.set(quality$LAYOUT, quality$OFFSET, fieldValue);
    }

    private static final AddressLayout opaque$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("opaque"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * void *opaque
     * }
     */
    public static final AddressLayout opaque$layout() {
        return opaque$LAYOUT;
    }

    private static final long opaque$OFFSET = 168;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * void *opaque
     * }
     */
    public static final long opaque$offset() {
        return opaque$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * void *opaque
     * }
     */
    public static MemorySegment opaque(MemorySegment struct) {
        return struct.get(opaque$LAYOUT, opaque$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * void *opaque
     * }
     */
    public static void opaque(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(opaque$LAYOUT, opaque$OFFSET, fieldValue);
    }

    private static final OfInt repeat_pict$LAYOUT = (OfInt)$LAYOUT.select(groupElement("repeat_pict"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int repeat_pict
     * }
     */
    public static final OfInt repeat_pict$layout() {
        return repeat_pict$LAYOUT;
    }

    private static final long repeat_pict$OFFSET = 176;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int repeat_pict
     * }
     */
    public static final long repeat_pict$offset() {
        return repeat_pict$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int repeat_pict
     * }
     */
    public static int repeat_pict(MemorySegment struct) {
        return struct.get(repeat_pict$LAYOUT, repeat_pict$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int repeat_pict
     * }
     */
    public static void repeat_pict(MemorySegment struct, int fieldValue) {
        struct.set(repeat_pict$LAYOUT, repeat_pict$OFFSET, fieldValue);
    }

    private static final OfInt interlaced_frame$LAYOUT = (OfInt)$LAYOUT.select(groupElement("interlaced_frame"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int interlaced_frame
     * }
     */
    public static final OfInt interlaced_frame$layout() {
        return interlaced_frame$LAYOUT;
    }

    private static final long interlaced_frame$OFFSET = 180;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int interlaced_frame
     * }
     */
    public static final long interlaced_frame$offset() {
        return interlaced_frame$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int interlaced_frame
     * }
     */
    public static int interlaced_frame(MemorySegment struct) {
        return struct.get(interlaced_frame$LAYOUT, interlaced_frame$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int interlaced_frame
     * }
     */
    public static void interlaced_frame(MemorySegment struct, int fieldValue) {
        struct.set(interlaced_frame$LAYOUT, interlaced_frame$OFFSET, fieldValue);
    }

    private static final OfInt top_field_first$LAYOUT = (OfInt)$LAYOUT.select(groupElement("top_field_first"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int top_field_first
     * }
     */
    public static final OfInt top_field_first$layout() {
        return top_field_first$LAYOUT;
    }

    private static final long top_field_first$OFFSET = 184;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int top_field_first
     * }
     */
    public static final long top_field_first$offset() {
        return top_field_first$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int top_field_first
     * }
     */
    public static int top_field_first(MemorySegment struct) {
        return struct.get(top_field_first$LAYOUT, top_field_first$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int top_field_first
     * }
     */
    public static void top_field_first(MemorySegment struct, int fieldValue) {
        struct.set(top_field_first$LAYOUT, top_field_first$OFFSET, fieldValue);
    }

    private static final OfInt palette_has_changed$LAYOUT = (OfInt)$LAYOUT.select(groupElement("palette_has_changed"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int palette_has_changed
     * }
     */
    public static final OfInt palette_has_changed$layout() {
        return palette_has_changed$LAYOUT;
    }

    private static final long palette_has_changed$OFFSET = 188;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int palette_has_changed
     * }
     */
    public static final long palette_has_changed$offset() {
        return palette_has_changed$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int palette_has_changed
     * }
     */
    public static int palette_has_changed(MemorySegment struct) {
        return struct.get(palette_has_changed$LAYOUT, palette_has_changed$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int palette_has_changed
     * }
     */
    public static void palette_has_changed(MemorySegment struct, int fieldValue) {
        struct.set(palette_has_changed$LAYOUT, palette_has_changed$OFFSET, fieldValue);
    }

    private static final OfInt sample_rate$LAYOUT = (OfInt)$LAYOUT.select(groupElement("sample_rate"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int sample_rate
     * }
     */
    public static final OfInt sample_rate$layout() {
        return sample_rate$LAYOUT;
    }

    private static final long sample_rate$OFFSET = 192;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int sample_rate
     * }
     */
    public static final long sample_rate$offset() {
        return sample_rate$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int sample_rate
     * }
     */
    public static int sample_rate(MemorySegment struct) {
        return struct.get(sample_rate$LAYOUT, sample_rate$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int sample_rate
     * }
     */
    public static void sample_rate(MemorySegment struct, int fieldValue) {
        struct.set(sample_rate$LAYOUT, sample_rate$OFFSET, fieldValue);
    }

    private static final SequenceLayout buf$LAYOUT = (SequenceLayout)$LAYOUT.select(groupElement("buf"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * AVBufferRef *buf[8]
     * }
     */
    public static final SequenceLayout buf$layout() {
        return buf$LAYOUT;
    }

    private static final long buf$OFFSET = 200;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * AVBufferRef *buf[8]
     * }
     */
    public static final long buf$offset() {
        return buf$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * AVBufferRef *buf[8]
     * }
     */
    public static MemorySegment buf(MemorySegment struct) {
        return struct.asSlice(buf$OFFSET, buf$LAYOUT.byteSize());
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * AVBufferRef *buf[8]
     * }
     */
    public static void buf(MemorySegment struct, MemorySegment fieldValue) {
        MemorySegment.copy(fieldValue, 0L, struct, buf$OFFSET, buf$LAYOUT.byteSize());
    }

    private static long[] buf$DIMS = { 8 };

    /**
     * Dimensions for array field:
     * {@snippet lang=c :
     * AVBufferRef *buf[8]
     * }
     */
    public static long[] buf$dimensions() {
        return buf$DIMS;
    }
    private static final VarHandle buf$ELEM_HANDLE = buf$LAYOUT.varHandle(sequenceElement());

    /**
     * Indexed getter for field:
     * {@snippet lang=c :
     * AVBufferRef *buf[8]
     * }
     */
    public static MemorySegment buf(MemorySegment struct, long index0) {
        return (MemorySegment)buf$ELEM_HANDLE.get(struct, 0L, index0);
    }

    /**
     * Indexed setter for field:
     * {@snippet lang=c :
     * AVBufferRef *buf[8]
     * }
     */
    public static void buf(MemorySegment struct, long index0, MemorySegment fieldValue) {
        buf$ELEM_HANDLE.set(struct, 0L, index0, fieldValue);
    }

    private static final AddressLayout extended_buf$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("extended_buf"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * AVBufferRef **extended_buf
     * }
     */
    public static final AddressLayout extended_buf$layout() {
        return extended_buf$LAYOUT;
    }

    private static final long extended_buf$OFFSET = 264;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * AVBufferRef **extended_buf
     * }
     */
    public static final long extended_buf$offset() {
        return extended_buf$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * AVBufferRef **extended_buf
     * }
     */
    public static MemorySegment extended_buf(MemorySegment struct) {
        return struct.get(extended_buf$LAYOUT, extended_buf$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * AVBufferRef **extended_buf
     * }
     */
    public static void extended_buf(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(extended_buf$LAYOUT, extended_buf$OFFSET, fieldValue);
    }

    private static final OfInt nb_extended_buf$LAYOUT = (OfInt)$LAYOUT.select(groupElement("nb_extended_buf"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int nb_extended_buf
     * }
     */
    public static final OfInt nb_extended_buf$layout() {
        return nb_extended_buf$LAYOUT;
    }

    private static final long nb_extended_buf$OFFSET = 272;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int nb_extended_buf
     * }
     */
    public static final long nb_extended_buf$offset() {
        return nb_extended_buf$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int nb_extended_buf
     * }
     */
    public static int nb_extended_buf(MemorySegment struct) {
        return struct.get(nb_extended_buf$LAYOUT, nb_extended_buf$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int nb_extended_buf
     * }
     */
    public static void nb_extended_buf(MemorySegment struct, int fieldValue) {
        struct.set(nb_extended_buf$LAYOUT, nb_extended_buf$OFFSET, fieldValue);
    }

    private static final AddressLayout side_data$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("side_data"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * AVFrameSideData **side_data
     * }
     */
    public static final AddressLayout side_data$layout() {
        return side_data$LAYOUT;
    }

    private static final long side_data$OFFSET = 280;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * AVFrameSideData **side_data
     * }
     */
    public static final long side_data$offset() {
        return side_data$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * AVFrameSideData **side_data
     * }
     */
    public static MemorySegment side_data(MemorySegment struct) {
        return struct.get(side_data$LAYOUT, side_data$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * AVFrameSideData **side_data
     * }
     */
    public static void side_data(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(side_data$LAYOUT, side_data$OFFSET, fieldValue);
    }

    private static final OfInt nb_side_data$LAYOUT = (OfInt)$LAYOUT.select(groupElement("nb_side_data"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int nb_side_data
     * }
     */
    public static final OfInt nb_side_data$layout() {
        return nb_side_data$LAYOUT;
    }

    private static final long nb_side_data$OFFSET = 288;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int nb_side_data
     * }
     */
    public static final long nb_side_data$offset() {
        return nb_side_data$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int nb_side_data
     * }
     */
    public static int nb_side_data(MemorySegment struct) {
        return struct.get(nb_side_data$LAYOUT, nb_side_data$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int nb_side_data
     * }
     */
    public static void nb_side_data(MemorySegment struct, int fieldValue) {
        struct.set(nb_side_data$LAYOUT, nb_side_data$OFFSET, fieldValue);
    }

    private static final OfInt flags$LAYOUT = (OfInt)$LAYOUT.select(groupElement("flags"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int flags
     * }
     */
    public static final OfInt flags$layout() {
        return flags$LAYOUT;
    }

    private static final long flags$OFFSET = 292;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int flags
     * }
     */
    public static final long flags$offset() {
        return flags$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int flags
     * }
     */
    public static int flags(MemorySegment struct) {
        return struct.get(flags$LAYOUT, flags$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int flags
     * }
     */
    public static void flags(MemorySegment struct, int fieldValue) {
        struct.set(flags$LAYOUT, flags$OFFSET, fieldValue);
    }

    private static final OfInt color_range$LAYOUT = (OfInt)$LAYOUT.select(groupElement("color_range"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * enum AVColorRange color_range
     * }
     */
    public static final OfInt color_range$layout() {
        return color_range$LAYOUT;
    }

    private static final long color_range$OFFSET = 296;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * enum AVColorRange color_range
     * }
     */
    public static final long color_range$offset() {
        return color_range$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * enum AVColorRange color_range
     * }
     */
    public static int color_range(MemorySegment struct) {
        return struct.get(color_range$LAYOUT, color_range$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * enum AVColorRange color_range
     * }
     */
    public static void color_range(MemorySegment struct, int fieldValue) {
        struct.set(color_range$LAYOUT, color_range$OFFSET, fieldValue);
    }

    private static final OfInt color_primaries$LAYOUT = (OfInt)$LAYOUT.select(groupElement("color_primaries"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * enum AVColorPrimaries color_primaries
     * }
     */
    public static final OfInt color_primaries$layout() {
        return color_primaries$LAYOUT;
    }

    private static final long color_primaries$OFFSET = 300;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * enum AVColorPrimaries color_primaries
     * }
     */
    public static final long color_primaries$offset() {
        return color_primaries$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * enum AVColorPrimaries color_primaries
     * }
     */
    public static int color_primaries(MemorySegment struct) {
        return struct.get(color_primaries$LAYOUT, color_primaries$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * enum AVColorPrimaries color_primaries
     * }
     */
    public static void color_primaries(MemorySegment struct, int fieldValue) {
        struct.set(color_primaries$LAYOUT, color_primaries$OFFSET, fieldValue);
    }

    private static final OfInt color_trc$LAYOUT = (OfInt)$LAYOUT.select(groupElement("color_trc"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * enum AVColorTransferCharacteristic color_trc
     * }
     */
    public static final OfInt color_trc$layout() {
        return color_trc$LAYOUT;
    }

    private static final long color_trc$OFFSET = 304;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * enum AVColorTransferCharacteristic color_trc
     * }
     */
    public static final long color_trc$offset() {
        return color_trc$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * enum AVColorTransferCharacteristic color_trc
     * }
     */
    public static int color_trc(MemorySegment struct) {
        return struct.get(color_trc$LAYOUT, color_trc$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * enum AVColorTransferCharacteristic color_trc
     * }
     */
    public static void color_trc(MemorySegment struct, int fieldValue) {
        struct.set(color_trc$LAYOUT, color_trc$OFFSET, fieldValue);
    }

    private static final OfInt colorspace$LAYOUT = (OfInt)$LAYOUT.select(groupElement("colorspace"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * enum AVColorSpace colorspace
     * }
     */
    public static final OfInt colorspace$layout() {
        return colorspace$LAYOUT;
    }

    private static final long colorspace$OFFSET = 308;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * enum AVColorSpace colorspace
     * }
     */
    public static final long colorspace$offset() {
        return colorspace$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * enum AVColorSpace colorspace
     * }
     */
    public static int colorspace(MemorySegment struct) {
        return struct.get(colorspace$LAYOUT, colorspace$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * enum AVColorSpace colorspace
     * }
     */
    public static void colorspace(MemorySegment struct, int fieldValue) {
        struct.set(colorspace$LAYOUT, colorspace$OFFSET, fieldValue);
    }

    private static final OfInt chroma_location$LAYOUT = (OfInt)$LAYOUT.select(groupElement("chroma_location"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * enum AVChromaLocation chroma_location
     * }
     */
    public static final OfInt chroma_location$layout() {
        return chroma_location$LAYOUT;
    }

    private static final long chroma_location$OFFSET = 312;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * enum AVChromaLocation chroma_location
     * }
     */
    public static final long chroma_location$offset() {
        return chroma_location$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * enum AVChromaLocation chroma_location
     * }
     */
    public static int chroma_location(MemorySegment struct) {
        return struct.get(chroma_location$LAYOUT, chroma_location$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * enum AVChromaLocation chroma_location
     * }
     */
    public static void chroma_location(MemorySegment struct, int fieldValue) {
        struct.set(chroma_location$LAYOUT, chroma_location$OFFSET, fieldValue);
    }

    private static final OfLong best_effort_timestamp$LAYOUT = (OfLong)$LAYOUT.select(groupElement("best_effort_timestamp"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int64_t best_effort_timestamp
     * }
     */
    public static final OfLong best_effort_timestamp$layout() {
        return best_effort_timestamp$LAYOUT;
    }

    private static final long best_effort_timestamp$OFFSET = 320;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int64_t best_effort_timestamp
     * }
     */
    public static final long best_effort_timestamp$offset() {
        return best_effort_timestamp$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int64_t best_effort_timestamp
     * }
     */
    public static long best_effort_timestamp(MemorySegment struct) {
        return struct.get(best_effort_timestamp$LAYOUT, best_effort_timestamp$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int64_t best_effort_timestamp
     * }
     */
    public static void best_effort_timestamp(MemorySegment struct, long fieldValue) {
        struct.set(best_effort_timestamp$LAYOUT, best_effort_timestamp$OFFSET, fieldValue);
    }

    private static final OfLong pkt_pos$LAYOUT = (OfLong)$LAYOUT.select(groupElement("pkt_pos"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int64_t pkt_pos
     * }
     */
    public static final OfLong pkt_pos$layout() {
        return pkt_pos$LAYOUT;
    }

    private static final long pkt_pos$OFFSET = 328;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int64_t pkt_pos
     * }
     */
    public static final long pkt_pos$offset() {
        return pkt_pos$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int64_t pkt_pos
     * }
     */
    public static long pkt_pos(MemorySegment struct) {
        return struct.get(pkt_pos$LAYOUT, pkt_pos$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int64_t pkt_pos
     * }
     */
    public static void pkt_pos(MemorySegment struct, long fieldValue) {
        struct.set(pkt_pos$LAYOUT, pkt_pos$OFFSET, fieldValue);
    }

    private static final AddressLayout metadata$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("metadata"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * AVDictionary *metadata
     * }
     */
    public static final AddressLayout metadata$layout() {
        return metadata$LAYOUT;
    }

    private static final long metadata$OFFSET = 336;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * AVDictionary *metadata
     * }
     */
    public static final long metadata$offset() {
        return metadata$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * AVDictionary *metadata
     * }
     */
    public static MemorySegment metadata(MemorySegment struct) {
        return struct.get(metadata$LAYOUT, metadata$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * AVDictionary *metadata
     * }
     */
    public static void metadata(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(metadata$LAYOUT, metadata$OFFSET, fieldValue);
    }

    private static final OfInt decode_error_flags$LAYOUT = (OfInt)$LAYOUT.select(groupElement("decode_error_flags"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int decode_error_flags
     * }
     */
    public static final OfInt decode_error_flags$layout() {
        return decode_error_flags$LAYOUT;
    }

    private static final long decode_error_flags$OFFSET = 344;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int decode_error_flags
     * }
     */
    public static final long decode_error_flags$offset() {
        return decode_error_flags$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int decode_error_flags
     * }
     */
    public static int decode_error_flags(MemorySegment struct) {
        return struct.get(decode_error_flags$LAYOUT, decode_error_flags$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int decode_error_flags
     * }
     */
    public static void decode_error_flags(MemorySegment struct, int fieldValue) {
        struct.set(decode_error_flags$LAYOUT, decode_error_flags$OFFSET, fieldValue);
    }

    private static final OfInt pkt_size$LAYOUT = (OfInt)$LAYOUT.select(groupElement("pkt_size"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int pkt_size
     * }
     */
    public static final OfInt pkt_size$layout() {
        return pkt_size$LAYOUT;
    }

    private static final long pkt_size$OFFSET = 348;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int pkt_size
     * }
     */
    public static final long pkt_size$offset() {
        return pkt_size$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int pkt_size
     * }
     */
    public static int pkt_size(MemorySegment struct) {
        return struct.get(pkt_size$LAYOUT, pkt_size$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int pkt_size
     * }
     */
    public static void pkt_size(MemorySegment struct, int fieldValue) {
        struct.set(pkt_size$LAYOUT, pkt_size$OFFSET, fieldValue);
    }

    private static final AddressLayout hw_frames_ctx$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("hw_frames_ctx"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * AVBufferRef *hw_frames_ctx
     * }
     */
    public static final AddressLayout hw_frames_ctx$layout() {
        return hw_frames_ctx$LAYOUT;
    }

    private static final long hw_frames_ctx$OFFSET = 352;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * AVBufferRef *hw_frames_ctx
     * }
     */
    public static final long hw_frames_ctx$offset() {
        return hw_frames_ctx$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * AVBufferRef *hw_frames_ctx
     * }
     */
    public static MemorySegment hw_frames_ctx(MemorySegment struct) {
        return struct.get(hw_frames_ctx$LAYOUT, hw_frames_ctx$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * AVBufferRef *hw_frames_ctx
     * }
     */
    public static void hw_frames_ctx(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(hw_frames_ctx$LAYOUT, hw_frames_ctx$OFFSET, fieldValue);
    }

    private static final AddressLayout opaque_ref$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("opaque_ref"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * AVBufferRef *opaque_ref
     * }
     */
    public static final AddressLayout opaque_ref$layout() {
        return opaque_ref$LAYOUT;
    }

    private static final long opaque_ref$OFFSET = 360;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * AVBufferRef *opaque_ref
     * }
     */
    public static final long opaque_ref$offset() {
        return opaque_ref$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * AVBufferRef *opaque_ref
     * }
     */
    public static MemorySegment opaque_ref(MemorySegment struct) {
        return struct.get(opaque_ref$LAYOUT, opaque_ref$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * AVBufferRef *opaque_ref
     * }
     */
    public static void opaque_ref(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(opaque_ref$LAYOUT, opaque_ref$OFFSET, fieldValue);
    }

    private static final OfLong crop_top$LAYOUT = (OfLong)$LAYOUT.select(groupElement("crop_top"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * size_t crop_top
     * }
     */
    public static final OfLong crop_top$layout() {
        return crop_top$LAYOUT;
    }

    private static final long crop_top$OFFSET = 368;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * size_t crop_top
     * }
     */
    public static final long crop_top$offset() {
        return crop_top$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * size_t crop_top
     * }
     */
    public static long crop_top(MemorySegment struct) {
        return struct.get(crop_top$LAYOUT, crop_top$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * size_t crop_top
     * }
     */
    public static void crop_top(MemorySegment struct, long fieldValue) {
        struct.set(crop_top$LAYOUT, crop_top$OFFSET, fieldValue);
    }

    private static final OfLong crop_bottom$LAYOUT = (OfLong)$LAYOUT.select(groupElement("crop_bottom"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * size_t crop_bottom
     * }
     */
    public static final OfLong crop_bottom$layout() {
        return crop_bottom$LAYOUT;
    }

    private static final long crop_bottom$OFFSET = 376;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * size_t crop_bottom
     * }
     */
    public static final long crop_bottom$offset() {
        return crop_bottom$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * size_t crop_bottom
     * }
     */
    public static long crop_bottom(MemorySegment struct) {
        return struct.get(crop_bottom$LAYOUT, crop_bottom$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * size_t crop_bottom
     * }
     */
    public static void crop_bottom(MemorySegment struct, long fieldValue) {
        struct.set(crop_bottom$LAYOUT, crop_bottom$OFFSET, fieldValue);
    }

    private static final OfLong crop_left$LAYOUT = (OfLong)$LAYOUT.select(groupElement("crop_left"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * size_t crop_left
     * }
     */
    public static final OfLong crop_left$layout() {
        return crop_left$LAYOUT;
    }

    private static final long crop_left$OFFSET = 384;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * size_t crop_left
     * }
     */
    public static final long crop_left$offset() {
        return crop_left$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * size_t crop_left
     * }
     */
    public static long crop_left(MemorySegment struct) {
        return struct.get(crop_left$LAYOUT, crop_left$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * size_t crop_left
     * }
     */
    public static void crop_left(MemorySegment struct, long fieldValue) {
        struct.set(crop_left$LAYOUT, crop_left$OFFSET, fieldValue);
    }

    private static final OfLong crop_right$LAYOUT = (OfLong)$LAYOUT.select(groupElement("crop_right"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * size_t crop_right
     * }
     */
    public static final OfLong crop_right$layout() {
        return crop_right$LAYOUT;
    }

    private static final long crop_right$OFFSET = 392;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * size_t crop_right
     * }
     */
    public static final long crop_right$offset() {
        return crop_right$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * size_t crop_right
     * }
     */
    public static long crop_right(MemorySegment struct) {
        return struct.get(crop_right$LAYOUT, crop_right$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * size_t crop_right
     * }
     */
    public static void crop_right(MemorySegment struct, long fieldValue) {
        struct.set(crop_right$LAYOUT, crop_right$OFFSET, fieldValue);
    }

    private static final AddressLayout private_ref$LAYOUT = (AddressLayout)$LAYOUT.select(groupElement("private_ref"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * AVBufferRef *private_ref
     * }
     */
    public static final AddressLayout private_ref$layout() {
        return private_ref$LAYOUT;
    }

    private static final long private_ref$OFFSET = 400;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * AVBufferRef *private_ref
     * }
     */
    public static final long private_ref$offset() {
        return private_ref$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * AVBufferRef *private_ref
     * }
     */
    public static MemorySegment private_ref(MemorySegment struct) {
        return struct.get(private_ref$LAYOUT, private_ref$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * AVBufferRef *private_ref
     * }
     */
    public static void private_ref(MemorySegment struct, MemorySegment fieldValue) {
        struct.set(private_ref$LAYOUT, private_ref$OFFSET, fieldValue);
    }

    private static final GroupLayout ch_layout$LAYOUT = (GroupLayout)$LAYOUT.select(groupElement("ch_layout"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * AVChannelLayout ch_layout
     * }
     */
    public static final GroupLayout ch_layout$layout() {
        return ch_layout$LAYOUT;
    }

    private static final long ch_layout$OFFSET = 408;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * AVChannelLayout ch_layout
     * }
     */
    public static final long ch_layout$offset() {
        return ch_layout$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * AVChannelLayout ch_layout
     * }
     */
    public static MemorySegment ch_layout(MemorySegment struct) {
        return struct.asSlice(ch_layout$OFFSET, ch_layout$LAYOUT.byteSize());
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * AVChannelLayout ch_layout
     * }
     */
    public static void ch_layout(MemorySegment struct, MemorySegment fieldValue) {
        MemorySegment.copy(fieldValue, 0L, struct, ch_layout$OFFSET, ch_layout$LAYOUT.byteSize());
    }

    private static final OfLong duration$LAYOUT = (OfLong)$LAYOUT.select(groupElement("duration"));

    /**
     * Layout for field:
     * {@snippet lang=c :
     * int64_t duration
     * }
     */
    public static final OfLong duration$layout() {
        return duration$LAYOUT;
    }

    private static final long duration$OFFSET = 432;

    /**
     * Offset for field:
     * {@snippet lang=c :
     * int64_t duration
     * }
     */
    public static final long duration$offset() {
        return duration$OFFSET;
    }

    /**
     * Getter for field:
     * {@snippet lang=c :
     * int64_t duration
     * }
     */
    public static long duration(MemorySegment struct) {
        return struct.get(duration$LAYOUT, duration$OFFSET);
    }

    /**
     * Setter for field:
     * {@snippet lang=c :
     * int64_t duration
     * }
     */
    public static void duration(MemorySegment struct, long fieldValue) {
        struct.set(duration$LAYOUT, duration$OFFSET, fieldValue);
    }

    /**
     * Obtains a slice of {@code arrayParam} which selects the array element at {@code index}.
     * The returned segment has address {@code arrayParam.address() + index * layout().byteSize()}
     */
    public static MemorySegment asSlice(MemorySegment array, long index) {
        return array.asSlice(layout().byteSize() * index);
    }

    /**
     * The size (in bytes) of this struct
     */
    public static long sizeof() { return layout().byteSize(); }

    /**
     * Allocate a segment of size {@code layout().byteSize()} using {@code allocator}
     */
    public static MemorySegment allocate(SegmentAllocator allocator) {
        return allocator.allocate(layout());
    }

    /**
     * Allocate an array of size {@code elementCount} using {@code allocator}.
     * The returned segment has size {@code elementCount * layout().byteSize()}.
     */
    public static MemorySegment allocateArray(long elementCount, SegmentAllocator allocator) {
        return allocator.allocate(MemoryLayout.sequenceLayout(elementCount, layout()));
    }

    /**
     * Reinterprets {@code addr} using target {@code arena} and {@code cleanupAction} (if any).
     * The returned segment has size {@code layout().byteSize()}
     */
    public static MemorySegment reinterpret(MemorySegment addr, Arena arena, Consumer cleanup) {
        return reinterpret(addr, 1, arena, cleanup);
    }

    /**
     * Reinterprets {@code addr} using target {@code arena} and {@code cleanupAction} (if any).
     * The returned segment has size {@code elementCount * layout().byteSize()}
     */
    public static MemorySegment reinterpret(MemorySegment addr, long elementCount, Arena arena, Consumer cleanup) {
        return addr.reinterpret(layout().byteSize() * elementCount, arena, cleanup);
    }
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy