]> git.sesse.net Git - nageru/blobdiff - flags.h
Implement x264 speedcontrol.
[nageru] / flags.h
diff --git a/flags.h b/flags.h
index b157822a0a3295e974d2d18bd2f4725b7328ecb4..edc47dd96cecff038b8a39b8f79685c63364e329 100644 (file)
--- a/flags.h
+++ b/flags.h
@@ -1,6 +1,7 @@
 #ifndef _FLAGS_H
 #define _FLAGS_H
 
+#include <map>
 #include <string>
 
 #include "defs.h"
@@ -17,8 +18,15 @@ struct Flags {
        bool stream_coarse_timebase = false;
        std::string stream_audio_codec_name;  // Blank = use the same as for the recording.
        int stream_audio_codec_bitrate = DEFAULT_AUDIO_OUTPUT_BIT_RATE;  // Ignored if stream_audio_codec_name is blank.
-       std::string x264_preset = X264_DEFAULT_PRESET;
+       std::string x264_preset;  // Empty will be overridden by X264_DEFAULT_PRESET, unless speedcontrol is set.
        std::string x264_tune = X264_DEFAULT_TUNE;
+       bool x264_speedcontrol = false;
+       bool x264_speedcontrol_verbose = false;
+       int x264_bitrate = DEFAULT_X264_OUTPUT_BIT_RATE;  // In kilobit/sec.
+       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).
+       bool enable_alsa_output = true;
+       std::map<int, int> default_stream_mapping;
 };
 extern Flags global_flags;