Florin, thanks for the new release!
1.) Technical internals (for those who missed them)
The --maximumcompression option is the preset and stands for --mode ultranew --optimize best --seek slow options.
The ultranew mode is one of the undocumented modes but it works as any other mode so you can utilize it in order to perform a precise tuning. Another undoc mode is extrafast.
Please note that --maximumcompression does not guarantee the maximum compression for all of the data. In some rare instances the lower modes (like extranew or bestnew) can give smaller output file.
The --seek option controls the size of the block. Its not guaranteed that --seek slow will do the best for every kind of data so keep it in mind.
For really hardcore compression you can go further and use another undocumented switch:
It shaves off a really small amount of bytes while slowing down the encoding considerably so don't waste your time with it.
2.) Faster and slower
Squarepusher - Stadium Ice (46 210 472 bytes, 44100Hz, 16bit, 2ch)
4.910 5.001 5.001 SSE2 5.001 x64
---------------- ---------------- ---------------- ----------------
enc dec enc dec enc dec enc dec
------- ------- ------- ------- ------- ------- ------- -------
--mode ultranew --optimize best --seek slow 183.875 27.875 176.734 26.296 178.937 27.109 181.234 28.828
--mode ultranew --optimize best --seek slow --experimental 186.266 29.281 178.281 27.640 180.640 28.515 179.234 28.984
--mode normal --optimize fast --seek normal 4.000 2.843 3.875 2.812 4.218 3.093 3.906 3.000
--mode normal --optimize fast --seek normal --experimental 9.265 3.484 8.234 3.281 8.718 3.578 6.985 3.328
--mode fast --optimize none --seek fast 2.156 2.031 2.062 1.953 2.203 2.109 2.000 2.015
--mode fast --optimize none --seek fast --experimental 7.859 2.656 6.828 2.468 7.078 2.640 5.390 2.312
------- ------- ------- ------- ------- ------- ------- -------
TOTAL: 393.421 68.170 376.014 64.450 381.794 67.044 378.749 68.467
Good news is that v5.001 is 4.4% faster on encoding and 5.5% faster on decoding than 4.910 version.
Bad news is that both SSE2 and x64 builds of v5.001 are slower than plain x86 build of v5.001
3.) The bug
There is the severe bug in OptimFrog. If you take 44100, 2ch, 16bit WAV file with length of 1323001 samples and compress it with any mode\optimize option combined with --experimental and --seek fast\normal then you'll get the following:
srcFile: <Test.wav>
dstFile: <Test.ofr>
Compressing 85.7%
Exception OUTOFMEMORY in file unknown, line 0
variable mpData, size 4294934529
Errors occurred compressing <Test.wav>
srcFile: <Test.ofr>
dstFile: <Test_OUT.wav>
Decompressing 100.0%
Exception UNEXPECTEDEOF in file unknown, line 0
function readMin
Errors occurred decompressing <Test.ofr>
Comparing files test.wav and TEST_OUT.WAV
FC: test.wav longer than TEST_OUT.WAV
I have uploaded an example with ready-to-use batch file and binary. Feel free to test manually in case of security concerns.
OptimFROG Bug