Go to the documentation of this file.
35 #define JP2_JP 0x6a502020
36 #define JP2_FTYP 0x66747970
37 #define JP2_JP2H 0x6a703268
38 #define JP2_IHDR 0x69686472
39 #define JP2_COLR 0x636f6c72
40 #define JP2_JP2C 0x6a703263
41 #define JP2_PCLR 0x70636c72
42 #define JP2_CMAP 0x636d6170
43 #define JP2_CDEF 0x63646566
44 #define JP2_DTBL 0x6474626c
45 #define JP2_BPCC 0x62706363
46 #define JP2_JP2 0x6a703220
48 #define JP2_RES 0x72657320
49 #define JP2_CAPTURE_RES 0x72657363
50 #define JP2_DISPLAY_RES 0x72657364
52 #define JP2_JP2I 0x6a703269
53 #define JP2_XML 0x786d6c20
54 #define JP2_UUID 0x75756964
55 #define JP2_UINF 0x75696e66
56 #define JP2_ULST 0x756c7374
57 #define JP2_URL 0x75726c20
61 #define JP2_MAX_NUM_UUIDS 128
63 const uint8_t
IPTC_UUID[16] = { 0x33, 0xC7, 0xA4, 0xD2, 0xB8, 0x1D, 0x47, 0x23,
64 0xA0, 0xBA, 0xF1, 0xA3, 0xE0, 0x97, 0xAD, 0x38 };
65 const uint8_t
XMP_UUID[16] = { 0xBE, 0x7A, 0xCF, 0xCB, 0x97, 0xA9, 0x42, 0xE8,
66 0x9C, 0x71, 0x99, 0x94, 0x91, 0xE3, 0xAF, 0xAC };
100 buffer =
new uint8_t[length];
118 grk_jp2_uuid(
const uint8_t myuuid[16], uint8_t *buf,
size_t size,
bool owns) :
120 for (
int i = 0; i < 16; ++i)
137 uint16_t tile_index);
201 uint8_t* (*handler)(
FileFormat *fileFormat, uint32_t *data_size);
265 uint16_t tile_index, uint8_t *p_data,
344 uint32_t start_y, uint32_t end_x, uint32_t end_y);
bool jp2_read_header(BufferedStream *stream, FileFormat *fileFormat, grk_header_info *header_info, grk_image **p_image)
Read a JPEG 2000 file header.
void jp2_destroy(FileFormat *fileFormat)
Destroy a JP2 decompressor handle.
uint8_t uuid[16]
Definition: FileFormat.h:123
const uint8_t IPTC_UUID[16]
Definition: FileFormat.h:63
bool jp2_end_compress(FileFormat *fileFormat, BufferedStream *stream)
Ends the compression procedures and possibly add data to be read after the code stream.
Tile coder/decoder.
Definition: TileProcessor.h:211
uint8_t * m_data
Definition: FileFormat.h:203
Definition: FileFormat.h:192
bool(* jp2_procedure)(FileFormat *fileFormat, BufferedStream *)
Definition: FileFormat.h:127
Byte input-output stream.
Definition: BufferedStream.h:38
@ JP2_STATE_CODESTREAM
Definition: FileFormat.h:73
@ JP2_STATE_SIGNATURE
Definition: FileFormat.h:70
grk_jp2_buffer()
Definition: FileFormat.h:95
bool jp2_set_decompress_area(FileFormat *fileFormat, grk_image *image, uint32_t start_x, uint32_t start_y, uint32_t end_x, uint32_t end_y)
Sets the given area to be decompressed.
Plugin tile.
Definition: grok.h:1242
Definition: FileFormat.h:91
bool jp2_end_decompress(FileFormat *fileFormat, BufferedStream *stream)
Ends the decompression procedures and possibly add data to be read after the code stream.
Definition: FileFormat.h:116
bool jp2_start_compress(FileFormat *fileFormat, BufferedStream *stream)
Starts a compression scheme, i.e.
@ JP2_STATE_UNKNOWN
Definition: FileFormat.h:75
@ JP2_STATE_END_CODESTREAM
Definition: FileFormat.h:74
JP2 Box.
Definition: FileFormat.h:187
void jp2_init_decompress(void *fileFormat, grk_dparameters *parameters)
Set up the decompress parameters using user parameters.
Definition: FileFormat.h:199
bool jp2_init_compress(FileFormat *fileFormat, grk_cparameters *parameters, grk_image *image)
Set up compress parameters using the current image and using user parameters.
@ JP2_STATE_HEADER
Definition: FileFormat.h:72
bool ownsData
Definition: FileFormat.h:113
Definition: CodeStream.h:130
JP2 component.
Definition: FileFormat.h:85
uint32_t sgnd
Definition: FileFormat.h:87
Core decompress parameters.
Definition: grok.h:669
uint8_t bpcc
Definition: FileFormat.h:88
@ JP2_IMG_STATE_NONE
Definition: FileFormat.h:79
grk_jp2_uuid(const uint8_t myuuid[16], uint8_t *buf, size_t size, bool owns)
Definition: FileFormat.h:118
size_t len
Definition: FileFormat.h:112
Copyright (C) 2016-2020 Grok Image Compression Inc.
Definition: BitIO.h:27
bool jp2_compress_tile(FileFormat *fileFormat, TileProcessor *tileProcessor, uint16_t tile_index, uint8_t *p_data, uint64_t uncompressed_data_size, BufferedStream *stream)
Compress tile.
uint64_t length
Definition: FileFormat.h:188
uint32_t m_size
Definition: FileFormat.h:205
@ JP2_STATE_NONE
Definition: FileFormat.h:69
grk_jp2_buffer(uint8_t *buf, size_t size, bool owns)
Definition: FileFormat.h:92
void alloc(size_t length)
Definition: FileFormat.h:98
uint8_t * buffer
Definition: FileFormat.h:111
const uint8_t XMP_UUID[16]
Definition: FileFormat.h:65
@ JP2_IMG_STATE_UNKNOWN
Definition: FileFormat.h:79
bool jp2_decompress(FileFormat *fileFormat, grk_plugin_tile *tile, BufferedStream *stream, grk_image *p_image)
Decompress an image from a JPEG 2000 file stream.
grk_jp2_uuid()
Definition: FileFormat.h:117
JP2_STATE
Definition: FileFormat.h:68
bool(* handler)(FileFormat *fileFormat, uint8_t *p_header_data, uint32_t header_size)
Definition: FileFormat.h:196
void dealloc()
Definition: FileFormat.h:104
bool jp2_compress(FileFormat *fileFormat, grk_plugin_tile *tile, BufferedStream *stream)
Encode an image into a JPEG 2000 file stream.
ICC profile, palette, component mapping, channel description.
Definition: grok.h:592
uint32_t type
Definition: FileFormat.h:189
Image.
Definition: grok.h:880
Compress parameters.
Definition: grok.h:428
bool jp2_read_tile_header(FileFormat *fileFormat, uint16_t *tile_index, bool *can_decode_tile_data, BufferedStream *stream)
Reads a tile header.
uint32_t id
Definition: FileFormat.h:194
uint32_t depth
Definition: FileFormat.h:86
JP2_IMG_STATE
Definition: FileFormat.h:78
@ JP2_STATE_FILE_TYPE
Definition: FileFormat.h:71
GRK_ENUM_COLOUR_SPACE
Definition: grok.h:329
bool jp2_decompress_tile(FileFormat *fileFormat, BufferedStream *stream, grk_image *p_image, uint16_t tile_index)