add an option to use the enhanced nvdec decoder

This commit is contained in:
nyanmisaka 2021-01-25 03:39:53 +08:00
parent d7161f9d65
commit 58e2afedd5
5 changed files with 26 additions and 9 deletions

View file

@ -142,14 +142,13 @@ import ServerConnections from '../ServerConnections';
}); });
} }
if (audioChannels) {
sessionStats.push({
label: globalize.translate('LabelAudioChannels'),
value: audioChannels
});
}
if (displayPlayMethod === 'Transcode') { if (displayPlayMethod === 'Transcode') {
if (audioChannels) {
sessionStats.push({
label: globalize.translate('LabelAudioChannels'),
value: audioChannels
});
}
if (totalBitrate) { if (totalBitrate) {
sessionStats.push({ sessionStats.push({
label: globalize.translate('LabelBitrate'), label: globalize.translate('LabelBitrate'),

View file

@ -84,6 +84,13 @@
</label> </label>
</div> </div>
<div class="checkboxListContainer hide fldEnhancedNvdec">
<label>
<input type="checkbox" is="emby-checkbox" id="chkEnhancedNvdecDecoder" />
<span>${EnableEnhancedNvdecDecoder}</span>
</label>
</div>
<div class="checkboxListContainer"> <div class="checkboxListContainer">
<div class="checkboxList"> <div class="checkboxList">
<label> <label>

View file

@ -14,6 +14,7 @@ import alert from '../../components/alert';
}); });
page.querySelector('#chkDecodingColorDepth10Hevc').checked = config.EnableDecodingColorDepth10Hevc; page.querySelector('#chkDecodingColorDepth10Hevc').checked = config.EnableDecodingColorDepth10Hevc;
page.querySelector('#chkDecodingColorDepth10Vp9').checked = config.EnableDecodingColorDepth10Vp9; page.querySelector('#chkDecodingColorDepth10Vp9').checked = config.EnableDecodingColorDepth10Vp9;
page.querySelector('#chkEnhancedNvdecDecoder').checked = config.EnableEnhancedNvdecDecoder;
page.querySelector('#chkHardwareEncoding').checked = config.EnableHardwareEncoding; page.querySelector('#chkHardwareEncoding').checked = config.EnableHardwareEncoding;
page.querySelector('#chkAllowHevcEncoding').checked = config.AllowHevcEncoding; page.querySelector('#chkAllowHevcEncoding').checked = config.AllowHevcEncoding;
$('#selectVideoDecoder', page).val(config.HardwareAccelerationType); $('#selectVideoDecoder', page).val(config.HardwareAccelerationType);
@ -101,6 +102,7 @@ import alert from '../../components/alert';
}); });
config.EnableDecodingColorDepth10Hevc = form.querySelector('#chkDecodingColorDepth10Hevc').checked; config.EnableDecodingColorDepth10Hevc = form.querySelector('#chkDecodingColorDepth10Hevc').checked;
config.EnableDecodingColorDepth10Vp9 = form.querySelector('#chkDecodingColorDepth10Vp9').checked; config.EnableDecodingColorDepth10Vp9 = form.querySelector('#chkDecodingColorDepth10Vp9').checked;
config.EnableEnhancedNvdecDecoder = form.querySelector('#chkEnhancedNvdecDecoder').checked;
config.EnableHardwareEncoding = form.querySelector('#chkHardwareEncoding').checked; config.EnableHardwareEncoding = form.querySelector('#chkHardwareEncoding').checked;
config.AllowHevcEncoding = form.querySelector('#chkAllowHevcEncoding').checked; config.AllowHevcEncoding = form.querySelector('#chkAllowHevcEncoding').checked;
ApiClient.updateNamedConfiguration('encoding', config).then(function () { ApiClient.updateNamedConfiguration('encoding', config).then(function () {
@ -181,6 +183,13 @@ import alert from '../../components/alert';
page.querySelector('.tonemappingOptions').classList.add('hide'); page.querySelector('.tonemappingOptions').classList.add('hide');
} }
if (this.value == 'nvenc')
{
page.querySelector('.fldEnhancedNvdec').classList.remove('hide');
} else {
page.querySelector('.fldEnhancedNvdec').classList.add('hide');
}
if (this.value) { if (this.value) {
page.querySelector('.hardwareAccelerationOptions').classList.remove('hide'); page.querySelector('.hardwareAccelerationOptions').classList.remove('hide');
} else { } else {

View file

@ -1497,5 +1497,6 @@
"YoutubeNotFound": "Video not found.", "YoutubeNotFound": "Video not found.",
"YoutubeDenied": "Requested video is not allowed to be played in embedded players.", "YoutubeDenied": "Requested video is not allowed to be played in embedded players.",
"MessageChromecastConnectionError": "Your Google Cast receiver is unable to contact the Jellyfin server. Please check the connection and try again.", "MessageChromecastConnectionError": "Your Google Cast receiver is unable to contact the Jellyfin server. Please check the connection and try again.",
"MessagePlaybackError": "There was an error playing this file on your Google Cast receiver." "MessagePlaybackError": "There was an error playing this file on your Google Cast receiver.",
"EnableEnhancedNvdecDecoder": "Enable enhanced NVDEC decoder"
} }

View file

@ -1501,5 +1501,6 @@
"LabelMinAudiobookResume": "恢复播放有声读物的最短时间:", "LabelMinAudiobookResume": "恢复播放有声读物的最短时间:",
"LabelMaxAudiobookResume": "恢复播放有声读物的最长时间:", "LabelMaxAudiobookResume": "恢复播放有声读物的最长时间:",
"MessagePlaybackError": "在您的 Google Cast 接收器上播放此文件时发生错误。", "MessagePlaybackError": "在您的 Google Cast 接收器上播放此文件时发生错误。",
"MessageChromecastConnectionError": "您的 Google Cast 接收器无法联系 Jellyfin 服务器。请检查连接,然后重试。" "MessageChromecastConnectionError": "您的 Google Cast 接收器无法联系 Jellyfin 服务器。请检查连接,然后重试。",
"EnableEnhancedNvdecDecoder": "启用增强的 NVDEC 解码器"
} }