/*
* Filter layer - format negotiation
- * copyright (c) 2007 Bobby Bingham
+ * Copyright (c) 2007 Bobby Bingham
*
* This file is part of FFmpeg.
*
AVFilterFormats *avfilter_make_format_list(const int *fmts)
{
AVFilterFormats *formats;
- int count;
+ int count = 0;
- for (count = 0; fmts[count] != -1; count++)
- ;
+ if (fmts)
+ for (count = 0; fmts[count] != -1; count++)
+ ;
formats = av_mallocz(sizeof(AVFilterFormats));
- formats->formats = av_malloc(sizeof(*formats->formats) * count);
formats->format_count = count;
- memcpy(formats->formats, fmts, sizeof(*formats->formats) * count);
+ if (count) {
+ formats->formats = av_malloc(sizeof(*formats->formats) * count);
+ memcpy(formats->formats, fmts, sizeof(*formats->formats) * count);
+ }
return formats;
}
AVFilterFormats *ret = NULL;
int fmt;
int num_formats = type == AVMEDIA_TYPE_VIDEO ? PIX_FMT_NB :
- type == AVMEDIA_TYPE_AUDIO ? SAMPLE_FMT_NB : 0;
+ type == AVMEDIA_TYPE_AUDIO ? AV_SAMPLE_FMT_NB : 0;
for (fmt = 0; fmt < num_formats; fmt++)
if ((type != AVMEDIA_TYPE_VIDEO) ||