1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

lavfi: add init_opaque callback

This will be used by filters which require an opaque field to be passed
in input. Should be required only for filters which imply a programmatic
use.

This is possibly a temporary solution, to be removed when we'll have a
clearer and better agreememnt of how/if to pass binary data for
initializing a filter.

See thread:
Subject: [FFmpeg-devel][PATCH] lavfi: add init2 callback
Date: Fri,  6 Jul 2012 01:22:17 +0200
This commit is contained in:
Stefano Sabatini 2012-07-06 00:41:27 +02:00
parent aef9e94f73
commit 21d5609826
4 changed files with 14 additions and 2 deletions

View File

@ -15,6 +15,9 @@ libavutil: 2011-04-18
API changes, most recent first: API changes, most recent first:
2012-07-10 - xxxxxxx - lavfi 3.2.0 - avfilter.h
Add init_opaque() callback to AVFilter struct.
2012-06-26 - xxxxxxx - lavu 51.63.100 - imgutils.h 2012-06-26 - xxxxxxx - lavu 51.63.100 - imgutils.h
Add functions to libavutil/imgutils.h: Add functions to libavutil/imgutils.h:
av_image_get_buffer_size() av_image_get_buffer_size()

View File

@ -554,7 +554,9 @@ int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque
{ {
int ret=0; int ret=0;
if (filter->filter->init) if (filter->filter->init_opaque)
ret = filter->filter->init_opaque(filter, args, opaque);
else if (filter->filter->init)
ret = filter->filter->init(filter, args); ret = filter->filter->init(filter, args);
return ret; return ret;
} }

View File

@ -447,6 +447,13 @@ typedef struct AVFilter {
* AVERROR(ENOSYS) on unsupported commands * AVERROR(ENOSYS) on unsupported commands
*/ */
int (*process_command)(AVFilterContext *, const char *cmd, const char *arg, char *res, int res_len, int flags); int (*process_command)(AVFilterContext *, const char *cmd, const char *arg, char *res, int res_len, int flags);
/**
* Filter initialization function, alternative to the init()
* callback. Args contains the user-supplied parameters, opaque is
* used for providing binary data.
*/
int (*init_opaque)(AVFilterContext *ctx, const char *args, void *opaque);
} AVFilter; } AVFilter;
/** An instance of a filter */ /** An instance of a filter */

View File

@ -29,7 +29,7 @@
#include "libavutil/avutil.h" #include "libavutil/avutil.h"
#define LIBAVFILTER_VERSION_MAJOR 3 #define LIBAVFILTER_VERSION_MAJOR 3
#define LIBAVFILTER_VERSION_MINOR 1 #define LIBAVFILTER_VERSION_MINOR 2
#define LIBAVFILTER_VERSION_MICRO 100 #define LIBAVFILTER_VERSION_MICRO 100
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \