Loading...
Searching...
No Matches
AVFilmGrainAOMParams Struct Reference

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

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

## 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.

## y_points

uint8_t AVFilmGrainAOMParams::y_points[14][2]

Definition at line 50 of file film_grain_params.h.

## 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.

## 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.

## uv_points

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

Definition at line 63 of file film_grain_params.h.

## 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.

## ar_coeff_lag

int AVFilmGrainAOMParams::ar_coeff_lag

Specifies the auto-regression lag.

Definition at line 74 of file film_grain_params.h.

## 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.

## 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.

## 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.

## 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.

## 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.

## uv_mult_luma

int AVFilmGrainAOMParams::uv_mult_luma[2]

Definition at line 106 of file film_grain_params.h.

## 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.

## overlap_flag

int AVFilmGrainAOMParams::overlap_flag

Signals whether to overlap film grain blocks.

Definition at line 117 of file film_grain_params.h.

## 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.

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

- libavutil/film_grain_params.h