This project aims to primarily implement decoding of the JPEG 2000 ISO 15444 Part 1 Core coding system.
Decoding of ISO 15444 Part-1 JP2 file format, Annex I, is mostly complete, unless there are bugs. Encoding is not started. Improvements in performance and robustness of conformance checks can be made.
- Signature box I.5.1 (100%)
- File type box I.5.2 (99%)
- JP2 header box I.5.3. (99%)
- Image Header box I.5.3.1 (99%)
- Bits Per Component box I.5.3.2 (100%)
- Colour Specification box I.5.3.3 (100%)
- Palette box I5.3.4. (100%)
- Component Mapping box I.5.3.5 (100%)
- Channel Definition box I.5.3.6 (99%)
- Resolution box I5.3.7 (100%)
- Capture Resolution box I.5.3.7.1 (100%)
- Default Display Resolution box I.5.3.7.2 (100%)
- Contiguous Codestream box I.5.4 (100%)
- Intellectual Property box I.6 (100%)
- XML box I.7.1 (100%)
- UUID box I7.2 (100%)
- UUID Info box I7.3 (100%)
- UUID List box I.7.3.1 (100%)
- URL box I.7.3.2 (100%)
Decoding of ISO 15444 Part-1 Codestream, Annex A, is in progress. Encoding is not started.
- Start of codestream A.4.1 SOC (100%)
- Start of tile A.4.2 SOC (50%)
- Start of data A.4.3 SOD (100%)
- End of codestream A.4.4 EOC (100%)
- Image and tile size SIZ A.5.1 (90%)
- Coding style default COD A.6.1 (90%)
- Coding style component COC A.6.2 (90%)
- Region of interest RGN A.6.3 (90%)
- Quantization default QCD A.6.4 (90%)
- Quantization component QCC A.6.5 (90%)
- Progression order change POC A.6.6 (90%)
- Tile-part lengths TLM A.7.1 (90%)
- Packet length, main header PLM A.7.2 (80%)
- Packet length, tile-part header PLT A.7.3 (90%)
- Packed packet headers, main header PPM A.7.4 (10%)
- Packed packet headers, tile-part header PPM A.7.5 (15%)
- Start of packet SOP A.8.1 (0%)
- End of packet header EPH A.8.2 (0%)
- Component registration CRG A.9.1 (90%)
- Comment COM A.9.2 (90%)
Encoding of JP2 and JPC into ISO 16444 Part-14 XML representation. This is mostly used for debugging purposes.
ICC support is needed as an embedded colourspace which contains a restricted subset of ICC Input and Display profiles can be used. Current support is minimal to allow further decoding of the JP2 file format. See ISO 15444-1 I.3.2 and ISO 15075-1.
Started but redumentary implementation, see Annex C
Not started, see Annex E
Not started, see Annex F
Not started, see Annex G
- add tests
- add benchmarks
- add fuzzing