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
54 #define J2K_MS_SOC 0xff4f
55 #define J2K_MS_SOT 0xff90
56 #define J2K_MS_SOD 0xff93
57 #define J2K_MS_EOC 0xffd9
58 #define J2K_MS_CAP 0xff50
59 #define J2K_MS_SIZ 0xff51
60 #define J2K_MS_COD 0xff52
61 #define J2K_MS_COC 0xff53
62 #define J2K_MS_RGN 0xff5e
63 #define J2K_MS_QCD 0xff5c
64 #define J2K_MS_QCC 0xff5d
65 #define J2K_MS_POC 0xff5f
66 #define J2K_MS_TLM 0xff55
67 #define J2K_MS_PLM 0xff57
68 #define J2K_MS_PLT 0xff58
69 #define J2K_MS_PPM 0xff60
70 #define J2K_MS_PPT 0xff61
71 #define J2K_MS_SOP 0xff91
72 #define J2K_MS_EPH 0xff92
73 #define J2K_MS_CRG 0xff63
74 #define J2K_MS_COM 0xff64
75 #define J2K_MS_CBD 0xff78
76 #define J2K_MS_MCC 0xff75
77 #define J2K_MS_MCT 0xff74
78 #define J2K_MS_MCO 0xff77
83 template<
typename S,
typename D>
84 void j2k_write(
const void* p_src_data,
void* p_dest_data, uint64_t nb_elem)
86 uint8_t* dest_data = (uint8_t*)p_dest_data;
87 S* src_data = (S*)p_src_data;
88 for(uint32_t i = 0; i < nb_elem; ++i)
90 D temp = (D) * (src_data++);
91 grk_write<D>(dest_data, temp,
sizeof(D));
92 dest_data +=
sizeof(D);
97 typedef void (*
j2k_mct_function)(
const void* p_src_data,
void* p_dest_data, uint64_t nb_elem);
106 virtual bool compressTile(uint16_t tileIndex, uint8_t* p_data, uint64_t data_size) = 0;
122 virtual void dump(uint32_t flag, FILE* outputFileStream) = 0;
140 bool exec(std::vector<PROCEDURE_FUNC>& p_procedure_list);
Definition: CodeStream.h:128
CodingParams * getCodingParams(void)
Definition: CodeStream.cpp:35
CodeStreamInfo * codeStreamInfo
Definition: CodeStream.h:142
grk_plugin_tile * current_plugin_tile
Definition: CodeStream.h:152
std::map< uint32_t, TileProcessor * > m_processors
Definition: CodeStream.h:150
CodeStream(IBufferedStream *stream)
Definition: CodeStream.cpp:25
CodingParams m_cp
Definition: CodeStream.h:141
TileProcessor * m_currentTileProcessor
Definition: CodeStream.h:148
IBufferedStream * getStream()
Definition: CodeStream.cpp:59
bool exec(std::vector< PROCEDURE_FUNC > &p_procedure_list)
Definition: CodeStream.cpp:47
IBufferedStream * m_stream
Definition: CodeStream.h:149
bool m_multiTile
Definition: CodeStream.h:151
std::vector< PROCEDURE_FUNC > m_validation_list
Definition: CodeStream.h:144
std::vector< PROCEDURE_FUNC > m_procedure_list
Definition: CodeStream.h:143
virtual ~CodeStream()
Definition: CodeStream.cpp:29
grk_plugin_tile * getCurrentPluginTile()
Definition: CodeStream.cpp:55
TileProcessor * currentProcessor(void)
Definition: CodeStream.cpp:43
GrkImage * getHeaderImage(void)
Definition: CodeStream.cpp:39
GrkImage * m_headerImage
Definition: CodeStream.h:147
Definition: GrkImage.h:19
Definition: TileCache.h:38
enum _GRK_PROG_ORDER GRK_PROG_ORDER
Progression order.
@ GRK_LRCP
layer-resolution-component-precinct order
Definition: grok.h:309
Copyright (C) 2016-2021 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:97
const uint32_t MCT_ELEMENT_SIZE[]
Definition: CodeStream.h:96
std::function< bool(void)> PROCEDURE_FUNC
Definition: CodeStream.h:98
const uint32_t default_number_mcc_records
Definition: CodeStream.h:30
const uint32_t default_header_size
Definition: CodeStream.h:29
const uint32_t SPCod_SPCoc_len
Definition: CodeStream.h:37
const GRK_PROG_ORDER GRK_COMP_PARAM_DEFAULT_PROG_ORDER
Definition: CodeStream.h:43
const uint32_t default_number_mct_records
Definition: CodeStream.h:31
void j2k_write(const void *p_src_data, void *p_dest_data, uint64_t nb_elem)
Definition: CodeStream.h:84
const uint32_t GRK_COMP_PARAM_DEFAULT_CBLOCKW
Definition: CodeStream.h:41
const uint32_t grk_marker_length
Definition: CodeStream.h:35
const uint32_t sot_marker_segment_len
Definition: CodeStream.h:34
const uint32_t default_numbers_segments
Definition: CodeStream.h:28
const uint32_t GRK_COMP_PARAM_DEFAULT_NUMRESOLUTION
Definition: CodeStream.h:44
const uint32_t cod_coc_len
Definition: CodeStream.h:38
const uint32_t GRK_COMP_PARAM_DEFAULT_CBLOCKH
Definition: CodeStream.h:42
const uint32_t tlmMarkerBytesPerTilePart
Definition: CodeStream.h:39
Compress parameters.
Definition: grok.h:489
Core decompress parameters.
Definition: grok.h:740
Plugin tile.
Definition: grok.h:1096
Definition: LengthCache.h:76
Coding parameters.
Definition: CodingParams.h:242
Definition: IBufferedStream.h:20
Definition: CodeStream.h:101
virtual bool endCompress(void)=0
virtual bool compressTile(uint16_t tileIndex, uint8_t *p_data, uint64_t data_size)=0
virtual bool startCompress(void)=0
virtual bool compress(grk_plugin_tile *tile)=0
virtual bool initCompress(grk_cparameters *p_param, GrkImage *p_image)=0
virtual ~ICodeStreamCompress()=default
Definition: CodeStream.h:111
virtual bool setDecompressWindow(grkRectU32 window)=0
virtual void initDecompress(grk_dparameters *p_param)=0
virtual GrkImage * getImage(void)=0
virtual bool readHeader(grk_header_info *header_info)=0
virtual GrkImage * getImage(uint16_t tileIndex)=0
virtual bool decompressTile(uint16_t tileIndex)=0
virtual ~ICodeStreamDecompress()=default
virtual bool decompress(grk_plugin_tile *tile)=0
virtual void dump(uint32_t flag, FILE *outputFileStream)=0
virtual bool endDecompress(void)=0
Tile processor for decompression and compression.
Definition: TileProcessor.h:77