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);
127 virtual void dump(uint32_t flag, FILE* outputFileStream) = 0;
146 bool exec(std::vector<PROCEDURE_FUNC>& p_procedure_list);
Definition CodeStream.h:133
CodingParams * getCodingParams(void)
Definition CodeStream.cpp:35
CodeStreamInfo * codeStreamInfo
Definition CodeStream.h:148
grk_plugin_tile * current_plugin_tile
Definition CodeStream.h:157
BufferedStream * getStream()
Definition CodeStream.cpp:59
GrkImage * headerImage_
Definition CodeStream.h:153
std::vector< PROCEDURE_FUNC > validation_list_
Definition CodeStream.h:150
CodingParams cp_
Definition CodeStream.h:147
bool exec(std::vector< PROCEDURE_FUNC > &p_procedure_list)
Definition CodeStream.cpp:47
TileProcessor * currentTileProcessor_
Definition CodeStream.h:154
virtual ~CodeStream()
Definition CodeStream.cpp:29
grk_plugin_tile * getCurrentPluginTile()
Definition CodeStream.cpp:55
static std::string markerString(uint16_t marker)
Definition CodeStream.cpp:64
CodeStream(BufferedStream *stream)
Definition CodeStream.cpp:25
TileProcessor * currentProcessor(void)
Definition CodeStream.cpp:43
std::vector< PROCEDURE_FUNC > procedure_list_
Definition CodeStream.h:149
std::map< uint32_t, TileProcessor * > processors_
Definition CodeStream.h:156
GrkImage * getHeaderImage(void)
Definition CodeStream.cpp:39
BufferedStream * stream_
Definition CodeStream.h:155
Definition TileCache.h:36
enum _GRK_PROG_ORDER GRK_PROG_ORDER
Progression order.
@ GRK_LRCP
unknown progression order
Definition grok.h:67
Copyright (C) 2016-2024 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_UNK
UNKNOWN marker value.
Definition CodeStream.h:79
const uint16_t J2K_PLM
PLM marker value.
Definition CodeStream.h:67
const uint16_t J2K_COM
COM marker value.
Definition CodeStream.h:74
const uint32_t MCT_ELEMENT_SIZE[]
Definition CodeStream.h:102
const uint8_t MARKER_LENGTH_BYTES
Definition CodeStream.h:84
const GRK_PROG_ORDER GRK_DEFAULT_PROG_ORDER
Definition CodeStream.h:43
std::function< bool(void)> PROCEDURE_FUNC
Definition CodeStream.h:104
const uint32_t GRK_DEFAULT_NUMRESOLUTION
Definition CodeStream.h:44
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 uint32_t SPCod_SPCoc_len
Definition CodeStream.h:37
const uint16_t J2K_QCC
QCC marker value.
Definition CodeStream.h:64
const uint16_t J2K_SOC
SOC marker value.
Definition CodeStream.h:54
const uint16_t J2K_MCT
MCT marker value.
Definition CodeStream.h:77
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:90
const uint16_t J2K_SOD
SOD marker value.
Definition CodeStream.h:56
const uint32_t GRK_COMP_PARAM_DEFAULT_CBLOCKW
Definition CodeStream.h:41
const uint16_t J2K_EPH
EPH marker value.
Definition CodeStream.h:72
const uint16_t J2K_SOP
SOP marker value.
Definition CodeStream.h:71
const uint16_t J2K_MCC
MCC marker value.
Definition CodeStream.h:76
const uint16_t J2K_CAP
CAP marker value.
Definition CodeStream.h:58
const uint16_t J2K_SOT
SOT marker value.
Definition CodeStream.h:55
const uint16_t J2K_PPM
PPM marker value.
Definition CodeStream.h:69
const uint16_t J2K_PLT
PLT marker value.
Definition CodeStream.h:68
const uint16_t J2K_PPT
PPT marker value.
Definition CodeStream.h:70
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_MCO
MCO marker value.
Definition CodeStream.h:78
const uint32_t cod_coc_len
Definition CodeStream.h:38
const uint16_t J2K_CRG
CRG marker value.
Definition CodeStream.h:73
const uint16_t J2K_QCD
QCD marker value.
Definition CodeStream.h:63
void grk_write(uint8_t *buffer, TYPE value, uint32_t numBytes)
Definition BufferedStream.h:217
const uint16_t J2K_COC
COC marker value.
Definition CodeStream.h:61
const uint16_t J2K_TLM
TLM marker value.
Definition CodeStream.h:66
const uint32_t GRK_COMP_PARAM_DEFAULT_CBLOCKH
Definition CodeStream.h:42
const uint16_t J2K_RGN
RGN marker value.
Definition CodeStream.h:62
const uint8_t MARKER_BYTES
Definition CodeStream.h:82
const uint16_t J2K_EOC
EOC marker value.
Definition CodeStream.h:57
const uint32_t tlmMarkerBytesPerTilePart
Definition CodeStream.h:39
const uint16_t J2K_POC
POC marker value.
Definition CodeStream.h:65
const uint16_t J2K_CBD
CBD marker value.
Definition CodeStream.h:75
const uint32_t sot_marker_segment_min_len
Definition CodeStream.h:35
const uint16_t J2K_SIZ
SIZ marker value.
Definition CodeStream.h:59
const uint16_t J2K_COD
COD marker value.
Definition CodeStream.h:60
Compression parameters.
Definition grok.h:1116
Core decompression parameters.
Definition grok.h:642
Plugin tile.
Definition grok.h:915
Definition BufferedStream.h:35
Definition LengthCache.h:70
Coding parameters.
Definition CodingParams.h:245
Definition CodeStream.h:107
virtual uint64_t compress(grk_plugin_tile *tile)=0
virtual bool start(void)=0
virtual bool init(grk_cparameters *p_param, GrkImage *p_image)=0
virtual ~ICodeStreamCompress()=default
Definition CodeStream.h:115
virtual GrkImage * getImage(uint16_t tile_index)=0
virtual bool postProcess(void)=0
virtual bool preProcess(void)=0
virtual bool readHeader(grk_header_info *header_info)=0
virtual bool decompressTile(uint16_t tile_index)=0
virtual ~ICodeStreamDecompress()=default
virtual bool decompress(grk_plugin_tile *tile)=0
virtual GrkImage * getImage(void)=0
virtual void init(grk_decompress_core_params *p_param)=0
virtual bool setDecompressRegion(grk_rect_double region)=0
virtual void dump(uint32_t flag, FILE *outputFileStream)=0
Definition TileProcessor.h:78
Definition geometry.h:103