public static bool CanUseAutoEnc(bool stepByStep, InterpSettings current) { AutoEncode.UpdateChunkAndBufferSizes(); if (Config.GetInt(Config.Key.cmdDebugMode) > 0) { Logger.Log($"Not Using AutoEnc: CMD window is shown (cmdDebugMode > 0)", true); return(false); } if (current.outMode == I.OutMode.VidGif) { Logger.Log($"Not Using AutoEnc: Using GIF output", true); return(false); } if (stepByStep && !Config.GetBool(Config.Key.sbsAllowAutoEnc)) { Logger.Log($"Not Using AutoEnc: Using step-by-step mode, but 'sbsAllowAutoEnc' is false", true); return(false); } if (!stepByStep && Config.GetInt(Config.Key.autoEncMode) == 0) { Logger.Log($"Not Using AutoEnc: 'autoEncMode' is 0", true); return(false); } int inFrames = IoUtils.GetAmountOfFiles(current.framesFolder, false); if (inFrames * current.interpFactor < (AutoEncode.chunkSize + AutoEncode.safetyBufferFrames) * 1.2f) { Logger.Log($"Not Using AutoEnc: Input frames ({inFrames}) * factor ({current.interpFactor}) is smaller than (chunkSize ({AutoEncode.chunkSize}) + safetyBufferFrames ({AutoEncode.safetyBufferFrames}) * 1.2f)", true); return(false); } return(true); }
public static bool CanUseAutoEnc(bool stepByStep, InterpSettings current) { AutoEncode.UpdateChunkAndBufferSizes(); if (current.alpha) { Logger.Log($"Not Using AutoEnc: Alpha mode is enabled.", true); return(false); } if (!current.outMode.ToString().ToLower().Contains("vid") || current.outMode.ToString().ToLower().Contains("gif")) { Logger.Log($"Not Using AutoEnc: Out Mode is not video ({current.outMode.ToString()})", true); return(false); } if (stepByStep && !Config.GetBool("sbsAllowAutoEnc")) { Logger.Log($"Not Using AutoEnc: Using step-by-step mode, but 'sbsAllowAutoEnc' is false.", true); return(false); } if (!stepByStep && Config.GetInt("autoEncMode") == 0) { Logger.Log($"Not Using AutoEnc: 'autoEncMode' is 0.", true); return(false); } int inFrames = IOUtils.GetAmountOfFiles(current.framesFolder, false); if (inFrames * current.interpFactor < (AutoEncode.chunkSize + AutoEncode.safetyBufferFrames) * 1.2f) { Logger.Log($"Not Using AutoEnc: Input frames ({inFrames}) * factor ({current.interpFactor}) is smaller than (chunkSize ({AutoEncode.chunkSize}) + safetyBufferFrames ({AutoEncode.safetyBufferFrames}) * 1.2f)", true); return(false); } return(true); }