From 5e9c7f135541fcec0bc000313e72b473c5a43380 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Sat, 11 Sep 2021 19:12:48 +0200 Subject: [PATCH] avfilter/vf_lut3d: Deduplicate options Reviewed-by: Paul B Mahol Signed-off-by: Andreas Rheinhardt --- libavfilter/vf_lut3d.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/libavfilter/vf_lut3d.c b/libavfilter/vf_lut3d.c index 111e624dc3..9fbda833b9 100644 --- a/libavfilter/vf_lut3d.c +++ b/libavfilter/vf_lut3d.c @@ -1261,13 +1261,22 @@ static int process_command(AVFilterContext *ctx, const char *cmd, const char *ar return config_input(ctx->inputs[0]); } +#if CONFIG_LUT3D_FILTER || CONFIG_HALDCLUT_FILTER + +/* These options are shared between several filters; + * &lut3d_haldclut_options[COMMON_OPTIONS_OFFSET] must always + * point to the first of the COMMON_OPTIONS. */ +#define COMMON_OPTIONS_OFFSET CONFIG_LUT3D_FILTER +static const AVOption lut3d_haldclut_options[] = { #if CONFIG_LUT3D_FILTER -static const AVOption lut3d_options[] = { { "file", "set 3D LUT file name", OFFSET(file), AV_OPT_TYPE_STRING, {.str=NULL}, .flags = FLAGS }, +#endif COMMON_OPTIONS }; -AVFILTER_DEFINE_CLASS(lut3d); +#if CONFIG_LUT3D_FILTER + +AVFILTER_DEFINE_CLASS_EXT(lut3d, "lut3d", lut3d_haldclut_options); static av_cold int lut3d_init(AVFilterContext *ctx) { @@ -1588,11 +1597,8 @@ static av_cold void haldclut_uninit(AVFilterContext *ctx) av_freep(&lut3d->lut); } -static const AVOption haldclut_options[] = { - COMMON_OPTIONS -}; - -FRAMESYNC_DEFINE_CLASS(haldclut, LUT3DContext, fs); +FRAMESYNC_DEFINE_CLASS_EXT(haldclut, LUT3DContext, fs, + &lut3d_haldclut_options[COMMON_OPTIONS_OFFSET]); static const AVFilterPad haldclut_inputs[] = { { @@ -1631,6 +1637,8 @@ const AVFilter ff_vf_haldclut = { }; #endif +#endif /* CONFIG_LUT3D_FILTER || CONFIG_HALDCLUT_FILTER */ + #if CONFIG_LUT1D_FILTER enum interp_1d_mode {