|
|
|
@@ -288,13 +288,14 @@ static const char *filter_name(void *p) |
|
|
|
return filter->filter->name; |
|
|
|
} |
|
|
|
|
|
|
|
AVFilterContext *avfilter_create(AVFilter *filter) |
|
|
|
AVFilterContext *avfilter_create(AVFilter *filter, char *inst_name) |
|
|
|
{ |
|
|
|
AVFilterContext *ret = av_malloc(sizeof(AVFilterContext)); |
|
|
|
|
|
|
|
ret->av_class = av_mallocz(sizeof(AVClass)); |
|
|
|
ret->av_class->item_name = filter_name; |
|
|
|
ret->filter = filter; |
|
|
|
ret->name = inst_name ? strdup(inst_name) : NULL; |
|
|
|
ret->inputs = av_mallocz(sizeof(AVFilterLink*) * pad_count(filter->inputs)); |
|
|
|
ret->outputs = av_mallocz(sizeof(AVFilterLink*) * pad_count(filter->outputs)); |
|
|
|
ret->priv = av_mallocz(filter->priv_size); |
|
|
|
@@ -320,6 +321,7 @@ void avfilter_destroy(AVFilterContext *filter) |
|
|
|
av_free(filter->outputs[i]); |
|
|
|
} |
|
|
|
|
|
|
|
free (filter->name); |
|
|
|
av_free(filter->inputs); |
|
|
|
av_free(filter->outputs); |
|
|
|
av_free(filter->priv); |
|
|
|
@@ -327,12 +329,12 @@ void avfilter_destroy(AVFilterContext *filter) |
|
|
|
av_free(filter); |
|
|
|
} |
|
|
|
|
|
|
|
AVFilterContext *avfilter_create_by_name(char *name) |
|
|
|
AVFilterContext *avfilter_create_by_name(char *name, char *inst_name) |
|
|
|
{ |
|
|
|
AVFilter *filt; |
|
|
|
|
|
|
|
if(!(filt = avfilter_get_by_name(name))) return NULL; |
|
|
|
return avfilter_create(filt); |
|
|
|
return avfilter_create(filt, inst_name); |
|
|
|
} |
|
|
|
|
|
|
|
int avfilter_init_filter(AVFilterContext *filter, const char *args) |
|
|
|
|