avfilter/vf_lut3d: Deduplicate options

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2021-09-11 19:12:48 +02:00
parent b368a774dd
commit 5e9c7f1355

View File

@ -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 {