summaryrefslogtreecommitdiffstats
path: root/options/options.h
diff options
context:
space:
mode:
Diffstat (limited to 'options/options.h')
-rw-r--r--options/options.h272
1 files changed, 157 insertions, 115 deletions
diff --git a/options/options.h b/options/options.h
index b865ff8896..6f7b011975 100644
--- a/options/options.h
+++ b/options/options.h
@@ -9,25 +9,32 @@
typedef struct mp_vo_opts {
struct m_obj_settings *video_driver_list;
- int taskbar_progress;
- int snap_window;
- int ontop;
+ bool taskbar_progress;
+ bool snap_window;
+ int drag_and_drop;
+ bool ontop;
int ontop_level;
bool fullscreen;
- int border;
- int fit_border;
- int all_workspaces;
- int window_minimized;
- int window_maximized;
- bool focus_on_open;
+ bool border;
+ bool title_bar;
+ bool all_workspaces;
+ bool window_minimized;
+ bool window_maximized;
+ int focus_on;
int screen_id;
+ char *screen_name;
int fsscreen_id;
+ char *fsscreen_name;
char *winname;
char *appid;
+ int content_type;
int x11_netwm;
int x11_bypass_compositor;
- int native_keyrepeat;
+ int x11_present;
+ bool x11_wid_title;
+ bool cursor_passthrough;
+ bool native_keyrepeat;
float panscan;
float zoom;
@@ -44,74 +51,90 @@ typedef struct mp_vo_opts {
struct m_geometry autofit_smaller;
double window_scale;
- int keepaspect;
- int keepaspect_window;
- int hidpi_window_scale;
- int native_fs;
+ bool auto_window_resize;
+ bool keepaspect;
+ bool keepaspect_window;
+ bool hidpi_window_scale;
+ bool native_fs;
+ bool show_in_taskbar;
int64_t WinID;
float force_monitor_aspect;
float monitor_pixel_aspect;
- int force_window_position;
+ bool force_render;
+ bool force_window_position;
+ int backdrop_type;
+ int window_affinity;
char *mmcss_profile;
+ int window_corners;
- double override_display_fps;
+ double display_fps_override;
double timing_offset;
-
- // vo_drm
- struct drm_opts *drm_opts;
+ int video_sync;
struct m_geometry android_surface_size;
int swapchain_depth; // max number of images to render ahead
+
+ struct m_geometry video_crop;
} mp_vo_opts;
// Subtitle options needed by the subtitle decoders/renderers.
struct mp_subtitle_opts {
- int sub_visibility;
- int sub_pos;
- float sub_delay;
float sub_fps;
float sub_speed;
- int forced_subs_only;
- int forced_subs_only_current;
- int stretch_dvd_subs;
- int stretch_image_subs;
- int image_subs_video_res;
- int sub_fix_timing;
- int sub_scale_by_window;
- int sub_scale_with_window;
- int ass_scale_with_window;
+ bool sub_forced_events_only;
+ bool stretch_dvd_subs;
+ bool stretch_image_subs;
+ bool image_subs_video_res;
+ bool sub_fix_timing;
+ bool sub_stretch_durations;
+ bool sub_scale_by_window;
+ bool sub_scale_with_window;
+ bool ass_scale_with_window;
struct osd_style_opts *sub_style;
float sub_scale;
float sub_gauss;
- int sub_gray;
- int ass_enabled;
+ bool sub_gray;
+ bool ass_enabled;
float ass_line_spacing;
- int ass_use_margins;
- int sub_use_margins;
- int ass_vsfilter_aspect_compat;
+ bool ass_use_margins;
+ bool sub_use_margins;
+ bool ass_vsfilter_aspect_compat;
int ass_vsfilter_color_compat;
- int ass_vsfilter_blur_compat;
- int use_embedded_fonts;
- char **ass_force_style_list;
+ bool ass_vsfilter_blur_compat;
+ bool sub_vsfilter_bidi_compat;
+ bool use_embedded_fonts;
+ char **ass_style_override_list;
char *ass_styles_file;
- int ass_style_override;
int ass_hinting;
int ass_shaper;
- int ass_justify;
- int sub_clear_on_seek;
+ bool ass_justify;
+ bool sub_clear_on_seek;
int teletext_page;
+ bool sub_past_video_end;
+ char **sub_avopts;
+};
+
+// Options for both primary and secondary subs.
+struct mp_subtitle_shared_opts {
+ float sub_delay[2];
+ float sub_pos[2];
+ bool sub_visibility[2];
+ int ass_style_override[2];
};
struct mp_sub_filter_opts {
- int sub_filter_SDH;
- int sub_filter_SDH_harder;
- int rf_enable;
+ bool sub_filter_SDH;
+ bool sub_filter_SDH_harder;
+ char *sub_filter_SDH_enclosures;
+ bool rf_enable;
+ bool rf_plain;
char **rf_items;
- int rf_warn;
+ char **jsre_items;
+ bool rf_warn;
};
struct mp_osd_render_opts {
@@ -119,52 +142,56 @@ struct mp_osd_render_opts {
float osd_bar_align_y;
float osd_bar_w;
float osd_bar_h;
+ float osd_bar_border_size;
float osd_scale;
- int osd_scale_by_window;
+ bool osd_scale_by_window;
struct osd_style_opts *osd_style;
- int force_rgba_osd;
+ bool force_rgba_osd;
};
typedef struct MPOpts {
- int property_print_help;
- int use_terminal;
+ bool property_print_help;
+ bool use_terminal;
char *dump_stats;
int verbose;
- int msg_really_quiet;
+ bool msg_really_quiet;
char **msg_levels;
- int msg_color;
- int msg_module;
- int msg_time;
+ bool msg_color;
+ bool msg_module;
+ bool msg_time;
char *log_file;
- char *test_mode;
int operation_mode;
char **reset_options;
char **script_files;
char **script_opts;
- int lua_load_osc;
- int lua_load_ytdl;
+ bool js_memory_report;
+ bool lua_load_osc;
+ bool lua_load_ytdl;
char *lua_ytdl_format;
char **lua_ytdl_raw_options;
- int lua_load_stats;
- int lua_load_console;
+ bool lua_load_stats;
+ bool lua_load_console;
int lua_load_auto_profiles;
- int auto_load_scripts;
+ bool auto_load_scripts;
- int audio_exclusive;
- int ao_null_fallback;
- int audio_stream_silence;
+ bool audio_exclusive;
+ bool ao_null_fallback;
+ bool audio_stream_silence;
float audio_wait_open;
int force_vo;
float softvol_volume;
int rgain_mode;
float rgain_preamp; // Set replaygain pre-amplification
- int rgain_clip; // Enable/disable clipping prevention
+ bool rgain_clip; // Enable/disable clipping prevention
float rgain_fallback;
int softvol_mute;
float softvol_max;
+ float softvol_gain;
+ float softvol_gain_min;
+ float softvol_gain_max;
int gapless_audio;
mp_vo_opts *vo;
@@ -177,116 +204,119 @@ typedef struct MPOpts {
int stop_screensaver;
int cursor_autohide_delay;
- int cursor_autohide_fs;
+ bool cursor_autohide_fs;
struct mp_subtitle_opts *subs_rend;
+ struct mp_subtitle_shared_opts *subs_shared;
struct mp_sub_filter_opts *subs_filt;
struct mp_osd_render_opts *osd_rend;
int osd_level;
int osd_duration;
- int osd_fractions;
+ bool osd_fractions;
int osd_on_seek;
- int video_osd;
+ bool video_osd;
- int untimed;
+ bool untimed;
char *stream_dump;
- char *record_file;
- int stop_playback_on_init_failure;
+ bool stop_playback_on_init_failure;
int loop_times;
int loop_file;
- int shuffle;
- int ordered_chapters;
+ bool shuffle;
+ bool ordered_chapters;
char *ordered_chapters_files;
int chapter_merge_threshold;
double chapter_seek_threshold;
char *chapter_file;
- int merge_files;
- int quiet;
- int load_config;
+ bool merge_files;
+ bool quiet;
+ bool load_config;
char *force_configdir;
- int use_filedir_conf;
+ bool use_filedir_conf;
int hls_bitrate;
int edition_id;
- int initial_audio_sync;
- int video_sync;
+ bool initial_audio_sync;
double sync_max_video_change;
double sync_max_audio_change;
int sync_max_factor;
int hr_seek;
float hr_seek_demuxer_offset;
- int hr_seek_framedrop;
+ bool hr_seek_framedrop;
float audio_delay;
float default_max_pts_correction;
int autosync;
int frame_dropping;
- int video_latency_hacks;
+ bool video_latency_hacks;
int term_osd;
- int term_osd_bar;
+ bool term_osd_bar;
char *term_osd_bar_chars;
char *term_title;
char *playing_msg;
char *osd_playing_msg;
+ int osd_playing_msg_duration;
char *status_msg;
char *osd_status_msg;
char *osd_msg[3];
int player_idle_mode;
- int consolecontrols;
+ char **input_commands;
+ bool consolecontrols;
int playlist_pos;
struct m_rel_time play_start;
struct m_rel_time play_end;
struct m_rel_time play_length;
int play_dir;
- int rebase_start_time;
+ bool rebase_start_time;
int play_frames;
double ab_loop[2];
int ab_loop_count;
double step_sec;
- int position_resume;
- int position_check_mtime;
- int position_save_on_quit;
- int write_filename_in_watch_later_config;
- int ignore_path_in_watch_later_config;
- char *watch_later_directory;
- int pause;
+ bool position_resume;
+ bool position_check_mtime;
+ bool position_save_on_quit;
+ bool write_filename_in_watch_later_config;
+ bool ignore_path_in_watch_later_config;
+ char *watch_later_dir;
+ char **watch_later_options;
+ bool pause;
int keep_open;
- int keep_open_pause;
+ bool keep_open_pause;
double image_display_duration;
char *lavfi_complex;
int stream_id[2][STREAM_TYPE_COUNT];
char **stream_lang[STREAM_TYPE_COUNT];
- int stream_auto_sel;
+ bool stream_auto_sel;
int subs_with_matching_audio;
+ bool subs_match_os_language;
+ int subs_fallback;
+ int subs_fallback_forced;
int audio_display;
char **display_tags;
char **audio_files;
char *demuxer_name;
- int demuxer_thread;
+ bool demuxer_thread;
double demux_termination_timeout;
- int demuxer_cache_wait;
- int prefetch_open;
+ bool demuxer_cache_wait;
+ bool prefetch_open;
char *audio_demuxer_name;
char *sub_demuxer_name;
- int cache_pause;
- int cache_pause_initial;
+ bool cache_pause;
+ bool cache_pause_initial;
float cache_pause_wait;
struct image_writer_opts *screenshot_image_opts;
char *screenshot_template;
- char *screenshot_directory;
+ char *screenshot_dir;
bool screenshot_sw;
- int index_mode;
-
struct m_channels audio_output_channels;
int audio_output_format;
int force_srate;
double playback_speed;
- int pitch_correction;
- struct m_obj_settings *vf_settings, *vf_defs;
- struct m_obj_settings *af_settings, *af_defs;
+ bool pitch_correction;
+ struct m_obj_settings *vf_settings;
+ struct m_obj_settings *af_settings;
struct filter_opts *filter_opts;
struct dec_wrapper_opts *dec_wrapper;
char **sub_name;
@@ -294,26 +324,28 @@ typedef struct MPOpts {
char **audiofile_paths;
char **coverart_files;
char **external_files;
- int autoload_files;
+ bool autoload_files;
int sub_auto;
+ char **sub_auto_exts;
int audiofile_auto;
+ char **audiofile_auto_exts;
int coverart_auto;
- int osd_bar_visible;
+ char **coverart_auto_exts;
+ bool coverart_whitelist;
+ bool osd_bar_visible;
int w32_priority;
- struct cdda_params *stream_cdda_opts;
- struct dvb_params *stream_dvb_opts;
- struct stream_lavf_params *stream_lavf_opts;
+ struct bluray_opts *stream_bluray_opts;
+ struct cdda_opts *stream_cdda_opts;
+ struct dvb_opts *stream_dvb_opts;
+ struct lavf_opts *stream_lavf_opts;
- char *cdrom_device;
char *bluray_device;
- double mf_fps;
- char *mf_type;
-
struct demux_rawaudio_opts *demux_rawaudio;
struct demux_rawvideo_opts *demux_rawvideo;
+ struct demux_playlist_opts *demux_playlist;
struct demux_lavf_opts *demux_lavf;
struct demux_mkv_opts *demux_mkv;
struct demux_cue_opts *demux_cue;
@@ -333,20 +365,23 @@ typedef struct MPOpts {
char *ipc_path;
char *ipc_client;
- int wingl_dwm_flush;
-
struct mp_resample_opts *resample_opts;
+ struct ra_ctx_opts *ra_ctx_opts;
struct gl_video_opts *gl_video_opts;
+ struct gl_next_opts *gl_next_opts;
struct angle_opts *angle_opts;
struct opengl_opts *opengl_opts;
struct vulkan_opts *vulkan_opts;
+ struct vulkan_display_opts *vulkan_display_opts;
struct spirv_opts *spirv_opts;
struct d3d11_opts *d3d11_opts;
struct d3d11va_opts *d3d11va_opts;
- struct cocoa_opts *cocoa_opts;
struct macos_opts *macos_opts;
+ struct drm_opts *drm_opts;
struct wayland_opts *wayland_opts;
+ struct wingl_opts *wingl_opts;
+ struct cuda_opts *cuda_opts;
struct dvd_opts *dvd_opts;
struct vaapi_opts *vaapi_opts;
struct sws_opts *sws_opts;
@@ -355,6 +390,10 @@ typedef struct MPOpts {
int cuda_device;
} MPOpts;
+struct cuda_opts {
+ int cuda_device;
+};
+
struct dvd_opts {
int angle;
int speed;
@@ -363,11 +402,14 @@ struct dvd_opts {
struct filter_opts {
int deinterlace;
+ int field_parity;
};
extern const struct m_sub_options vo_sub_opts;
+extern const struct m_sub_options cuda_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_subtitle_shared_sub_opts;
extern const struct m_sub_options mp_sub_filter_opts;
extern const struct m_sub_options mp_osd_render_sub_opts;
extern const struct m_sub_options filter_conf;