1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

add an option to enable vpp tonemapping

This commit is contained in:
nyanmisaka 2021-01-26 03:14:47 +08:00
parent 58e2afedd5
commit d78cd0db51
4 changed files with 22 additions and 4 deletions

View file

@ -118,6 +118,13 @@
</label> </label>
<div class="fieldDescription checkboxFieldDescription">${AllowTonemappingHelp}</div> <div class="fieldDescription checkboxFieldDescription">${AllowTonemappingHelp}</div>
</div> </div>
<div class="checkboxListContainer checkboxContainer-withDescription fldVppTonemapping hide">
<label>
<input type="checkbox" is="emby-checkbox" id="chkVppTonemapping" />
<span>${EnableVppTonemapping}</span>
</label>
<div class="fieldDescription checkboxFieldDescription">${AllowVppTonemappingHelp}</div>
</div>
<div class="selectContainer"> <div class="selectContainer">
<select is="emby-select" id="selectTonemappingAlgorithm" label="${LabelTonemappingAlgorithm}"> <select is="emby-select" id="selectTonemappingAlgorithm" label="${LabelTonemappingAlgorithm}">
<option value="none">None</option> <option value="none">None</option>

View file

@ -27,6 +27,7 @@ import alert from '../../components/alert';
page.querySelector('#chkEnableFallbackFont').checked = config.EnableFallbackFont; page.querySelector('#chkEnableFallbackFont').checked = config.EnableFallbackFont;
$('#txtVaapiDevice', page).val(config.VaapiDevice || ''); $('#txtVaapiDevice', page).val(config.VaapiDevice || '');
page.querySelector('#chkTonemapping').checked = config.EnableTonemapping; page.querySelector('#chkTonemapping').checked = config.EnableTonemapping;
page.querySelector('#chkVppTonemapping').checked = config.EnableVppTonemapping;
page.querySelector('#txtOpenclDevice').value = config.OpenclDevice || ''; page.querySelector('#txtOpenclDevice').value = config.OpenclDevice || '';
page.querySelector('#selectTonemappingAlgorithm').value = config.TonemappingAlgorithm; page.querySelector('#selectTonemappingAlgorithm').value = config.TonemappingAlgorithm;
page.querySelector('#selectTonemappingRange').value = config.TonemappingRange; page.querySelector('#selectTonemappingRange').value = config.TonemappingRange;
@ -82,6 +83,7 @@ import alert from '../../components/alert';
config.VaapiDevice = $('#txtVaapiDevice', form).val(); config.VaapiDevice = $('#txtVaapiDevice', form).val();
config.OpenclDevice = form.querySelector('#txtOpenclDevice').value; config.OpenclDevice = form.querySelector('#txtOpenclDevice').value;
config.EnableTonemapping = form.querySelector('#chkTonemapping').checked; config.EnableTonemapping = form.querySelector('#chkTonemapping').checked;
config.EnableVppTonemapping = form.querySelector('#chkVppTonemapping').checked;
config.TonemappingAlgorithm = form.querySelector('#selectTonemappingAlgorithm').value; config.TonemappingAlgorithm = form.querySelector('#selectTonemappingAlgorithm').value;
config.TonemappingRange = form.querySelector('#selectTonemappingRange').value; config.TonemappingRange = form.querySelector('#selectTonemappingRange').value;
config.TonemappingDesat = form.querySelector('#txtTonemappingDesat').value; config.TonemappingDesat = form.querySelector('#txtTonemappingDesat').value;
@ -183,13 +185,18 @@ import alert from '../../components/alert';
page.querySelector('.tonemappingOptions').classList.add('hide'); page.querySelector('.tonemappingOptions').classList.add('hide');
} }
if (this.value == 'nvenc') if (this.value == 'nvenc') {
{
page.querySelector('.fldEnhancedNvdec').classList.remove('hide'); page.querySelector('.fldEnhancedNvdec').classList.remove('hide');
} else { } else {
page.querySelector('.fldEnhancedNvdec').classList.add('hide'); page.querySelector('.fldEnhancedNvdec').classList.add('hide');
} }
if (this.value == 'vaapi') {
page.querySelector('.fldVppTonemapping').classList.remove('hide');
} else {
page.querySelector('.fldVppTonemapping').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

@ -1498,5 +1498,7 @@
"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" "EnableEnhancedNvdecDecoder": "Enable enhanced NVDEC decoder",
"EnableVppTonemapping": "Enable VPP Tone mapping",
"AllowVppTonemappingHelp": "Full hardware based tone mapping without using OpenCL filter. Currently works only when transcoding videos with embedded HDR10 metadata."
} }

View file

@ -1502,5 +1502,7 @@
"LabelMaxAudiobookResume": "恢复播放有声读物的最长时间:", "LabelMaxAudiobookResume": "恢复播放有声读物的最长时间:",
"MessagePlaybackError": "在您的 Google Cast 接收器上播放此文件时发生错误。", "MessagePlaybackError": "在您的 Google Cast 接收器上播放此文件时发生错误。",
"MessageChromecastConnectionError": "您的 Google Cast 接收器无法联系 Jellyfin 服务器。请检查连接,然后重试。", "MessageChromecastConnectionError": "您的 Google Cast 接收器无法联系 Jellyfin 服务器。请检查连接,然后重试。",
"EnableEnhancedNvdecDecoder": "启用增强的 NVDEC 解码器" "EnableEnhancedNvdecDecoder": "启用增强的 NVDEC 解码器",
"EnableVppTonemapping": "启用 VPP 色调映射",
"AllowVppTonemappingHelp": "完全基于硬件的色调映射,不需要 OpenCL 滤镜。目前仅在转码内嵌 HDR10 元数据的视频时生效。"
} }