I read through the .doc, the way I see it they basically took the principle of M/S coding used for stereo audio and adapted it for image coding. The technique is neither new nor high-tech, but Kudos for them for realizing its applicability (no other well-known image format has done it, AFAIK).
However, sadly they not only broke the image format, they also broke the ABI of the library. They could have just introduced new functions for new functionality and upgrade the decoding (keeping the old interface) for the new format. This would have allowed introducing support for the new format gradually, allowing existing software to at least decode the new images. But hey no they just had to break the interface, which I guess also means that libjpeg-9 won't spread wide until most of the existing software are adjusted. Yeah a version bump is normally a good point to break ABI, but reading through the changelog, I just don't see it justified.
However, sadly they not only broke the image format, they also broke the ABI of the library. They could have just introduced new functions for new functionality and upgrade the decoding (keeping the old interface) for the new format. This would have allowed introducing support for the new format gradually, allowing existing software to at least decode the new images. But hey no they just had to break the interface, which I guess also means that libjpeg-9 won't spread wide until most of the existing software are adjusted. Yeah a version bump is normally a good point to break ABI, but reading through the changelog, I just don't see it justified.
Comment