Anton Khirnov <[email protected]> writes: > And is it lossless yet?
The decoding of the xll extension itself is lossless. There are three ways in which the final result isn't lossless. It's some time since I worked on this code, but as I remember it: 1. A common mode of operation is that the xll-encoded data is added to the decoded "core" data. To make the sum lossless, the decoding of the core data must use a bitexact (and possibly slower) implementation. The current implementation is not bitexact. Nevertheless, the error is reduced compared to just ignoring the xll data. 2. The output sample format is float, borderline precision to represent 24-bit audio samples. So there could be some conversion errors when samples are converted from int to float. 3. Handling of the LFE channel is pretty bad. There's also a scary FIXME comment which I think predates my work on the code. In the case that residual encoding is not used, e.g., for the additional channels in a 7.1 audio file, the decoding *is* expected to be lossless, provided that one doesn't truncate the output samples to 16 bits. It would be nice with some testcases for that. Regards, /Niels -- Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26. Internet email is subject to wholesale government surveillance. _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
