<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hydrogenaudio.org/index.php?action=history&amp;feed=atom&amp;title=QOA</id>
	<title>QOA - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hydrogenaudio.org/index.php?action=history&amp;feed=atom&amp;title=QOA"/>
	<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=QOA&amp;action=history"/>
	<updated>2026-04-29T15:40:18Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=QOA&amp;diff=37798&amp;oldid=prev</id>
		<title>Porcuswiki: With ffmpeg 7.0, it has so many implementations that it might be worth a wiki page.</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=QOA&amp;diff=37798&amp;oldid=prev"/>
		<updated>2024-04-08T15:54:10Z</updated>

		<summary type="html">&lt;p&gt;With ffmpeg 7.0, it has so many implementations that it might be worth a wiki page.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The &amp;#039;&amp;#039;&amp;#039;Quite OK Audio Format&amp;#039;&amp;#039;&amp;#039; (QOA) is a niche [[lossy]] audio [[codec]] created by Dominic Szablewski in 2023.  It designed to be, in the author&amp;#039;s words, &amp;#039;&amp;#039;lossy, simple and quite ok&amp;#039;&amp;#039;: &amp;quot;simple&amp;quot; to computers in terms of decoding speed (intended to close in on [[ADPCM]] speeds at better quality&amp;lt;ref&amp;gt;[https://qoaformat.org/ QOA at qoaformat.org]&amp;lt;/ref&amp;gt;) and to humans in terms of the format specification, which fits a single page&amp;lt;ref&amp;gt;[https://qoaformat.org/qoa-specification.pdf QOA specification] (CC0 licensed)&amp;lt;/ref&amp;gt;. It is not intended to compete with current lossy encoders in terms of near-transparency at low bitrates &amp;amp;ndash; indeed, &amp;quot;low&amp;quot; bitrates are arguably not possible at the sample rates that yield &amp;quot;quite ok&amp;quot; quality. &lt;br /&gt;
&lt;br /&gt;
QOA is available as a free and open-source (MIT licensed) library.  Its github repository&amp;lt;ref&amp;gt;[https://github.com/phoboslab/qoa QOA at github]&amp;lt;/ref&amp;gt; links to alternative implementations; also, ffmpeg can decode it (from version 7.0). A third-party [[Foobar2000:Components/QOA_Audio_Decoder_(foo_qoa) | foobar2000 QOA playback component]] is available (note the warning given).  &lt;br /&gt;
&lt;br /&gt;
==Properties==&lt;br /&gt;
(Disclaimer: Part of the following is taken from the author&amp;#039;s initial presentation&amp;lt;ref&amp;gt;[https://phoboslab.org/log/2023/02/qoa-time-domain-audio-compression &amp;quot;Time Domain Audio Compression at 3.2 bits per Sample&amp;quot;] (blog post introducing QOA)&amp;lt;/ref&amp;gt;, which pre-dates the current version.)&lt;br /&gt;
&lt;br /&gt;
* QOA is a CBR format, spending 3.2 bytes per sample per channel, each channel encoded separately. In addition, there is a frame header per 5120 interchannel sample, and a file header.  &lt;br /&gt;
* Bit rate is then defined by sample rate, which could be from 1 to 2&amp;lt;sup&amp;gt;24&amp;lt;/sup&amp;gt; Hz in integer steps, and by channel count. For 44.1 kHz stereo, bit rate will then amount to 277 kbit/s.&lt;br /&gt;
* Multichannel support: Format allows for 255 channels. A decoder is &amp;#039;&amp;#039;required to&amp;#039;&amp;#039; support 1 to 8 channels, possibly varying over frames (channel allocation coinciding with [[FLAC]] frames&amp;#039; channel allocation).&lt;br /&gt;
* Encoding method: Like several audio formats, it works with a predictor from past samples (fourth order).  The residual &amp;amp;ndash; i.e. the difference between &amp;quot;predicted&amp;quot; and &amp;quot;actual&amp;quot; sample value in the source signal &amp;amp;ndash; is then replaced by one out of eight hard-coded values (this is the [[lossy]] part). &lt;br /&gt;
&lt;br /&gt;
The reference implementation is 400 lines of C code.  The format can encode fast, but it is also possible to try to improve quality by spending computing effort on noise shaping upon encoding, selecting the residual value in a more clever way than naive roundoff&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,123838.msg1024296.html#msg1024296 Hydrogenaudio discussion thread]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
[[Category: Codecs]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
</feed>