Difference between revisions of "OptimFROG"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
m (Picard.)
Line 40: Line 40:
 
===Software support===
 
===Software support===
 
* [[Mp3tag]] for tagging.
 
* [[Mp3tag]] for tagging.
 +
* [https://picard.musicbrainz.org/ MusicBrainz Picard] Tagger with audio identification
 
* [[foobar2000]]
 
* [[foobar2000]]
 
* [[Winamp]]
 
* [[Winamp]]

Revision as of 09:37, 10 January 2022

OptimFROG is a lossless audio codec with optional support for hybrid lossless/lossy encoding. It comes with a freeware (closed-source) command-line encoder/decoder and plugins for several players and processing front-ends, and an SDK to use in other applications. It is available for Windows, Linux, FreeBSD and MacOSX, all in both 32-bit and 64-bit versions. Encoders encoders for its hybrid "DualStream" format, and for floating-point audio, are included in the distributions in separate executables.

OptimFROG is a codec that gives priority to compression size, sacrificing speed. Its highest presets compress to smaller file sizes than any other codec, possibly except the (legacy/unmaintained) La. These presets are CPU intensive both for decoding and encoding, sometimes a 10x increase over the faster presets, where OptimFrog would compress about the speed of Monkey's Audio “Extra High” and achieve compression ratios like Monkey's “High”.[1] (Tested OptimFrog version 4.509. More recent versions have introduced new presets aiming at improving the speed/compression trade-off.)



Features

For an end-user considering OptimFROG as a an audio format - likely due to its compression ratios or possibly its hybrid mode - some of the following features are quite common among lossless codecs, while some are more scarce - in particular, the end of this list. To compare OFR with other lossless codecs, see HA Wiki's Lossless Codec Comparison.

  • Streaming support
  • Seekable playback
  • Error handling. Audio checksum for integrity verification optional (use the --md5 option)
  • High-resolution audio support up to 32 bits per channel. Like WavPack but unlike most other formats, it also supports floating-point format (through a different executable included in the distribution). OptimFrog works with higher sampling rates, but the maximum supported sampling rate seems undocumented.
  • Piping support for encoding, and support for RAW PCM input.
  • Tagging: ID3 or APEv2 tags.
  • RIFF chunks supported for recreating also non-audio chunks of the original .wav files.
  • Can read certain malformed .wav files; in particular, some hacks employed to fit more than the 4 GB size limitation into .wav files.
  • Like WavPack, but unlike most other encoders, it can create Windows self-extracting .sfx archives.
  • Hybrid lossy/lossless encoding supported. Like WavPack, but unlike most (every?) other end-user codecs, OptimFROG can decode both lossy and lossless streams together, to be maintained in the same library. A separate encoder is included in the distribution.


Limitations

  • Currently there is no hardware supporting the format and software support is limited. The official encoder/decoder is closed-source (but a an official library can be used in third-party applications). Also the format has no official specification.
  • Encoding and also decoding is CPU intensive, especially in the higher modes. Given that portable low-power devices are out of consideration as they cannot play the files anyway, speed might not be that much of a limitation with the power of modern computers. Still, users who consider playing OptimFrog files from a battery-powered laptop or tablet, might want to test battery life impact, especially since it varies so much over the settings.
  • No multichannel support.

Because OptimFrog - like MP3 - can accommodate both APE tags and ID3, tagging ambiguity could be an issue: one application might not read another's tags. A user would likely want to stick to one tag format. Mp3tag will by default write APE tags to .ofr files.


Software support


Links



Cite error: <ref> tags exist, but no <references/> tag was found