mirror of
https://github.com/LizardByte/Sunshine.git
synced 2025-02-21 00:39:59 +00:00
Add option to allow HEVC usage on older Intel GPUs without low-power encoding
This commit is contained in:
parent
15272fb47e
commit
4252f5df7c
@ -1424,6 +1424,22 @@ keybindings
|
|||||||
|
|
||||||
qsv_coder = auto
|
qsv_coder = auto
|
||||||
|
|
||||||
|
`qsv_slow_hevc <https://localhost:47990/config/#qsv_slow_hevc>`__
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
**Description**
|
||||||
|
This options enables use of HEVC on older Intel GPUs that only support low power encoding for H.264.
|
||||||
|
|
||||||
|
.. Caution:: Streaming performance may be significantly reduced when this option is enabled.
|
||||||
|
|
||||||
|
**Default**
|
||||||
|
``disabled``
|
||||||
|
|
||||||
|
**Example**
|
||||||
|
.. code-block:: text
|
||||||
|
|
||||||
|
qsv_slow_hevc = disabled
|
||||||
|
|
||||||
`AMD AMF Encoder <https://localhost:47990/config/#amd-amf-encoder>`__
|
`AMD AMF Encoder <https://localhost:47990/config/#amd-amf-encoder>`__
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -339,6 +339,7 @@ namespace config {
|
|||||||
{
|
{
|
||||||
qsv::medium, // preset
|
qsv::medium, // preset
|
||||||
qsv::_auto, // cavlc
|
qsv::_auto, // cavlc
|
||||||
|
false, // slow_hevc
|
||||||
}, // qsv
|
}, // qsv
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -962,6 +963,7 @@ namespace config {
|
|||||||
|
|
||||||
int_f(vars, "qsv_preset", video.qsv.qsv_preset, qsv::preset_from_view);
|
int_f(vars, "qsv_preset", video.qsv.qsv_preset, qsv::preset_from_view);
|
||||||
int_f(vars, "qsv_coder", video.qsv.qsv_cavlc, qsv::coder_from_view);
|
int_f(vars, "qsv_coder", video.qsv.qsv_cavlc, qsv::coder_from_view);
|
||||||
|
bool_f(vars, "qsv_slow_hevc", video.qsv.qsv_slow_hevc);
|
||||||
|
|
||||||
std::string quality;
|
std::string quality;
|
||||||
string_f(vars, "amd_quality", quality);
|
string_f(vars, "amd_quality", quality);
|
||||||
|
@ -44,6 +44,7 @@ namespace config {
|
|||||||
struct {
|
struct {
|
||||||
std::optional<int> qsv_preset;
|
std::optional<int> qsv_preset;
|
||||||
std::optional<int> qsv_cavlc;
|
std::optional<int> qsv_cavlc;
|
||||||
|
bool qsv_slow_hevc;
|
||||||
} qsv;
|
} qsv;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
|
@ -763,7 +763,9 @@ namespace video {
|
|||||||
{ "profile"s, (int) qsv::profile_hevc_e::main_10 },
|
{ "profile"s, (int) qsv::profile_hevc_e::main_10 },
|
||||||
},
|
},
|
||||||
// Fallback options
|
// Fallback options
|
||||||
{},
|
{
|
||||||
|
{ "low_power"s, []() { return config::video.qsv.qsv_slow_hevc ? 0 : 1; } },
|
||||||
|
},
|
||||||
std::nullopt, // QP rate control fallback
|
std::nullopt, // QP rate control fallback
|
||||||
"hevc_qsv"s,
|
"hevc_qsv"s,
|
||||||
},
|
},
|
||||||
|
@ -1021,6 +1021,18 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Allow Slow HEVC Encoding -->
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="qsv_slow_hevc" class="form-label">Allow Slow HEVC Encoding</label>
|
||||||
|
<select id="qsv_slow_hevc" class="form-select" v-model="config.qsv_slow_hevc">
|
||||||
|
<option value="enabled">enabled</option>
|
||||||
|
<option value="disabled">disabled (default)</option>
|
||||||
|
</select>
|
||||||
|
<div class="form-text">
|
||||||
|
This can enable HEVC encoding on older Intel GPUs, at the cost of higher GPU usage and worse performance.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- AMD AMF Encoder Tab -->
|
<!-- AMD AMF Encoder Tab -->
|
||||||
@ -1293,6 +1305,7 @@
|
|||||||
options: {
|
options: {
|
||||||
"qsv_preset": "medium",
|
"qsv_preset": "medium",
|
||||||
"qsv_coder": "auto",
|
"qsv_coder": "auto",
|
||||||
|
"qsv_slow_hevc": "disabled",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user