OptimFROG Changelog

What's new in OptimFROG 5.100

Sep 5, 2016
  • add --preset 0 to --preset 10 command-line options for the most efficient compression presets, backward compatible with v4.600
  • add more efficient versions of the highnew, extranew, bestnew, and ultranew modes, named highnew-light, extranew-light, bestnew-light, and ultranew-light, backward compatible with v4.520
  • add turbonew, fastnew, and normalnew efficient compression modes to complement the extra mode, backward compatible with v4.520
  • add the --aca and --acm aliases and the negated form --no-aca
  • add the minDecoderVersion optional field to the main block, which has the minimum decoder version required to decode the file a value of 1000 and 2000 can be added to any preset level in order to enable --acm and --optimize best, respectively
  • add --preset max to replace --maximumcompression --experimental show for each preset its complexity and compression gain, relative to preset 0, and equivalent options in the command-line help speed increase of around 10% for all *new modes, such as highnew, extranew, and bestnew, by improved SSE optimizations speed increase of around 10% for all non *new modes, such as fast, normal, and high, by newly added SSE2 optimizations generate txz files instead of tar.gz for FreeBSD release packages
  • small documentation additions, updates, and information about the
  • newly added modes and the minDecoderVersion optional field
  • many internal small code improvements and updates

New in OptimFROG 5.003 (Dec 23, 2015)

  • new official release packages with binaries and SDK are available also for FreeBSD/x86, FreeBSD/x86+SSE2, and FreeBSD/x64. Thanks to Matthew Rezny for suggestion, information, and testing
  • add --writefreshheader option to write a fresh standard WAV header during decoding, replacing any stored header and footer
  • add standard interactive installer file install.sh, which copies the binary command-line encoders, the binary SFX decoder, the binary library, the SDK headers, and the pkg-config configuration file optimfrog.pc to their usual file system locations, on Linux, OS X, and FreeBSD. Thanks to Chris Spiegel for contributing the initial version of the install.sh and optimfrog.pc.in files
  • add versioning support to the shared object binary library, using the standard naming conventions, on Linux, OS X, and FreeBSD. Thanks to Chris Spiegel for suggestion, information, and testing
  • add OptimFROG to the relative path for all includes in the SDK examples. After installation with install.sh, the SDK examples can also be built using the included pkg-config definitions for the OFR_INCLUDE and OFR_LIBRARY variables from the Makefile
  • decoder speed improvements for --advanced-compression-analysis and --advanced-compression options, if there was no compression gain
  • add to the command-line help the --advanced-compression-analysis and --advanced-compression-modeling undocumented options
  • allow the --experimental, --advanced-compression, and the other two related options only for the Lossless variant, because they were not intended to work or be compatible with DualStream
  • many internal code improvements and updates, which provide small speed improvements for all compression modes under most platforms

New in OptimFROG 5.002 (Dec 23, 2015)

  • Significant compatible compression improvements, around 4%, for the fast, normal, and high modes when using --optimize none, for stereo files with mono or near mono content - fixed an issue with --advanced-compression which triggered an out-of-memory exception during encoding of data blocks containing only 1 sample point. Thanks to Skymmer for reporting - fixed a file handle leak in the SDK when trying to open files which are not OptimFROG files. Thanks to Chris for reporting
  • Fixed a rare issue where a non-conforming MD5 hash was computed for files with an audio data size from 56 to 63 modulo 64. These hashes can still be checked normally using the command-line encoders. No file from Audio CDs is affected. Thanks to Robert for reporting

New in OptimFROG 5.001 (Dec 23, 2015)

  • fixed WAVE parser with --incorrectheader option to accept all WAV files with incorrect RIFF and data chunk sizes in the WAV header, and correct these sizes in the stored WAV header after encodin

New in OptimFROG 5.000 (Dec 23, 2015)

  • a new unified, simplified, and more permissive license which allows both non-commercial and commercial use, and also redistribution
  • new official release packages with binaries and SDK are available also for Win/x64, OSX/x86+SSE2, and OSX/x64
  • new official release packages with binaries and SDK built with SSE2
  • enabled are available for Linux/x86+SSE2 and Win/x86+SSE2
  • the SDK is now included with the release package for each platform
  • many internal code improvements and updates, which provide various
  • speed improvements for all compression modes under each platform
  • fully reviewed, significantly reduced, and reorganized all platform
  • dependent source code and predefined macros
  • added portable generic versions for all platform dependent source
  • code, to become fully compliant with C++03 and C99 standards
  • source code also compiles cleanly with Clang under each platform
  • updated SDK examples, completely changed SDK directory layout, and
  • separated all the plug-ins source code from the SDK
  • added --advanced-compression command-line option to the encoders in
  • order to replace the --experimental deprecated option name
  • added support for files larger than 2 GB also to the Linux and OSX
  • 32-bit command-line encoders using POSIX Large File Support (LFS)
  • merged the implementation in OptimFROGDecoder.cpp for the thin C++
  • wrapper around the C-style interface into OptimFROGDecoder.h
  • all compressed sizes are identical to those from the 4.910b version
  • updated and merged SDK and format documentation, and the changelog
  • new scripts to create and verify release packages for each platform
  • OFR + OFS + OFF version 4.910b and SDK version 1.300 [2011-02-10]:
  • fully backward compatible with previous versions
  • slightly better compression for highnew, extranew, bestnew modes, and also for --maximumcompression parsing WAV files with invalid data chunk size in WAV header
  • using --incorrectheader (for foobar2000 and other command
  • line format converters using pipes who cannot compute the WAV
  • file length in advance and generate a 4 GB header instead)
  • many internal source code improvements
  • [other] updated foobar2000 input plug-in for foobar2000 1.1.x
  • [other] updated OptimFROG SDK to version 1.300 (included here)

New in OptimFROG 4.800a (Dec 23, 2015)

  • includes only Win32 binary
  • internal source code improvements
  • not publicly released on the website
  • SDK version 1.220b [2008.02.25]:
  • the OptimFROG library is now also available for Darwin as a DYLIB universal (ppc and x86) library
  • added a FMOD SoundSystem Win32 plug-in named codec_ofr
  • not publicly released on the website

New in OptimFROG 4.600ex (Jun 29, 2006)

  • the highnew, extranew, bestnew modes and --maximumcompression get slightly better compression (on average 0.1%)
  • added --experimental option, enabling advanced experimental compression, which is NOT backward compatible with any previous 4.5xx versions
  • use --experimental with any mode for greatly improved compression for some files (on average, 0.60% better compression for Audio CDs)
  • extranew mode speed change when using --experimental: encoding < 35% slower, decoding < 11% slower
  • --experimental can be also used together with --maximumcompression
  • [other] the foobar2000 input plug-in now supports cue sheets (thanks to Artur for suggestions and testing)
  • [other] official GUI interface using FroG is ready, it will be included in the upcoming OptimFROG installer (thanks to Daniel, the FroG author; available at http://frog.objective-view.de/ )
  • [other] parsing WAV files with invalid headers is in the works

New in OptimFROG 4.520b (Mar 16, 2006)

  • successfully ported to Linux/amd64
  • successfully ported to Darwin/ppc (PowerPC G3)
  • many internal source code improvements
  • all the newly created compressed files are completely backwards compatible (can be decoded with previous 4.50x versions)
  • added ID3v2 tag support (all decoders can search for main header, skipping up to 1MB)