Browse Source

Implement avfilter_make_format_list2(), which is going to replace

avfilter_make_format_list().

See the thread:
"[PATCH] Implement avfilter_make_format_list2(enum PixelFormat pix_fmt, ...)".

Originally committed as revision 20299 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.6
Stefano Sabatini 15 years ago
parent
commit
f6a1fa850a
2 changed files with 26 additions and 2 deletions
  1. +10
    -2
      libavfilter/avfilter.h
  2. +16
    -0
      libavfilter/formats.c

+ 10
- 2
libavfilter/avfilter.h View File

@@ -23,8 +23,8 @@
#define AVFILTER_AVFILTER_H

#define LIBAVFILTER_VERSION_MAJOR 1
#define LIBAVFILTER_VERSION_MINOR 0
#define LIBAVFILTER_VERSION_MICRO 1
#define LIBAVFILTER_VERSION_MINOR 1
#define LIBAVFILTER_VERSION_MICRO 0

#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
LIBAVFILTER_VERSION_MINOR, \
@@ -179,6 +179,14 @@ struct AVFilterFormats
*/
AVFilterFormats *avfilter_make_format_list(int len, ...);

/**
* Creates a list of supported formats. This is intended for use in
* AVFilter->query_formats().
* @param pix_fmt list of pixel formats, terminated by PIX_FMT_NONE
* @return the format list, with no existing references
*/
AVFilterFormats *avfilter_make_format_list2(enum PixelFormat *pix_fmt);

/**
* Returns a list of all colorspaces supported by FFmpeg.
*/


+ 16
- 0
libavfilter/formats.c View File

@@ -87,6 +87,22 @@ AVFilterFormats *avfilter_make_format_list(int len, ...)
return ret;
}

AVFilterFormats *avfilter_make_format_list2(enum PixelFormat *pix_fmt)
{
AVFilterFormats *formats;
int count;

for (count = 0; pix_fmt[count] != PIX_FMT_NONE; count++)
;

formats = av_mallocz(sizeof(AVFilterFormats));
formats->formats = av_malloc(sizeof(*formats->formats) * count);
formats->format_count = count;
memcpy(formats->formats, pix_fmt, sizeof(*formats->formats) * count);

return formats;
}

AVFilterFormats *avfilter_all_colorspaces(void)
{
AVFilterFormats *ret;


Loading…
Cancel
Save