summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavfilter/formats.c9
-rw-r--r--libavfilter/formats.h8
2 files changed, 16 insertions, 1 deletions
diff --git a/libavfilter/formats.c b/libavfilter/formats.c
index 296e4f4b7c..5f8954c789 100644
--- a/libavfilter/formats.c
+++ b/libavfilter/formats.c
@@ -376,6 +376,15 @@ AVFilterChannelLayouts *ff_all_channel_layouts(void)
return ret;
}
+AVFilterChannelLayouts *ff_all_channel_counts(void)
+{
+ AVFilterChannelLayouts *ret = av_mallocz(sizeof(*ret));
+ if (!ret)
+ return NULL;
+ ret->all_layouts = ret->all_counts = 1;
+ return ret;
+}
+
#define FORMATS_REF(f, ref) \
do { \
*ref = f; \
diff --git a/libavfilter/formats.h b/libavfilter/formats.h
index 438267fc16..4ef63df27a 100644
--- a/libavfilter/formats.h
+++ b/libavfilter/formats.h
@@ -123,11 +123,17 @@ AVFilterFormats *ff_merge_samplerates(AVFilterFormats *a,
/**
* Construct an empty AVFilterChannelLayouts/AVFilterFormats struct --
- * representing any channel layout/sample rate.
+ * representing any channel layout (with known disposition)/sample rate.
*/
AVFilterChannelLayouts *ff_all_channel_layouts(void);
AVFilterFormats *ff_all_samplerates(void);
+/**
+ * Construct an AVFilterChannelLayouts coding for any channel layout, with
+ * known or unknown disposition.
+ */
+AVFilterChannelLayouts *ff_all_channel_counts(void);
+
AVFilterChannelLayouts *avfilter_make_format64_list(const int64_t *fmts);