Message ID | 20220501193907.32430-1-leo.izen@gmail.com |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel] avformat/jpegxl_probe: fix incorrect cw_mask probing | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
On 5/1/22 15:39, Leo Izen wrote: > Fix incorrectly skipping over the upX_weights > if the cw_mask is present and it is not a multiple of 4. Bumping for review. - Leo Izen (thebombzen)
diff --git a/libavformat/jpegxl_probe.c b/libavformat/jpegxl_probe.c index 9cd00da194..c03dc3bd1d 100644 --- a/libavformat/jpegxl_probe.c +++ b/libavformat/jpegxl_probe.c @@ -368,15 +368,19 @@ int ff_jpegxl_verify_codestream_header(const uint8_t *buf, int buflen) /* default transform */ if (!jxl_bits(1)) { + uint32_t cw_mask; + /* opsin inverse matrix */ if (xyb_encoded && !jxl_bits(1)) jxl_bits_skip(16 * 16); + /* cw_mask and default weights */ - if (jxl_bits(1)) + cw_mask = jxl_bits(3); + if (cw_mask & 1) jxl_bits_skip(16 * 15); - if (jxl_bits(1)) + if (cw_mask & 2) jxl_bits_skip(16 * 55); - if (jxl_bits(1)) + if (cw_mask & 4) jxl_bits_skip(16 * 210); }