|
@@ -3615,6 +3615,13 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
|
|
|
var outFormat = doTonemap ? string.Empty : "nv12";
|
|
var outFormat = doTonemap ? string.Empty : "nv12";
|
|
var hwScaleFilter = GetHwScaleFilter(isVaapiDecoder ? "vaapi" : "qsv", outFormat, inW, inH, reqW, reqH, reqMaxW, reqMaxH);
|
|
var hwScaleFilter = GetHwScaleFilter(isVaapiDecoder ? "vaapi" : "qsv", outFormat, inW, inH, reqW, reqH, reqMaxW, reqMaxH);
|
|
|
|
+
|
|
|
|
+ // allocate extra pool sizes for vaapi vpp
|
|
|
|
+ if (!string.IsNullOrEmpty(hwScaleFilter) && isVaapiDecoder)
|
|
|
|
+ {
|
|
|
|
+ hwScaleFilter += ":extra_hw_frames=24";
|
|
|
|
+ }
|
|
|
|
+
|
|
// hw scale
|
|
// hw scale
|
|
mainFilters.Add(hwScaleFilter);
|
|
mainFilters.Add(hwScaleFilter);
|
|
}
|
|
}
|
|
@@ -3878,6 +3885,13 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
|
|
|
var outFormat = doTonemap ? string.Empty : "nv12";
|
|
var outFormat = doTonemap ? string.Empty : "nv12";
|
|
var hwScaleFilter = GetHwScaleFilter("vaapi", outFormat, inW, inH, reqW, reqH, reqMaxW, reqMaxH);
|
|
var hwScaleFilter = GetHwScaleFilter("vaapi", outFormat, inW, inH, reqW, reqH, reqMaxW, reqMaxH);
|
|
|
|
+
|
|
|
|
+ // allocate extra pool sizes for vaapi vpp
|
|
|
|
+ if (!string.IsNullOrEmpty(hwScaleFilter))
|
|
|
|
+ {
|
|
|
|
+ hwScaleFilter += ":extra_hw_frames=24";
|
|
|
|
+ }
|
|
|
|
+
|
|
// hw scale
|
|
// hw scale
|
|
mainFilters.Add(hwScaleFilter);
|
|
mainFilters.Add(hwScaleFilter);
|
|
}
|
|
}
|
|
@@ -4072,6 +4086,13 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
|
|
|
outFormat = doOclTonemap ? string.Empty : "nv12";
|
|
outFormat = doOclTonemap ? string.Empty : "nv12";
|
|
var hwScaleFilter = GetHwScaleFilter("vaapi", outFormat, inW, inH, reqW, reqH, reqMaxW, reqMaxH);
|
|
var hwScaleFilter = GetHwScaleFilter("vaapi", outFormat, inW, inH, reqW, reqH, reqMaxW, reqMaxH);
|
|
|
|
+
|
|
|
|
+ // allocate extra pool sizes for vaapi vpp
|
|
|
|
+ if (!string.IsNullOrEmpty(hwScaleFilter))
|
|
|
|
+ {
|
|
|
|
+ hwScaleFilter += ":extra_hw_frames=24";
|
|
|
|
+ }
|
|
|
|
+
|
|
// hw scale
|
|
// hw scale
|
|
mainFilters.Add(hwScaleFilter);
|
|
mainFilters.Add(hwScaleFilter);
|
|
}
|
|
}
|