Query formats supported by the filter on its inputs and outputs.
This callback is called after the filter is initialized (so the inputs
and outputs are fixed), shortly before the format negotiation. This
callback may be called more than once.
This callback must set AVFilterLink.out_formats on every input link and
AVFilterLink.in_formats on every output link to a list of pixel/sample
formats that the filter supports on that link. For audio links, this
filter must also set @ref AVFilterLink.in_samplerates "in_samplerates" /
@ref AVFilterLink.out_samplerates "out_samplerates" and
@ref AVFilterLink.in_channel_layouts "in_channel_layouts" /
@ref AVFilterLink.out_channel_layouts "out_channel_layouts" analogously.
This callback may be NULL for filters with one input, in which case
libavfilter assumes that it supports all input formats and preserves
them on output.
@return zero on success, a negative value corresponding to an
AVERROR code otherwise
Query formats supported by the filter on its inputs and outputs.
This callback is called after the filter is initialized (so the inputs and outputs are fixed), shortly before the format negotiation. This callback may be called more than once.
This callback must set AVFilterLink.out_formats on every input link and AVFilterLink.in_formats on every output link to a list of pixel/sample formats that the filter supports on that link. For audio links, this filter must also set @ref AVFilterLink.in_samplerates "in_samplerates" / @ref AVFilterLink.out_samplerates "out_samplerates" and @ref AVFilterLink.in_channel_layouts "in_channel_layouts" / @ref AVFilterLink.out_channel_layouts "out_channel_layouts" analogously.
This callback may be NULL for filters with one input, in which case libavfilter assumes that it supports all input formats and preserves them on output.
@return zero on success, a negative value corresponding to an AVERROR code otherwise