mirror of
https://github.com/n00mkrad/flowframes.git
synced 2025-12-16 16:37:48 +01:00
AV1 240 FPS hard-cap now accounts for FPS limiting, fixed GetFloat flaws
This commit is contained in:
@@ -36,7 +36,7 @@ namespace Flowframes
|
||||
|
||||
public static int GetInt(this string str)
|
||||
{
|
||||
if (str.Length < 1 || str == null)
|
||||
if (str == null || str.Length < 1)
|
||||
return 0;
|
||||
|
||||
try
|
||||
@@ -74,7 +74,7 @@ namespace Flowframes
|
||||
|
||||
public static float GetFloat(this string str)
|
||||
{
|
||||
if (str.Length < 1 || str == null)
|
||||
if (str == null || str.Length < 1)
|
||||
return 0f;
|
||||
|
||||
string num = str.TrimNumbers(true).Replace(",", ".");
|
||||
@@ -117,7 +117,7 @@ namespace Flowframes
|
||||
return i;
|
||||
}
|
||||
|
||||
public static float Clamp(this float i, int min, float max)
|
||||
public static float Clamp(this float i, float min, float max)
|
||||
{
|
||||
if (i < min)
|
||||
i = min;
|
||||
@@ -159,14 +159,14 @@ namespace Flowframes
|
||||
public static string Remove(this string str, string stringToRemove)
|
||||
{
|
||||
if (str == null || stringToRemove == null)
|
||||
return str;
|
||||
return "";
|
||||
|
||||
return str.Replace(stringToRemove, "");
|
||||
}
|
||||
|
||||
public static string TrimWhitespaces(this string str)
|
||||
{
|
||||
if (str == null) return str;
|
||||
if (str == null) return "";
|
||||
var newString = new StringBuilder();
|
||||
bool previousIsWhitespace = false;
|
||||
for (int i = 0; i < str.Length; i++)
|
||||
|
||||
@@ -187,24 +187,24 @@ namespace Flowframes.IO
|
||||
|
||||
public static float GetFloat(Key key)
|
||||
{
|
||||
return float.Parse(Get(key, Type.Float), CultureInfo.InvariantCulture);
|
||||
return Get(key, Type.Float).GetFloat();
|
||||
}
|
||||
|
||||
public static float GetFloat(Key key, float defaultVal)
|
||||
{
|
||||
WriteIfDoesntExist(key.ToString(), defaultVal.ToStringDot());
|
||||
return float.Parse(Get(key, Type.Float), CultureInfo.InvariantCulture);
|
||||
return Get(key, Type.Float).GetFloat();
|
||||
}
|
||||
|
||||
public static float GetFloat(string key)
|
||||
{
|
||||
return float.Parse(Get(key, Type.Float), CultureInfo.InvariantCulture);
|
||||
return Get(key, Type.Float).GetFloat();
|
||||
}
|
||||
|
||||
public static float GetFloat(string key, float defaultVal)
|
||||
{
|
||||
WriteIfDoesntExist(key.ToString(), defaultVal.ToStringDot());
|
||||
return float.Parse(Get(key, Type.Float), CultureInfo.InvariantCulture);
|
||||
return Get(key, Type.Float).GetFloat();
|
||||
}
|
||||
|
||||
public static string GetFloatString (Key key)
|
||||
|
||||
@@ -221,11 +221,13 @@ namespace Flowframes.Main
|
||||
return true;
|
||||
}
|
||||
|
||||
public static async Task<bool> CheckEncoderValid (float encodeFps)
|
||||
public static async Task<bool> CheckEncoderValid (float interpFps)
|
||||
{
|
||||
string enc = FfmpegUtils.GetEnc(FfmpegUtils.GetCodec(I.currentSettings.outMode));
|
||||
|
||||
float maxAv1Fps = 240;
|
||||
float maxAv1Fps = 240; // SVT-AV1 only supports up to 240 FPS as of 2022-08
|
||||
float maxFps = Config.GetFloat(Config.Key.maxFps);
|
||||
float encodeFps = maxFps > 0 ? interpFps.Clamp(0, maxFps) : interpFps;
|
||||
|
||||
if (enc.ToLower().Contains("av1") && encodeFps > maxAv1Fps)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user