Apply suggestions from code review

Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
This commit is contained in:
nyanmisaka 2021-07-26 03:09:44 +08:00
parent 3beda02d92
commit 19e3c38fa8

View File

@ -124,12 +124,12 @@ namespace MediaBrowser.Controller.MediaEncoding
return false; return false;
} }
return (string.Equals(videoStream.ColorTransfer, "smpte2084", StringComparison.OrdinalIgnoreCase) return options.EnableTonemapping
&& (string.Equals(videoStream.ColorTransfer, "smpte2084", StringComparison.OrdinalIgnoreCase)
|| string.Equals(videoStream.ColorTransfer, "arib-std-b67", StringComparison.OrdinalIgnoreCase)) || string.Equals(videoStream.ColorTransfer, "arib-std-b67", StringComparison.OrdinalIgnoreCase))
&& IsColorDepth10(state) && IsColorDepth10(state)
&& _mediaEncoder.SupportsHwaccel("opencl") && _mediaEncoder.SupportsHwaccel("opencl")
&& _mediaEncoder.SupportsFilter("tonemap_opencl") && _mediaEncoder.SupportsFilter("tonemap_opencl");
&& options.EnableTonemapping;
} }
private bool IsCudaTonemappingSupported(EncodingJobInfo state, EncodingOptions options) private bool IsCudaTonemappingSupported(EncodingJobInfo state, EncodingOptions options)
@ -140,12 +140,12 @@ namespace MediaBrowser.Controller.MediaEncoding
return false; return false;
} }
return (string.Equals(videoStream.ColorTransfer, "smpte2084", StringComparison.OrdinalIgnoreCase) return options.EnableTonemapping
&& (string.Equals(videoStream.ColorTransfer, "smpte2084", StringComparison.OrdinalIgnoreCase)
|| string.Equals(videoStream.ColorTransfer, "arib-std-b67", StringComparison.OrdinalIgnoreCase)) || string.Equals(videoStream.ColorTransfer, "arib-std-b67", StringComparison.OrdinalIgnoreCase))
&& IsColorDepth10(state) && IsColorDepth10(state)
&& _mediaEncoder.SupportsHwaccel("cuda") && _mediaEncoder.SupportsHwaccel("cuda")
&& _mediaEncoder.SupportsFilterWithOption(FilterOptionType.TonemapCudaName) && _mediaEncoder.SupportsFilterWithOption(FilterOptionType.TonemapCudaName);
&& options.EnableTonemapping;
} }
private bool IsVppTonemappingSupported(EncodingJobInfo state, EncodingOptions options) private bool IsVppTonemappingSupported(EncodingJobInfo state, EncodingOptions options)
@ -161,25 +161,25 @@ namespace MediaBrowser.Controller.MediaEncoding
if (string.Equals(options.HardwareAccelerationType, "vaapi", StringComparison.OrdinalIgnoreCase)) if (string.Equals(options.HardwareAccelerationType, "vaapi", StringComparison.OrdinalIgnoreCase))
{ {
// Limited to HEVC for now since the filter doesn't accept master data from VP9. // Limited to HEVC for now since the filter doesn't accept master data from VP9.
return string.Equals(videoStream.ColorTransfer, "smpte2084", StringComparison.OrdinalIgnoreCase) return options.EnableVppTonemapping
&& string.Equals(videoStream.ColorTransfer, "smpte2084", StringComparison.OrdinalIgnoreCase)
&& IsColorDepth10(state) && IsColorDepth10(state)
&& string.Equals(codec, "hevc", StringComparison.OrdinalIgnoreCase) && string.Equals(codec, "hevc", StringComparison.OrdinalIgnoreCase)
&& _mediaEncoder.SupportsHwaccel("vaapi") && _mediaEncoder.SupportsHwaccel("vaapi")
&& _mediaEncoder.SupportsFilter("tonemap_vaapi") && _mediaEncoder.SupportsFilter("tonemap_vaapi");
&& options.EnableVppTonemapping;
} }
// Hybrid VPP tonemapping for QSV with VAAPI // Hybrid VPP tonemapping for QSV with VAAPI
if (OperatingSystem.IsLinux() && string.Equals(options.HardwareAccelerationType, "qsv", StringComparison.OrdinalIgnoreCase)) if (OperatingSystem.IsLinux() && string.Equals(options.HardwareAccelerationType, "qsv", StringComparison.OrdinalIgnoreCase))
{ {
// Limited to HEVC for now since the filter doesn't accept master data from VP9. // Limited to HEVC for now since the filter doesn't accept master data from VP9.
return string.Equals(videoStream.ColorTransfer, "smpte2084", StringComparison.OrdinalIgnoreCase) return options.EnableVppTonemapping
&& string.Equals(videoStream.ColorTransfer, "smpte2084", StringComparison.OrdinalIgnoreCase)
&& IsColorDepth10(state) && IsColorDepth10(state)
&& string.Equals(codec, "hevc", StringComparison.OrdinalIgnoreCase) && string.Equals(codec, "hevc", StringComparison.OrdinalIgnoreCase)
&& _mediaEncoder.SupportsHwaccel("vaapi") && _mediaEncoder.SupportsHwaccel("vaapi")
&& _mediaEncoder.SupportsFilter("tonemap_vaapi") && _mediaEncoder.SupportsFilter("tonemap_vaapi")
&& _mediaEncoder.SupportsHwaccel("qsv") && _mediaEncoder.SupportsHwaccel("qsv");
&& options.EnableVppTonemapping;
} }
// Native VPP tonemapping may come to QSV in the future. // Native VPP tonemapping may come to QSV in the future.
@ -2155,7 +2155,7 @@ namespace MediaBrowser.Controller.MediaEncoding
} }
else else
{ {
retStr = !outputSizeParam.IsEmpty retStr = outputSizeParam.IsEmpty
? " -filter_complex \"[{0}:{1}]{4}[sub];[0:{2}][sub]overlay,format=nv12|yuv420p,hwupload_cuda\"" ? " -filter_complex \"[{0}:{1}]{4}[sub];[0:{2}][sub]overlay,format=nv12|yuv420p,hwupload_cuda\""
: " -filter_complex \"[{0}:{1}]{4}[sub];[0:{2}]{3}[base];[base][sub]overlay,format=nv12|yuv420p,hwupload_cuda\""; : " -filter_complex \"[{0}:{1}]{4}[sub];[0:{2}]{3}[base];[base][sub]overlay,format=nv12|yuv420p,hwupload_cuda\"";
} }