CUETools.Flake/FLACCL: --lax command line setting

This commit is contained in:
Grigory Chudov
2013-06-04 20:44:13 -04:00
parent 1e502ab0b9
commit dd57626b4e
4 changed files with 685 additions and 642 deletions

View File

@@ -373,9 +373,6 @@ namespace CUETools.Codecs.FLACCL
task.Dispose();
openCLProgram.Dispose();
OCLMan.Dispose();
// For some reason, if i move _IO.Close before OCLMan.Dispose,
// interrupting conversion takes many seconds - Delete() just
// hangs somewhere in the vicinity of File.Delete().
_IO.Close();
inited = false;
}

View File

@@ -35,11 +35,12 @@ namespace CUETools.FLACCL.cmd
Console.WriteLine();
Console.WriteLine("Options:");
Console.WriteLine();
Console.WriteLine(" -0 .. -11 Compression level, default 7; 9..11 are non-subset");
Console.WriteLine(" -0 .. -11 Compression level, default 8; 9..11 require --lax");
Console.WriteLine(" -o <file> Output filename, or \"-\" for stdout, or nul");
Console.WriteLine(" -p # Padding bytes");
Console.WriteLine(" -q --quiet Quiet mode");
Console.WriteLine(" --verify Verify during encoding");
Console.WriteLine(" --lax Allow non-subset modes");
Console.WriteLine(" --verify Verify during encoding");
Console.WriteLine(" --no-md5 Don't compute MD5 hash");
Console.WriteLine(" --no-seektable Don't generate a seektable");
Console.WriteLine(" --cpu-threads Use additional CPU threads");
@@ -92,6 +93,7 @@ namespace CUETools.FLACCL.cmd
bool estimate_window = false;
bool buffered = false;
bool ok = true;
bool allowNonSubset = false;
int intarg;
for (int arg = 0; arg < args.Length; arg++)
@@ -112,7 +114,9 @@ namespace CUETools.FLACCL.cmd
settings.DoRice = true;
else if (args[arg] == "--no-md5")
settings.DoMD5 = false;
else if (args[arg] == "--buffered")
else if (args[arg] == "--lax")
allowNonSubset = true;
else if (args[arg] == "--buffered")
buffered = true;
else if (args[arg] == "--cpu-threads")
{
@@ -248,6 +252,7 @@ namespace CUETools.FLACCL.cmd
if (output_file == null)
output_file = Path.ChangeExtension(input_file, "flac");
settings.PCM = audioSource.PCM;
settings.AllowNonSubset = allowNonSubset;
FLACCLWriter encoder = new FLACCLWriter((output_file == "-" || output_file == "nul") ? "" : output_file,
output_file == "-" ? Console.OpenStandardOutput() :
output_file == "nul" ? new NullStream() : null,

View File

@@ -92,10 +92,11 @@ namespace CUETools.FlakeExe
Console.WriteLine();
Console.WriteLine("Options:");
Console.WriteLine();
Console.WriteLine(" -0 .. -11 Compression level, default 7.");
Console.WriteLine(" -0 .. -11 Compression level, default 7; 9..11 require --lax");
Console.WriteLine(" -o <file> Output filename, or \"-\" for stdout, or nul.");
Console.WriteLine(" -p # Padding bytes.");
Console.WriteLine(" -q --quiet Quiet mode.");
Console.WriteLine(" --lax Allow non-subset modes");
Console.WriteLine(" --verify Verify during encoding.");
Console.WriteLine(" --no-md5 Don't compute MD5 hash.");
Console.WriteLine(" --no-seektable Don't generate a seektable.");
@@ -148,6 +149,7 @@ namespace CUETools.FlakeExe
bool buffered = false;
string coeffs = null;
var settings = new FlakeWriterSettings() { AllowNonSubset = true };
bool allowNonSubset = false;
#if FINETUNE
int finetune_depth = -1;
#endif
@@ -167,6 +169,8 @@ namespace CUETools.FlakeExe
do_seektable = false;
else if (args[arg] == "--no-md5")
settings.DoMD5 = false;
else if (args[arg] == "--lax")
allowNonSubset = true;
else if (args[arg] == "--buffered")
buffered = true;
else if ((args[arg] == "-o" || args[arg] == "--output") && ++arg < args.Length)
@@ -324,6 +328,7 @@ namespace CUETools.FlakeExe
if (output_file == null)
output_file = Path.ChangeExtension(input_file, "flac");
settings.PCM = audioSource.PCM;
settings.AllowNonSubset = allowNonSubset;
FlakeWriter flake = new FlakeWriter((output_file == "-" || output_file == "nul") ? "" : output_file,
output_file == "-" ? Console.OpenStandardOutput() :
output_file == "nul" ? new NullStream() : null,
@@ -383,6 +388,16 @@ namespace CUETools.FlakeExe
Console.WriteLine("File Info : {0}kHz; {1} channel; {2} bit; {3}", audioSource.PCM.SampleRate, audioSource.PCM.ChannelCount, audioSource.PCM.BitsPerSample, TimeSpan.FromSeconds(audioSource.Length * 1.0 / audioSource.PCM.SampleRate));
}
bool keepRunning = true;
Console.CancelKeyPress += delegate(object sender, ConsoleCancelEventArgs e)
{
keepRunning = false;
if (e.SpecialKey == ConsoleSpecialKey.ControlC)
e.Cancel = true;
else
audioDest.Delete();
};
start = DateTime.Now;
#if !DEBUG
@@ -407,6 +422,8 @@ namespace CUETools.FlakeExe
lastPrint = elapsed;
}
}
if (!keepRunning)
throw new Exception("Aborted");
}
audioDest.Close();
}

File diff suppressed because it is too large Load Diff