|
| enum | config::qsv::cavlc_e : int { config::qsv::_auto = false
, config::qsv::enabled = true
, config::qsv::disabled = false
} |
| | Enumerates supported cavlc options. More...
|
| |
| enum | config::amd::coder_e : int { config::amd::_auto = AMF_VIDEO_ENCODER_UNDEFINED
, config::amd::cabac = AMF_VIDEO_ENCODER_CABAC
, config::amd::cavlc = AMF_VIDEO_ENCODER_CALV
} |
| | Enumerates supported coder options. More...
|
| |
| enum | config::vt::coder_e : int { config::vt::_auto = 0
, config::vt::cabac
, config::vt::cavlc
} |
| | Enumerates supported coder options. More...
|
| |
| enum | config::qsv::preset_e : int {
config::qsv::veryslow = 1
, config::qsv::slower = 2
, config::qsv::slow = 3
, config::qsv::medium = 4
,
config::qsv::fast = 5
, config::qsv::faster = 6
, config::qsv::veryfast = 7
} |
| | Enumerates supported preset options. More...
|
| |
| enum class | config::amd::quality_av1_e : int { speed = AMF_VIDEO_ENCODER_AV1_QUALITY_PRESET_SPEED
, quality = AMF_VIDEO_ENCODER_AV1_QUALITY_PRESET_QUALITY
, balanced = AMF_VIDEO_ENCODER_AV1_QUALITY_PRESET_BALANCED
} |
| | Enumerates supported quality AV1 options. More...
|
| |
| enum class | config::amd::quality_h264_e : int { speed = AMF_VIDEO_ENCODER_QUALITY_PRESET_SPEED
, quality = AMF_VIDEO_ENCODER_QUALITY_PRESET_QUALITY
, balanced = AMF_VIDEO_ENCODER_QUALITY_PRESET_BALANCED
} |
| | Enumerates supported quality h264 options. More...
|
| |
| enum class | config::amd::quality_hevc_e : int { speed = AMF_VIDEO_ENCODER_HEVC_QUALITY_PRESET_SPEED
, quality = AMF_VIDEO_ENCODER_HEVC_QUALITY_PRESET_QUALITY
, balanced = AMF_VIDEO_ENCODER_HEVC_QUALITY_PRESET_BALANCED
} |
| | Enumerates supported quality HEVC options. More...
|
| |
| enum class | config::amd::rc_av1_e : int { cbr = AMF_VIDEO_ENCODER_AV1_RATE_CONTROL_METHOD_CBR
, cqp = AMF_VIDEO_ENCODER_AV1_RATE_CONTROL_METHOD_CONSTANT_QP
, vbr_latency = AMF_VIDEO_ENCODER_AV1_RATE_CONTROL_METHOD_LATENCY_CONSTRAINED_VBR
, vbr_peak = AMF_VIDEO_ENCODER_AV1_RATE_CONTROL_METHOD_PEAK_CONSTRAINED_VBR
} |
| | Enumerates supported rc AV1 options. More...
|
| |
| enum class | config::amd::rc_h264_e : int { cbr = AMF_VIDEO_ENCODER_RATE_CONTROL_METHOD_CBR
, cqp = AMF_VIDEO_ENCODER_RATE_CONTROL_METHOD_CONSTANT_QP
, vbr_latency = AMF_VIDEO_ENCODER_RATE_CONTROL_METHOD_LATENCY_CONSTRAINED_VBR
, vbr_peak = AMF_VIDEO_ENCODER_RATE_CONTROL_METHOD_PEAK_CONSTRAINED_VBR
} |
| | Enumerates supported rc h264 options. More...
|
| |
| enum class | config::amd::rc_hevc_e : int { cbr = AMF_VIDEO_ENCODER_HEVC_RATE_CONTROL_METHOD_CBR
, cqp = AMF_VIDEO_ENCODER_HEVC_RATE_CONTROL_METHOD_CONSTANT_QP
, vbr_latency = AMF_VIDEO_ENCODER_HEVC_RATE_CONTROL_METHOD_LATENCY_CONSTRAINED_VBR
, vbr_peak = AMF_VIDEO_ENCODER_HEVC_RATE_CONTROL_METHOD_PEAK_CONSTRAINED_VBR
} |
| | Enumerates supported rc HEVC options. More...
|
| |
| enum class | config::amd::usage_av1_e : int {
transcoding = AMF_VIDEO_ENCODER_AV1_USAGE_TRANSCODING
, webcam = AMF_VIDEO_ENCODER_AV1_USAGE_WEBCAM
, lowlatency_high_quality = AMF_VIDEO_ENCODER_AV1_USAGE_LOW_LATENCY_HIGH_QUALITY
, lowlatency = AMF_VIDEO_ENCODER_AV1_USAGE_LOW_LATENCY
,
ultralowlatency = AMF_VIDEO_ENCODER_AV1_USAGE_ULTRA_LOW_LATENCY
} |
| | Enumerates supported usage AV1 options. More...
|
| |
| enum class | config::amd::usage_h264_e : int {
transcoding = AMF_VIDEO_ENCODER_USAGE_TRANSCODING
, webcam = AMF_VIDEO_ENCODER_USAGE_WEBCAM
, lowlatency_high_quality = AMF_VIDEO_ENCODER_USAGE_LOW_LATENCY_HIGH_QUALITY
, lowlatency = AMF_VIDEO_ENCODER_USAGE_LOW_LATENCY
,
ultralowlatency = AMF_VIDEO_ENCODER_USAGE_ULTRA_LOW_LATENCY
} |
| | Enumerates supported usage h264 options. More...
|
| |
| enum class | config::amd::usage_hevc_e : int {
transcoding = AMF_VIDEO_ENCODER_HEVC_USAGE_TRANSCODING
, webcam = AMF_VIDEO_ENCODER_HEVC_USAGE_WEBCAM
, lowlatency_high_quality = AMF_VIDEO_ENCODER_HEVC_USAGE_LOW_LATENCY_HIGH_QUALITY
, lowlatency = AMF_VIDEO_ENCODER_HEVC_USAGE_LOW_LATENCY
,
ultralowlatency = AMF_VIDEO_ENCODER_HEVC_USAGE_ULTRA_LOW_LATENCY
} |
| | Enumerates supported usage HEVC options. More...
|
| |
|
| int | config::vt::allow_software_from_view (const std::string_view &software) |
| | Parse whether VideoToolbox software encoding is allowed.
|
| |
| void | config::apply_config (std::unordered_map< std::string, std::string > &&vars) |
| | Apply parsed configuration entries to the global runtime configuration.
|
| |
| int | config::apply_flags (const char *line) |
| | Apply single-character command-line flags to the global Sunshine flags bitset.
|
| |
| void | config::bool_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, bool &input) |
| | Consume a boolean setting from the parsed configuration map.
|
| |
| int | config::amd::coder_from_view (const ::std::string_view &coder) |
| | Parse an entropy-coder mode from configuration text.
|
| |
| std::optional< int > | config::qsv::coder_from_view (const std::string_view &coder) |
| | Parse an entropy-coder mode from configuration text.
|
| |
| int | config::vt::coder_from_view (const std::string_view &coder) |
| | Parse an entropy-coder mode from configuration text.
|
| |
| video_t::dd_t::config_option_e | config::dd::config_option_from_view (const std::string_view value) |
| | Parse display-device preparation mode from configuration text.
|
| |
| void | config::double_between_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, double &input, const std::pair< double, double > &range) |
| | Consume a floating-point setting only when it falls inside an inclusive range.
|
| |
| void | config::double_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, double &input) |
| | Consume a floating-point setting from the parsed configuration map.
|
| |
| bool | config::endline (char ch) |
| | Return whether a character terminates a configuration line.
|
| |
| int | config::vt::force_software_from_view (const std::string_view &software) |
| | Parse whether VideoToolbox software encoding is forced.
|
| |
| template<typename T , typename F > |
| void | config::generic_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, T &input, F &&f) |
| | Consume a setting and convert it with a caller-provided parser.
|
| |
| std::vector< std::string_view > & | config::get_supported_gamepad_options () |
| | Get supported gamepad options.
|
| |
| video_t::dd_t::hdr_option_e | config::dd::hdr_option_from_view (const std::string_view value) |
| | Parse display-device HDR mode from configuration text.
|
| |
| void | config::int_between_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, int &input, const std::pair< int, int > &range) |
| | Consume an integer setting only when it falls inside an inclusive range.
|
| |
| void | config::int_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, int &input) |
| | Consume an integer setting from decimal or hexadecimal configuration text.
|
| |
| template<class F > |
| void | config::int_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, int &input, F &&f) |
| | Consume an integer setting from decimal or hexadecimal configuration text.
|
| |
| void | config::int_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, std::optional< int > &input) |
| | Consume an integer setting from decimal or hexadecimal configuration text.
|
| |
| template<class F > |
| void | config::int_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, std::optional< int > &input, F &&f) |
| | Consume an integer setting from decimal or hexadecimal configuration text.
|
| |
| void | config::list_int_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, std::vector< int > &input) |
| | Consume an integer list setting from decimal or hexadecimal configuration text.
|
| |
| void | config::list_prep_cmd_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, std::vector< prep_cmd_t > &input) |
| | Consume the JSON preparation-command list setting.
|
| |
| void | config::list_string_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, std::vector< std::string > &input) |
| | Consume a comma-separated or bracketed string list setting.
|
| |
| void | config::log_config_settings (const std::unordered_map< std::string, std::string > &vars, bool save) |
| | Log parsed configuration entries and optionally record them as modified.
|
| |
| void | config::map_int_int_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, std::unordered_map< int, int > &input) |
| | Consume an integer-pair list into a mapping table.
|
| |
| video_t::dd_t::mode_remapping_t | config::dd::mode_remapping_from_view (const std::string_view value) |
| | Parse display-mode remapping rules from JSON configuration text.
|
| |
| int | config::parse (int argc, char *argv[]) |
| | Parse serialized text into the corresponding runtime representation.
|
| |
| std::unordered_map< std::string, std::string > | config::parse_config (const std::string_view &file_content) |
| | Parse Sunshine configuration text into key-value entries.
|
| |
| std::pair< std::string_view::const_iterator, std::optional< std::pair< std::string, std::string > > > | config::parse_option (std::string_view::const_iterator begin, std::string_view::const_iterator end) |
| | Parse one name = value configuration entry.
|
| |
| void | config::path_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, fs::path &input) |
| | Consume a path setting and normalize it under the app data directory when relative.
|
| |
| void | config::path_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, std::string &input) |
| | Consume a path setting and normalize it under the app data directory when relative.
|
| |
| std::optional< int > | config::qsv::preset_from_view (const std::string_view &preset) |
| | Parse a QSV encoder preset from configuration text.
|
| |
| template<class T > |
| ::std::optional< int > | config::amd::quality_from_view (const ::std::string_view &quality_type, const ::std::optional< int >(&original)) |
| | Parse an AMD quality preset while preserving the current value on invalid input.
|
| |
| template<class T > |
| ::std::optional< int > | config::amd::rc_from_view (const ::std::string_view &rc, const ::std::optional< int >(&original)) |
| | Parse an AMD rate-control mode while preserving the current value on invalid input.
|
| |
| video_t::dd_t::refresh_rate_option_e | config::dd::refresh_rate_option_from_view (const std::string_view value) |
| | Parse display-device refresh-rate mode from configuration text.
|
| |
| video_t::dd_t::resolution_option_e | config::dd::resolution_option_from_view (const std::string_view value) |
| | Parse display-device resolution mode from configuration text.
|
| |
| int | config::vt::rt_from_view (const std::string_view &rt) |
| | Parse the VideoToolbox realtime encoder flag.
|
| |
| template<class It > |
| It | config::skip_list (It skipper, It end) |
| | Advance over a bracketed list while honoring nested brackets.
|
| |
| bool | config::space_tab (char ch) |
| | Return whether a character is horizontal parser whitespace.
|
| |
| nvenc::nvenc_split_frame_encoding | config::nv::split_encode_from_view (const std::string_view &preset) |
| | Parse the nvenc_split_encode configuration value.
|
| |
| void | config::string_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, std::string &input) |
| | Consume a string setting from the parsed configuration map.
|
| |
| void | config::string_list_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, std::vector< std::string > &output) |
| | Parse a comma-separated string setting into a list.
|
| |
| void | config::string_restricted_f (std::unordered_map< std::string, std::string > &vars, const std::string &name, std::string &input, const std::vector< std::string_view > &allowed_vals) |
| | Consume a string setting only when it matches an allowed value.
|
| |
| int | config::sw::svtav1_preset_from_view (const std::string_view &preset) |
| | Parse an SVT-AV1 speed preset from configuration text.
|
| |
| bool | config::to_bool (std::string &boolean) |
| | Convert common textual boolean forms to a boolean value.
|
| |
| std::string | config::to_string (const char *begin, const char *end) |
| | Copy a configuration text range while stripping inline comments.
|
| |
| nvenc::nvenc_two_pass | config::nv::twopass_from_view (const std::string_view &preset) |
| | Parse the nvenc_twopass configuration value.
|
| |
| template<class T > |
| ::std::optional< int > | config::amd::usage_from_view (const ::std::string_view &usage, const ::std::optional< int >(&original)) |
| | Parse an AMD encoder usage mode while preserving the current value on invalid input.
|
| |
| bool | config::whitespace (char ch) |
| | Return whether a character should be treated as parser whitespace.
|
| |
|
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_AV1_QUALITY_PRESET_BALANCED = 70 |
| | Fallback AMF enum value for av1 quality preset balanced.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_AV1_QUALITY_PRESET_QUALITY = 30 |
| | Fallback AMF enum value for av1 quality preset quality.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_AV1_QUALITY_PRESET_SPEED = 100 |
| | Fallback AMF enum value for av1 quality preset speed.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_AV1_RATE_CONTROL_METHOD_CBR = 3 |
| | Fallback AMF enum value for av1 rate control method cbr.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_AV1_RATE_CONTROL_METHOD_CONSTANT_QP = 0 |
| | Fallback AMF enum value for av1 rate control method constant qp.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_AV1_RATE_CONTROL_METHOD_LATENCY_CONSTRAINED_VBR = 1 |
| | Fallback AMF enum value for av1 rate control method latency constrained vbr.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_AV1_RATE_CONTROL_METHOD_PEAK_CONSTRAINED_VBR = 2 |
| | Fallback AMF enum value for av1 rate control method peak constrained vbr.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_AV1_USAGE_LOW_LATENCY = 1 |
| | Fallback AMF enum value for av1 usage low latency.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_AV1_USAGE_LOW_LATENCY_HIGH_QUALITY = 5 |
| | Fallback AMF enum value for av1 usage low latency high quality.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_AV1_USAGE_TRANSCODING = 0 |
| | Fallback AMF enum value for av1 usage transcoding.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_AV1_USAGE_ULTRA_LOW_LATENCY = 2 |
| | Fallback AMF enum value for av1 usage ultra low latency.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_AV1_USAGE_WEBCAM = 3 |
| | Fallback AMF enum value for av1 usage webcam.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_CABAC = 1 |
| | Fallback AMF enum value for cabac.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_CALV = 2 |
| | Fallback AMF enum value for calv.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_HEVC_QUALITY_PRESET_BALANCED = 5 |
| | Fallback AMF enum value for hevc quality preset balanced.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_HEVC_QUALITY_PRESET_QUALITY = 0 |
| | Fallback AMF enum value for hevc quality preset quality.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_HEVC_QUALITY_PRESET_SPEED = 10 |
| | Fallback AMF enum value for hevc quality preset speed.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_HEVC_RATE_CONTROL_METHOD_CBR = 3 |
| | Fallback AMF enum value for hevc rate control method cbr.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_HEVC_RATE_CONTROL_METHOD_CONSTANT_QP = 0 |
| | Fallback AMF enum value for hevc rate control method constant qp.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_HEVC_RATE_CONTROL_METHOD_LATENCY_CONSTRAINED_VBR = 1 |
| | Fallback AMF enum value for hevc rate control method latency constrained vbr.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_HEVC_RATE_CONTROL_METHOD_PEAK_CONSTRAINED_VBR = 2 |
| | Fallback AMF enum value for hevc rate control method peak constrained vbr.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_HEVC_USAGE_LOW_LATENCY = 2 |
| | Fallback AMF enum value for hevc usage low latency.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_HEVC_USAGE_LOW_LATENCY_HIGH_QUALITY = 5 |
| | Fallback AMF enum value for hevc usage low latency high quality.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_HEVC_USAGE_TRANSCODING = 0 |
| | Fallback AMF enum value for hevc usage transcoding.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_HEVC_USAGE_ULTRA_LOW_LATENCY = 1 |
| | Fallback AMF enum value for hevc usage ultra low latency.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_HEVC_USAGE_WEBCAM = 3 |
| | Fallback AMF enum value for hevc usage webcam.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_QUALITY_PRESET_BALANCED = 0 |
| | Fallback AMF enum value for quality preset balanced.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_QUALITY_PRESET_QUALITY = 2 |
| | Fallback AMF enum value for quality preset quality.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_QUALITY_PRESET_SPEED = 1 |
| | Fallback AMF enum value for quality preset speed.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_RATE_CONTROL_METHOD_CBR = 1 |
| | Fallback AMF enum value for rate control method cbr.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_RATE_CONTROL_METHOD_CONSTANT_QP = 0 |
| | Fallback AMF enum value for rate control method constant qp.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_RATE_CONTROL_METHOD_LATENCY_CONSTRAINED_VBR = 3 |
| | Fallback AMF enum value for rate control method latency constrained vbr.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_RATE_CONTROL_METHOD_PEAK_CONSTRAINED_VBR = 2 |
| | Fallback AMF enum value for rate control method peak constrained vbr.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_UNDEFINED = 0 |
| | Fallback AMF enum value for undefined.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_USAGE_LOW_LATENCY = 2 |
| | Fallback AMF enum value for usage low latency.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_USAGE_LOW_LATENCY_HIGH_QUALITY = 5 |
| | Fallback AMF enum value for usage low latency high quality.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_USAGE_TRANSCODING = 0 |
| | Fallback AMF enum value for usage transcoding.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_USAGE_ULTRA_LOW_LATENCY = 1 |
| | Fallback AMF enum value for usage ultra low latency.
|
| |
|
constexpr int | config::amd::AMF_VIDEO_ENCODER_USAGE_WEBCAM = 3 |
| | Fallback AMF enum value for usage webcam.
|
| |
|
const std::string | APPS_JSON_PATH = platf::appdata().string() + "/apps.json" |
| | Default path to the applications JSON file.
|
| |
| audio_t | config::audio |
| | Default audio configuration values used before file and CLI overrides.
|
| |
|
constexpr auto | CA_DIR = "credentials" |
| | Subdirectory under app data that stores Sunshine credentials.
|
| |
|
const std::string | CERTIFICATE_FILE = std::string(CA_DIR) + "/cacert.pem" |
| | Relative path to the persisted certificate PEM file.
|
| |
| input_t | config::input |
| | Default input configuration values used before file and CLI overrides.
|
| |
| nvhttp_t | config::nvhttp |
| | Default NVHTTP server configuration values used before file and CLI overrides.
|
| |
|
const std::string | PRIVATE_KEY_FILE = std::string(CA_DIR) + "/cakey.pem" |
| | Relative path to the persisted private key PEM file.
|
| |
| stream_t | config::stream |
| | Default stream configuration values used before file and CLI overrides.
|
| |
| sunshine_t | config::sunshine |
| | Default top-level Sunshine configuration values used before file and CLI overrides.
|
| |
|
video_t | config::video |
| | Default video configuration values used before file and CLI overrides.
|
| |
Definitions for the configuration of Sunshine.