Record Class StdVideoAV1FilmGrain

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.StdVideoAV1FilmGrain
All Implemented Interfaces:
IPointer, IStdVideoAV1FilmGrain

@ValueBasedCandidate @UnsafeConstructor public record StdVideoAV1FilmGrain(@NotNull MemorySegment segment) extends Record implements IStdVideoAV1FilmGrain

Represents a pointer to a StdVideoAV1FilmGrain structure in native memory.

Structure

typedef struct StdVideoAV1FilmGrain {
    StdVideoAV1FilmGrainFlags flags;
    uint8_t grain_scaling_minus_8;
    uint8_t ar_coeff_lag;
    uint8_t ar_coeff_shift_minus_6;
    uint8_t grain_scale_shift;
    uint16_t grain_seed;
    uint8_t film_grain_params_ref_idx;
    uint8_t num_y_points;
    uint8_t[STD_VIDEO_AV1_MAX_NUM_Y_POINTS] point_y_value;
    uint8_t[STD_VIDEO_AV1_MAX_NUM_Y_POINTS] point_y_scaling;
    uint8_t num_cb_points;
    uint8_t[STD_VIDEO_AV1_MAX_NUM_CB_POINTS] point_cb_value;
    uint8_t[STD_VIDEO_AV1_MAX_NUM_CB_POINTS] point_cb_scaling;
    uint8_t num_cr_points;
    uint8_t[STD_VIDEO_AV1_MAX_NUM_CR_POINTS] point_cr_value;
    uint8_t[STD_VIDEO_AV1_MAX_NUM_CR_POINTS] point_cr_scaling;
    int8_t[STD_VIDEO_AV1_MAX_NUM_POS_LUMA] ar_coeffs_y_plus_128;
    int8_t[STD_VIDEO_AV1_MAX_NUM_POS_CHROMA] ar_coeffs_cb_plus_128;
    int8_t[STD_VIDEO_AV1_MAX_NUM_POS_CHROMA] ar_coeffs_cr_plus_128;
    uint8_t cb_mult;
    uint8_t cb_luma_mult;
    uint16_t cb_offset;
    uint8_t cr_mult;
    uint8_t cr_luma_mult;
    uint16_t cr_offset;
} StdVideoAV1FilmGrain;

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.

  • Field Details

    • LAYOUT

      public static final StructLayout LAYOUT
    • BYTES

      public static final long BYTES
    • PATH$flags

      public static final MemoryLayout.PathElement PATH$flags
    • PATH$grain_scaling_minus_8

      public static final MemoryLayout.PathElement PATH$grain_scaling_minus_8
    • PATH$ar_coeff_lag

      public static final MemoryLayout.PathElement PATH$ar_coeff_lag
    • PATH$ar_coeff_shift_minus_6

      public static final MemoryLayout.PathElement PATH$ar_coeff_shift_minus_6
    • PATH$grain_scale_shift

      public static final MemoryLayout.PathElement PATH$grain_scale_shift
    • PATH$grain_seed

      public static final MemoryLayout.PathElement PATH$grain_seed
    • PATH$film_grain_params_ref_idx

      public static final MemoryLayout.PathElement PATH$film_grain_params_ref_idx
    • PATH$num_y_points

      public static final MemoryLayout.PathElement PATH$num_y_points
    • PATH$point_y_value

      public static final MemoryLayout.PathElement PATH$point_y_value
    • PATH$point_y_scaling

      public static final MemoryLayout.PathElement PATH$point_y_scaling
    • PATH$num_cb_points

      public static final MemoryLayout.PathElement PATH$num_cb_points
    • PATH$point_cb_value

      public static final MemoryLayout.PathElement PATH$point_cb_value
    • PATH$point_cb_scaling

      public static final MemoryLayout.PathElement PATH$point_cb_scaling
    • PATH$num_cr_points

      public static final MemoryLayout.PathElement PATH$num_cr_points
    • PATH$point_cr_value

      public static final MemoryLayout.PathElement PATH$point_cr_value
    • PATH$point_cr_scaling

      public static final MemoryLayout.PathElement PATH$point_cr_scaling
    • PATH$ar_coeffs_y_plus_128

      public static final MemoryLayout.PathElement PATH$ar_coeffs_y_plus_128
    • PATH$ar_coeffs_cb_plus_128

      public static final MemoryLayout.PathElement PATH$ar_coeffs_cb_plus_128
    • PATH$ar_coeffs_cr_plus_128

      public static final MemoryLayout.PathElement PATH$ar_coeffs_cr_plus_128
    • PATH$cb_mult

      public static final MemoryLayout.PathElement PATH$cb_mult
    • PATH$cb_luma_mult

      public static final MemoryLayout.PathElement PATH$cb_luma_mult
    • PATH$cb_offset

      public static final MemoryLayout.PathElement PATH$cb_offset
    • PATH$cr_mult

      public static final MemoryLayout.PathElement PATH$cr_mult
    • PATH$cr_luma_mult

      public static final MemoryLayout.PathElement PATH$cr_luma_mult
    • PATH$cr_offset

      public static final MemoryLayout.PathElement PATH$cr_offset
    • LAYOUT$flags

      public static final StructLayout LAYOUT$flags
    • LAYOUT$grain_scaling_minus_8

      public static final ValueLayout.OfByte LAYOUT$grain_scaling_minus_8
    • LAYOUT$ar_coeff_lag

      public static final ValueLayout.OfByte LAYOUT$ar_coeff_lag
    • LAYOUT$ar_coeff_shift_minus_6

      public static final ValueLayout.OfByte LAYOUT$ar_coeff_shift_minus_6
    • LAYOUT$grain_scale_shift

      public static final ValueLayout.OfByte LAYOUT$grain_scale_shift
    • LAYOUT$grain_seed

      public static final ValueLayout.OfShort LAYOUT$grain_seed
    • LAYOUT$film_grain_params_ref_idx

      public static final ValueLayout.OfByte LAYOUT$film_grain_params_ref_idx
    • LAYOUT$num_y_points

      public static final ValueLayout.OfByte LAYOUT$num_y_points
    • LAYOUT$point_y_value

      public static final SequenceLayout LAYOUT$point_y_value
    • LAYOUT$point_y_scaling

      public static final SequenceLayout LAYOUT$point_y_scaling
    • LAYOUT$num_cb_points

      public static final ValueLayout.OfByte LAYOUT$num_cb_points
    • LAYOUT$point_cb_value

      public static final SequenceLayout LAYOUT$point_cb_value
    • LAYOUT$point_cb_scaling

      public static final SequenceLayout LAYOUT$point_cb_scaling
    • LAYOUT$num_cr_points

      public static final ValueLayout.OfByte LAYOUT$num_cr_points
    • LAYOUT$point_cr_value

      public static final SequenceLayout LAYOUT$point_cr_value
    • LAYOUT$point_cr_scaling

      public static final SequenceLayout LAYOUT$point_cr_scaling
    • LAYOUT$ar_coeffs_y_plus_128

      public static final SequenceLayout LAYOUT$ar_coeffs_y_plus_128
    • LAYOUT$ar_coeffs_cb_plus_128

      public static final SequenceLayout LAYOUT$ar_coeffs_cb_plus_128
    • LAYOUT$ar_coeffs_cr_plus_128

      public static final SequenceLayout LAYOUT$ar_coeffs_cr_plus_128
    • LAYOUT$cb_mult

      public static final ValueLayout.OfByte LAYOUT$cb_mult
    • LAYOUT$cb_luma_mult

      public static final ValueLayout.OfByte LAYOUT$cb_luma_mult
    • LAYOUT$cb_offset

      public static final ValueLayout.OfShort LAYOUT$cb_offset
    • LAYOUT$cr_mult

      public static final ValueLayout.OfByte LAYOUT$cr_mult
    • LAYOUT$cr_luma_mult

      public static final ValueLayout.OfByte LAYOUT$cr_luma_mult
    • LAYOUT$cr_offset

      public static final ValueLayout.OfShort LAYOUT$cr_offset
    • SIZE$flags

      public static final long SIZE$flags
    • SIZE$grain_scaling_minus_8

      public static final long SIZE$grain_scaling_minus_8
    • SIZE$ar_coeff_lag

      public static final long SIZE$ar_coeff_lag
    • SIZE$ar_coeff_shift_minus_6

      public static final long SIZE$ar_coeff_shift_minus_6
    • SIZE$grain_scale_shift

      public static final long SIZE$grain_scale_shift
    • SIZE$grain_seed

      public static final long SIZE$grain_seed
    • SIZE$film_grain_params_ref_idx

      public static final long SIZE$film_grain_params_ref_idx
    • SIZE$num_y_points

      public static final long SIZE$num_y_points
    • SIZE$point_y_value

      public static final long SIZE$point_y_value
    • SIZE$point_y_scaling

      public static final long SIZE$point_y_scaling
    • SIZE$num_cb_points

      public static final long SIZE$num_cb_points
    • SIZE$point_cb_value

      public static final long SIZE$point_cb_value
    • SIZE$point_cb_scaling

      public static final long SIZE$point_cb_scaling
    • SIZE$num_cr_points

      public static final long SIZE$num_cr_points
    • SIZE$point_cr_value

      public static final long SIZE$point_cr_value
    • SIZE$point_cr_scaling

      public static final long SIZE$point_cr_scaling
    • SIZE$ar_coeffs_y_plus_128

      public static final long SIZE$ar_coeffs_y_plus_128
    • SIZE$ar_coeffs_cb_plus_128

      public static final long SIZE$ar_coeffs_cb_plus_128
    • SIZE$ar_coeffs_cr_plus_128

      public static final long SIZE$ar_coeffs_cr_plus_128
    • SIZE$cb_mult

      public static final long SIZE$cb_mult
    • SIZE$cb_luma_mult

      public static final long SIZE$cb_luma_mult
    • SIZE$cb_offset

      public static final long SIZE$cb_offset
    • SIZE$cr_mult

      public static final long SIZE$cr_mult
    • SIZE$cr_luma_mult

      public static final long SIZE$cr_luma_mult
    • SIZE$cr_offset

      public static final long SIZE$cr_offset
    • OFFSET$flags

      public static final long OFFSET$flags
    • OFFSET$grain_scaling_minus_8

      public static final long OFFSET$grain_scaling_minus_8
    • OFFSET$ar_coeff_lag

      public static final long OFFSET$ar_coeff_lag
    • OFFSET$ar_coeff_shift_minus_6

      public static final long OFFSET$ar_coeff_shift_minus_6
    • OFFSET$grain_scale_shift

      public static final long OFFSET$grain_scale_shift
    • OFFSET$grain_seed

      public static final long OFFSET$grain_seed
    • OFFSET$film_grain_params_ref_idx

      public static final long OFFSET$film_grain_params_ref_idx
    • OFFSET$num_y_points

      public static final long OFFSET$num_y_points
    • OFFSET$point_y_value

      public static final long OFFSET$point_y_value
    • OFFSET$point_y_scaling

      public static final long OFFSET$point_y_scaling
    • OFFSET$num_cb_points

      public static final long OFFSET$num_cb_points
    • OFFSET$point_cb_value

      public static final long OFFSET$point_cb_value
    • OFFSET$point_cb_scaling

      public static final long OFFSET$point_cb_scaling
    • OFFSET$num_cr_points

      public static final long OFFSET$num_cr_points
    • OFFSET$point_cr_value

      public static final long OFFSET$point_cr_value
    • OFFSET$point_cr_scaling

      public static final long OFFSET$point_cr_scaling
    • OFFSET$ar_coeffs_y_plus_128

      public static final long OFFSET$ar_coeffs_y_plus_128
    • OFFSET$ar_coeffs_cb_plus_128

      public static final long OFFSET$ar_coeffs_cb_plus_128
    • OFFSET$ar_coeffs_cr_plus_128

      public static final long OFFSET$ar_coeffs_cr_plus_128
    • OFFSET$cb_mult

      public static final long OFFSET$cb_mult
    • OFFSET$cb_luma_mult

      public static final long OFFSET$cb_luma_mult
    • OFFSET$cb_offset

      public static final long OFFSET$cb_offset
    • OFFSET$cr_mult

      public static final long OFFSET$cr_mult
    • OFFSET$cr_luma_mult

      public static final long OFFSET$cr_luma_mult
    • OFFSET$cr_offset

      public static final long OFFSET$cr_offset
  • Constructor Details

    • StdVideoAV1FilmGrain

      public StdVideoAV1FilmGrain(@NotNull @NotNull MemorySegment segment)
      Creates an instance of a StdVideoAV1FilmGrain record class.
      Parameters:
      segment - the value for the segment record component
  • Method Details