Michael B. Klein

Results 107 comments of Michael B. Klein

More on [jpylyzer](https://jpylyzer.openpreservation.org/): According to [this issue](https://github.com/openpreserve/jpylyzer/issues/118), jpylyzer does check to make sure tile parts are in the correct order, and it doesn't report any compliance problems with the above...

After stepping through, the issue is [right here](https://github.com/libvips/libvips/blob/master/libvips/foreign/jp2kload.c#L1081-L1083). But the bad result is coming back from OPJ, so I think I'm going to have to take this upstream and figure...

~~My C++ is a little rusty, and my meson knowledge is all but nonexistent. Is there an easy way to build libvips against my debug build of openjpeg so that...

I believe I have found something significant, but I don't understand either `libvips`'s or `openjpeg`'s internals or the intricacies of the JPEG 2000 format well enough to understand what I'm...

The repeated `SOT` debug output turns out to be less informative than I thought – it does the same thing even with files that don't have issues. You're probably on...

I've found one more significant discrepancy between OPJ's and libvips' handling of tile parts, and I think I've reached the limit of my abilities on this one. To begin with,...

I've narrowed things down further. The culprit is [this bit of code right here](https://github.com/uclouvain/openjpeg/blob/master/src/lib/openjp2/j2k.c#L12211-L12218). The `opj_decode_one_tile` function resets all tile part indexes to `-1` – and the code even questions...

I managed to reproduce the issue outside of libvips, and created a minimal example. OPJ issue is linked above.

I've only tested with 2.5.2 (HEAD), and I did make note of that. I might take a look and see if an earlier version (particularly one predating the addition of...

[Here](https://github.com/uclouvain/openjpeg/blob/master/src/bin/jp2/opj_decompress.c#L1559-L1612) is where `opj_decompress` decides whether to decode the entire image (using `opj_set_decode_area` and `opj_decode`) or a single tile (using `opj_get_decoded_tile`). If all libvips ever wants is the entire image...