thorfdbg / libjpeg

A complete implementation of 10918-1 (JPEG) coming from jpeg.org (the ISO group) with extensions for HDR, lossless and alpha channel coding standardized as ISO/IEC 18477 (JPEG XT).
327 stars 81 forks source link

RestartIntervalMarker::ParseMarker cannot handle JPEG-LS DRI segments with 5 or 6 bytes #58

Closed vbaderks closed 3 years ago

vbaderks commented 3 years ago

Current implementation of ParseMarker will throw if len != 4. DRI marker segments are extended for JPEG-LS encoded images:

ISO/IEC 14495-1, C.2.5 Restart interval definition syntax The restart interval marker segment is specified in Figure B.9 of CCITT Rec. T.81 | ISO/IEC 10918-1. Table B.7 of CCITT Rec. T.81 | ISO/IEC 10918-1 is modified in this Recommendation | International Standard to allow the segment length to vary from 4 to 6 bytes. This permits the restart interval to vary from two to four bytes to accommodate the largest possible number of columns and lines. If the restart interval is a 24- or 32-bit parameter, the convention still applies that the Most Significant Bit (MSB) shall come first and the Least Significant Bit (LSB) shall come last.

thorfdbg commented 3 years ago

This should be resolved in the 1.61. Thank you.