Despite its name, this function is not part of the public API, as formats.h, the header containing its declaration, is a private header. The formats API was once public API, but that changed long ago (b74a1da49db5ebed51aceae6cacc2329288a92c1, the commit scheduling it to become private, is from 2012). That avfilter_make_format64_list() was forgotten is probably a result of the confusion resulting from the libav-ffmpeg split. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>tags/n4.4
@@ -258,7 +258,7 @@ static int query_formats(AVFilterContext *ctx) | |||||
if (ret < 0) | if (ret < 0) | ||||
return ret; | return ret; | ||||
layouts = avfilter_make_format64_list(chlayouts); | |||||
layouts = ff_make_format64_list(chlayouts); | |||||
if (!layouts) | if (!layouts) | ||||
return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
ret = ff_set_common_channel_layouts(ctx, layouts); | ret = ff_set_common_channel_layouts(ctx, layouts); | ||||
@@ -126,7 +126,7 @@ static int query_formats(AVFilterContext *ctx) | |||||
if(out_layout) { | if(out_layout) { | ||||
int64_t layout_list[] = { out_layout, -1 }; | int64_t layout_list[] = { out_layout, -1 }; | ||||
out_layouts = avfilter_make_format64_list(layout_list); | |||||
out_layouts = ff_make_format64_list(layout_list); | |||||
} else | } else | ||||
out_layouts = ff_all_channel_counts(); | out_layouts = ff_all_channel_counts(); | ||||
@@ -145,7 +145,7 @@ static av_cold int query_formats(AVFilterContext *ctx) | |||||
if (ret < 0) | if (ret < 0) | ||||
return ret; | return ret; | ||||
layouts = avfilter_make_format64_list(chlayouts); | |||||
layouts = ff_make_format64_list(chlayouts); | |||||
if (!layouts) | if (!layouts) | ||||
return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
ret = ff_set_common_channel_layouts(ctx, layouts); | ret = ff_set_common_channel_layouts(ctx, layouts); | ||||
@@ -101,7 +101,7 @@ static av_cold int query_formats(AVFilterContext *ctx) | |||||
if (ret < 0) | if (ret < 0) | ||||
return ret; | return ret; | ||||
layouts = avfilter_make_format64_list(chlayouts); | |||||
layouts = ff_make_format64_list(chlayouts); | |||||
if (!layouts) | if (!layouts) | ||||
return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
ret = ff_set_common_channel_layouts(ctx, layouts); | ret = ff_set_common_channel_layouts(ctx, layouts); | ||||
@@ -83,11 +83,10 @@ static int query_formats(AVFilterContext *ctx) | |||||
int ret; | int ret; | ||||
if ((ret = ff_set_common_formats (ctx, ff_all_formats (AVMEDIA_TYPE_AUDIO))) < 0 || | if ((ret = ff_set_common_formats (ctx, ff_all_formats (AVMEDIA_TYPE_AUDIO))) < 0 || | ||||
(ret = ff_set_common_channel_layouts (ctx, avfilter_make_format64_list (chlayouts ))) < 0 || | |||||
(ret = ff_set_common_samplerates (ctx, ff_make_format_list (sample_rates ))) < 0) | (ret = ff_set_common_samplerates (ctx, ff_make_format_list (sample_rates ))) < 0) | ||||
return ret; | return ret; | ||||
return 0; | |||||
return ff_set_common_channel_layouts(ctx, ff_make_format64_list(chlayouts)); | |||||
} | } | ||||
static int config_props(AVFilterLink *outlink) | static int config_props(AVFilterLink *outlink) | ||||
@@ -113,7 +113,7 @@ static av_cold int query_formats(AVFilterContext *ctx) | |||||
if (ret < 0) | if (ret < 0) | ||||
return ret; | return ret; | ||||
layouts = avfilter_make_format64_list(chlayouts); | |||||
layouts = ff_make_format64_list(chlayouts); | |||||
if (!layouts) | if (!layouts) | ||||
return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
ret = ff_set_common_channel_layouts(ctx, layouts); | ret = ff_set_common_channel_layouts(ctx, layouts); | ||||
@@ -84,7 +84,7 @@ static int query_formats(AVFilterContext *ctx) | |||||
if (ret < 0) | if (ret < 0) | ||||
return ret; | return ret; | ||||
layouts = avfilter_make_format64_list(chlayouts); | |||||
layouts = ff_make_format64_list(chlayouts); | |||||
if (!layouts) | if (!layouts) | ||||
return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
ret = ff_set_common_channel_layouts(ctx, layouts); | ret = ff_set_common_channel_layouts(ctx, layouts); | ||||
@@ -194,7 +194,7 @@ static av_cold int query_formats(AVFilterContext *ctx) | |||||
if (ret < 0) | if (ret < 0) | ||||
return ret; | return ret; | ||||
layouts = avfilter_make_format64_list(chlayouts); | |||||
layouts = ff_make_format64_list(chlayouts); | |||||
if (!layouts) | if (!layouts) | ||||
return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
ret = ff_set_common_channel_layouts(ctx, layouts); | ret = ff_set_common_channel_layouts(ctx, layouts); | ||||
@@ -1334,7 +1334,7 @@ static int query_formats(AVFilterContext *ctx) | |||||
if ((ret = ff_formats_ref(formats, &inlink->out_formats)) < 0) | if ((ret = ff_formats_ref(formats, &inlink->out_formats)) < 0) | ||||
return ret; | return ret; | ||||
layouts = avfilter_make_format64_list(channel_layouts); | |||||
layouts = ff_make_format64_list(channel_layouts); | |||||
if ((ret = ff_channel_layouts_ref(layouts, &inlink->out_channel_layouts)) < 0) | if ((ret = ff_channel_layouts_ref(layouts, &inlink->out_channel_layouts)) < 0) | ||||
return ret; | return ret; | ||||
@@ -289,7 +289,7 @@ AVFilterFormats *ff_make_format_list(const int *fmts) | |||||
return formats; | return formats; | ||||
} | } | ||||
AVFilterChannelLayouts *avfilter_make_format64_list(const int64_t *fmts) | |||||
AVFilterChannelLayouts *ff_make_format64_list(const int64_t *fmts) | |||||
{ | { | ||||
MAKE_FORMAT_LIST(AVFilterChannelLayouts, | MAKE_FORMAT_LIST(AVFilterChannelLayouts, | ||||
channel_layouts, nb_channel_layouts); | channel_layouts, nb_channel_layouts); | ||||
@@ -300,6 +300,13 @@ AVFilterChannelLayouts *avfilter_make_format64_list(const int64_t *fmts) | |||||
return formats; | return formats; | ||||
} | } | ||||
#if LIBAVFILTER_VERSION_MAJOR < 8 | |||||
AVFilterChannelLayouts *avfilter_make_format64_list(const int64_t *fmts) | |||||
{ | |||||
return ff_make_format64_list(fmts); | |||||
} | |||||
#endif | |||||
#define ADD_FORMAT(f, fmt, unref_fn, type, list, nb) \ | #define ADD_FORMAT(f, fmt, unref_fn, type, list, nb) \ | ||||
do { \ | do { \ | ||||
type *fmts; \ | type *fmts; \ | ||||
@@ -20,6 +20,7 @@ | |||||
#define AVFILTER_FORMATS_H | #define AVFILTER_FORMATS_H | ||||
#include "avfilter.h" | #include "avfilter.h" | ||||
#include "version.h" | |||||
/** | /** | ||||
* A list of supported formats for one end of a filter link. This is used | * A list of supported formats for one end of a filter link. This is used | ||||
@@ -139,8 +140,11 @@ av_warn_unused_result | |||||
AVFilterChannelLayouts *ff_all_channel_counts(void); | AVFilterChannelLayouts *ff_all_channel_counts(void); | ||||
av_warn_unused_result | av_warn_unused_result | ||||
AVFilterChannelLayouts *avfilter_make_format64_list(const int64_t *fmts); | |||||
AVFilterChannelLayouts *ff_make_format64_list(const int64_t *fmts); | |||||
#if LIBAVFILTER_VERSION_MAJOR < 8 | |||||
AVFilterChannelLayouts *avfilter_make_format64_list(const int64_t *fmts); | |||||
#endif | |||||
/** | /** | ||||
* A helper for query_formats() which sets all links to the same list of channel | * A helper for query_formats() which sets all links to the same list of channel | ||||
@@ -376,7 +376,7 @@ static int movie_query_formats(AVFilterContext *ctx) | |||||
if ((ret = ff_formats_ref(ff_make_format_list(list), &outlink->in_samplerates)) < 0) | if ((ret = ff_formats_ref(ff_make_format_list(list), &outlink->in_samplerates)) < 0) | ||||
return ret; | return ret; | ||||
list64[0] = c->channel_layout; | list64[0] = c->channel_layout; | ||||
if ((ret = ff_channel_layouts_ref(avfilter_make_format64_list(list64), | |||||
if ((ret = ff_channel_layouts_ref(ff_make_format64_list(list64), | |||||
&outlink->in_channel_layouts)) < 0) | &outlink->in_channel_layouts)) < 0) | ||||
return ret; | return ret; | ||||
break; | break; | ||||