X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Fflags.h;h=96a4160f80515c4a2c815f0084f60f08d5b21f50;hb=8bb8bb7cc9700befab35a8cc2c4b7a88f0638af9;hp=bbe84c254e17c73f6977e983134ffe04f39c1176;hpb=82eaaa3d91b33479a3dee767d5de12aeb6da5b93;p=nageru diff --git a/nageru/flags.h b/nageru/flags.h index bbe84c2..96a4160 100644 --- a/nageru/flags.h +++ b/nageru/flags.h @@ -19,6 +19,8 @@ struct Flags { bool uncompressed_video_to_http = false; bool x264_video_to_http = false; bool x264_video_to_disk = false; // Disables Quick Sync entirely. Implies x264_video_to_http == true. + bool x264_separate_disk_encode = false; // Disables Quick Sync entirely. Implies x264_video_to_disk == true. + bool av1_video_to_http = false; std::vector theme_dirs { ".", PREFIX "/share/nageru" }; std::string recording_dir = "."; std::string theme_filename = "theme.lua"; @@ -42,6 +44,18 @@ struct Flags { int x264_vbv_max_bitrate = -1; // In kilobits. 0 = no limit, -1 = same as (CBR). int x264_vbv_buffer_size = -1; // In kilobits. 0 = one-frame VBV, -1 = same as (one-second VBV). std::vector x264_extra_param; // In “key[,value]” format. + + int av1_preset = DEFAULT_AV1_PRESET; + int av1_bitrate = DEFAULT_AV1_OUTPUT_BIT_RATE; + int av1_fps_num = DEFAULT_AV1_FPS_NUM, av1_fps_den = DEFAULT_AV1_FPS_DEN; + std::vector av1_extra_param; // In “key[,value]” format. + + std::string x264_separate_disk_preset; // Empty will be overridden by X264_DEFAULT_PRESET, unless speedcontrol is set. + std::string x264_separate_disk_tune = X264_DEFAULT_TUNE; + int x264_separate_disk_bitrate = -1; + float x264_separate_disk_crf = HUGE_VAL; + std::vector x264_separate_disk_extra_param; // In “key[,value]” format. + std::string v4l_output_device; // Empty if none. bool enable_alsa_output = true; std::map default_stream_mapping; @@ -56,6 +70,7 @@ struct Flags { int output_card = -1; double output_buffer_frames = 6.0; double output_slop_frames = 0.5; + bool output_card_is_master = true; int max_input_queue_frames = 6; int http_port = DEFAULT_HTTPD_PORT; int srt_port = DEFAULT_SRT_PORT; // -1 for none. @@ -66,6 +81,7 @@ struct Flags { 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_video = true; // Kaeru only. bool transcode_audio = true; // Kaeru only. bool enable_audio = true; // Kaeru only. If false, then transcode_audio is also false. int x264_bit_depth = 8; // Not user-settable.