FFmpeg
|
#include "avfilter.h"
Go to the source code of this file.
Data Structures | |
struct | AVFilterFormats |
A list of supported formats for one end of a filter link. More... | |
struct | AVFilterChannelLayouts |
A list of supported channel layouts. More... | |
struct | AVFilterFormatMerger |
struct | AVFilterNegotiation |
Callbacks and properties to describe the steps of a format negotiation. More... | |
Macros | |
#define | FF_COUNT2LAYOUT(c) ((AVChannelLayout) { .order = AV_CHANNEL_ORDER_UNSPEC, .nb_channels = c }) |
Encode a channel count as a channel layout. More... | |
#define | FF_LAYOUT2COUNT(l) |
Decode a channel count encoded as a channel layout. More... | |
#define | KNOWN(l) (!FF_LAYOUT2COUNT(l)) /* for readability */ |
#define | FF_PIX_FMT_FLAG_SW_FLAT_SUB (1 << 24) |
#define FF_COUNT2LAYOUT | ( | c | ) | ((AVChannelLayout) { .order = AV_CHANNEL_ORDER_UNSPEC, .nb_channels = c }) |
Encode a channel count as a channel layout.
FF_COUNT2LAYOUT(c) means any channel layout with c channels, with a known or unknown disposition. The result is only valid inside AVFilterChannelLayouts and immediately related functions.
#define FF_LAYOUT2COUNT | ( | l | ) |
Decode a channel count encoded as a channel layout.
Return 0 if the channel layout was a real one.
#define KNOWN | ( | l | ) | (!FF_LAYOUT2COUNT(l)) /* for readability */ |
av_warn_unused_result AVFilterChannelLayouts* ff_all_channel_layouts | ( | void | ) |
Construct an empty AVFilterChannelLayouts/AVFilterFormats struct – representing any channel layout (with known disposition)/sample rate.
Definition at line 578 of file formats.c.
Referenced by filter_query_formats(), join_query_formats(), and query_formats().
av_warn_unused_result AVFilterFormats* ff_all_samplerates | ( | void | ) |
Definition at line 572 of file formats.c.
Referenced by ff_set_common_all_samplerates(), and query_formats().
av_warn_unused_result AVFilterChannelLayouts* ff_all_channel_counts | ( | void | ) |
Construct an AVFilterChannelLayouts coding for any channel layout, with known or unknown disposition.
Definition at line 587 of file formats.c.
Referenced by aeval_query_formats(), asink_query_formats(), channelmap_query_formats(), ff_set_common_all_channel_counts(), and query_formats().
av_warn_unused_result AVFilterChannelLayouts* ff_make_channel_layout_list | ( | const AVChannelLayout * | fmts | ) |
Definition at line 410 of file formats.c.
Referenced by ff_set_common_channel_layouts_from_list(), movie_query_formats(), and query_formats().
av_warn_unused_result int ff_set_common_channel_layouts | ( | AVFilterContext * | ctx, |
AVFilterChannelLayouts * | layouts | ||
) |
Helpers for query_formats() which set all free audio links to the same list of channel layouts/sample rates.
If there are no links hooked to this list, the list is freed.
Definition at line 729 of file formats.c.
Referenced by asink_query_formats(), ff_set_common_all_channel_counts(), ff_set_common_channel_layouts_from_list(), filter_query_formats(), and query_formats().
av_warn_unused_result int ff_set_common_channel_layouts_from_list | ( | AVFilterContext * | ctx, |
const AVChannelLayout * | fmts | ||
) |
Equivalent to ff_set_common_channel_layouts(ctx, ff_make_channel_layout_list(fmts))
Definition at line 736 of file formats.c.
Referenced by query_formats().
av_warn_unused_result int ff_set_common_all_channel_counts | ( | AVFilterContext * | ctx | ) |
Equivalent to ff_set_common_channel_layouts(ctx, ff_all_channel_counts())
Definition at line 742 of file formats.c.
Referenced by aeval_query_formats(), ff_default_query_formats(), and query_formats().
av_warn_unused_result int ff_set_common_samplerates | ( | AVFilterContext * | ctx, |
AVFilterFormats * | samplerates | ||
) |
Definition at line 747 of file formats.c.
Referenced by asink_query_formats(), ff_set_common_all_samplerates(), ff_set_common_samplerates_from_list(), and query_formats().
av_warn_unused_result int ff_set_common_samplerates_from_list | ( | AVFilterContext * | ctx, |
const int * | samplerates | ||
) |
Equivalent to ff_set_common_samplerates(ctx, ff_make_format_list(samplerates))
Definition at line 754 of file formats.c.
Referenced by query_formats().
av_warn_unused_result int ff_set_common_all_samplerates | ( | AVFilterContext * | ctx | ) |
Equivalent to ff_set_common_samplerates(ctx, ff_all_samplerates())
Definition at line 760 of file formats.c.
Referenced by aeval_query_formats(), channelmap_query_formats(), ff_default_query_formats(), filter_query_formats(), join_query_formats(), and query_formats().
av_warn_unused_result int ff_set_common_formats | ( | AVFilterContext * | ctx, |
AVFilterFormats * | formats | ||
) |
A helper for query_formats() which sets all links to the same list of formats.
If there are no links hooked to this filter, the list of formats is freed.
Definition at line 770 of file formats.c.
Referenced by asink_query_formats(), channelmap_query_formats(), ff_default_query_formats(), ff_set_common_formats_from_list(), filter_query_formats(), join_query_formats(), query_formats(), and vsink_query_formats().
av_warn_unused_result int ff_set_common_formats_from_list | ( | AVFilterContext * | ctx, |
const int * | fmts | ||
) |
Equivalent to ff_set_common_formats(ctx, ff_make_format_list(fmts))
Definition at line 776 of file formats.c.
Referenced by aeval_query_formats(), geq_query_formats(), qsv_stack_query_formats(), query_formats(), and vaapi_stack_query_formats().
av_warn_unused_result int ff_add_channel_layout | ( | AVFilterChannelLayouts ** | l, |
const AVChannelLayout * | channel_layout | ||
) |
Definition at line 487 of file formats.c.
Referenced by aeval_query_formats(), asink_query_formats(), channelmap_query_formats(), join_query_formats(), parse_channel_layouts(), query_formats(), and reduce_formats_on_filter().
av_warn_unused_result int ff_channel_layouts_ref | ( | AVFilterChannelLayouts * | f, |
AVFilterChannelLayouts ** | ref | ||
) |
Add *ref as a new reference to f.
Definition at line 612 of file formats.c.
Referenced by aeval_query_formats(), channelmap_query_formats(), ff_set_common_channel_layouts(), join_query_formats(), movie_query_formats(), and query_formats().
void ff_channel_layouts_unref | ( | AVFilterChannelLayouts ** | ref | ) |
Remove a reference to a channel layouts list.
Definition at line 668 of file formats.c.
Referenced by ff_add_channel_layout(), ff_channel_layouts_ref(), ff_set_common_channel_layouts(), free_link(), pick_format(), and uninit().
void ff_channel_layouts_changeref | ( | AVFilterChannelLayouts ** | oldref, |
AVFilterChannelLayouts ** | newref | ||
) |
Definition at line 686 of file formats.c.
Referenced by avfilter_insert_filter().
av_warn_unused_result int ff_default_query_formats | ( | AVFilterContext * | ctx | ) |
Definition at line 781 of file formats.c.
Referenced by main(), query_formats(), and vsink_query_formats().
av_warn_unused_result AVFilterFormats* ff_make_format_list | ( | const int * | fmts | ) |
Create a list of supported formats.
This is intended for use in AVFilter->query_formats().
fmts | list of media formats, terminated by -1 |
Definition at line 401 of file formats.c.
Referenced by cudaupload_query_formats(), ff_default_query_formats(), ff_make_formats_list_singleton(), ff_set_common_formats_from_list(), ff_set_common_samplerates_from_list(), ff_vaapi_vpp_query_formats(), hwupload_query_formats(), movie_query_formats(), overlay_qsv_query_formats(), and query_formats().
av_warn_unused_result AVFilterFormats* ff_make_formats_list_singleton | ( | int | fmt | ) |
Equivalent to ff_make_format_list({const int[]}{ fmt, -1 })
Definition at line 495 of file formats.c.
Referenced by ff_default_query_formats().
av_warn_unused_result int ff_add_format | ( | AVFilterFormats ** | avff, |
int64_t | fmt | ||
) |
Add fmt to the list of media formats contained in *avff.
If *avff is NULL the function allocates the filter formats struct and puts its pointer in *avff.
Definition at line 470 of file formats.c.
Referenced by asink_query_formats(), ff_all_formats(), ff_draw_supported_pixel_formats(), ff_planar_sample_fmts(), hwupload_query_formats(), init(), libplacebo_query_format(), query_formats(), reduce_formats_on_filter(), and vsink_query_formats().
av_warn_unused_result AVFilterFormats* ff_all_formats | ( | enum AVMediaType | type | ) |
Return a list of all formats supported by FFmpeg for the given media type.
Definition at line 501 of file formats.c.
Referenced by ff_default_query_formats(), filter_query_formats(), hwmap_query_formats(), and query_formats().
av_warn_unused_result AVFilterFormats* ff_formats_pixdesc_filter | ( | unsigned | want, |
unsigned | rej | ||
) |
Construct a formats list containing all pixel formats with certain properties.
Definition at line 519 of file formats.c.
Referenced by ff_all_formats(), hwdownload_query_formats(), and query_formats().
av_warn_unused_result AVFilterFormats* ff_planar_sample_fmts | ( | void | ) |
Construct a formats list containing all planar sample formats.
Definition at line 559 of file formats.c.
Referenced by channelmap_query_formats(), join_query_formats(), and query_formats().
av_warn_unused_result int ff_formats_ref | ( | AVFilterFormats * | formats, |
AVFilterFormats ** | ref | ||
) |
Add *ref as a new reference to formats.
That is the pointers will point like in the ascii art below:
|formats |<-----—. | ____ | ____|___________________ | |refs| | | __|_ | |* * | | | | | | AVFilterLink | |* *------—>|*ref| | |____| | | |____| |________| |________________________
Definition at line 617 of file formats.c.
Referenced by cudaupload_query_formats(), ff_set_common_formats(), ff_set_common_samplerates(), ff_vaapi_vpp_query_formats(), hwdownload_query_formats(), hwmap_query_formats(), hwupload_query_formats(), libplacebo_query_format(), movie_query_formats(), overlay_qsv_query_formats(), and query_formats().
void ff_formats_unref | ( | AVFilterFormats ** | ref | ) |
If *ref is non-NULL, remove *ref as a reference to the format list it currently points to, deallocates that list if this was the last reference, and sets *ref to NULL.
Before After
________ ________ NULL |formats |<-----—. |formats | ^ | ____ | ____|________________ | ____ | ____|________________ | |refs| | | __|_ | |refs| | | __|_ | |* * | | | | | | AVFilterLink | |* * | | | | | | AVFilterLink | |* ------—>|*ref| | | | | | |*ref| | |____| | | |____| | |____| | | |____| |________| |_____________________ |________| |_____________________
Definition at line 656 of file formats.c.
Referenced by ff_add_format(), ff_formats_ref(), ff_set_common_formats(), ff_set_common_samplerates(), free_link(), libplacebo_query_format(), pick_format(), and uninit().
void ff_formats_changeref | ( | AVFilterFormats ** | oldref, |
AVFilterFormats ** | newref | ||
) |
Before After
|formats |<------—. |formats |<------—. | ____ | ___|___ | ____ | ___|___ | |refs| | | | | | |refs| | | | | NULL | |* ------—>|*oldref| | | ------—>|*newref| ^ | | * | | |_______| | |* * | | |_______| ___|___ | |____| | | |____| | | | | |________| |________| |*oldref| |_______|
Definition at line 692 of file formats.c.
Referenced by avfilter_insert_filter().
int ff_formats_check_pixel_formats | ( | void * | log, |
const AVFilterFormats * | fmts | ||
) |
Check that fmts is a valid pixel formats list.
In particular, check for duplicates.
Definition at line 920 of file formats.c.
Referenced by filter_link_check_formats().
int ff_formats_check_sample_formats | ( | void * | log, |
const AVFilterFormats * | fmts | ||
) |
Check that fmts is a valid sample formats list.
In particular, check for duplicates.
Definition at line 925 of file formats.c.
Referenced by filter_link_check_formats().
int ff_formats_check_sample_rates | ( | void * | log, |
const AVFilterFormats * | fmts | ||
) |
Check that fmts is a valid sample rates list.
In particular, check for duplicates.
Definition at line 930 of file formats.c.
Referenced by filter_link_check_formats().
int ff_formats_check_channel_layouts | ( | void * | log, |
const AVFilterChannelLayouts * | fmts | ||
) |
Check that fmts is a valid channel layouts list.
In particular, check for duplicates.
Definition at line 944 of file formats.c.
Referenced by filter_link_check_formats().
const AVFilterNegotiation* ff_filter_get_negotiation | ( | AVFilterLink * | link | ) |
Definition at line 363 of file formats.c.
Referenced by query_formats().