diff --git a/src/controllers/dashboard/encodingsettings.html b/src/controllers/dashboard/encodingsettings.html
index 0030ee70d2..f2a12bf9a2 100644
--- a/src/controllers/dashboard/encodingsettings.html
+++ b/src/controllers/dashboard/encodingsettings.html
@@ -13,13 +13,12 @@
-
-
@@ -177,6 +193,14 @@
+
+
+
+
+
+
+
+
${LabelTranscodingThreadCountHelp}
diff --git a/src/controllers/dashboard/encodingsettings.js b/src/controllers/dashboard/encodingsettings.js
index 97afb430a0..aeaf28a6be 100644
--- a/src/controllers/dashboard/encodingsettings.js
+++ b/src/controllers/dashboard/encodingsettings.js
@@ -15,6 +15,9 @@ import alert from '../../components/alert';
page.querySelector('#chkDecodingColorDepth10Hevc').checked = config.EnableDecodingColorDepth10Hevc;
page.querySelector('#chkDecodingColorDepth10Vp9').checked = config.EnableDecodingColorDepth10Vp9;
page.querySelector('#chkEnhancedNvdecDecoder').checked = config.EnableEnhancedNvdecDecoder;
+ page.querySelector('#chkSystemNativeHwDecoder').checked = config.PreferSystemNativeHwDecoder;
+ page.querySelector('#chkIntelLpH264HwEncoder').checked = config.EnableIntelLowPowerH264HwEncoder;
+ page.querySelector('#chkIntelLpHevcHwEncoder').checked = config.EnableIntelLowPowerHevcHwEncoder;
page.querySelector('#chkHardwareEncoding').checked = config.EnableHardwareEncoding;
page.querySelector('#chkAllowHevcEncoding').checked = config.AllowHevcEncoding;
$('#selectVideoDecoder', page).val(config.HardwareAccelerationType);
@@ -28,7 +31,6 @@ import alert from '../../components/alert';
$('#txtVaapiDevice', page).val(config.VaapiDevice || '');
page.querySelector('#chkTonemapping').checked = config.EnableTonemapping;
page.querySelector('#chkVppTonemapping').checked = config.EnableVppTonemapping;
- page.querySelector('#txtOpenclDevice').value = config.OpenclDevice || '';
page.querySelector('#selectTonemappingAlgorithm').value = config.TonemappingAlgorithm;
page.querySelector('#selectTonemappingRange').value = config.TonemappingRange;
page.querySelector('#txtTonemappingDesat').value = config.TonemappingDesat;
@@ -81,7 +83,6 @@ import alert from '../../components/alert';
config.EncodingThreadCount = $('#selectThreadCount', form).val();
config.HardwareAccelerationType = $('#selectVideoDecoder', form).val();
config.VaapiDevice = $('#txtVaapiDevice', form).val();
- config.OpenclDevice = form.querySelector('#txtOpenclDevice').value;
config.EnableTonemapping = form.querySelector('#chkTonemapping').checked;
config.EnableVppTonemapping = form.querySelector('#chkVppTonemapping').checked;
config.TonemappingAlgorithm = form.querySelector('#selectTonemappingAlgorithm').value;
@@ -105,6 +106,9 @@ import alert from '../../components/alert';
config.EnableDecodingColorDepth10Hevc = form.querySelector('#chkDecodingColorDepth10Hevc').checked;
config.EnableDecodingColorDepth10Vp9 = form.querySelector('#chkDecodingColorDepth10Vp9').checked;
config.EnableEnhancedNvdecDecoder = form.querySelector('#chkEnhancedNvdecDecoder').checked;
+ config.PreferSystemNativeHwDecoder = form.querySelector('#chkSystemNativeHwDecoder').checked;
+ config.EnableIntelLowPowerH264HwEncoder = form.querySelector('#chkIntelLpH264HwEncoder').checked;
+ config.EnableIntelLowPowerHevcHwEncoder = form.querySelector('#chkIntelLpHevcHwEncoder').checked;
config.EnableHardwareEncoding = form.querySelector('#chkHardwareEncoding').checked;
config.AllowHevcEncoding = form.querySelector('#chkAllowHevcEncoding').checked;
ApiClient.updateNamedConfiguration('encoding', config).then(function () {
@@ -182,32 +186,42 @@ import alert from '../../components/alert';
page.querySelector('#txtVaapiDevice').removeAttribute('required');
}
- if (this.value == 'nvenc' || this.value == 'amf') {
- page.querySelector('.fldOpenclDevice').classList.remove('hide');
- page.querySelector('#txtOpenclDevice').setAttribute('required', 'required');
- page.querySelector('.tonemappingOptions').classList.remove('hide');
- } else if (this.value == 'vaapi') {
- page.querySelector('.fldOpenclDevice').classList.add('hide');
- page.querySelector('#txtOpenclDevice').removeAttribute('required');
+ if (this.value == 'amf' || this.value == 'nvenc' || this.value == 'qsv' || this.value == 'vaapi' || this.value == 'videotoolbox') {
+ page.querySelector('.fld10bitHevcVp9HwDecoding').classList.remove('hide');
+ } else {
+ page.querySelector('.fld10bitHevcVp9HwDecoding').classList.add('hide');
+ }
+
+ if (this.value == 'amf' || this.value == 'nvenc' || this.value == 'qsv' || this.value == 'vaapi') {
page.querySelector('.tonemappingOptions').classList.remove('hide');
} else {
- page.querySelector('.fldOpenclDevice').classList.add('hide');
- page.querySelector('#txtOpenclDevice').removeAttribute('required');
page.querySelector('.tonemappingOptions').classList.add('hide');
}
+ if (this.value == 'qsv' || this.value == 'vaapi') {
+ page.querySelector('.fldIntelLp').classList.remove('hide');
+ } else {
+ page.querySelector('.fldIntelLp').classList.add('hide');
+ }
+
+ if (systemInfo.OperatingSystem.toLowerCase() === 'linux' && (this.value == 'qsv' || this.value == 'vaapi')) {
+ page.querySelector('.fldVppTonemapping').classList.remove('hide');
+ } else {
+ page.querySelector('.fldVppTonemapping').classList.add('hide');
+ }
+
+ if (this.value == 'qsv') {
+ page.querySelector('.fldSysNativeHwDecoder').classList.remove('hide');
+ } else {
+ page.querySelector('.fldSysNativeHwDecoder').classList.add('hide');
+ }
+
if (this.value == 'nvenc') {
page.querySelector('.fldEnhancedNvdec').classList.remove('hide');
} else {
page.querySelector('.fldEnhancedNvdec').classList.add('hide');
}
- if (systemInfo.OperatingSystem.toLowerCase() === 'linux' && (this.value == 'vaapi' || this.value == 'qsv')) {
- page.querySelector('.fldVppTonemapping').classList.remove('hide');
- } else {
- page.querySelector('.fldVppTonemapping').classList.add('hide');
- }
-
if (this.value) {
page.querySelector('.hardwareAccelerationOptions').classList.remove('hide');
} else {
diff --git a/src/strings/en-us.json b/src/strings/en-us.json
index 6847d6ad72..22de60a8db 100644
--- a/src/strings/en-us.json
+++ b/src/strings/en-us.json
@@ -1459,7 +1459,7 @@
"TitleHardwareAcceleration": "Hardware Acceleration",
"TitleHostingSettings": "Hosting Settings",
"TitlePlayback": "Playback",
- "TonemappingAlgorithmHelp": "Tone mapping can be fine-tuned. If you are not familiar with these options, just keep the default. The recommended value is Hable.",
+ "TonemappingAlgorithmHelp": "Tone mapping can be fine-tuned. If you are not familiar with these options, just keep the default. The recommended value is BT.2390.",
"TonemappingRangeHelp": "Select the output color range. Auto is the same as the input range.",
"Track": "Track",
"TrackCount": "{0} tracks",
@@ -1596,5 +1596,11 @@
"VideoFramerateNotSupported": "The video's framerate is not supported",
"VideoLevelNotSupported": "The video codec's level is not supported",
"VideoProfileNotSupported": "The video codec's profile is not supported",
- "AudioBitDepthNotSupported": "The audio's bit depth is not supported"
+ "AudioBitDepthNotSupported": "The audio's bit depth is not supported",
+ "ContainerBitrateExceedsLimit": "The video's bitrate exceeds the limit",
+ "PreferSystemNativeHwDecoder": "Prefer OS native DXVA or VAAPI hardware decoder",
+ "EnableIntelLowPowerH264HwEncoder": "Enable Intel Low-Power H264 hardware encoder",
+ "EnableIntelLowPowerHevcHwEncoder": "Enable Intel Low-Power HEVC hardware encoder",
+ "IntelLowPowerEncHelp": "Low-Power Encoding can save unnecessary CPU-GPU sync. On Linux they must be disabled if the i915 Huc firmware is not configured.",
+ "LabelHardwareEncodingOptions": "Hardware encoding options:"
}
diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json
index 9c374a63f9..34d92feaab 100644
--- a/src/strings/zh-cn.json
+++ b/src/strings/zh-cn.json
@@ -1355,7 +1355,7 @@
"EnableTonemapping": "启用色调映射",
"AllowTonemappingHelp": "色调映射可以将视频的动态范围从 HDR 变换成 SDR,同时保持图像细节与颜色等对于表现原始场景非常重要的信息。目前仅在转码内嵌 HDR10 或 HLG 元数据的视频时生效。如果播放不顺畅或失败,请考虑关闭对应的硬件解码器。",
"LabelTonemappingAlgorithm": "选择要使用的色调映射算法:",
- "TonemappingAlgorithmHelp": "色调映射可以微调。如果你不是很熟悉这些选项,保持默认即可。建议值为 Hable。",
+ "TonemappingAlgorithmHelp": "色调映射可以微调。如果你不是很熟悉这些选项,保持默认即可。建议值为 BT.2390。",
"LabelTonemappingRange": "色调映射范围:",
"TonemappingRangeHelp": "选择输出颜色范围。选自动则与输入范围相同。",
"LabelTonemappingDesat": "色调映射去饱和:",
@@ -1600,5 +1600,11 @@
"Larger": "较大的",
"Console": "控制台",
"Casual": "休闲",
- "Cursive": "草书"
+ "Cursive": "草书",
+ "ContainerBitrateExceedsLimit": "视频比特率超过限制",
+ "PreferSystemNativeHwDecoder": "首选系统原生的 DXVA 或 VAAPI 硬件解码器",
+ "EnableIntelLowPowerH264HwEncoder": "启用低电压模式的 Intel H264 硬件编码器",
+ "EnableIntelLowPowerHevcHwEncoder": "启用低电压模式的 Intel HEVC 硬件编码器",
+ "IntelLowPowerEncHelp": "低电压模式编码能节省不必要的 CPU-GPU 同步。Linux 中使用前必须配置好 i915 Huc 固件。",
+ "LabelHardwareEncodingOptions": "硬件编码选项:"
}