|
@@ -1606,42 +1606,48 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
{
|
|
|
outputSizeParam = GetOutputSizeParam(state, options, outputVideoCodec).TrimEnd('"');
|
|
|
|
|
|
- var index = outputSizeParam.IndexOf("hwdownload", StringComparison.OrdinalIgnoreCase);
|
|
|
+ // hwupload=extra_hw_frames=64,vpp_qsv (for overlay_qsv on linux)
|
|
|
+ var index = outputSizeParam.IndexOf("hwupload=extra_hw_frames", StringComparison.OrdinalIgnoreCase);
|
|
|
if (index != -1)
|
|
|
{
|
|
|
outputSizeParam = outputSizeParam.Substring(index);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- index = outputSizeParam.IndexOf("hwupload=extra_hw_frames", StringComparison.OrdinalIgnoreCase);
|
|
|
+ // vpp_qsv
|
|
|
+ index = outputSizeParam.IndexOf("vpp", StringComparison.OrdinalIgnoreCase);
|
|
|
if (index != -1)
|
|
|
{
|
|
|
outputSizeParam = outputSizeParam.Substring(index);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- index = outputSizeParam.IndexOf("format", StringComparison.OrdinalIgnoreCase);
|
|
|
+ // hwdownload,format=p010le (hardware decode + software encode for vaapi)
|
|
|
+ index = outputSizeParam.IndexOf("hwdownload", StringComparison.OrdinalIgnoreCase);
|
|
|
if (index != -1)
|
|
|
{
|
|
|
outputSizeParam = outputSizeParam.Substring(index);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- index = outputSizeParam.IndexOf("yadif", StringComparison.OrdinalIgnoreCase);
|
|
|
+ // format=nv12|vaapi,hwupload,scale_vaapi
|
|
|
+ index = outputSizeParam.IndexOf("format", StringComparison.OrdinalIgnoreCase);
|
|
|
if (index != -1)
|
|
|
{
|
|
|
outputSizeParam = outputSizeParam.Substring(index);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- index = outputSizeParam.IndexOf("scale", StringComparison.OrdinalIgnoreCase);
|
|
|
+ // yadif,scale=expr
|
|
|
+ index = outputSizeParam.IndexOf("yadif", StringComparison.OrdinalIgnoreCase);
|
|
|
if (index != -1)
|
|
|
{
|
|
|
outputSizeParam = outputSizeParam.Substring(index);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- index = outputSizeParam.IndexOf("vpp", StringComparison.OrdinalIgnoreCase);
|
|
|
+ // scale=expr
|
|
|
+ index = outputSizeParam.IndexOf("scale", StringComparison.OrdinalIgnoreCase);
|
|
|
if (index != -1)
|
|
|
{
|
|
|
outputSizeParam = outputSizeParam.Substring(index);
|