46#define J2K_CP_CSTY_PRT 0x01
47#define J2K_CP_CSTY_SOP 0x02
48#define J2K_CP_CSTY_EPH 0x04
49#define J2K_CCP_CSTY_PRT 0x01
50#define J2K_CCP_QNTSTY_NOQNT 0
51#define J2K_CCP_QNTSTY_SIQNT 1
52#define J2K_CCP_QNTSTY_SEQNT 2
89template<
typename S,
typename D>
90void j2k_write(
const void* p_src_data,
void* p_dest_data, uint64_t nb_elem)
92 uint8_t* dest_data = (uint8_t*)p_dest_data;
93 S* src_data = (S*)p_src_data;
94 for(uint32_t i = 0; i < nb_elem; ++i)
96 D temp = (D) * (src_data++);
98 dest_data +=
sizeof(D);
103typedef void (*
j2k_mct_function)(
const void* p_src_data,
void* p_dest_data, uint64_t nb_elem);
106struct ICodeStreamCompress
108 virtual ~ICodeStreamCompress() =
default;
110 virtual bool start(
void) = 0;
114struct ICodeStreamDecompress
117 virtual ~ICodeStreamDecompress() =
default;
119 virtual GrkImage* getImage(uint16_t tileIndex) = 0;
120 virtual GrkImage* getImage(
void) = 0;
122 virtual bool setDecompressRegion(grk_rect_single region) = 0;
124 virtual bool decompressTile(uint16_t tileIndex) = 0;
125 virtual bool preProcess(
void) = 0;
126 virtual bool postProcess(
void) = 0;
127 virtual void dump(uint32_t flag, FILE* outputFileStream) = 0;
135 CodeStream(BufferedStream*
stream);
136 virtual ~CodeStream();
138 TileProcessor* currentProcessor(
void);
139 BufferedStream* getStream();
140 GrkImage* getHeaderImage(
void);
142 CodingParams* getCodingParams(
void);
143 static std::string markerString(uint16_t marker);
146 bool exec(std::vector<PROCEDURE_FUNC>& p_procedure_list);
BufferedStream * stream
Definition BitIO.h:88
std::vector< PROCEDURE_FUNC > validation_list_
Definition CodeStream.h:150
CodeStreamInfo * codeStreamInfo
Definition CodeStream.h:148
GrkImage * headerImage_
Definition CodeStream.h:153
BufferedStream * stream_
Definition CodeStream.h:155
std::map< uint32_t, TileProcessor * > processors_
Definition CodeStream.h:156
CodingParams cp_
Definition CodeStream.h:147
std::vector< PROCEDURE_FUNC > procedure_list_
Definition CodeStream.h:149
TileProcessor * currentTileProcessor_
Definition CodeStream.h:154
grk_plugin_tile * current_plugin_tile
Definition CodeStream.h:157
uint8_t * start
pointer to the start of the buffer
Definition mqc.h:56
Copyright (C) 2016-2023 Grok Image Compression Inc.
Definition ICacheable.h:20
void(* j2k_mct_function)(const void *p_src_data, void *p_dest_data, uint64_t nb_elem)
Definition CodeStream.h:103
const uint16_t J2K_MS_MCC
MCC marker value.
Definition CodeStream.h:76
const uint16_t J2K_MS_PPM
PPM marker value.
Definition CodeStream.h:69
const uint32_t MCT_ELEMENT_SIZE[]
Definition CodeStream.h:102
const uint16_t J2K_MS_MCO
MCO marker value.
Definition CodeStream.h:78
const uint8_t MARKER_LENGTH_BYTES
Definition CodeStream.h:84
std::function< bool(void)> PROCEDURE_FUNC
Definition CodeStream.h:104
const uint16_t J2K_MS_SIZ
SIZ marker value.
Definition CodeStream.h:59
const uint16_t J2K_MS_SOC
SOC marker value.
Definition CodeStream.h:54
const uint32_t default_number_mcc_records
Definition CodeStream.h:30
const uint8_t MARKER_PLUS_MARKER_LENGTH_BYTES
Definition CodeStream.h:85
const uint32_t default_header_size
Definition CodeStream.h:29
const uint16_t J2K_MS_MCT
MCT marker value.
Definition CodeStream.h:77
const uint32_t SPCod_SPCoc_len
Definition CodeStream.h:37
enum grk::_GRK_PROG_ORDER GRK_PROG_ORDER
Progression order.
const uint16_t J2K_MS_QCC
QCC marker value.
Definition CodeStream.h:64
const uint16_t J2K_MS_POC
POC marker value.
Definition CodeStream.h:65
const uint16_t J2K_MS_COM
COM marker value.
Definition CodeStream.h:74
const uint16_t J2K_MS_EOC
EOC marker value.
Definition CodeStream.h:57
const GRK_PROG_ORDER GRK_COMP_PARAM_DEFAULT_PROG_ORDER
Definition CodeStream.h:43
const uint16_t J2K_MS_COC
COC marker value.
Definition CodeStream.h:61
const uint32_t default_number_mct_records
Definition CodeStream.h:31
const uint16_t J2K_MS_CRG
CRG marker value.
Definition CodeStream.h:73
void j2k_write(const void *p_src_data, void *p_dest_data, uint64_t nb_elem)
Definition CodeStream.h:90
const uint32_t GRK_COMP_PARAM_DEFAULT_CBLOCKW
Definition CodeStream.h:41
const uint16_t J2K_MS_PLT
PLT marker value.
Definition CodeStream.h:68
@ GRK_LRCP
layer-resolution-component-precinct order
Definition TileCache.h:60
const uint16_t J2K_MS_CBD
CBD marker value.
Definition CodeStream.h:75
const uint16_t J2K_MS_QCD
QCD marker value.
Definition CodeStream.h:63
const uint16_t J2K_MS_RGN
RGN marker value.
Definition CodeStream.h:62
const uint32_t sot_marker_segment_len_minus_tile_data_len
Definition CodeStream.h:34
const uint32_t default_numbers_segments
Definition CodeStream.h:28
const uint16_t J2K_MS_UNK
UNKNOWN marker value.
Definition CodeStream.h:79
const uint32_t GRK_COMP_PARAM_DEFAULT_NUMRESOLUTION
Definition CodeStream.h:44
const uint32_t cod_coc_len
Definition CodeStream.h:38
const uint16_t J2K_MS_CAP
CAP marker value.
Definition CodeStream.h:58
const uint16_t J2K_MS_COD
COD marker value.
Definition CodeStream.h:60
void grk_write(uint8_t *buffer, TYPE value, uint32_t numBytes)
Definition BufferedStream.h:217
const uint16_t J2K_MS_SOP
SOP marker value.
Definition CodeStream.h:71
const uint32_t GRK_COMP_PARAM_DEFAULT_CBLOCKH
Definition CodeStream.h:42
const uint8_t MARKER_BYTES
Definition CodeStream.h:82
const uint16_t J2K_MS_EPH
EPH marker value.
Definition CodeStream.h:72
const uint16_t J2K_MS_TLM
TLM marker value.
Definition CodeStream.h:66
const uint32_t tlmMarkerBytesPerTilePart
Definition CodeStream.h:39
const uint32_t sot_marker_segment_min_len
Definition CodeStream.h:35
const uint16_t J2K_MS_SOD
SOD marker value.
Definition CodeStream.h:56
const uint16_t J2K_MS_PLM
PLM marker value.
Definition CodeStream.h:67
const uint16_t J2K_MS_SOT
SOT marker value.
Definition CodeStream.h:55
const uint16_t J2K_MS_PPT
PPT marker value.
Definition CodeStream.h:70
grk_plugin_tile * tile
Definition plugin_interface.h:64
grk_header_info header_info
Definition plugin_interface.h:111
Core decompression parameters.
Definition grok.h:480
Plugin tile.
Definition grok.h:739
Compress parameters.
Definition TileCache.h:913
Plugin tile.
Definition TileCache.h:740