Partial revert BPC related check of #975 (#979)
authorEven Rouault <even.rouault@spatialys.com>
Wed, 9 Aug 2017 09:34:08 +0000 (11:34 +0200)
committerEven Rouault <even.rouault@spatialys.com>
Wed, 9 Aug 2017 09:34:08 +0000 (11:34 +0200)
commitac375ac9f5b4ae47501b60795e905e3d25dd00f8
tree8652897719b54db0a388fde6efe88d0ab1d72101
parentc38bdbef4f3a5888948903247532fc8cf4284c00
Partial revert BPC related check of #975 (#979)

PR #975 introduced a check that rejects images that have different bit depth/sign
per compoment in SIZ marker if the JP2 IHDR box has BPC != 255
This didn't work properly if decoding a .j2k file since the new bit added in
opj_cp_t wasn't initialized to the right value.
For clarity, tThis new bit has also been renamed to allow_different_bit_depth_sign

But looking closer at the code, it seems we were already tolerant to inconsistencies.
For example we parsed a JP2 BPCC box even if BPC != 255 (just a warning is emitted)
So failing hard in opj_j2k_read_siz() wouldn't be very inconsistent, and that
alone cannot protect against other issues, so just emit a warning if BPC != 255
and the SIZ marker contains different bit depth/sign per component.

Note: we could also check that the content of JP2 BPCC box is consistant with the one
of the SIZ marker.
src/lib/openjp2/j2k.c
src/lib/openjp2/j2k.h
src/lib/openjp2/jp2.c
tests/nonregression/md5refs.txt
tests/nonregression/test_suite.ctest.in