FFmpeg
Data Fields
AVFilmGrainAOMParams Struct Reference

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

#include <film_grain_params.h>

Data Fields

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. More...
 
uint8_t y_points [14][2]
 
int chroma_scaling_from_luma
 Signals whether to derive the chroma scaling function from the luma. More...
 
int num_uv_points [2]
 If chroma_scaling_from_luma is set to 0, signals the chroma scaling function parameters. More...
 
uint8_t uv_points [2][10][2]
 
int scaling_shift
 Specifies the shift applied to the chroma components. More...
 
int ar_coeff_lag
 Specifies the auto-regression lag. More...
 
int8_t ar_coeffs_y [24]
 Luma auto-regression coefficients. More...
 
int8_t ar_coeffs_uv [2][25]
 Chroma auto-regression coefficients. More...
 
int ar_coeff_shift
 Specifies the range of the auto-regressive coefficients. More...
 
int grain_scale_shift
 Signals the down shift applied to the generated gaussian numbers during synthesis. More...
 
int uv_mult [2]
 Specifies the luma/chroma multipliers for the index to the component scaling function. More...
 
int uv_mult_luma [2]
 
int uv_offset [2]
 Offset used for component scaling function. More...
 
int overlap_flag
 Signals whether to overlap film grain blocks. More...
 
int limit_output_range
 Signals to clip to limited color levels after film grain application. More...
 

Detailed Description

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.

Definition at line 44 of file film_grain_params.h.

Field Documentation

◆ num_y_points

int AVFilmGrainAOMParams::num_y_points

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

Definition at line 49 of file film_grain_params.h.

Referenced by export_film_grain(), and libdav1d_receive_frame().

◆ y_points

uint8_t AVFilmGrainAOMParams::y_points[14][2]

Definition at line 50 of file film_grain_params.h.

Referenced by export_film_grain(), and libdav1d_receive_frame().

◆ chroma_scaling_from_luma

int AVFilmGrainAOMParams::chroma_scaling_from_luma

Signals whether to derive the chroma scaling function from the luma.

Not equivalent to copying the luma values and scales.

Definition at line 56 of file film_grain_params.h.

Referenced by export_film_grain(), and libdav1d_receive_frame().

◆ num_uv_points

int AVFilmGrainAOMParams::num_uv_points[2]

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

Definition at line 62 of file film_grain_params.h.

Referenced by export_film_grain(), and libdav1d_receive_frame().

◆ uv_points

uint8_t AVFilmGrainAOMParams::uv_points[2][10][2]

Definition at line 63 of file film_grain_params.h.

Referenced by export_film_grain(), and libdav1d_receive_frame().

◆ scaling_shift

int AVFilmGrainAOMParams::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.

Definition at line 69 of file film_grain_params.h.

Referenced by export_film_grain(), and libdav1d_receive_frame().

◆ ar_coeff_lag

int AVFilmGrainAOMParams::ar_coeff_lag

Specifies the auto-regression lag.

Definition at line 74 of file film_grain_params.h.

Referenced by export_film_grain(), and libdav1d_receive_frame().

◆ ar_coeffs_y

int8_t AVFilmGrainAOMParams::ar_coeffs_y[24]

Luma auto-regression coefficients.

The number of coefficients is given by 2 * ar_coeff_lag * (ar_coeff_lag + 1).

Definition at line 80 of file film_grain_params.h.

Referenced by export_film_grain(), and libdav1d_receive_frame().

◆ ar_coeffs_uv

int8_t AVFilmGrainAOMParams::ar_coeffs_uv[2][25]

Chroma auto-regression coefficients.

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

Definition at line 86 of file film_grain_params.h.

Referenced by export_film_grain(), and libdav1d_receive_frame().

◆ ar_coeff_shift

int AVFilmGrainAOMParams::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.

Definition at line 93 of file film_grain_params.h.

Referenced by export_film_grain(), and libdav1d_receive_frame().

◆ grain_scale_shift

int AVFilmGrainAOMParams::grain_scale_shift

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

Definition at line 99 of file film_grain_params.h.

Referenced by export_film_grain(), and libdav1d_receive_frame().

◆ uv_mult

int AVFilmGrainAOMParams::uv_mult[2]

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

Definition at line 105 of file film_grain_params.h.

Referenced by export_film_grain(), and libdav1d_receive_frame().

◆ uv_mult_luma

int AVFilmGrainAOMParams::uv_mult_luma[2]

Definition at line 106 of file film_grain_params.h.

Referenced by export_film_grain(), and libdav1d_receive_frame().

◆ uv_offset

int AVFilmGrainAOMParams::uv_offset[2]

Offset used for component scaling function.

For AV1 its a 9-bit value with a range [-256, 255]

Definition at line 112 of file film_grain_params.h.

Referenced by export_film_grain(), and libdav1d_receive_frame().

◆ overlap_flag

int AVFilmGrainAOMParams::overlap_flag

Signals whether to overlap film grain blocks.

Definition at line 117 of file film_grain_params.h.

Referenced by export_film_grain(), and libdav1d_receive_frame().

◆ limit_output_range

int AVFilmGrainAOMParams::limit_output_range

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

Definition at line 122 of file film_grain_params.h.

Referenced by export_film_grain(), and libdav1d_receive_frame().


The documentation for this struct was generated from the following file: