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 +0200tags/n1.0
| @@ -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() | ||||
| @@ -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; | ||||
| } | } | ||||
| @@ -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 */ | ||||
| @@ -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, \ | ||||