diff options
author | Michael Niedermayer <[email protected]> | 2013-03-20 21:41:22 +0100 |
---|---|---|
committer | Michael Niedermayer <[email protected]> | 2013-03-20 21:41:26 +0100 |
commit | 426ebdf923f9826e456bb734299fa2d2b6199524 (patch) | |
tree | f30fd4ac99579f87dec2bb4df06e30cbb0ee8859 /libavfilter/avfilter.c | |
parent | b853103fe0e59edc8970462abc6c181610ad9216 (diff) | |
parent | 2753d4ebf067593070ca4e9b3ea1dbe6ace23ba3 (diff) |
Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
lavfi/vf_yadif: use standard options parsing.
lavfi/vf_unsharp: use standard options parsing.
lavfi/vf_transpose: use standard options parsing.
lavfi/vf_pad: use standard options parsing.
lavfi/vf_fps: use standard options parsing.
lavfi/vf_fade: use standard options parsing.
lavi/vf_drawbox: use standard options parsing.
lavfi/vf_delogo: use standard options parsing.
lavfi/vf_decimate: use standard options parsing.
lavfi/vf_crop: use standard options parsing.
lavfi/af_volume: use standard options parsing.
lavfi/vf_tile: use standard options parsing.
lavfi/avf_concat: use standard options parsing.
lavfi: add common code to handle options parsing.
lavf/vobsub: free index pseudo-packet.
ffmpeg: fix freeing of sub2video frame.
lavfi: add sine audio source.
lavu/opt: add AV_OPT_TYPE_DURATION.
lavfi/concat: fix silence duration computation.
lavf/concatdec: support seeking.
Merged-by: Michael Niedermayer <[email protected]>
Diffstat (limited to 'libavfilter/avfilter.c')
-rw-r--r-- | libavfilter/avfilter.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 1d278178fe..8a907dc085 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -24,6 +24,7 @@ #include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/imgutils.h" +#include "libavutil/opt.h" #include "libavutil/pixdesc.h" #include "libavutil/rational.h" #include "libavutil/samplefmt.h" @@ -556,6 +557,8 @@ void avfilter_free(AVFilterContext *filter) if (filter->filter->uninit) filter->filter->uninit(filter); + if (filter->filter->shorthand) + av_opt_free(filter->priv); for (i = 0; i < filter->nb_inputs; i++) { if ((link = filter->inputs[i])) { @@ -600,6 +603,17 @@ int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque { int ret=0; + if (filter->filter->shorthand) { + av_assert0(filter->priv); + av_assert0(filter->filter->priv_class); + *(const AVClass **)filter->priv = filter->filter->priv_class; + av_opt_set_defaults(filter->priv); + ret = av_opt_set_from_string(filter->priv, args, + filter->filter->shorthand, "=", ":"); + if (ret < 0) + return ret; + args = NULL; + } if (filter->filter->init_opaque) ret = filter->filter->init_opaque(filter, args, opaque); else if (filter->filter->init) |