Go to the documentation of this file.
19 #ifndef AVUTIL_FILM_GRAIN_PARAMS_H
20 #define AVUTIL_FILM_GRAIN_PARAMS_H
uint8_t uv_points[2][10][2]
This structure describes decoded (raw) audio or video data.
AVFilmGrainParams * av_film_grain_params_alloc(size_t *size)
Allocate an AVFilmGrainParams structure and set its fields to default values.
uint64_t seed
Seed to use for the synthesis process, if the codec allows for it.
int grain_scale_shift
Signals the down shift applied to the generated gaussian numbers during synthesis.
int limit_output_range
Signals to clip to limited color levels after film grain application.
int num_y_points
Number of points, and the scale and value for each point of the piecewise linear scaling function for...
This structure describes how to handle film grain synthesis for AOM codecs.
AVFilmGrainParams * av_film_grain_params_create_side_data(AVFrame *frame)
Allocate a complete AVFilmGrainParams and add it to the frame.
@ AV_FILM_GRAIN_PARAMS_NONE
int num_uv_points[2]
If chroma_scaling_from_luma is set to 0, signals the chroma scaling function parameters.
This structure describes how to handle film grain synthesis in video for specific codecs.
int8_t ar_coeffs_y[24]
Luma auto-regression coefficients.
int scaling_shift
Specifies the shift applied to the chroma components.
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several the filter must be ready for frames arriving randomly on any input any filter with several inputs will most likely require some kind of queuing mechanism It is perfectly acceptable to have a limited queue and to drop frames when the inputs are too unbalanced request_frame For filters that do not use the this method is called when a frame is wanted on an output For a it should directly call filter_frame on the corresponding output For a if there are queued frames already one of these frames should be pushed If the filter should request a frame on one of its repeatedly until at least one frame has been pushed Return or at least make progress towards producing a frame
int ar_coeff_lag
Specifies the auto-regression lag.
int uv_offset[2]
Offset used for component scaling function.
int uv_mult[2]
Specifies the luma/chroma multipliers for the index to the component scaling function.
int overlap_flag
Signals whether to overlap film grain blocks.
union AVFilmGrainParams::@294 codec
Additional fields may be added both here and in any structure included.
int chroma_scaling_from_luma
Signals whether to derive the chroma scaling function from the luma.
@ AV_FILM_GRAIN_PARAMS_AV1
The union is valid when interpreted as AVFilmGrainAOMParams (codec.aom)
enum AVFilmGrainParamsType type
Specifies the codec for which this structure is valid.
int ar_coeff_shift
Specifies the range of the auto-regressive coefficients.
int8_t ar_coeffs_uv[2][25]
Chroma auto-regression coefficients.