|
|
|
@ -3527,20 +3527,29 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
|
|
{
|
|
|
|
|
// tonemapx requires yuv420p10 input for dovi reshaping, let ffmpeg convert the frame when necessary
|
|
|
|
|
var tonemapFormat = requireDoviReshaping ? "yuv420p" : outFormat;
|
|
|
|
|
|
|
|
|
|
var tonemapArgs = $"tonemapx=tonemap={options.TonemappingAlgorithm}:desat={options.TonemappingDesat}:peak={options.TonemappingPeak}:t=bt709:m=bt709:p=bt709:format={tonemapFormat}";
|
|
|
|
|
var tonemapArgString = "tonemapx=tonemap={0}:desat={1}:peak={2}:t=bt709:m=bt709:p=bt709:format={3}";
|
|
|
|
|
|
|
|
|
|
if (options.TonemappingParam != 0)
|
|
|
|
|
{
|
|
|
|
|
tonemapArgs += $":param={options.TonemappingParam}";
|
|
|
|
|
tonemapArgString += ":param={4}";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var range = options.TonemappingRange;
|
|
|
|
|
if (range == TonemappingRange.tv || range == TonemappingRange.pc)
|
|
|
|
|
{
|
|
|
|
|
tonemapArgs += $":range={options.TonemappingRange}";
|
|
|
|
|
tonemapArgString += ":range={5}";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var tonemapArgs = string.Format(
|
|
|
|
|
CultureInfo.InvariantCulture,
|
|
|
|
|
tonemapArgString,
|
|
|
|
|
options.TonemappingAlgorithm,
|
|
|
|
|
options.TonemappingDesat,
|
|
|
|
|
options.TonemappingPeak,
|
|
|
|
|
tonemapFormat,
|
|
|
|
|
options.TonemappingParam,
|
|
|
|
|
options.TonemappingRange);
|
|
|
|
|
|
|
|
|
|
mainFilters.Add(tonemapArgs);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|