26 typedef std::function<bool(uint8_t* headerData, uint16_t header_size)>
MARKER_FUNC;
65 void dump(uint32_t flag, FILE* outputFileStream);
110 void addMarker(uint16_t
id, uint64_t pos, uint32_t len);
118 bool read_mct(uint8_t* headerData, uint16_t header_size);
126 bool read_mcc(uint8_t* headerData, uint16_t header_size);
134 bool read_mco(uint8_t* headerData, uint16_t header_size);
143 bool read_cbd(uint8_t* headerData, uint16_t header_size);
150 bool read_rgn(uint8_t* headerData, uint16_t header_size);
163 bool read_siz(uint8_t* headerData, uint16_t header_size);
170 bool read_cap(uint8_t* headerData, uint16_t header_size);
178 bool read_com(uint8_t* headerData, uint16_t header_size);
186 bool read_cod(uint8_t* headerData, uint16_t header_size);
193 bool read_poc(uint8_t* headerData, uint16_t header_size);
201 bool read_crg(uint8_t* headerData, uint16_t header_size);
208 bool read_tlm(uint8_t* headerData, uint16_t header_size);
216 bool read_plm(uint8_t* headerData, uint16_t header_size);
224 bool read_plt(uint8_t* headerData, uint16_t header_size);
232 bool read_ppm(uint8_t* headerData, uint16_t header_size);
240 bool read_ppt(uint8_t* headerData, uint16_t header_size);
248 bool read_sot(uint8_t* headerData, uint16_t header_size);
256 bool read_SPCod_SPCoc(uint16_t compno, uint8_t* headerData, uint16_t* header_size);
268 bool read_SQcd_SQcc(
bool fromQCC, uint16_t compno, uint8_t* headerData, uint16_t* header_size);
290 bool read_coc(uint8_t* headerData, uint16_t header_size);
297 bool read_qcd(uint8_t* headerData, uint16_t header_size);
305 bool read_qcc(uint8_t* headerData, uint16_t header_size);
Definition: CodeStreamDecompress.h:38
CodeStreamInfo * getCodeStreamInfo(void)
Definition: CodeStreamDecompress.cpp:139
void addMarker(uint16_t id, uint64_t pos, uint32_t len)
Add main header marker information.
Definition: CodeStreamDecompress.cpp:649
std::map< uint16_t, marker_handler * > marker_map
Definition: CodeStreamDecompress.h:317
void dump_image_header(GrkImage *image, bool dev_dump_flag, FILE *outputFileStream)
Dump an image header structure.
Definition: CodeStreamDecompress.cpp:1148
int32_t tile_ind_to_dec_
index of single tile to decompress; !!! initialized to -1 !!!
Definition: CodeStreamDecompress.h:325
bool decompressTiles(void)
Definition: CodeStreamDecompress.cpp:457
bool isDecodingTilePartHeader()
Definition: CodeStreamDecompress.cpp:143
bool wholeTileDecompress
Definition: CodeStreamDecompress.h:319
GrkImage * outputImage_
Definition: CodeStreamDecompress.h:328
bool headerRead_
Definition: CodeStreamDecompress.h:322
void dump_MH_info(FILE *outputFileStream)
Definition: CodeStreamDecompress.cpp:1138
bool read_plm(uint8_t *headerData, uint16_t header_size)
Reads a PLM marker (Packet length, main header marker)
Definition: CodeStreamDecompress_Markers.cpp:457
bool needsHeaderRead(void)
Definition: CodeStreamDecompress.cpp:111
bool merge_ppm(CodingParams *p_cp)
Merges all PPM markers read (Packed headers, main header)
Definition: CodeStreamDecompress_Markers.cpp:506
void init(grk_decompress_core_params *p_param)
Definition: CodeStreamDecompress.cpp:355
bool createOutputImage(void)
Definition: CodeStreamDecompress.cpp:799
GrkImage * getImage(void)
Definition: CodeStreamDecompress.cpp:160
bool read_soc()
Reads a SOC marker (Start of Codestream)
Definition: CodeStreamDecompress_Markers.cpp:1855
bool parseTileHeaderMarkers(bool *can_decode_tile_data)
Definition: CodeStreamDecompress_Markers.cpp:66
bool process_marker(const marker_handler *marker_handler, uint16_t marker_size)
Definition: CodeStreamDecompress.cpp:941
void dump(uint32_t flag, FILE *outputFileStream)
Definition: CodeStreamDecompress.cpp:1097
bool decompress(grk_plugin_tile *tile)
Definition: CodeStreamDecompress.cpp:368
bool read_rgn(uint8_t *headerData, uint16_t header_size)
Reads a RGN marker (Region Of Interest)
Definition: CodeStreamDecompress_Markers.cpp:669
bool read_mco(uint8_t *headerData, uint16_t header_size)
Reads a MCO marker (Multiple Component Transform Ordering)
Definition: CodeStreamDecompress_Markers.cpp:721
grk_serialize_pixels_callback serializeBufferCallback
Definition: CodeStreamDecompress.h:333
bool read_ppm(uint8_t *headerData, uint16_t header_size)
Reads a PPM marker (Packed headers, main header)
Definition: CodeStreamDecompress_Markers.cpp:492
bool read_cap(uint8_t *headerData, uint16_t header_size)
Reads a CAP marker.
Definition: CodeStreamDecompress_Markers.cpp:1883
bool readHeaderProcedure(void)
Definition: CodeStreamDecompress.cpp:670
bool read_mcc(uint8_t *headerData, uint16_t header_size)
Reads a MCC marker (Multiple Component Collection)
Definition: CodeStreamDecompress_Markers.cpp:1189
void dump_image_comp_header(grk_image_comp *comp, bool dev_dump_flag, FILE *outputFileStream)
Dump a component image header structure.
Definition: CodeStreamDecompress.cpp:1179
bool read_crg(uint8_t *headerData, uint16_t header_size)
Reads a CRG marker (Component registration)
Definition: CodeStreamDecompress_Markers.cpp:429
bool read_cod(uint8_t *headerData, uint16_t header_size)
Reads a COD marker (Coding Style defaults)
Definition: CodeStreamDecompress_Markers.cpp:1606
bool read_com(uint8_t *headerData, uint16_t header_size)
Reads a COM marker (comments)
Definition: CodeStreamDecompress_Markers.cpp:1946
bool read_SPCod_SPCoc(uint16_t compno, uint8_t *headerData, uint16_t *header_size)
Reads a SPCod or SPCoc element, i.e.
Definition: CodeStreamDecompress_Markers.cpp:1049
bool setDecompressRegion(grk_rect_single region)
Definition: CodeStreamDecompress.cpp:241
void * serializeUserData
Definition: CodeStreamDecompress.h:334
bool read_qcd(uint8_t *headerData, uint16_t header_size)
Reads a QCD marker (Quantization defaults)
Definition: CodeStreamDecompress_Markers.cpp:1762
bool end(void)
Reading function used after code stream if necessary.
Definition: CodeStreamDecompress.cpp:1011
void dump_tile_info(TileCodingParams *default_tile, uint32_t numcomps, FILE *outputFileStream)
Definition: CodeStreamDecompress.cpp:1038
std::vector< GrkImage * > getAllImages(void)
Definition: CodeStreamDecompress.cpp:156
bool read_cbd(uint8_t *headerData, uint16_t header_size)
Reads a CBD marker (Component bit depth definition)
Definition: CodeStreamDecompress_Markers.cpp:847
DecompressorState decompressorState_
Definition: CodeStreamDecompress.h:318
uint16_t curr_marker_
Definition: CodeStreamDecompress.h:320
bool read_plt(uint8_t *headerData, uint16_t header_size)
Reads a PLT marker (Packet length, tile-part header)
Definition: CodeStreamDecompress_Markers.cpp:472
CodeStreamDecompress(IBufferedStream *stream)
Definition: CodeStreamDecompress.cpp:26
uint8_t * marker_scratch_
Definition: CodeStreamDecompress.h:326
bool decompressTile()
Definition: CodeStreamDecompress.cpp:821
DecompressorState * getDecompressorState(void)
Definition: CodeStreamDecompress.cpp:147
grk_serialize_register_client_callback serializeRegisterClientCallback
Definition: CodeStreamDecompress.h:335
bool read_short(uint16_t *val)
Definition: CodeStreamDecompress.cpp:968
TileProcessor * allocateProcessor(uint16_t tileIndex)
Definition: CodeStreamDecompress.cpp:119
bool copy_default_tcp(void)
Definition: CodeStreamDecompress.cpp:638
bool findNextTile(TileProcessor *tileProcessor)
Definition: CodeStreamDecompress.cpp:910
bool readHeaderProcedureImpl(void)
Definition: CodeStreamDecompress.cpp:684
uint16_t getCurrentMarker()
Definition: CodeStreamDecompress.cpp:654
bool read_qcc(uint8_t *headerData, uint16_t header_size)
Reads a QCC marker (Quantization component)
Definition: CodeStreamDecompress_Markers.cpp:1804
bool postProcess(void)
Definition: CodeStreamDecompress.cpp:1019
bool readMarker(void)
Definition: CodeStreamDecompress.cpp:989
bool read_ppt(uint8_t *headerData, uint16_t header_size)
Reads a PPT marker (Packed packet headers, tile-part header)
Definition: CodeStreamDecompress_Markers.cpp:517
bool add_mct(TileCodingParams *p_tcp, GrkImage *p_image, uint32_t index)
Definition: CodeStreamDecompress_Markers.cpp:768
TileCodingParams * get_current_decode_tcp(void)
Definition: CodeStreamDecompress.cpp:132
bool merge_ppt(TileCodingParams *p_tcp)
Merges all PPT markers read (Packed headers, tile-part header)
Definition: CodeStreamDecompress_Markers.cpp:600
bool read_siz(uint8_t *headerData, uint16_t header_size)
Reads a SIZ marker (image and tile size)
Definition: CodeStreamDecompress_Markers.cpp:1926
TileCache * tileCache_
Definition: CodeStreamDecompress.h:329
GrkImage * getCompositeImage()
Definition: CodeStreamDecompress.cpp:115
bool preProcess(void)
Definition: CodeStreamDecompress.cpp:1015
int32_t tileIndexToDecode()
Definition: CodeStreamDecompress.cpp:666
const marker_handler * get_marker_handler(uint16_t id)
Reads the lookup table containing all the marker, status and action, and returns the handler associat...
Definition: CodeStreamDecompress.cpp:978
bool read_SQcd_SQcc(bool fromQCC, uint16_t compno, uint8_t *headerData, uint16_t *header_size)
Reads a SQcd or SQcc element, i.e.
Definition: CodeStreamDecompress_Markers.cpp:899
bool decompressExec()
Definition: CodeStreamDecompress.cpp:788
bool read_coc(uint8_t *headerData, uint16_t header_size)
Reads a COC marker (Coding Style Component)
Definition: CodeStreamDecompress_Markers.cpp:1716
virtual ~CodeStreamDecompress()
Definition: CodeStreamDecompress.cpp:101
bool read_tlm(uint8_t *headerData, uint16_t header_size)
Reads a TLM marker (Tile Length Marker)
Definition: CodeStreamDecompress_Markers.cpp:886
bool decompressValidation(void)
Definition: CodeStreamDecompress.cpp:934
bool endOfCodeStream(void)
Definition: CodeStreamDecompress.cpp:452
bool isWholeTileDecompress()
Definition: CodeStreamDecompress.cpp:658
bool read_sot(uint8_t *headerData, uint16_t header_size)
Read SOT (Start of tile part) marker.
Definition: CodeStreamDecompress_Markers.cpp:656
bool read_poc(uint8_t *headerData, uint16_t header_size)
Reads a POC marker (Progression Order Change)
Definition: CodeStreamDecompress_Markers.cpp:335
bool headerError_
Definition: CodeStreamDecompress.h:321
uint16_t marker_scratch_size_
Definition: CodeStreamDecompress.h:327
bool readHeader(grk_header_info *header_info)
Definition: CodeStreamDecompress.cpp:164
GrkImage * getHeaderImage(void)
Definition: CodeStreamDecompress.cpp:662
bool read_mct(uint8_t *headerData, uint16_t header_size)
Reads a MCT marker (Multiple Component Transform)
Definition: CodeStreamDecompress_Markers.cpp:1436
bool read_unk(void)
Definition: CodeStreamDecompress_Markers.cpp:1562
bool decompressT2T1(TileProcessor *tileProcessor)
Definition: CodeStreamDecompress.cpp:895
StripPool stripCache_
Definition: CodeStreamDecompress.h:331
Definition: CodeStream.h:130
Definition: GrkImage.h:22
Definition: StripPool.h:70
Definition: TileCache.h:38
bool(* grk_serialize_pixels_callback)(grk_serialize_buf buffer, void *user_data)
Definition: grok.h:822
void(* grk_serialize_register_client_callback)(grk_serialize_callback reclaim_callback, void *serialize_user_data, void *reclaim_user_data)
Definition: grok.h:818
Copyright (C) 2016-2022 Grok Image Compression Inc.
Definition: ICacheable.h:20
std::function< bool(uint8_t *headerData, uint16_t header_size)> MARKER_FUNC
Definition: CodeStreamDecompress.h:26
Core decompress parameters.
Definition: grok.h:828
Image component.
Definition: grok.h:929
Plugin tile.
Definition: grok.h:1095
Definition: LengthCache.h:70
Coding parameters.
Definition: CodingParams.h:244
Definition: CodingParams.h:308
Definition: IBufferedStream.h:20
Definition: CodeStream.h:111
Tile coding parameters : this structure is used to store coding/decoding parameters common to all til...
Definition: CodingParams.h:122
Tile processor for decompression and compression.
Definition: TileProcessor.h:76
Definition: CodeStreamDecompress.h:28
uint32_t states
value of the state when the marker can appear
Definition: CodeStreamDecompress.h:33
uint16_t id
marker value
Definition: CodeStreamDecompress.h:31
marker_handler(uint16_t ID, uint32_t flags, MARKER_FUNC f)
Definition: CodeStreamDecompress.h:29
MARKER_FUNC func
Definition: CodeStreamDecompress.h:34