diff options
Diffstat (limited to 'options')
-rw-r--r-- | options/m_option.h | 1 | ||||
-rw-r--r-- | options/options.c | 14 | ||||
-rw-r--r-- | options/options.h | 7 |
3 files changed, 19 insertions, 3 deletions
diff --git a/options/m_option.h b/options/m_option.h index 8c8ae855d1..f47dac294e 100644 --- a/options/m_option.h +++ b/options/m_option.h @@ -405,7 +405,6 @@ char *format_file_size(int64_t size); // certain groups of options. #define UPDATE_OPT_FIRST (1 << 7) #define UPDATE_TERM (1 << 7) // terminal options -#define UPDATE_DEINT (1 << 8) // --deinterlace #define UPDATE_OSD (1 << 10) // related to OSD rendering #define UPDATE_BUILTIN_SCRIPTS (1 << 11) // osc/ytdl/stats #define UPDATE_IMGPAR (1 << 12) // video image params overrides diff --git a/options/options.c b/options/options.c index 44a9571598..ce602f2683 100644 --- a/options/options.c +++ b/options/options.c @@ -297,6 +297,18 @@ const struct m_sub_options dvd_conf = { }; #undef OPT_BASE_STRUCT +#define OPT_BASE_STRUCT struct filter_opts + +const struct m_sub_options filter_conf = { + .opts = (const struct m_option[]){ + OPT_FLAG("deinterlace", deinterlace, 0), + {0} + }, + .size = sizeof(OPT_BASE_STRUCT), + .change_flags = UPDATE_IMGPAR, +}; + +#undef OPT_BASE_STRUCT #define OPT_BASE_STRUCT struct MPOpts const m_option_t mp_opts[] = { @@ -494,7 +506,7 @@ const m_option_t mp_opts[] = { .deprecation_message = "use --vf + enable/disable flags"), OPT_SETTINGSLIST("vf", vf_settings, 0, &vf_obj_list, ), - OPT_FLAG("deinterlace", deinterlace, UPDATE_DEINT), + OPT_SUBSTRUCT("", filter_opts, filter_conf, 0), OPT_STRING("ad", audio_decoders, 0), OPT_STRING("vd", video_decoders, 0), diff --git a/options/options.h b/options/options.h index 97f01e21f9..a3444dbd4d 100644 --- a/options/options.h +++ b/options/options.h @@ -281,7 +281,7 @@ typedef struct MPOpts { int pitch_correction; struct m_obj_settings *vf_settings, *vf_defs; struct m_obj_settings *af_settings, *af_defs; - int deinterlace; + struct filter_opts *filter_opts; float movie_aspect; int aspect_method; char **sub_name; @@ -353,6 +353,10 @@ struct dvd_opts { char *device; }; +struct filter_opts { + int deinterlace; +}; + extern const m_option_t mp_opts[]; extern const struct MPOpts mp_default_opts; extern const struct m_sub_options vo_sub_opts; @@ -360,6 +364,7 @@ extern const struct m_sub_options stream_cache_conf; extern const struct m_sub_options dvd_conf; extern const struct m_sub_options mp_subtitle_sub_opts; extern const struct m_sub_options mp_osd_render_sub_opts; +extern const struct m_sub_options filter_conf; int hwdec_validate_opt(struct mp_log *log, const m_option_t *opt, struct bstr name, struct bstr param); |