summaryrefslogtreecommitdiffstats
path: root/options
diff options
context:
space:
mode:
Diffstat (limited to 'options')
-rw-r--r--options/m_option.h1
-rw-r--r--options/options.c14
-rw-r--r--options/options.h7
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);