diff --git a/libavfilter/af_aformat.c b/libavfilter/af_aformat.c index 5658da11ea4ae57fa0b310d1a9649e83ad251caa..39bd850fdb5d779609c8b1497a322168d7fda71c 100644 --- a/libavfilter/af_aformat.c +++ b/libavfilter/af_aformat.c @@ -90,7 +90,7 @@ static int get_sample_rate(const char *samplerate) return FFMAX(ret, 0); } -static av_cold int init(AVFilterContext *ctx, const char *args) +static av_cold int init(AVFilterContext *ctx) { AFormatContext *s = ctx->priv; diff --git a/libavfilter/af_amix.c b/libavfilter/af_amix.c index a1f6747c518267a654e6814fe8c6e3b3a52bd37a..1981365fecb0964dadd1acfc0d97725f8bd6cf29 100644 --- a/libavfilter/af_amix.c +++ b/libavfilter/af_amix.c @@ -483,7 +483,7 @@ fail: return ret; } -static int init(AVFilterContext *ctx, const char *args) +static int init(AVFilterContext *ctx) { MixContext *s = ctx->priv; int i; diff --git a/libavfilter/af_asyncts.c b/libavfilter/af_asyncts.c index 8c7313a321cbb985bcc6d26db2ba7c2d0207df24..13c5a915c40c43545db4d0f22da33fd2402b64bf 100644 --- a/libavfilter/af_asyncts.c +++ b/libavfilter/af_asyncts.c @@ -60,7 +60,7 @@ static const AVOption asyncts_options[] = { AVFILTER_DEFINE_CLASS(asyncts); -static int init(AVFilterContext *ctx, const char *args) +static int init(AVFilterContext *ctx) { ASyncContext *s = ctx->priv; diff --git a/libavfilter/af_channelmap.c b/libavfilter/af_channelmap.c index 4cc92c93ac59158f11bc0d347fc921de9597ada8..a4088640a3a905b872f807ac0e2f6026d9b7d852 100644 --- a/libavfilter/af_channelmap.c +++ b/libavfilter/af_channelmap.c @@ -120,7 +120,7 @@ static int get_channel(char **map, uint64_t *ch, char delim) return 0; } -static av_cold int channelmap_init(AVFilterContext *ctx, const char *args) +static av_cold int channelmap_init(AVFilterContext *ctx) { ChannelMapContext *s = ctx->priv; int ret = 0; diff --git a/libavfilter/af_channelsplit.c b/libavfilter/af_channelsplit.c index e87d6296426d4e43ac67f39a10a6d15a312d754a..89743c6909a36d84edb8c06ebce0d25d05975ef2 100644 --- a/libavfilter/af_channelsplit.c +++ b/libavfilter/af_channelsplit.c @@ -49,7 +49,7 @@ static const AVOption channelsplit_options[] = { AVFILTER_DEFINE_CLASS(channelsplit); -static int init(AVFilterContext *ctx, const char *arg) +static int init(AVFilterContext *ctx) { ChannelSplitContext *s = ctx->priv; int nb_channels; diff --git a/libavfilter/af_join.c b/libavfilter/af_join.c index cba400225b3ff8b6cdd783e975b97dfc73849992..f3fdccafc182b40e476ac1b478b230269f9f6d78 100644 --- a/libavfilter/af_join.c +++ b/libavfilter/af_join.c @@ -187,7 +187,7 @@ static int parse_maps(AVFilterContext *ctx) return 0; } -static int join_init(AVFilterContext *ctx, const char *args) +static int join_init(AVFilterContext *ctx) { JoinContext *s = ctx->priv; int ret, i; diff --git a/libavfilter/af_volume.c b/libavfilter/af_volume.c index 915a4dc197950699538ba0583b78f5af78e5bfa3..7d2b9bad55748a5724786588f5220fe318187804 100644 --- a/libavfilter/af_volume.c +++ b/libavfilter/af_volume.c @@ -56,7 +56,7 @@ static const AVOption volume_options[] = { AVFILTER_DEFINE_CLASS(volume); -static av_cold int init(AVFilterContext *ctx, const char *args) +static av_cold int init(AVFilterContext *ctx) { VolumeContext *vol = ctx->priv; diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 871ab49c7ac5d89b47a6a0865a76af9eef19e9f7..a1b0a1da0256a207c2ceb37adab337fe09613daa 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -838,9 +838,9 @@ int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque } if (filter->filter->init_opaque) - ret = filter->filter->init_opaque(filter, args, opaque); + ret = filter->filter->init_opaque(filter, opaque); else if (filter->filter->init) - ret = filter->filter->init(filter, args); + ret = filter->filter->init(filter); else if (filter->filter->init_dict) ret = filter->filter->init_dict(filter, &options); if (ret < 0) diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index 88cd3e39799ca4919b7f19b349d4d56d7d682795..4aa4399303e8dfcb6e6ee0996297c8f313934223 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -441,10 +441,10 @@ typedef struct AVFilter { */ /** - * Filter initialization function. Args contains the user-supplied - * parameters. FIXME: maybe an AVOption-based system would be better? + * Filter initialization function. Called when all the options have been + * set. */ - int (*init)(AVFilterContext *ctx, const char *args); + int (*init)(AVFilterContext *ctx); /** * Should be set instead of init by the filters that want to pass a diff --git a/libavfilter/buffersrc.c b/libavfilter/buffersrc.c index 1d65a1db352f46d6b33737e476c9f89f4bced2cb..3e05fb37e6746775bf02d26f04da619b779ac853 100644 --- a/libavfilter/buffersrc.c +++ b/libavfilter/buffersrc.c @@ -289,7 +289,7 @@ int av_buffersrc_buffer(AVFilterContext *ctx, AVFilterBufferRef *buf) } #endif -static av_cold int init_video(AVFilterContext *ctx, const char *args) +static av_cold int init_video(AVFilterContext *ctx) { BufferSourceContext *c = ctx->priv; @@ -352,7 +352,7 @@ static const AVOption abuffer_options[] = { AVFILTER_DEFINE_CLASS(abuffer); -static av_cold int init_audio(AVFilterContext *ctx, const char *args) +static av_cold int init_audio(AVFilterContext *ctx) { BufferSourceContext *s = ctx->priv; int ret = 0; diff --git a/libavfilter/fifo.c b/libavfilter/fifo.c index 5153752f061229028687ac68c971094c0917e4e1..ba72cca07f3c96049857c52a9948ed16bdf067dc 100644 --- a/libavfilter/fifo.c +++ b/libavfilter/fifo.c @@ -51,7 +51,7 @@ typedef struct { int allocated_samples; ///< number of samples out was allocated for } FifoContext; -static av_cold int init(AVFilterContext *ctx, const char *args) +static av_cold int init(AVFilterContext *ctx) { FifoContext *fifo = ctx->priv; fifo->last = &fifo->root; diff --git a/libavfilter/split.c b/libavfilter/split.c index cde2ab1efbc356e00fc3200bc766a87b0c2b3a34..39d2da41b50b4c01419b538d7f7b4a30af7ea0ba 100644 --- a/libavfilter/split.c +++ b/libavfilter/split.c @@ -39,7 +39,7 @@ typedef struct SplitContext { int nb_outputs; } SplitContext; -static int split_init(AVFilterContext *ctx, const char *args) +static int split_init(AVFilterContext *ctx) { SplitContext *s = ctx->priv; int i; diff --git a/libavfilter/vf_aspect.c b/libavfilter/vf_aspect.c index 99457a76a1f271f853d0067fec93f73ba46aa02a..973116a9589f7044b79607ec61e1263ef4c645ec 100644 --- a/libavfilter/vf_aspect.c +++ b/libavfilter/vf_aspect.c @@ -45,7 +45,7 @@ typedef struct { } AspectContext; #if FF_API_OLD_FILTER_OPTS -static av_cold int init(AVFilterContext *ctx, const char *args) +static av_cold int init(AVFilterContext *ctx) { AspectContext *s = ctx->priv; diff --git a/libavfilter/vf_boxblur.c b/libavfilter/vf_boxblur.c index 412af3c74eaf8389d137d173d195226c0f6bcf4f..758964476bb7f7ab9cbde037f956dd34794795ce 100644 --- a/libavfilter/vf_boxblur.c +++ b/libavfilter/vf_boxblur.c @@ -78,7 +78,7 @@ typedef struct { #define V 2 #define A 3 -static av_cold int init(AVFilterContext *ctx, const char *args) +static av_cold int init(AVFilterContext *ctx) { BoxBlurContext *boxblur = ctx->priv; diff --git a/libavfilter/vf_cropdetect.c b/libavfilter/vf_cropdetect.c index b721f70df587982b3619f66c527f634739677aab..3d109f8a592d8295e7a05fe2a70b527403d07564 100644 --- a/libavfilter/vf_cropdetect.c +++ b/libavfilter/vf_cropdetect.c @@ -84,7 +84,7 @@ static int checkline(void *ctx, const unsigned char *src, int stride, int len, i return total; } -static av_cold int init(AVFilterContext *ctx, const char *args) +static av_cold int init(AVFilterContext *ctx) { CropDetectContext *cd = ctx->priv; diff --git a/libavfilter/vf_delogo.c b/libavfilter/vf_delogo.c index 1b4ea69c38f7435a84509d7d177184e4a9d0447e..4808cf368bf8223b8aab9dcac6ceb56ff6cfa73e 100644 --- a/libavfilter/vf_delogo.c +++ b/libavfilter/vf_delogo.c @@ -168,7 +168,7 @@ static int query_formats(AVFilterContext *ctx) return 0; } -static av_cold int init(AVFilterContext *ctx, const char *args) +static av_cold int init(AVFilterContext *ctx) { DelogoContext *delogo = ctx->priv; diff --git a/libavfilter/vf_drawbox.c b/libavfilter/vf_drawbox.c index c575b2fa56e049d8e9ae92c444c464683de227de..edb77cc79fb429014d112432842166a1aa76d91e 100644 --- a/libavfilter/vf_drawbox.c +++ b/libavfilter/vf_drawbox.c @@ -45,7 +45,7 @@ typedef struct { int vsub, hsub; ///< chroma subsampling } DrawBoxContext; -static av_cold int init(AVFilterContext *ctx, const char *args) +static av_cold int init(AVFilterContext *ctx) { DrawBoxContext *drawbox = ctx->priv; uint8_t rgba_color[4]; diff --git a/libavfilter/vf_drawtext.c b/libavfilter/vf_drawtext.c index 62d9f884061eab36251898fa53fb6acc8dc18e7f..89c855c38480f1b4f5fd253b88c3b0de87d7e802 100644 --- a/libavfilter/vf_drawtext.c +++ b/libavfilter/vf_drawtext.c @@ -416,7 +416,7 @@ static int load_textfile(AVFilterContext *ctx) return 0; } -static av_cold int init(AVFilterContext *ctx, const char *args) +static av_cold int init(AVFilterContext *ctx) { int err; DrawTextContext *dtext = ctx->priv; diff --git a/libavfilter/vf_fade.c b/libavfilter/vf_fade.c index 639ef34cf95c69f5b03087ef8d1388d445526193..71e0f0120862948134776e733e4b0c698cecf95e 100644 --- a/libavfilter/vf_fade.c +++ b/libavfilter/vf_fade.c @@ -63,7 +63,7 @@ typedef struct { } FadeContext; -static av_cold int init(AVFilterContext *ctx, const char *args) +static av_cold int init(AVFilterContext *ctx) { FadeContext *fade = ctx->priv; diff --git a/libavfilter/vf_format.c b/libavfilter/vf_format.c index 5a95b5f5250074e3e2260767e3390fdfb047e54c..56ce74c5032383b69b8cf99ab9cd495fbd639a4c 100644 --- a/libavfilter/vf_format.c +++ b/libavfilter/vf_format.c @@ -48,7 +48,7 @@ typedef struct { #define AV_PIX_FMT_NAME_MAXSIZE 32 -static av_cold int init(AVFilterContext *ctx, const char *args) +static av_cold int init(AVFilterContext *ctx) { FormatContext *format = ctx->priv; const char *cur, *sep; diff --git a/libavfilter/vf_fps.c b/libavfilter/vf_fps.c index d9f610a00a206527d7e815cc3681c76182b57292..b8195679605605d55e6022bd7ec53aabbcc839cc 100644 --- a/libavfilter/vf_fps.c +++ b/libavfilter/vf_fps.c @@ -70,7 +70,7 @@ static const AVOption fps_options[] = { AVFILTER_DEFINE_CLASS(fps); -static av_cold int init(AVFilterContext *ctx, const char *args) +static av_cold int init(AVFilterContext *ctx) { FPSContext *s = ctx->priv; diff --git a/libavfilter/vf_frei0r.c b/libavfilter/vf_frei0r.c index c16e0479bc526d1f45704fdd3725214e6bfdecdf..6107fc1b32ab2c0d387039ff341613f5d6716bdb 100644 --- a/libavfilter/vf_frei0r.c +++ b/libavfilter/vf_frei0r.c @@ -328,7 +328,7 @@ static av_cold int frei0r_init(AVFilterContext *ctx, return 0; } -static av_cold int filter_init(AVFilterContext *ctx, const char *args) +static av_cold int filter_init(AVFilterContext *ctx) { Frei0rContext *frei0r = ctx->priv; @@ -454,7 +454,7 @@ AVFilter avfilter_vf_frei0r = { .outputs = avfilter_vf_frei0r_outputs, }; -static av_cold int source_init(AVFilterContext *ctx, const char *args) +static av_cold int source_init(AVFilterContext *ctx) { Frei0rContext *frei0r = ctx->priv; AVRational frame_rate_q; diff --git a/libavfilter/vf_gradfun.c b/libavfilter/vf_gradfun.c index b174673e2b88a8f020b4fa34925774519d506b0c..9e21560de975d8c4750fceb574962f0a385babf8 100644 --- a/libavfilter/vf_gradfun.c +++ b/libavfilter/vf_gradfun.c @@ -121,7 +121,7 @@ static void filter(GradFunContext *ctx, uint8_t *dst, const uint8_t *src, int wi } } -static av_cold int init(AVFilterContext *ctx, const char *args) +static av_cold int init(AVFilterContext *ctx) { GradFunContext *gf = ctx->priv; diff --git a/libavfilter/vf_hqdn3d.c b/libavfilter/vf_hqdn3d.c index f2117a8db729656405e25f6657de73d1309347c6..1582b3b65166b2e585ff4a8dbb389e1a15bfdff1 100644 --- a/libavfilter/vf_hqdn3d.c +++ b/libavfilter/vf_hqdn3d.c @@ -181,7 +181,7 @@ static int16_t *precalc_coefs(double dist25, int depth) #define PARAM2_DEFAULT 3.0 #define PARAM3_DEFAULT 6.0 -static int init(AVFilterContext *ctx, const char *args) +static int init(AVFilterContext *ctx) { HQDN3DContext *hqdn3d = ctx->priv; diff --git a/libavfilter/vf_libopencv.c b/libavfilter/vf_libopencv.c index aa5d0258a6e37ea43c6d8cbf7d26d4a745496966..cbaf8f79b975d760a50ef4fde7bfd4e7558850a0 100644 --- a/libavfilter/vf_libopencv.c +++ b/libavfilter/vf_libopencv.c @@ -317,7 +317,7 @@ static OCVFilterEntry ocv_filter_entries[] = { { "smooth", sizeof(SmoothContext), smooth_init, NULL, smooth_end_frame_filter }, }; -static av_cold int init(AVFilterContext *ctx, const char *args) +static av_cold int init(AVFilterContext *ctx) { OCVContext *ocv = ctx->priv; int i; diff --git a/libavfilter/vf_lut.c b/libavfilter/vf_lut.c index 2824f03b09df4d8636280d2c33437d91f14011f8..1f0b684b7547258f454f50364617af7178874e40 100644 --- a/libavfilter/vf_lut.c +++ b/libavfilter/vf_lut.c @@ -354,7 +354,7 @@ static const AVFilterPad outputs[] = { #define lut_options options AVFILTER_DEFINE_CLASS(lut); -static int lut_init(AVFilterContext *ctx, const char *args) +static int lut_init(AVFilterContext *ctx) { return 0; } @@ -367,7 +367,7 @@ DEFINE_LUT_FILTER(lut, "Compute and apply a lookup table to the RGB/YUV input vi #define lutyuv_options options AVFILTER_DEFINE_CLASS(lutyuv); -static int lutyuv_init(AVFilterContext *ctx, const char *args) +static int lutyuv_init(AVFilterContext *ctx) { LutContext *lut = ctx->priv; @@ -384,7 +384,7 @@ DEFINE_LUT_FILTER(lutyuv, "Compute and apply a lookup table to the YUV input vid #define lutrgb_options options AVFILTER_DEFINE_CLASS(lutrgb); -static int lutrgb_init(AVFilterContext *ctx, const char *args) +static int lutrgb_init(AVFilterContext *ctx) { LutContext *lut = ctx->priv; @@ -405,7 +405,7 @@ static const AVOption negate_options[] = { AVFILTER_DEFINE_CLASS(negate); -static int negate_init(AVFilterContext *ctx, const char *args) +static int negate_init(AVFilterContext *ctx) { LutContext *lut = ctx->priv; int i; @@ -421,7 +421,7 @@ static int negate_init(AVFilterContext *ctx, const char *args) } } - return lut_init(ctx, NULL); + return lut_init(ctx); } DEFINE_LUT_FILTER(negate, "Negate input video."); diff --git a/libavfilter/vf_pad.c b/libavfilter/vf_pad.c index 7159c37c9aba2845a9dbb80959a9238f878e88ee..34076799a6143fb3d431a9642f3419a5a270a502 100644 --- a/libavfilter/vf_pad.c +++ b/libavfilter/vf_pad.c @@ -94,7 +94,7 @@ typedef struct { FFDrawColor color; } PadContext; -static av_cold int init(AVFilterContext *ctx, const char *args) +static av_cold int init(AVFilterContext *ctx) { PadContext *pad = ctx->priv; diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c index 176e66dd072ceb98258cd57329315353f4212756..cce2cc220b0c5f6e5d7d4e5ce2a6826af16f66cc 100644 --- a/libavfilter/vf_scale.c +++ b/libavfilter/vf_scale.c @@ -92,7 +92,7 @@ typedef struct { char *flags_str; } ScaleContext; -static av_cold int init(AVFilterContext *ctx, const char *args) +static av_cold int init(AVFilterContext *ctx) { ScaleContext *scale = ctx->priv; int ret; diff --git a/libavfilter/vf_unsharp.c b/libavfilter/vf_unsharp.c index ba025c9550b2760c34042c61b6326df8a95b9ee2..038ba4bafe492460f7bf3c1c071f770b46312132 100644 --- a/libavfilter/vf_unsharp.c +++ b/libavfilter/vf_unsharp.c @@ -143,7 +143,7 @@ static void set_filter_param(FilterParam *fp, int msize_x, int msize_y, float am fp->halfscale = 1 << (fp->scalebits - 1); } -static av_cold int init(AVFilterContext *ctx, const char *args) +static av_cold int init(AVFilterContext *ctx) { UnsharpContext *unsharp = ctx->priv; diff --git a/libavfilter/vsrc_testsrc.c b/libavfilter/vsrc_testsrc.c index 7ae256d40de9b4efa70e2b1e0599332383765bb3..a981001c048b47ffc2486b9e5b26afc20f9c6a66 100644 --- a/libavfilter/vsrc_testsrc.c +++ b/libavfilter/vsrc_testsrc.c @@ -500,7 +500,7 @@ static void test_fill_picture(AVFilterContext *ctx, AVFrame *frame) } } -static av_cold int test_init(AVFilterContext *ctx, const char *args) +static av_cold int test_init(AVFilterContext *ctx) { TestSourceContext *test = ctx->priv; @@ -604,7 +604,7 @@ static void rgbtest_fill_picture(AVFilterContext *ctx, AVFrame *frame) } } -static av_cold int rgbtest_init(AVFilterContext *ctx, const char *args) +static av_cold int rgbtest_init(AVFilterContext *ctx) { TestSourceContext *test = ctx->priv;