|
|
|
@ -1788,8 +1788,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
|
|
|
|
|
|
|
if (videoStream != null &&
|
|
|
|
|
!string.IsNullOrWhiteSpace(videoStream.Codec) &&
|
|
|
|
|
!string.IsNullOrWhiteSpace(encodingOptions.HardwareAccelerationType) &&
|
|
|
|
|
encodingOptions.EnableHardwareDecoding)
|
|
|
|
|
!string.IsNullOrWhiteSpace(encodingOptions.HardwareAccelerationType))
|
|
|
|
|
{
|
|
|
|
|
if (string.Equals(encodingOptions.HardwareAccelerationType, "qsv", StringComparison.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
@ -1797,7 +1796,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
|
|
{
|
|
|
|
|
case "avc":
|
|
|
|
|
case "h264":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("h264_qsv"))
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("h264_qsv") && encodingOptions.HardwareDecodingCodecs.Contains("h264", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
// qsv decoder does not support 10-bit input
|
|
|
|
|
if ((videoStream.BitDepth ?? 8) > 8)
|
|
|
|
@ -1807,21 +1806,21 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
|
|
return "-c:v h264_qsv ";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
//case "hevc":
|
|
|
|
|
//case "h265":
|
|
|
|
|
// if (_mediaEncoder.SupportsDecoder("hevc_qsv"))
|
|
|
|
|
// {
|
|
|
|
|
// return "-c:v hevc_qsv ";
|
|
|
|
|
// }
|
|
|
|
|
// break;
|
|
|
|
|
case "hevc":
|
|
|
|
|
case "h265":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("hevc_qsv") && encodingOptions.HardwareDecodingCodecs.Contains("hevc", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v hevc_qsv ";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "mpeg2video":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("mpeg2_qsv"))
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("mpeg2_qsv") && encodingOptions.HardwareDecodingCodecs.Contains("mpeg2video", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v mpeg2_qsv ";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "vc1":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("vc1_qsv"))
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("vc1_qsv") && encodingOptions.HardwareDecodingCodecs.Contains("vc1", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v vc1_qsv ";
|
|
|
|
|
}
|
|
|
|
@ -1835,14 +1834,14 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
|
|
{
|
|
|
|
|
case "avc":
|
|
|
|
|
case "h264":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("h264_cuvid"))
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("h264_cuvid") && encodingOptions.HardwareDecodingCodecs.Contains("h264", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v h264_cuvid ";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "hevc":
|
|
|
|
|
case "h265":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("hevc_cuvid"))
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("hevc_cuvid") && encodingOptions.HardwareDecodingCodecs.Contains("hevc", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v hevc_cuvid ";
|
|
|
|
|
}
|
|
|
|
|