|
@@ -1459,7 +1459,11 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
param += " -preset 7";
|
|
|
}
|
|
|
|
|
|
- param += " -look_ahead 0";
|
|
|
+ // Only h264_qsv has look_ahead option
|
|
|
+ if (string.Equals(videoEncoder, "h264_qsv", StringComparison.OrdinalIgnoreCase))
|
|
|
+ {
|
|
|
+ param += " -look_ahead 0";
|
|
|
+ }
|
|
|
}
|
|
|
else if (string.Equals(videoEncoder, "h264_nvenc", StringComparison.OrdinalIgnoreCase) // h264 (h264_nvenc)
|
|
|
|| string.Equals(videoEncoder, "hevc_nvenc", StringComparison.OrdinalIgnoreCase)) // hevc (hevc_nvenc)
|
|
@@ -1497,7 +1501,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
- param += " -preset p4";
|
|
|
+ param += " -preset p1";
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -3467,6 +3471,12 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
// map from d3d11va to qsv.
|
|
|
mainFilters.Add("hwmap=derive_device=qsv");
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ // Insert a qsv scaler to sync the decoder surface,
|
|
|
+ // msdk will passthrough this internally.
|
|
|
+ mainFilters.Add("hwmap=derive_device=qsv,scale_qsv");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// hw deint
|