On 04-05-13 12:41, Erik de Castro Lopo wrote:
Miroslav Lichvar wrote:

On Thu, May 02, 2013 at 09:31:25PM +0200, Martijn van Beurden wrote:
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)
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.
It's still a bit of a mystery to me what should be added. Clues?

In short: FLAC 1.2.0 added the RICE2 residual coding method (http://flac.sourceforge.net/format.html#partitioned_rice2) to the format and the decoder, but this wasn't in the changelog. This breaks forward compatibility for 24-bit files

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.

Anyway, I would to the changelog under *1.2.0 -> FLAC format* the following
- Added a new residual coding method (RESIDUAL_CODING_METHOD_PARTITIONED_RICE2) to code 24-bit files more efficiently

To *1.2.0 -> libraries* I would add
- Added support for decoding the new residual coding method (RESIDUAL_CODING_METHOD_PARTITIONED_RICE2)

To *1.2.1 -> libraries* I would add
- 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

Hope that helps
_______________________________________________
flac-dev mailing list
flac-dev@xiph.org
http://lists.xiph.org/mailman/listinfo/flac-dev

Reply via email to