#include "libavutil/pixdesc.h"
#include "libavutil/audioconvert.h"
#include "avfilter.h"
+#include "internal.h"
/**
* Add all refs from a to ret and destroy a.
{
int i;
- for(i = 0; i < a->refcount; i ++) {
+ for (i = 0; i < a->refcount; i++) {
ret->refs[ret->refcount] = a->refs[i];
*ret->refs[ret->refcount++] = ret;
}
/* merge list of formats */
ret->formats = av_malloc(sizeof(*ret->formats) * FFMIN(a->format_count,
b->format_count));
- for(i = 0; i < a->format_count; i ++)
- for(j = 0; j < b->format_count; j ++)
- if(a->formats[i] == b->formats[j])
+ for (i = 0; i < a->format_count; i++)
+ for (j = 0; j < b->format_count; j++)
+ if (a->formats[i] == b->formats[j])
ret->formats[k++] = a->formats[i];
ret->format_count = k;
/* check that there was at least one common format */
- if(!ret->format_count) {
+ if (!ret->format_count) {
av_free(ret->formats);
av_free(ret);
return NULL;
return ret;
}
+int ff_fmt_is_in(int fmt, const int *fmts)
+{
+ const int *p;
+
+ for (p = fmts; *p != -1; p++) {
+ if (fmt == *p)
+ return 1;
+ }
+ return 0;
+}
+
#define MAKE_FORMAT_LIST() \
AVFilterFormats *formats; \
int count = 0; \
if (!formats) return NULL; \
formats->format_count = count; \
if (count) { \
- formats->formats = av_malloc(sizeof(*formats->formats)*count); \
+ formats->formats = av_malloc(sizeof(*formats->formats)*count); \
if (!formats->formats) { \
av_free(formats); \
return NULL; \
return avfilter_make_format64_list(chlayouts);
}
+AVFilterFormats *avfilter_all_packing_formats(void)
+{
+ static int packing[] = {
+ AVFILTER_PACKED,
+ AVFILTER_PLANAR,
+ -1,
+ };
+
+ return avfilter_make_format_list(packing);
+}
+
void avfilter_formats_ref(AVFilterFormats *f, AVFilterFormats **ref)
{
*ref = f;
static int find_ref_index(AVFilterFormats **ref)
{
int i;
- for(i = 0; i < (*ref)->refcount; i ++)
- if((*ref)->refs[i] == ref)
+ for (i = 0; i < (*ref)->refcount; i++)
+ if ((*ref)->refs[i] == ref)
return i;
return -1;
}
idx = find_ref_index(ref);
- if(idx >= 0)
+ if (idx >= 0)
memmove((*ref)->refs + idx, (*ref)->refs + idx+1,
sizeof(AVFilterFormats**) * ((*ref)->refcount-idx-1));
- if(!--(*ref)->refcount) {
+ if (!--(*ref)->refcount) {
av_free((*ref)->formats);
av_free((*ref)->refs);
av_free(*ref);
{
int idx = find_ref_index(oldref);
- if(idx >= 0) {
+ if (idx >= 0) {
(*oldref)->refs[idx] = newref;
*newref = *oldref;
*oldref = NULL;