X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=flags.h;h=09337d13b9e12513d307e395dd9cd1bf8c4f42ae;hb=6ffaabac0a523617b686f40c154a25cb548cc561;hp=7f39fdde11be10b18980c82ac5e3dfc4461f169c;hpb=e7042ad94ffec1505feaf7f8c5a265b2165957a0;p=nageru diff --git a/flags.h b/flags.h index 7f39fdd..09337d1 100644 --- a/flags.h +++ b/flags.h @@ -8,6 +8,7 @@ #include #include "defs.h" +#include "ycbcr_interpretation.h" struct Flags { int width = 1280, height = 720; @@ -18,6 +19,7 @@ struct Flags { bool x264_video_to_http = false; bool x264_video_to_disk = false; // Disables Quick Sync entirely. Implies x264_video_to_http == true. std::vector theme_dirs { ".", "/usr/local/share/nageru" }; + std::string recording_dir = "."; std::string theme_filename = "theme.lua"; bool locut_enabled = true; bool gain_staging_auto = true; @@ -44,6 +46,7 @@ struct Flags { bool multichannel_mapping_mode = false; // Implicitly true if input_mapping_filename is nonempty. std::string input_mapping_filename; // Empty for none. std::string midi_mapping_filename; // Empty for none. + bool default_hdmi_input = false; bool print_video_latency = false; double audio_queue_length_ms = 100.0; bool ycbcr_rec709_coefficients = false; // Will be overridden by HDMI/SDI output if ycbcr_auto_coefficients == true. @@ -52,16 +55,26 @@ struct Flags { double output_buffer_frames = 6.0; double output_slop_frames = 0.5; int max_input_queue_frames = 6; + int http_port = DEFAULT_HTTPD_PORT; bool display_timecode_in_stream = false; bool display_timecode_on_stdout = false; + bool enable_quick_cut_keys = false; bool ten_bit_input = false; bool ten_bit_output = false; // Implies x264_video_to_disk == true and x264_bit_depth == 10. + YCbCrInterpretation ycbcr_interpretation[MAX_VIDEO_CARDS]; + bool transcode_audio = true; // Kaeru only. int x264_bit_depth = 8; // Not user-settable. bool use_zerocopy = false; // Not user-settable. bool can_disable_srgb_decoder = false; // Not user-settable. + bool fullscreen = false; }; extern Flags global_flags; -void parse_flags(int argc, char * const argv[]); +enum Program { + PROGRAM_NAGERU, + PROGRAM_KAERU +}; +void usage(Program program); +void parse_flags(Program program, int argc, char * const argv[]); #endif // !defined(_FLAGS_H)