AVFilmGrainAOMParams

This structure describes how to handle film grain synthesis for AOM codecs.

@note The struct must be allocated as part of AVFilmGrainParams using av_film_grain_params_alloc(). Its size is not a part of the public ABI.

Members

Variables

ar_coeff_lag
int ar_coeff_lag;

Specifies the auto-regression lag.

ar_coeff_shift
int ar_coeff_shift;

Specifies the range of the auto-regressive coefficients. Values of 6, 7, 8 and so on represent a range of [-2, 2), [-1, 1), [-0.5, 0.5) and so on. For AV1 must be between 6 and 9.

ar_coeffs_uv
byte[25][] ar_coeffs_uv;

Chroma auto-regression coefficients. The number of coefficients is given by 2 * ar_coeff_lag * (ar_coeff_lag + 1) + !!num_y_points.

ar_coeffs_y
byte[24] ar_coeffs_y;

Luma auto-regression coefficients. The number of coefficients is given by 2 * ar_coeff_lag * (ar_coeff_lag + 1).

chroma_scaling_from_luma
int chroma_scaling_from_luma;

Signals whether to derive the chroma scaling function from the luma. Not equivalent to copying the luma values and scales.

grain_scale_shift
int grain_scale_shift;

Signals the down shift applied to the generated gaussian numbers during synthesis.

limit_output_range
int limit_output_range;

Signals to clip to limited color levels after film grain application.

num_uv_points
int[] num_uv_points;

If chroma_scaling_from_luma is set to 0, signals the chroma scaling function parameters.

num_y_points
int num_y_points;

Number of points, and the scale and value for each point of the piecewise linear scaling function for the uma plane.

overlap_flag
int overlap_flag;

Signals whether to overlap film grain blocks.

scaling_shift
int scaling_shift;

Specifies the shift applied to the chroma components. For AV1, its within [8; 11] and determines the range and quantization of the film grain.

uv_mult
int[] uv_mult;

Specifies the luma/chroma multipliers for the index to the component scaling function.

uv_mult_luma
int[] uv_mult_luma;
Undocumented in source.
uv_offset
int[] uv_offset;

Offset used for component scaling function. For AV1 its a 9-bit value with a range [-256, 255]

uv_points
ubyte[][10][] uv_points;
Undocumented in source.
y_points
ubyte[][14] y_points;
Undocumented in source.

Meta