From e61258ce3238d2ce7258cb4835dac1ad1592c7dd Mon Sep 17 00:00:00 2001 From: n00mkrad Date: Mon, 30 Aug 2021 10:36:07 +0200 Subject: [PATCH] Allow alpha with ProRes 4444(xq), fix forced yuv420p with ProRes --- Code/Data/InterpSettings.cs | 7 +++++-- Code/Media/FfmpegUtils.cs | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Code/Data/InterpSettings.cs b/Code/Data/InterpSettings.cs index 7db8791..9844c79 100644 --- a/Code/Data/InterpSettings.cs +++ b/Code/Data/InterpSettings.cs @@ -185,9 +185,12 @@ namespace Flowframes try { bool alphaModel = model.supportsAlpha; - bool outputSupportsAlpha = (outMode == Interpolate.OutMode.ImgPng || outMode == Interpolate.OutMode.VidGif); + bool png = outMode == Interpolate.OutMode.ImgPng; + bool gif = outMode == Interpolate.OutMode.VidGif; + bool proResAlpha = outMode == Interpolate.OutMode.VidProRes && Config.GetInt(Config.Key.proResProfile) > 3; + bool outputSupportsAlpha = png || gif || proResAlpha; string ext = inputIsFrames ? Path.GetExtension(IoUtils.GetFilesSorted(inPath).First()).ToLower() : Path.GetExtension(inPath).ToLower(); - alpha = (alphaModel && outputSupportsAlpha && (ext == ".gif" || ext == ".png" || ext == ".apng")); + alpha = (alphaModel && outputSupportsAlpha && (ext == ".gif" || ext == ".png" || ext == ".apng" || ext == ".mov")); Logger.Log($"RefreshAlpha: model.supportsAlpha = {alphaModel} - outputSupportsAlpha = {outputSupportsAlpha} - " + $"input ext: {ext} => alpha = {alpha}", true); } diff --git a/Code/Media/FfmpegUtils.cs b/Code/Media/FfmpegUtils.cs index 2d3f01a..6e4233f 100644 --- a/Code/Media/FfmpegUtils.cs +++ b/Code/Media/FfmpegUtils.cs @@ -95,7 +95,7 @@ namespace Flowframes.Media if(codec == Codec.ProRes) { - args += $"-profile:v {Config.GetInt(Config.Key.proResProfile)} -pix_fmt {GetPixFmt()}"; + args += $"-profile:v {Config.GetInt(Config.Key.proResProfile)}"; } if (codec == Codec.AviRaw)