13 int width = 1280, height = 720;
15 std::string va_display;
16 bool fake_cards_audio = false;
17 bool uncompressed_video_to_http = false;
18 bool x264_video_to_http = false;
19 bool x264_video_to_disk = false; // Disables Quick Sync entirely. Implies x264_video_to_http == true.
20 std::vector<std::string> theme_dirs { ".", "/usr/local/share/nageru" };
21 std::string recording_dir = ".";
22 std::string theme_filename = "theme.lua";
23 bool locut_enabled = true;
24 bool gain_staging_auto = true;
25 float initial_gain_staging_db = 0.0f;
26 bool compressor_enabled = true;
27 bool limiter_enabled = true;
28 bool final_makeup_gain_auto = true;
29 bool flush_pbos = true;
30 std::string stream_mux_name = DEFAULT_STREAM_MUX_NAME;
31 bool stream_coarse_timebase = false;
32 std::string stream_audio_codec_name; // Blank = use the same as for the recording.
33 int stream_audio_codec_bitrate = DEFAULT_AUDIO_OUTPUT_BIT_RATE; // Ignored if stream_audio_codec_name is blank.
34 std::string x264_preset; // Empty will be overridden by X264_DEFAULT_PRESET, unless speedcontrol is set.
35 std::string x264_tune = X264_DEFAULT_TUNE;
36 bool x264_speedcontrol = false;
37 bool x264_speedcontrol_verbose = false;
38 int x264_bitrate = -1; // In kilobit/sec. -1 = not set = DEFAULT_X264_OUTPUT_BIT_RATE.
39 float x264_crf = HUGE_VAL; // From 51 - QP_MAX_SPEC to 51. HUGE_VAL = not set = use x264_bitrate instead.
40 int x264_vbv_max_bitrate = -1; // In kilobits. 0 = no limit, -1 = same as <x264_bitrate> (CBR).
41 int x264_vbv_buffer_size = -1; // In kilobits. 0 = one-frame VBV, -1 = same as <x264_bitrate> (one-second VBV).
42 std::vector<std::string> x264_extra_param; // In “key[,value]” format.
43 bool enable_alsa_output = true;
44 std::map<int, int> default_stream_mapping;
45 bool multichannel_mapping_mode = false; // Implicitly true if input_mapping_filename is nonempty.
46 std::string input_mapping_filename; // Empty for none.
47 std::string midi_mapping_filename; // Empty for none.
48 bool print_video_latency = false;
49 double audio_queue_length_ms = 100.0;
50 bool ycbcr_rec709_coefficients = false; // Will be overridden by HDMI/SDI output if ycbcr_auto_coefficients == true.
51 bool ycbcr_auto_coefficients = true;
53 double output_buffer_frames = 6.0;
54 double output_slop_frames = 0.5;
55 int max_input_queue_frames = 6;
56 bool display_timecode_in_stream = false;
57 bool display_timecode_on_stdout = false;
58 bool ten_bit_input = false;
59 bool ten_bit_output = false; // Implies x264_video_to_disk == true and x264_bit_depth == 10.
60 int x264_bit_depth = 8; // Not user-settable.
61 bool use_zerocopy = false; // Not user-settable.
62 bool can_disable_srgb_decoder = false; // Not user-settable.
64 extern Flags global_flags;
66 void parse_flags(int argc, char * const argv[]);
68 #endif // !defined(_FLAGS_H)