20#include <unordered_map>
53const uint16_t
SOC = 0xff4f;
54const uint16_t
SOT = 0xff90;
55const uint16_t
SOD = 0xff93;
56const uint16_t
EOC = 0xffd9;
57const uint16_t
CAP = 0xff50;
58const uint16_t
SIZ = 0xff51;
59const uint16_t
COD = 0xff52;
60const uint16_t
COC = 0xff53;
61const uint16_t
RGN = 0xff5e;
62const uint16_t
QCD = 0xff5c;
63const uint16_t
QCC = 0xff5d;
64const uint16_t
POC = 0xff5f;
65const uint16_t
TLM = 0xff55;
66const uint16_t
PLM = 0xff57;
67const uint16_t
PLT = 0xff58;
68const uint16_t
PPM = 0xff60;
69const uint16_t
PPT = 0xff61;
70const uint16_t
SOP = 0xff91;
71const uint16_t
EPH = 0xff92;
72const uint16_t
CRG = 0xff63;
73const uint16_t
COM = 0xff64;
74const uint16_t
CBD = 0xff78;
75const uint16_t
MCC = 0xff75;
76const uint16_t
MCT = 0xff74;
77const uint16_t
MCO = 0xff77;
78const uint16_t
UNK = 0;
89template<
typename S,
typename D>
90void 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);
127 bool exec(std::vector<PROCEDURE_FUNC>& procedureList);
CodeStream(IStream *stream)
Definition CodeStream.cpp:38
CodingParams * getCodingParams(void)
Definition CodeStream.cpp:45
grk_plugin_tile * current_plugin_tile
Definition CodeStream.h:136
std::vector< PROCEDURE_FUNC > procedureList_
Definition CodeStream.h:129
GrkImage * headerImage_
Definition CodeStream.h:133
std::vector< PROCEDURE_FUNC > validationList_
Definition CodeStream.h:130
bool exec(std::vector< PROCEDURE_FUNC > &procedureList)
Definition CodeStream.cpp:53
std::unordered_map< uint32_t, ITileProcessor * > processors_
Definition CodeStream.h:135
CodingParams cp_
Definition CodeStream.h:128
virtual grk_io_band_callback getBandCallback() const
Definition CodeStream.h:117
virtual void * getBandUserData() const
Definition CodeStream.h:121
IStream * getStream()
Definition CodeStream.cpp:65
virtual ~CodeStream()
Definition CodeStream.cpp:41
grk_plugin_tile * getCurrentPluginTile()
Definition CodeStream.cpp:61
GrkImage * getHeaderImage(void)
Definition CodeStream.cpp:49
IStream * stream_
Definition CodeStream.h:134
Stores header and data for an image.
Definition GrkImage.h:54
Caches tile processors so that repeated decompress calls on the same codec can reuse SOT metadata,...
Definition TileCache.h:108
enum _GRK_PROG_ORDER GRK_PROG_ORDER
Environment variables.
bool(* grk_io_band_callback)(uint32_t yBegin, uint32_t yEnd, grk_image *image, void *user_data)
Callback invoked when a horizontal band of the decompressed image is ready for writing.
Definition grok.h:647
@ GRK_LRCP
unknown progression order
Definition grok.h:76
ResWindow.
Definition CompressedChunkCache.h:36
void write(const void *p_src_data, void *p_dest_data, uint64_t nb_elem)
Definition CodeStream.h:90
const uint8_t CP_CSTY_EPH
Definition CodeStream.h:47
const uint32_t MCT_ELEMENT_SIZE[]
Definition CodeStream.h:102
const uint16_t TLM
POC marker.
Definition CodeStream.h:65
const uint8_t MARKER_LENGTH_BYTES
Definition CodeStream.h:84
const uint16_t SOP
PPT marker.
Definition CodeStream.h:70
const GRK_PROG_ORDER GRK_DEFAULT_PROG_ORDER
Definition CodeStream.h:42
std::function< bool(void)> PROCEDURE_FUNC
Definition CodeStream.h:103
const uint16_t UNK
MCO marker.
Definition CodeStream.h:78
const uint32_t SPCodSPCocLen
Definition CodeStream.h:36
const uint16_t PPT
PPM marker.
Definition CodeStream.h:69
const uint32_t GRK_DEFAULT_NUMRESOLUTION
Definition CodeStream.h:43
const uint16_t PLM
TLM marker.
Definition CodeStream.h:66
const uint8_t CCP_QNTSTY_SIQNT
Definition CodeStream.h:50
const uint8_t CP_CSTY_SOP
Definition CodeStream.h:46
const uint16_t COC
COD marker.
Definition CodeStream.h:60
const uint32_t default_number_mcc_records
Definition CodeStream.h:30
const uint16_t COM
CRG marker.
Definition CodeStream.h:73
const uint8_t MARKER_BYTES_PLUS_MARKER_LENGTH_BYTES
Definition CodeStream.h:85
const uint16_t EPH
SOP marker.
Definition CodeStream.h:71
const uint16_t SIZ
CAP marker.
Definition CodeStream.h:58
const uint8_t CCP_CSTY_PRECINCT
Definition CodeStream.h:48
const uint16_t COD
SIZ marker.
Definition CodeStream.h:59
const uint16_t CRG
EPH marker.
Definition CodeStream.h:72
const uint16_t MCC
CBD marker.
Definition CodeStream.h:75
const uint32_t default_header_size
Definition CodeStream.h:29
const uint32_t sotMarkerSegmentLen
Definition CodeStream.h:34
const uint16_t PLT
PLM marker.
Definition CodeStream.h:67
const uint16_t CBD
COM marker.
Definition CodeStream.h:74
const uint16_t SOT
SOC marker.
Definition CodeStream.h:54
const uint32_t codSocLen
Definition CodeStream.h:37
const uint16_t PPM
PLT marker.
Definition CodeStream.h:68
const uint16_t CAP
EOC marker.
Definition CodeStream.h:57
const uint16_t RGN
COC marker.
Definition CodeStream.h:61
const uint32_t default_number_mct_records
Definition CodeStream.h:31
void grk_write(uint8_t *dest, const uint8_t *value, uint8_t sizeOfType, uint32_t numBytes)
Definition StreamIO.cpp:25
const uint32_t GRK_COMP_PARAM_DEFAULT_CBLOCKW
Definition CodeStream.h:40
const uint16_t SOD
SOT marker.
Definition CodeStream.h:55
const uint8_t CP_CSTY_PRT
Definition CodeStream.h:45
const uint8_t CCP_QNTSTY_NOQNT
Definition CodeStream.h:49
const uint16_t QCC
QCD marker.
Definition CodeStream.h:63
const uint32_t default_numbers_segments
Definition CodeStream.h:28
const uint16_t MCT
MCC marker.
Definition CodeStream.h:76
const uint16_t POC
QCC marker.
Definition CodeStream.h:64
const uint32_t GRK_COMP_PARAM_DEFAULT_CBLOCKH
Definition CodeStream.h:41
const uint16_t QCD
RGN marker.
Definition CodeStream.h:62
const uint16_t EOC
SOD marker.
Definition CodeStream.h:56
const uint8_t CCP_QNTSTY_SEQNT
Definition CodeStream.h:51
const uint8_t MARKER_BYTES
UNKNOWN marker.
Definition CodeStream.h:81
const uint16_t MCO
MCT marker.
Definition CodeStream.h:77
const uint32_t tlmMarkerBytesPerTilePart
Definition CodeStream.h:38
const uint16_t SOC
Definition CodeStream.h:53
Coding parameters.
Definition CodingParams.h:402