]> git.sesse.net Git - nageru/blobdiff - nageru/flags.h
Support sending a separate x264 encode to disk.
[nageru] / nageru / flags.h
index dc9c585d0efb5ae718687110b0d9c76683919345..9b9976c5db7c572027c7ad314e5196b3d9f644ab 100644 (file)
@@ -19,6 +19,7 @@ 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.
        std::vector<std::string> theme_dirs { ".", PREFIX "/share/nageru" };
        std::string recording_dir = ".";
        std::string theme_filename = "theme.lua";
@@ -42,6 +43,13 @@ struct Flags {
        int x264_vbv_max_bitrate = -1;  // In kilobits. 0 = no limit, -1 = same as <x264_bitrate> (CBR).
        int x264_vbv_buffer_size = -1;  // In kilobits. 0 = one-frame VBV, -1 = same as <x264_bitrate> (one-second VBV).
        std::vector<std::string> x264_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<std::string> x264_separate_disk_extra_param;  // In “key[,value]” format.
+
        std::string v4l_output_device;  // Empty if none.
        bool enable_alsa_output = true;
        std::map<int, int> default_stream_mapping;