Go to the documentation of this file.
28 *
size =
sizeof(*params);
57 int bit_depth_luma, bit_depth_chroma;
63 bit_depth_luma = bit_depth_chroma =
desc->comp[0].depth;
65 for (
int i = 0;
i <
frame->nb_side_data;
i++) {
73 #define CHECK(a, b, unspec) \
74 if ((a) != (unspec) && (b) != (unspec) && (a) != (b)) \
int bit_depth_luma
Intended bit depth, or 0 for unknown/unspecified.
AVFrameSideData * av_frame_new_side_data(AVFrame *frame, enum AVFrameSideDataType type, size_t size)
Add a new side data to a frame.
const AVPixFmtDescriptor * av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
AVFilmGrainParams * av_film_grain_params_alloc(size_t *size)
This file is part of FFmpeg.
@ AV_FRAME_DATA_FILM_GRAIN_PARAMS
Film grain parameters for a frame, described by AVFilmGrainParams.
This structure describes decoded (raw) audio or video data.
enum AVColorSpace color_space
enum AVColorTransferCharacteristic color_trc
const AVFilmGrainParams * av_film_grain_params_select(const AVFrame *frame)
Select the most appropriate film grain parameters set for the frame, taking into account the frame's ...
int width
Intended display resolution.
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 subsampling_x
Intended subsampling ratio, or 0 for luma-only streams.
@ AVCOL_RANGE_UNSPECIFIED
#define CHECK(a, b, unspec)
This structure describes how to handle film grain synthesis in video for specific codecs.
enum AVColorPrimaries color_primaries
#define i(width, name, range_min, range_max)
void * av_mallocz(size_t size)
Allocate a memory block with alignment suitable for all memory accesses (including vectors if availab...
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
@ AV_FILM_GRAIN_PARAMS_H274
The union is valid when interpreted as AVFilmGrainH274Params (codec.h274)
enum AVColorRange color_range
Intended video signal characteristics.
Structure to hold side data for an AVFrame.
Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...
@ 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.