<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 04-05-13 12:41, Erik de Castro Lopo
      wrote:<br>
    </div>
    <blockquote
      cite="mid:20130504204132.02bf8676784f9344b17b0191@mega-nerd.com"
      type="cite">
      <pre wrap="">Miroslav Lichvar wrote:

</pre>
      <blockquote type="cite">
        <pre wrap="">On Thu, May 02, 2013 at 09:31:25PM +0200, Martijn van Beurden wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="">I don't know why this isn't on the changelog, but it is probably still a 
good idea to add it. This only breaks compatibility for 24-bit streams. 
(So: decoders older than 1.2.0 might not be able to decode 24-bit FLAC 
files made by libFLAC 1.2.0 or newer)
</pre>
        </blockquote>
        <pre wrap="">
Interesting, I remember there were some problems with 24-bit encoding,
but I wasn't sure if/how it was fixed. It seems the encoding support
was actually added later in 1.2.1, so there was a short time for
adoption of the new decoder. It should be added to the changelog.
</pre>
      </blockquote>
      <pre wrap="">
It's still a bit of a mystery to me what should be added. Clues?</pre>
    </blockquote>
    <br>
    In short: FLAC 1.2.0 added the RICE2 residual coding method
    (<a class="moz-txt-link-freetext" href="http://flac.sourceforge.net/format.html#partitioned_rice2">http://flac.sourceforge.net/format.html#partitioned_rice2</a>) to the
    format and the decoder, but this wasn't in the changelog. This
    breaks forward compatibility for 24-bit files<br>
    <br>
    RICE2 was added because when trying to encode a 24-bit file the
    residual wouldn't fit in the rice partition (sorry if I worded that
    wrong, I'm not sure of my math there) and the encoder fell back to
    verbatim frames, which wasn't very efficient. The new rice partition
    has one bit more for encoding the rice parameter. It /seems/ this
    only affects 24-bit files, as I haven't seen a RICE2 partition with
    16-bit files (not even on noise with --disable-verbatim-subframes)
    but I don't know whether this is hard coded somewhere or by design.<br>
    <br>
    Anyway, I would to the changelog under <b>1.2.0 -&gt; FLAC format</b>
    the following<br>
    - Added a new residual coding method
    (RESIDUAL_CODING_METHOD_PARTITIONED_RICE2) to code 24-bit files more
    efficiently<br>
    <br>
    To <b>1.2.0 -&gt; libraries</b> I would add<br>
    - Added support for decoding the new residual coding method
    (RESIDUAL_CODING_METHOD_PARTITIONED_RICE2)<br>
    <br>
    To <b>1.2.1 -&gt; libraries</b> I would add<br>
    - Added support for encoding the residual coding method introduced
    in libFLAC 1.2.1 (RESIDUAL_CODING_METHOD_PARTITIONED_RICE2) which
    will encode 24-bit files more efficiently<br>
    <br>
    Hope that helps<br>
  </body>
</html>