Grok  7.6.2
CodeStream.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016-2020 Grok Image Compression Inc.
3  *
4  * This source code is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Affero General Public License, version 3,
6  * as published by the Free Software Foundation.
7  *
8  * This source code is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Affero General Public License for more details.
12  *
13  * You should have received a copy of the GNU Affero General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  *
17  * This source code incorporates work covered by the BSD 2-clause license.
18  * Please see the LICENSE file in the root directory for details.
19  *
20  */
21 
22 #pragma once
23 
24 #include <vector>
25 #include <map>
26 #include "CodingParams.h"
27 #include <map>
28 
29 namespace grk {
30 
31 // includes marker and marker length (4 bytes)
32 const uint32_t sot_marker_segment_len = 12U;
33 const uint32_t grk_marker_length = 4U;
34 
35 const uint32_t SPCod_SPCoc_len = 5U;
36 const uint32_t cod_coc_len = 5U;
37 const uint32_t tlm_len_per_tile_part = 5;
38 
39 
40 const uint32_t GRK_COMP_PARAM_DEFAULT_CBLOCKW = 64;
41 const uint32_t GRK_COMP_PARAM_DEFAULT_CBLOCKH = 64;
44 
45 // limits defined in JPEG 2000 standard
46 const uint32_t max_precision_jpeg_2000 = 38; // maximum number of magnitude bits, according to ISO standard
47 const uint32_t max_num_components = 16384; // maximum allowed number components
48 const uint32_t max_passes_per_segment = (max_precision_jpeg_2000-1) * 3 +1;
49 const uint32_t max_num_tiles = 65535;
50 const uint32_t max_num_tile_parts_per_tile = 255;
51 const uint32_t max_num_tile_parts = 65535;
52 // includes tile part header
53 const uint32_t max_tile_part_size = UINT_MAX;
54 
55 // limits in Grok library
56 const uint32_t max_supported_precision = 16; // maximum supported precision for Grok library
57 const uint32_t default_numbers_segments = 10;
58 const uint32_t default_header_size = 1000;
59 const uint32_t default_number_mcc_records = 10;
60 const uint32_t default_number_mct_records = 10;
61 
62 #define J2K_CP_CSTY_PRT 0x01
63 #define J2K_CP_CSTY_SOP 0x02
64 #define J2K_CP_CSTY_EPH 0x04
65 #define J2K_CCP_CSTY_PRT 0x01
66 #define J2K_CCP_QNTSTY_NOQNT 0 // no quantization
67 #define J2K_CCP_QNTSTY_SIQNT 1 // derived quantization
68 #define J2K_CCP_QNTSTY_SEQNT 2 // expounded quantization
69 
70 #define GRK_J2K_DEFAULT_CBLK_DATA_SIZE 8192
71 
72 #define J2K_MS_SOC 0xff4f
73 #define J2K_MS_SOT 0xff90
74 #define J2K_MS_SOD 0xff93
75 #define J2K_MS_EOC 0xffd9
76 #define J2K_MS_CAP 0xff50
77 #define J2K_MS_SIZ 0xff51
78 #define J2K_MS_COD 0xff52
79 #define J2K_MS_COC 0xff53
80 #define J2K_MS_RGN 0xff5e
81 #define J2K_MS_QCD 0xff5c
82 #define J2K_MS_QCC 0xff5d
83 #define J2K_MS_POC 0xff5f
84 #define J2K_MS_TLM 0xff55
85 #define J2K_MS_PLM 0xff57
86 #define J2K_MS_PLT 0xff58
87 #define J2K_MS_PPM 0xff60
88 #define J2K_MS_PPT 0xff61
89 #define J2K_MS_SOP 0xff91
90 #define J2K_MS_EPH 0xff92
91 #define J2K_MS_CRG 0xff63
92 #define J2K_MS_COM 0xff64
93 #define J2K_MS_CBD 0xff78
94 #define J2K_MS_MCC 0xff75
95 #define J2K_MS_MCT 0xff74
96 #define J2K_MS_MCO 0xff77
98 #define J2K_MS_UNK 0
106 bool grk_image_single_component_data_alloc( grk_image_comp *image);
107 
108 struct TileProcessor;
109 typedef bool (*j2k_procedure)(CodeStream *codeStream);
110 
111 typedef bool (*marker_callback)(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size);
112 
114  marker_handler(uint16_t ID, uint32_t flags, marker_callback cb) :
115  id(ID), states(flags), callback(cb)
116  {}
118  uint16_t id;
120  uint32_t states;
123 } ;
124 
125 struct ICodeStream {
126 
127  virtual ~ICodeStream(){}
128 
130  virtual bool read_header(grk_header_info *header_info, grk_image **p_image) = 0;
131 
132  virtual bool decompress( grk_plugin_tile *tile, grk_image *p_image) = 0;
133 
135  virtual bool decompress_tile(grk_image *p_image, uint16_t tile_index) = 0;
136 
138  virtual bool end_decompress(void) = 0;
139 
141  virtual void init_decompress(grk_dparameters *p_param) = 0;
142 
144  virtual bool set_decompress_window(grk_image *p_image,
145  uint32_t start_x, uint32_t end_x, uint32_t start_y, uint32_t end_y) = 0;
146 
147  virtual bool start_compress(void) = 0;
148 
149  virtual bool init_compress(grk_cparameters *p_param,grk_image *p_image) = 0;
150 
151  virtual bool compress(grk_plugin_tile* tile) = 0;
152 
153  virtual bool compress_tile(uint16_t tile_index, uint8_t *p_data, uint64_t data_size) = 0;
154 
155  virtual bool end_compress(void) = 0;
156 
157  virtual void dump(int32_t flag, FILE *out_stream) = 0;
158 
160 
162 };
163 
164 struct CodeStream : public ICodeStream {
165 
166  CodeStream(bool decompress, BufferedStream *stream);
167  ~CodeStream();
168 
170  bool read_header(grk_header_info *header_info, grk_image **p_image);
171 
172  bool decompress( grk_plugin_tile *tile,grk_image *p_image);
173 
175  bool decompress_tile(grk_image *p_image, uint16_t tile_index);
176 
178  bool end_decompress(void);
179 
181  void init_decompress(grk_dparameters *p_param);
182 
183  bool start_compress(void);
184 
185  bool init_compress(grk_cparameters *p_param,grk_image *p_image);
186 
187  bool compress(grk_plugin_tile* tile);
188 
189  bool compress_tile(uint16_t tile_index, uint8_t *p_data, uint64_t data_size);
190 
191  bool end_compress(void);
192 
193  void dump(int32_t flag, FILE *out_stream);
194 
196 
198 
199 
200  bool isDecodingTilePartHeader() ;
202 
203  bool read_marker(void);
204  bool read_short(uint16_t *val);
205 
206  bool process_marker(const marker_handler* marker_handler, uint16_t marker_size);
207 
221  bool set_decompress_window(grk_image *p_image,
222  uint32_t start_x,
223  uint32_t start_y,
224  uint32_t end_x,
225  uint32_t end_y);
226 
227 
235  bool alloc_multi_tile_output_data(grk_image *p_output_image);
236 
237  bool parse_tile_header_markers(bool *can_decode_tile_data);
238 
239  bool init_header_writing(void);
240 
241  bool read_header_procedure(void);
242 
243  bool do_decompress(grk_image *p_image);
244 
245  bool decompress_tile_t2t1(TileProcessor *tileProcessor, bool multi_tile) ;
246 
247  bool decompress_tile();
248 
249  bool decompress_tile_t2(TileProcessor *tileProcessor);
250 
251  bool decompress_tiles(void);
252 
253  bool decompress_validation(void);
254 
255  bool write_tile_part(TileProcessor *tileProcessor);
256 
257  bool post_write_tile(TileProcessor *tileProcessor);
258 
259  bool get_end_header(void);
260 
261  bool copy_default_tcp(void);
262 
263  bool update_rates(void);
264 
265  bool compress_validation(void);
273  bool exec(std::vector<j2k_procedure> &p_procedure_list);
274 
275 
285  bool need_nb_tile_parts_correction(bool *p_correction_needed);
286 
287  bool mct_validation(void);
288 
295  bool read_unk(uint16_t *output_marker);
296 
297 
298  // state of decompressor/compressor
301 
304 
305  /* output image (for decompress) */
307 
310 
312  std::vector<j2k_procedure> m_procedure_list;
313 
315  std::vector<j2k_procedure> m_validation_list;
316 
319 
320  int32_t tileIndexToDecode();
321 
322  TileProcessor* allocateProcessor(uint16_t tile_index);
324 
326 
327 private:
328 
337  const marker_handler* get_marker_handler( uint16_t id);
338 
339  std::map<uint16_t, marker_handler*> marker_map;
340 
343 
345 
346 
347  std::map<uint32_t, TileProcessor*> m_processors;
348 
349 
353 
354 
359 public:
360  uint16_t m_curr_marker;
365 
366 };
367 
370 /* ----------------------------------------------------------------------- */
371 
376 
377 /* ----------------------------------------------------------------------- */
381 
382 bool j2k_decompress_tile(CodeStream *codeStream, grk_image *p_image, uint16_t tile_index);
383 
384 bool j2k_init_mct_encoding(TileCodingParams *p_tcp, grk_image *p_image);
385 
386 }
grk::CodeStream::~CodeStream
~CodeStream()
Definition: CodeStream.cpp:985
grk::J2K_DEC_STATE_ERR
@ J2K_DEC_STATE_ERR
the decoding process has encountered an error
Definition: CodingParams.h:295
grk::j2k_read_sot
bool j2k_read_sot(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Read SOT (Start of tile part) marker.
Definition: markers.cpp:1163
grk::j2k_init_mct_encoding
bool j2k_init_mct_encoding(TileCodingParams *p_tcp, grk_image *p_image)
Definition: CodeStream.cpp:451
_grk_codestream_index
Code stream index info.
Definition: grok.h:1147
grk_image_single_component_data_free
void GRK_CALLCONV grk_image_single_component_data_free(grk_image_comp *comp)
Deallocate data for single image component.
Definition: grok.cpp:569
grk::default_numbers_segments
const uint32_t default_numbers_segments
Definition: CodeStream.h:57
grk::ICodeStream::init_decompress
virtual void init_decompress(grk_dparameters *p_param)=0
Set up decompressor function handler.
grk::EncoderState::m_total_tile_parts
uint16_t m_total_tile_parts
Total num of tile parts in whole image = num tiles* num tileparts in each tile.
Definition: CodingParams.h:352
grk::CodeStream::set_decompress_window
bool set_decompress_window(grk_image *p_image, uint32_t start_x, uint32_t start_y, uint32_t end_x, uint32_t end_y)
Sets the given area to be decompressed.
Definition: CodeStream.cpp:1846
grk::CodeStream::m_encoder
EncoderState m_encoder
Definition: CodeStream.h:300
grk::J2K_DEC_STATE_TPH_SOT
@ J2K_DEC_STATE_TPH_SOT
the decoding process is in a tile part header and expects a SOT marker
Definition: CodingParams.h:287
_grk_cparameters::t_width
uint32_t t_width
XTsiz.
Definition: grok.h:447
_grk_poc::compno0
uint16_t compno0
Definition: grok.h:374
grk::j2k_prog_order::enum_prog
GRK_PROG_ORDER enum_prog
Definition: CodeStream.cpp:29
grk::J2K_DEC_STATE_NONE
@ J2K_DEC_STATE_NONE
no decompress state
Definition: CodingParams.h:283
grk::CodeStream::mct_validation
bool mct_validation(void)
Definition: CodeStream.cpp:3255
_grk_dparameters::cp_layer
uint16_t cp_layer
Set the maximum number of quality layers to decompress.
Definition: grok.h:685
grk::TileComponentCodingParams::cblk_sty
uint8_t cblk_sty
code-block mode
Definition: CodingParams.h:63
grk::grk_marker_length
const uint32_t grk_marker_length
Definition: CodeStream.h:33
ThreadPool
Definition: ThreadPool.hpp:37
grk::TileCodingParams::m_nb_mct_records
uint32_t m_nb_mct_records
the number of mct records.
Definition: CodingParams.h:182
grk::GRK_COMP_PARAM_DEFAULT_PROG_ORDER
const GRK_PROG_ORDER GRK_COMP_PARAM_DEFAULT_PROG_ORDER
Definition: CodeStream.h:42
grk::EncodingParams::m_tp_on
bool m_tp_on
Enabling Tile part generation.
Definition: CodingParams.h:216
grk::default_number_mct_records
const uint32_t default_number_mct_records
Definition: CodeStream.h:60
grk::ICodeStream::set_decompress_window
virtual bool set_decompress_window(grk_image *p_image, uint32_t start_x, uint32_t end_x, uint32_t start_y, uint32_t end_y)=0
Set decompress window function handler.
grk::j2k_get_cstr_info
grk_codestream_info_v2 * j2k_get_cstr_info(CodeStream *codeStream)
Get the code stream info from a JPEG2000 codec.
Definition: Dump.cpp:282
grk::TileProcessor::decompress_tile_t1
bool decompress_tile_t1(void)
T1 decompress.
Definition: TileProcessor.cpp:881
grk::CodingParams::t_width
uint32_t t_width
XTsiz.
Definition: CodingParams.h:247
_grk_cparameters::roi_compno
int32_t roi_compno
region of interest: affected component in [0..3]; -1 indicates no ROI
Definition: grok.h:489
grk::CodeStream::decompress
bool decompress(grk_plugin_tile *tile, grk_image *p_image)
Definition: CodeStream.cpp:1113
grk::EncodingParams::rateControlAlgorithm
uint32_t rateControlAlgorithm
Definition: CodingParams.h:222
_grk_cparameters::rateControlAlgorithm
uint32_t rateControlAlgorithm
Definition: grok.h:552
grk::j2k_read_soc
bool j2k_read_soc(CodeStream *codeStream)
Reads a SOC marker (Start of Codestream)
Definition: markers.cpp:148
_grk_poc
Progression order changes.
Definition: grok.h:371
_grk_jp2_color::palette
grk_palette_data * palette
Definition: grok.h:608
grk::TileProcessor::copy_decompressed_tile_to_output_image
bool copy_decompressed_tile_to_output_image(grk_image *p_output_image)
tile_data stores only the decompressed resolutions, in the actual precision of the decompressed image...
Definition: TileProcessor.cpp:1236
grk::marker_handler::states
uint32_t states
value of the state when the marker can appear
Definition: CodeStream.h:120
grk::CodeStream::m_marker_scratch_size
uint16_t m_marker_scratch_size
Definition: CodeStream.h:356
grk::j2k_read_plm
bool j2k_read_plm(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a PLM marker (Packet length, main header marker)
Definition: markers.cpp:970
_grk_header_info::num_comments
size_t num_comments
Definition: grok.h:660
grk::ICodeStream::read_header
virtual bool read_header(grk_header_info *header_info, grk_image **p_image)=0
Main header reading function handler.
grk::CodeStream::m_decompressor
DecoderState m_decompressor
Definition: CodeStream.h:299
grk::CodingParams::m_enc
EncodingParams m_enc
Definition: CodingParams.h:267
GRK_PROFILE_CINEMA_4K
#define GRK_PROFILE_CINEMA_4K
Definition: grok.h:127
grk::CodeStream::getStream
BufferedStream * getStream()
Definition: CodeStream.cpp:999
grk::j2k_read_mcc
bool j2k_read_mcc(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a MCC marker (Multiple Component Collection)
Definition: markers.cpp:1616
_grk_header_info::mct
uint32_t mct
multi-component transform identifier
Definition: grok.h:623
J2K_MS_PPM
#define J2K_MS_PPM
PPM marker value.
Definition: CodeStream.h:87
grk::max_passes_per_segment
const uint32_t max_passes_per_segment
Definition: CodeStream.h:48
_grk_header_info::cblk_sty
uint8_t cblk_sty
Definition: grok.h:636
_grk_image_comp::stride
uint32_t stride
data stride
Definition: grok.h:856
grk::TileCodingParams::prg
GRK_PROG_ORDER prg
progression order
Definition: CodingParams.h:130
grk::TileProcessor
Tile compressor/decompressor.
Definition: TileProcessor.h:63
ThreadPool::get
static ThreadPool * get()
Definition: ThreadPool.hpp:51
grk::TileComponentCodingParams::numStepSizes
uint8_t numStepSizes
Definition: CodingParams.h:78
grk::CodeStream::m_tile_ind_to_dec
int32_t m_tile_ind_to_dec
index of single tile to decompress; !!! initialized to -1 !!!
Definition: CodeStream.h:352
grk::TileCodingParams
Tile coding parameters : this structure is used to store coding/decoding parameters common to all til...
Definition: CodingParams.h:121
grk::max_num_tile_parts
const uint32_t max_num_tile_parts
Definition: CodeStream.h:51
grk::TileCodingParams::POC
bool POC
indicates if a POC marker has been used
Definition: CodingParams.h:197
grk::param_qcd::generate
void generate(uint8_t guard_bits, uint32_t decomps, bool is_reversible, uint32_t max_bit_depth, bool color_transform, bool is_signed)
Definition: HTParams.cpp:182
grk::TileCodingParams::distoratio
double distoratio[100]
fixed_quality
Definition: CodingParams.h:157
grk::SOTMarker::get_sot_values
bool get_sot_values(uint8_t *p_header_data, uint32_t header_size, uint16_t *tile_no, uint32_t *p_tot_len, uint8_t *p_current_part, uint8_t *p_num_parts)
Reads values from a SOT marker (Start of tile-part)
Definition: SOTMarker.cpp:76
GRK_LRCP
@ GRK_LRCP
layer-resolution-component-precinct order
Definition: grok.h:291
grk::lupInvert
static void lupInvert(float *pSrcMatrix, float *pDestMatrix, uint32_t nb_compo, uint32_t *pPermutations, float *p_src_temp, float *p_dest_temp, float *p_swap_area)
LUP inversion (call with the result of lupDecompose)
Definition: CodeStream.cpp:911
grk::grk_mct_data
MCT data.
Definition: CodingParams.h:96
grk::TileCodingParams::tccps
TileComponentCodingParams * tccps
tile-component coding parameters
Definition: CodingParams.h:163
GRK_EXTENSION_NONE
#define GRK_EXTENSION_NONE
JPEG 2000 Part-2 extensions.
Definition: grok.h:148
grk::CodeStream::exec
bool exec(std::vector< j2k_procedure > &p_procedure_list)
Executes the given procedures on the given codec.
Definition: CodeStream.cpp:2668
_grk_image::color
grk_jp2_color color
Definition: grok.h:896
grk::CodeStream::read_header_procedure
bool read_header_procedure(void)
Definition: CodeStream.cpp:2395
J2K_MS_RGN
#define J2K_MS_RGN
RGN marker value.
Definition: CodeStream.h:80
_grk_poc::resno1
uint8_t resno1
Definition: grok.h:377
grk::InvalidMarkerException
Definition: grk_exceptions.h:28
grk::CodingParams::tx0
uint32_t tx0
XTOsiz.
Definition: CodingParams.h:243
grk::CodingParams::t_grid_width
uint32_t t_grid_width
number of tiles in width
Definition: CodingParams.h:256
_grk_header_info::csty
uint8_t csty
Definition: grok.h:632
grk::j2k_write_poc
bool j2k_write_poc(CodeStream *codeStream)
Writes the POC marker (Progression Order Change)
Definition: markers.cpp:781
grk::CodeStream::decompress_tiles
bool decompress_tiles(void)
Definition: CodeStream.cpp:2701
grk::tlm_len_per_tile_part
const uint32_t tlm_len_per_tile_part
Definition: CodeStream.h:37
grk::BufferedStream
Byte input-output stream.
Definition: BufferedStream.h:38
grk::CodeStream::decompress_tile_t2
bool decompress_tile_t2(TileProcessor *tileProcessor)
Definition: CodeStream.cpp:2676
grk::EncodingParams::m_fixed_quality
bool m_fixed_quality
allocation by fixed_quality
Definition: CodingParams.h:214
_grk_header_info::t_width
uint32_t t_width
XTsiz.
Definition: grok.h:646
grk::J2K_DEC_STATE_MH_SOC
@ J2K_DEC_STATE_MH_SOC
a SOC marker is expected
Definition: CodingParams.h:284
grk::Profile::is_cinema_compliant
static bool is_cinema_compliant(grk_image *image, uint16_t rsiz)
Definition: Profile.cpp:1039
_grk_image::comps
grk_image_comp * comps
image components
Definition: grok.h:895
grk::CodeStream::init_decompress
void init_decompress(grk_dparameters *p_param)
Set up decompressor function handler.
Definition: CodeStream.cpp:1229
grk::grk_rect
grk_rectangle< int64_t > grk_rect
Definition: util.h:47
J2K_MS_EOC
#define J2K_MS_EOC
EOC marker value.
Definition: CodeStream.h:75
grk::TileComponentCodingParams
Tile-component coding parameters.
Definition: CodingParams.h:49
grk::Profile::is_imf_compliant
static bool is_imf_compliant(grk_cparameters *parameters, grk_image *image)
Definition: Profile.cpp:147
_grk_cparameters::tcp_rates
double tcp_rates[100]
rates of layers, expressed as compression ratios.
Definition: grok.h:471
grk::CodeStream::CodeStream
CodeStream(bool decompress, BufferedStream *stream)
Definition: CodeStream.cpp:932
grk::DecoderState::m_last_sot_read_pos
uint64_t m_last_sot_read_pos
Position of the last SOT marker read.
Definition: CodingParams.h:329
grk::grk_simple_mcc_decorrelation_data::m_is_irreversible
uint32_t m_is_irreversible
Definition: CodingParams.h:112
grk::j2k_calculate_tp
static bool j2k_calculate_tp(CodingParams *cp, uint16_t *p_nb_tile_parts, grk_image *image)
Calculates the total number of tile parts needed by the compressor to compress such an image.
Definition: CodeStream.cpp:685
grk::GRK_WARN
void GRK_WARN(const char *fmt,...)
Definition: logger.cpp:49
_grk_header_info::t_height
uint32_t t_height
YTsiz.
Definition: grok.h:648
grk::CodingParams::destroy
void destroy()
Definition: CodingParams.cpp:26
grk::j2k_read_tlm
bool j2k_read_tlm(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a TLM marker (Tile Length Marker)
Definition: markers.cpp:2063
grk::DecodeUnknownMarkerAtEndOfTileException
Definition: grk_exceptions.h:24
grk::CodeStream::update_rates
bool update_rates(void)
Definition: CodeStream.cpp:3065
J2K_MS_CBD
#define J2K_MS_CBD
CBD marker value.
Definition: CodeStream.h:93
grk::CodeStream::end_compress
bool end_compress(void)
Definition: CodeStream.cpp:1834
grk::lupDecompose
static bool lupDecompose(float *matrix, uint32_t *permutations, float *p_swap_area, uint32_t nb_compo)
LUP decomposition.
Definition: CodeStream.cpp:761
grk::J2K_DEC_STATE_TPH
@ J2K_DEC_STATE_TPH
the decoding process is in a tile part header
Definition: CodingParams.h:289
grk::ICodeStream::get_cstr_info
virtual grk_codestream_info_v2 * get_cstr_info(void)=0
grk::CodeStream::dump
void dump(int32_t flag, FILE *out_stream)
Definition: CodeStream.cpp:1954
grk::j2k_destroy_cstr_index
void j2k_destroy_cstr_index(grk_codestream_index *p_cstr_ind)
Destroys a code stream index structure.
Definition: Dump.cpp:502
grk::grk_calloc
void * grk_calloc(size_t num, size_t size)
Allocate a memory block with elements initialized to 0.
Definition: MemManager.cpp:111
grk::CodingParams::m_coding_params
union grk::CodingParams::@0 m_coding_params
_grk_cparameters::tile_size_on
bool tile_size_on
size of tile: tile_size_on = false (not in argument) or = true (in argument)
Definition: grok.h:441
_grk_cparameters::cblockh_init
uint32_t cblockh_init
initial code block height (default to 64)
Definition: grok.h:479
_grk_cparameters::prog_order
GRK_PROG_ORDER prog_order
progression order (default GRK_LRCP)
Definition: grok.h:462
grk::CodeStream::m_nb_tile_parts_correction
uint32_t m_nb_tile_parts_correction
Definition: CodeStream.h:364
grk::j2k_read_header_procedure
static bool j2k_read_header_procedure(CodeStream *codeStream)
The read header procedure.
Definition: CodeStream.cpp:361
grk::j2k_write_qcd
bool j2k_write_qcd(CodeStream *codeStream)
Writes the QCD marker (quantization default)
Definition: markers.cpp:633
grk::TileProcessor::tile
grk_tile * tile
info on image tile
Definition: TileProcessor.h:146
_grk_header_info::cblockh_init
uint32_t cblockh_init
initial code block height, default to 64
Definition: grok.h:619
_grk_cparameters::prch_init
uint32_t prch_init[GRK_J2K_MAXRLVLS]
initial precinct height
Definition: grok.h:497
grk::param_qcd::pull
void pull(grk_stepsize *stepptr, bool reversible)
Definition: HTParams.cpp:157
grk::CodeStream::get_cstr_info
grk_codestream_info_v2 * get_cstr_info(void)
Definition: CodeStream.cpp:1958
grk::CodeStream::currentProcessor
TileProcessor * currentProcessor(void)
Definition: CodeStream.cpp:1017
grk::j2k_prog_order_list
static j2k_prog_order j2k_prog_order_list[]
Definition: CodeStream.cpp:33
grk::TileCodingParams::pocs
grk_poc pocs[32]
progression order changes
Definition: CodingParams.h:141
GRK_PROFILE_CINEMA_S4K
#define GRK_PROFILE_CINEMA_S4K
Definition: grok.h:129
grk::CodingParams::t_grid_height
uint32_t t_grid_height
number of tiles in height
Definition: CodingParams.h:258
grk::EncodingParams::writeTLM
bool writeTLM
Definition: CodingParams.h:220
grk::grk_simple_mcc_decorrelation_data::m_offset_array
grk_mct_data * m_offset_array
Definition: CodingParams.h:111
GRK_CLRSPC_SYCC
@ GRK_CLRSPC_SYCC
standard YCC (YUV)
Definition: grok.h:322
grk::TileCodingParams::numpocs
uint32_t numpocs
number of progression order changes
Definition: CodingParams.h:139
grk::grk_image_single_component_data_alloc
bool grk_image_single_component_data_alloc(grk_image_comp *comp)
Allocate data for single image component.
Definition: CodeStream.cpp:200
grk::marker_handler::id
uint16_t id
marker value
Definition: CodeStream.h:118
grk::TileProcessor::m_tile_part_index
uint8_t m_tile_part_index
Compressing Only index of tile part being currently coding.
Definition: TileProcessor.h:132
_grk_cparameters::tp_on
uint8_t tp_on
Tile part generation.
Definition: grok.h:521
grk::TileProcessor::compress_tile_part
bool compress_tile_part(uint32_t *tile_bytes_written)
Compress tile part.
Definition: TileProcessor.cpp:811
GRK_EXTENSION_MCT
#define GRK_EXTENSION_MCT
Definition: grok.h:149
grk_version
const char *GRK_CALLCONV grk_version(void)
library version
Definition: grok.cpp:140
grk::TileCodingParams::csty
uint8_t csty
coding style
Definition: CodingParams.h:128
grk::max_precision_jpeg_2000
const uint32_t max_precision_jpeg_2000
Definition: CodeStream.h:46
grk::j2k_update_rates
static bool j2k_update_rates(CodeStream *codeStream)
Updates the rates of the tcp.
Definition: CodeStream.cpp:621
J2K_CP_CSTY_PRT
#define J2K_CP_CSTY_PRT
Definition: CodeStream.h:62
grk::CodeStream::m_curr_marker
uint16_t m_curr_marker
Only valid for decoding.
Definition: CodeStream.h:360
grk::j2k_write_eoc
bool j2k_write_eoc(CodeStream *codeStream)
Writes the EOC marker (End of Codestream)
Definition: markers.cpp:1205
grk::default_header_size
const uint32_t default_header_size
Definition: CodeStream.h:58
grk::grk_free
void grk_free(void *ptr)
Deallocates or frees a memory block.
Definition: MemManager.cpp:141
grk::TileComponentCodingParams::numresolutions
uint8_t numresolutions
number of resolutions
Definition: CodingParams.h:54
grk::CodeStream::m_input_image
grk_image * m_input_image
internal/private encoded / decompressed image
Definition: CodeStream.h:303
grk::ICodeStream::init_compress
virtual bool init_compress(grk_cparameters *p_param, grk_image *p_image)=0
_grk_cparameters::prcw_init
uint32_t prcw_init[GRK_J2K_MAXRLVLS]
initial precinct width
Definition: grok.h:495
grk::marker_callback
bool(* marker_callback)(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Definition: CodeStream.h:111
_grk_image::numcomps
uint16_t numcomps
number of components in the image
Definition: grok.h:891
grk::CodeStream::cstr_index
grk_codestream_index * cstr_index
helper used to write the index file
Definition: CodeStream.h:318
J2K_MS_MCT
#define J2K_MS_MCT
MCT marker value.
Definition: CodeStream.h:95
grk::ICodeStream::get_cstr_index
virtual grk_codestream_index * get_cstr_index(void)=0
grk::grk_simple_mcc_decorrelation_data::m_index
uint32_t m_index
Definition: CodingParams.h:108
_grk_plugin_tile
Plugin tile.
Definition: grok.h:1240
J2K_MS_PPT
#define J2K_MS_PPT
PPT marker value.
Definition: CodeStream.h:88
grk::TileComponent::getBuffer
TileComponentWindowBuffer< int32_t > * getBuffer() const
Definition: TileComponent.cpp:321
grk::grk_mct_data::m_element_type
J2K_MCT_ELEMENT_TYPE m_element_type
Definition: CodingParams.h:97
GRK_IS_BROADCAST
#define GRK_IS_BROADCAST(v)
Definition: grok.h:214
grk::CodeStream::m_nb_tile_parts_correction_checked
bool m_nb_tile_parts_correction_checked
Definition: CodeStream.h:363
grk::MCT_ELEMENT_SIZE
const uint32_t MCT_ELEMENT_SIZE[]
Definition: markers.h:26
grk::j2k_write_siz
bool j2k_write_siz(CodeStream *codeStream)
Writes the SIZ marker (image and tile size)
Definition: markers.cpp:178
grk::TileComponentCodingParams::qmfbid
uint8_t qmfbid
discrete wavelet transform identifier
Definition: CodingParams.h:65
grk::CodeStream::compress_tile
bool compress_tile(uint16_t tile_index, uint8_t *p_data, uint64_t data_size)
Definition: CodeStream.cpp:1800
grk::SOTMarker::write
bool write(void)
Writes the SOT marker (Start of tile-part)
Definition: SOTMarker.cpp:43
grk::j2k_read_siz
bool j2k_read_siz(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a SIZ marker (image and tile size)
Definition: markers.cpp:286
_grk_cparameters::roi_shift
uint32_t roi_shift
region of interest: upshift value
Definition: grok.h:491
grk::j2k_convert_progression_order
char * j2k_convert_progression_order(GRK_PROG_ORDER prg_order)
Converts an enum type progression order to string type.
Definition: CodeStream.cpp:625
_grk_image_comp::w
uint32_t w
data width
Definition: grok.h:854
grk::CodingParams::t_height
uint32_t t_height
YTsiz.
Definition: CodingParams.h:249
J2K_MS_QCD
#define J2K_MS_QCD
QCD marker value.
Definition: CodeStream.h:81
grk::CodeStream::m_output_image
grk_image * m_output_image
Definition: CodeStream.h:306
grk::EncoderState
Definition: CodingParams.h:346
grk::CodeStream::m_tileProcessor
TileProcessor * m_tileProcessor
current TileProcessor
Definition: CodeStream.h:342
grk::grk_make_aligned_width
uint32_t grk_make_aligned_width(uint32_t width)
Definition: MemManager.cpp:40
grk::TileCodingParams::qcd
param_qcd qcd
Definition: CodingParams.h:200
grk::CodeStream::wholeTileDecompress
bool wholeTileDecompress
Definition: CodeStream.h:361
grk::default_number_mcc_records
const uint32_t default_number_mcc_records
Definition: CodeStream.h:59
grk::TileCodingParams::mct_norms
double * mct_norms
compressing norms
Definition: CodingParams.h:174
grk::j2k_dump
void j2k_dump(CodeStream *codeStream, int32_t flag, FILE *out_stream)
Dump some elements from the J2K decompression structure .
Definition: Dump.cpp:87
_grk_cparameters::writePLT
bool writePLT
Definition: grok.h:558
_grk_header_info::prcw_init
uint32_t prcw_init[GRK_J2K_MAXRLVLS]
initial precinct width
Definition: grok.h:638
grk::j2k_read_crg
bool j2k_read_crg(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a CRG marker (Component registration)
Definition: markers.cpp:940
grk::DecoderState
Definition: CodingParams.h:299
grk::Profile::set_cinema_parameters
static void set_cinema_parameters(grk_cparameters *parameters, grk_image *image)
Definition: Profile.cpp:899
grk::j2k_read_mco
bool j2k_read_mco(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a MCO marker (Multiple Component Transform Ordering)
Definition: markers.cpp:1873
grk::j2k_read_ppt
bool j2k_read_ppt(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a PPT marker (Packed packet headers, tile-part header)
Definition: markers.cpp:1034
grk_image_all_components_data_free
void GRK_CALLCONV grk_image_all_components_data_free(grk_image *image)
Deallocate all component data for an image.
Definition: grok.cpp:561
grk::CodeStream::m_marker_scratch
uint8_t * m_marker_scratch
Definition: CodeStream.h:355
J2K_CCP_QNTSTY_NOQNT
#define J2K_CCP_QNTSTY_NOQNT
Definition: CodeStream.h:66
_grk_header_info::prch_init
uint32_t prch_init[GRK_J2K_MAXRLVLS]
initial precinct height
Definition: grok.h:640
grk::TileCodingParams::m_mct_decoding_matrix
float * m_mct_decoding_matrix
the mct decoding matrix
Definition: CodingParams.h:176
GRK_MAX_COMMENT_LENGTH
#define GRK_MAX_COMMENT_LENGTH
Definition: grok.h:351
_grk_header_info::numresolutions
uint32_t numresolutions
number of resolutions
Definition: grok.h:628
grk::CodeStream::do_decompress
bool do_decompress(grk_image *p_image)
Definition: CodeStream.cpp:1102
_grk_poc::compno1
uint16_t compno1
Definition: grok.h:378
grk::grk_image_create0
grk_image * grk_image_create0(void)
Definition: CodeStream.cpp:196
grk::CodeStream::read_short
bool read_short(uint16_t *val)
Definition: CodeStream.cpp:2031
grk::j2k_write_tlm_end
bool j2k_write_tlm_end(CodeStream *codeStream)
End writing the updated tlm.
Definition: markers.cpp:2087
GRK_IS_IMF
#define GRK_IS_IMF(v)
Definition: grok.h:245
_grk_cparameters::res_spec
uint32_t res_spec
Definition: grok.h:493
grk::ICodeStream::end_decompress
virtual bool end_decompress(void)=0
Reading function used after code stream if necessary.
grk::j2k_write_float_to_int16
void j2k_write_float_to_int16(const void *p_src_data, void *p_dest_data, uint64_t nb_elem)
Definition: markers.cpp:86
grk::j2k_write_cod
bool j2k_write_cod(CodeStream *codeStream)
Writes the COD marker (Coding style default)
Definition: markers.cpp:385
_grk_header_info::comment_len
uint16_t comment_len[GRK_NUM_COMMENTS_SUPPORTED]
Definition: grok.h:662
J2K_MS_SOD
#define J2K_MS_SOD
SOD marker value.
Definition: CodeStream.h:74
grk::ICodeStream::end_compress
virtual bool end_compress(void)=0
grk::CodeStream::get_end_header
bool get_end_header(void)
Definition: CodeStream.cpp:2959
grk::j2k_decompress_validation
static bool j2k_decompress_validation(CodeStream *codeStream)
The default decoding validation procedure without any extension.
Definition: CodeStream.cpp:356
_grk_header_info::rsiz
uint16_t rsiz
RSIZ value To be used to combine GRK_PROFILE_*, GRK_EXTENSION_* and (sub)levels values.
Definition: grok.h:626
grk::CodeStream::m_stream
BufferedStream * m_stream
Definition: CodeStream.h:344
grk::CodeStream::init_compress
bool init_compress(grk_cparameters *p_param, grk_image *p_image)
Definition: CodeStream.cpp:1255
GRK_PROFILE_CINEMA_S2K
#define GRK_PROFILE_CINEMA_S2K
Definition: grok.h:128
GRK_PROG_ORDER
enum _GRK_PROG_ORDER GRK_PROG_ORDER
Progression order.
grk::grk_tile::comps
TileComponent * comps
Definition: TileProcessor.h:35
_grk_header_info::t_grid_width
uint32_t t_grid_width
tile grid width
Definition: grok.h:650
_grk_cparameters::numpocs
uint32_t numpocs
number of progression order changes (POCs), default to 0
Definition: grok.h:466
_grk_cparameters::cp_num_comments
size_t cp_num_comments
Definition: grok.h:458
_grk_header_info::tcp_numlayers
uint16_t tcp_numlayers
number of layers
Definition: grok.h:654
grk::j2k_prog_order
Definition: CodeStream.cpp:28
grk::CodingParams
Coding parameters.
Definition: CodingParams.h:235
grk::grk_aligned_malloc
void * grk_aligned_malloc(size_t size)
Allocate memory aligned to a 16 byte boundary.
Definition: MemManager.cpp:119
grk::TileComponentCodingParams::cblkh
uint8_t cblkh
log2(code-blocks height)
Definition: CodingParams.h:58
grk::j2k_read_com
bool j2k_read_com(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a COM marker (comments)
Definition: markers.cpp:335
grk::DecodingParams::m_reduce
uint8_t m_reduce
if != 0, then original dimension divided by 2^(reduce); if == 0 or not used, image is decompressed to...
Definition: CodingParams.h:227
grk::max_num_components
const uint32_t max_num_components
Definition: CodeStream.h:47
grk::CodeStream
Definition: CodeStream.h:164
grk::j2k_init_info
static bool j2k_init_info(CodeStream *codeStream)
Inits the Info.
Definition: CodeStream.cpp:600
grk::j2k_read_plt
bool j2k_read_plt(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a PLT marker (Packet length, tile-part header)
Definition: markers.cpp:988
grk::TileProcessor::pino
uint32_t pino
Compressing Only Current packet iterator number.
Definition: TileProcessor.h:143
_grk_poc::resno0
uint8_t resno0
Resolution num start, component num start, given by POC.
Definition: grok.h:373
J2K_MS_COD
#define J2K_MS_COD
COD marker value.
Definition: CodeStream.h:78
grk::CodeStream::init_header_writing
bool init_header_writing(void)
Definition: CodeStream.cpp:2362
_grk_cparameters::ty0
uint32_t ty0
YTOsiz.
Definition: grok.h:445
grk::j2k_write_cap
bool j2k_write_cap(CodeStream *codeStream)
Writes the CAP marker.
Definition: markers.cpp:227
grk::CodeStream::m_cp
CodingParams m_cp
Coding parameters.
Definition: CodeStream.h:309
grk::j2k_write_tlm_begin
bool j2k_write_tlm_begin(CodeStream *codeStream)
Begin writing the TLM marker (Tile Length Marker)
Definition: markers.cpp:2073
ThreadPool::num_threads
size_t num_threads()
Definition: ThreadPool.hpp:49
_grk_image_comp
Image component.
Definition: grok.h:848
grk::J2K_DEC_STATE_NO_EOC
@ J2K_DEC_STATE_NO_EOC
the decoding process must not expect a EOC marker because the code stream is truncated
Definition: CodingParams.h:290
grk::marker_handler
Definition: CodeStream.h:113
grk::j2k_create_cstr_index
grk_codestream_index * j2k_create_cstr_index(void)
Definition: Dump.cpp:483
grk::sot_marker_segment_len
const uint32_t sot_marker_segment_len
Definition: CodeStream.h:32
grk::j2k_write_soc
bool j2k_write_soc(CodeStream *codeStream)
Writes the SOC marker (Start Of Codestream)
Definition: markers.cpp:136
_grk_header_info::comment
char * comment[GRK_NUM_COMMENTS_SUPPORTED]
Definition: grok.h:661
grk::SPCod_SPCoc_len
const uint32_t SPCod_SPCoc_len
Definition: CodeStream.h:35
J2K_CCP_CSTY_PRT
#define J2K_CCP_CSTY_PRT
Definition: CodeStream.h:65
_grk_image_comp::dy
uint32_t dy
YRsiz: vertical separation of a sample of with component with respect to the reference grid.
Definition: grok.h:852
grk::TileCodingParams::m_mct_coding_matrix
float * m_mct_coding_matrix
the mct coding matrix
Definition: CodingParams.h:178
grk::j2k_mct_write_functions_from_float
static const j2k_mct_function j2k_mct_write_functions_from_float[]
Definition: CodeStream.cpp:38
grk::getPocSize
uint16_t getPocSize(uint32_t nb_comp, uint32_t nb_poc)
Definition: markers.cpp:775
_grk_dparameters
Core decompress parameters.
Definition: grok.h:670
grk::grk_mct_data::m_index
uint32_t m_index
Definition: CodingParams.h:99
J2K_MS_SOT
#define J2K_MS_SOT
SOT marker value.
Definition: CodeStream.h:73
_grk_poc::layno1
uint16_t layno1
Layer num end, resolution num end, component num end, given by POC.
Definition: grok.h:376
_grk_cparameters::tx0
uint32_t tx0
XTOsiz.
Definition: grok.h:443
grk::CodingParams::comment
char * comment[GRK_NUM_COMMENTS_SUPPORTED]
Definition: CodingParams.h:252
grk::j2k_add_mhmarker
bool j2k_add_mhmarker(grk_codestream_index *cstr_index, uint32_t type, uint64_t pos, uint32_t len)
Add main header marker information.
Definition: markers.cpp:106
_grk_component_mapping_comp
Component mappings: component index, mapping type, palette column.
Definition: grok.h:583
grk::j2k_check_poc_val
static bool j2k_check_poc_val(const grk_poc *p_pocs, uint32_t nb_pocs, uint32_t nb_resolutions, uint32_t numcomps, uint32_t numlayers)
Checks the progression order changes values.
Definition: CodeStream.cpp:383
grk::GRK_COMP_PARAM_DEFAULT_CBLOCKW
const uint32_t GRK_COMP_PARAM_DEFAULT_CBLOCKW
Definition: CodeStream.h:40
GRK_RPCL
@ GRK_RPCL
resolution-precinct-component-layer order
Definition: grok.h:293
grk::SOTMarker::write_psot
bool write_psot(uint32_t tile_part_bytes_written)
Definition: SOTMarker.cpp:32
_grk_codestream_info_v2
Code stream info v2.
Definition: grok.h:1090
grk::CodeStream::current_plugin_tile
grk_plugin_tile * current_plugin_tile
Definition: CodeStream.h:362
grk::TileProcessor::m_first_poc_tile_part
bool m_first_poc_tile_part
Compressing Only true for first POC tile part, otherwise false.
Definition: TileProcessor.h:126
_grk_cparameters::rsiz
uint16_t rsiz
RSIZ value To be used to combine GRK_PROFILE_*, GRK_EXTENSION_* and (sub)levels values.
Definition: grok.h:538
grk::EncodingParams::writePLT
bool writePLT
Definition: CodingParams.h:218
grk::j2k_read_poc
bool j2k_read_poc(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a POC marker (Progression Order Change)
Definition: markers.cpp:846
grk::j2k_read_cap
bool j2k_read_cap(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a CAP marker.
Definition: markers.cpp:193
grk::TileProcessor::decompress_tile_t2
bool decompress_tile_t2(ChunkBuffer *src_buf)
T2 decompress.
Definition: TileProcessor.cpp:853
grk::max_num_tile_parts_per_tile
const uint32_t max_num_tile_parts_per_tile
Definition: CodeStream.h:50
ThreadPool::enqueue
auto enqueue(F &&f, Args &&... args) -> std::future< typename std::invoke_result< F, Args... >::type >
Definition: ThreadPool.hpp:151
grk::j2k_prog_order::str_prog
char str_prog[5]
Definition: CodeStream.cpp:30
grk::ICodeStream::decompress_tile
virtual bool decompress_tile(grk_image *p_image, uint16_t tile_index)=0
decompress tile
_grk_image_comp::sgnd
bool sgnd
Definition: grok.h:867
grk::CodeStream::marker_map
std::map< uint16_t, marker_handler * > marker_map
Definition: CodeStream.h:339
grk::TileCodingParams::m_mct_records
grk_mct_data * m_mct_records
mct records
Definition: CodingParams.h:180
J2K_MS_PLT
#define J2K_MS_PLT
PLT marker value.
Definition: CodeStream.h:86
GRK_IS_CINEMA
#define GRK_IS_CINEMA(v)
Definition: grok.h:152
grk::CodeStream::m_procedure_list
std::vector< j2k_procedure > m_procedure_list
the list of procedures to exec
Definition: CodeStream.h:312
_grk_cparameters::cp_disto_alloc
bool cp_disto_alloc
allocation by rate/distortion
Definition: grok.h:451
grk::j2k_decompress_tiles
static bool j2k_decompress_tiles(CodeStream *codeStream)
Read the tiles.
Definition: CodeStream.cpp:372
grk::j2k_read_cod
bool j2k_read_cod(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a COD marker (Coding Style defaults)
Definition: markers.cpp:430
grk::CodeStream::decompress_tile
bool decompress_tile(grk_image *p_image, uint16_t tile_index)
decompress tile
Definition: CodeStream.cpp:1132
grk::TileCodingParams::m_nb_mcc_records
uint32_t m_nb_mcc_records
the number of mct records.
Definition: CodingParams.h:188
_grk_cparameters::numresolution
uint8_t numresolution
number of resolutions
Definition: grok.h:475
_grk_image::y0
uint32_t y0
YOsiz: vertical offset from the origin of the reference grid to the top side of the image area.
Definition: grok.h:885
grk::CodeStream::decompress_validation
bool decompress_validation(void)
Definition: CodeStream.cpp:2848
grk::j2k_write_all_coc
bool j2k_write_all_coc(CodeStream *codeStream)
Writes COC marker for each component.
Definition: markers.cpp:1296
grk::TileComponentWindowBuffer::transfer
void transfer(T **buffer, bool *owns, uint32_t *stride)
Definition: TileComponentWindowBuffer.h:459
grk::CodeStream::compress_validation
bool compress_validation(void)
Definition: CodeStream.cpp:3152
GRK_PROFILE_NONE
#define GRK_PROFILE_NONE
JPEG 2000 Profiles, see Table A.10 from 15444-1 (updated in various AMDs)
Definition: grok.h:123
_grk_cparameters::tp_flag
uint8_t tp_flag
Flag for tile part generation.
Definition: grok.h:523
GRK_DECODE_POST_T1
#define GRK_DECODE_POST_T1
Definition: grok.h:1233
GRK_PCRL
@ GRK_PCRL
precinct-component-resolution-layer order
Definition: grok.h:294
_grk_header_info::ty0
uint32_t ty0
YTOsiz.
Definition: grok.h:644
grk::j2k_write_com
bool j2k_write_com(CodeStream *codeStream)
Writes the COM marker (comment)
Definition: markers.cpp:293
grk::j2k_read_qcc
bool j2k_read_qcc(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a QCC marker (Quantization component)
Definition: markers.cpp:731
grk
Copyright (C) 2016-2020 Grok Image Compression Inc.
Definition: BitIO.cpp:23
grk::CodeStream::process_marker
bool process_marker(const marker_handler *marker_handler, uint16_t marker_size)
Definition: CodeStream.cpp:1970
grk::CodeStream::tileIndexToDecode
int32_t tileIndexToDecode()
Definition: CodeStream.cpp:1003
grk::TileCodingParams::m_tile_part_index
int16_t m_tile_part_index
Definition: CodingParams.h:166
grk::j2k_copy_default_tcp
static bool j2k_copy_default_tcp(CodeStream *codeStream)
Copies the decoding tile parameters onto all the tile parameters.
Definition: CodeStream.cpp:617
grk::grk_copy_image_header
static void grk_copy_image_header(const grk_image *image_src, grk_image *image_dest)
Copy only header of image and its component header (no data are copied) if dest image have data,...
Definition: CodeStream.cpp:228
_grk_cparameters::mct_data
void * mct_data
Naive implementation of MCT restricted to a single reversible array based compressing without offset ...
Definition: grok.h:528
grk::TileComponentCodingParams::qntsty
uint8_t qntsty
quantisation style
Definition: CodingParams.h:74
grk::EncodingParams::m_tp_flag
uint8_t m_tp_flag
Flag determining tile part generation.
Definition: CodingParams.h:210
_grk_header_info::isBinaryComment
bool isBinaryComment[GRK_NUM_COMMENTS_SUPPORTED]
Definition: grok.h:663
grk::TileComponentCodingParams::prch
uint32_t prch[GRK_J2K_MAXRLVLS]
precinct height (power of 2 exponent)
Definition: CodingParams.h:86
J2K_MS_CAP
#define J2K_MS_CAP
CAP marker value.
Definition: CodeStream.h:76
grk::CodeStream::copy_default_tcp
bool copy_default_tcp(void)
Definition: CodeStream.cpp:2965
J2K_CCP_QNTSTY_SIQNT
#define J2K_CCP_QNTSTY_SIQNT
Definition: CodeStream.h:67
grk::TileComponentCodingParams::m_dc_level_shift
int32_t m_dc_level_shift
the dc_level_shift
Definition: CodingParams.h:88
grk::TileComponentCodingParams::prcw
uint32_t prcw[GRK_J2K_MAXRLVLS]
precinct width (power of 2 exponent)
Definition: CodingParams.h:84
grk::j2k_merge_ppt
bool j2k_merge_ppt(TileCodingParams *p_tcp)
Merges all PPT markers read (Packed packet headers, tile-part header)
Definition: markers.cpp:1112
grk::J2K_DEC_STATE_EOC
@ J2K_DEC_STATE_EOC
the decoding process has encountered the EOC marker
Definition: CodingParams.h:294
grk::grk_malloc
void * grk_malloc(size_t size)
Allocate an uninitialized memory block.
Definition: MemManager.cpp:105
grk_includes.h
grk::grk_simple_mcc_decorrelation_data
MCC decorrelation data.
Definition: CodingParams.h:107
grk::CodingParams::tcps
TileCodingParams * tcps
tile coding parameters
Definition: CodingParams.h:263
grk::j2k_get_num_tp
static uint64_t j2k_get_num_tp(CodingParams *cp, uint32_t pino, uint16_t tileno)
Gets the number of tile parts used for the given change of progression (if any) and the given tile.
Definition: CodeStream.cpp:635
_grk_image_comp::h
uint32_t h
data height
Definition: grok.h:858
grk::CodeStream::isDecodingTilePartHeader
bool isDecodingTilePartHeader()
Definition: CodeStream.cpp:2019
GRK_JPH_RSIZ_FLAG
#define GRK_JPH_RSIZ_FLAG
for JPH, bit 14 of RSIZ must be set to 1
Definition: grok.h:102
J2K_MS_TLM
#define J2K_MS_TLM
TLM marker value.
Definition: CodeStream.h:84
_grk_cparameters::cp_is_binary_comment
bool cp_is_binary_comment[GRK_NUM_COMMENTS_SUPPORTED]
Definition: grok.h:457
grk::j2k_allocate_tile_element_cstr_index
bool j2k_allocate_tile_element_cstr_index(CodeStream *codeStream)
Definition: Dump.cpp:461
GRK_CLRSPC_EYCC
@ GRK_CLRSPC_EYCC
extended YCC
Definition: grok.h:323
_grk_header_info
Header info.
Definition: grok.h:615
grk::MCT_TYPE_FLOAT
@ MCT_TYPE_FLOAT
MCT data is stored as signed integers.
Definition: CodingParams.h:34
grk::GRK_COMP_PARAM_DEFAULT_CBLOCKH
const uint32_t GRK_COMP_PARAM_DEFAULT_CBLOCKH
Definition: CodeStream.h:41
J2K_MS_SIZ
#define J2K_MS_SIZ
SIZ marker value.
Definition: CodeStream.h:77
GRK_IS_STORAGE
#define GRK_IS_STORAGE(v)
Definition: grok.h:153
_grk_cparameters::irreversible
bool irreversible
1 : use the irreversible DWT 9-7, 0 : use lossless compression (default)
Definition: grok.h:486
J2K_MS_UNK
#define J2K_MS_UNK
UNKNOWN marker value.
Definition: CodeStream.h:98
_grk_image_comp::data
int32_t * data
image component data
Definition: grok.h:869
_grk_header_info::t_grid_height
uint32_t t_grid_height
tile grid height
Definition: grok.h:652
grk::j2k_get_cstr_index
grk_codestream_index * j2k_get_cstr_index(CodeStream *codeStream)
Get the code stream index from a JPEG2000 codec.
Definition: Dump.cpp:352
J2K_MS_MCC
#define J2K_MS_MCC
MCC marker value.
Definition: CodeStream.h:94
grk::max_supported_precision
const uint32_t max_supported_precision
Definition: CodeStream.h:56
J2K_CCP_QNTSTY_SEQNT
#define J2K_CCP_QNTSTY_SEQNT
Definition: CodeStream.h:68
grk::J2K_DEC_STATE_DATA
@ J2K_DEC_STATE_DATA
the decoding process is expecting to read tile data from the code stream
Definition: CodingParams.h:292
grk::marker_handler::marker_handler
marker_handler(uint16_t ID, uint32_t flags, marker_callback cb)
Definition: CodeStream.h:114
J2K_MS_PLM
#define J2K_MS_PLM
PLM marker value.
Definition: CodeStream.h:85
grk::update_image_dimensions
static bool update_image_dimensions(grk_image *image, uint32_t reduce)
Definition: CodeStream.cpp:287
grk::CodeStream::get_marker_handler
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: CodeStream.cpp:2073
_grk_poc::prg1
GRK_PROG_ORDER prg1
Progression order enum.
Definition: grok.h:383
grk::ICodeStream::compress
virtual bool compress(grk_plugin_tile *tile)=0
grk::CodeStream::m_validation_list
std::vector< j2k_procedure > m_validation_list
the list of validation procedures to follow to make sure the code is valid
Definition: CodeStream.h:315
_grk_cparameters::tcp_distoratio
double tcp_distoratio[100]
different psnr for successive layers
Definition: grok.h:473
grk::max_num_tiles
const uint32_t max_num_tiles
Definition: CodeStream.h:49
GRK_PROFILE_PART2
#define GRK_PROFILE_PART2
Definition: grok.h:142
grk::j2k_read_ppm
bool j2k_read_ppm(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a PPM marker (Packed packet headers, main header)
Definition: markers.cpp:1008
grk::j2k_write_float_to_float64
void j2k_write_float_to_float64(const void *p_src_data, void *p_dest_data, uint64_t nb_elem)
Definition: markers.cpp:98
grk::ICodeStream::dump
virtual void dump(int32_t flag, FILE *out_stream)=0
_grk_cparameters::tcp_numlayers
uint16_t tcp_numlayers
number of layers
Definition: grok.h:468
grk::transfer_image_data
static void transfer_image_data(grk_image *src, grk_image *dest)
Transfer data from src to dest for each component, and null out src data.
Definition: CodeStream.cpp:335
grk::CodeStream::parse_tile_header_markers
bool parse_tile_header_markers(bool *can_decode_tile_data)
Definition: CodeStream.cpp:2099
grk::TileCodingParams::mct
uint8_t mct
multi-component transform identifier
Definition: CodingParams.h:135
_grk_cparameters::writeTLM
bool writeTLM
Definition: grok.h:559
_grk_header_info::irreversible
bool irreversible
1 : use the irreversible DWT 9-7, 0 : use lossless compression (default)
Definition: grok.h:621
grk::Profile::set_imf_parameters
static void set_imf_parameters(grk_cparameters *parameters, grk_image *image)
Definition: Profile.cpp:79
grk::j2k_read_coc
bool j2k_read_coc(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a COC marker (Coding Style Component)
Definition: markers.cpp:593
grk::j2k_read_rgn
bool j2k_read_rgn(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a RGN marker (Region Of Interest)
Definition: markers.cpp:1224
grk::TileProcessor::m_tile_index
uint16_t m_tile_index
index of tile being currently compressed/decompressed
Definition: TileProcessor.h:122
grk::TileCodingParams::rates
double rates[100]
rates of layers
Definition: CodingParams.h:137
grk::J2K_DEC_STATE_MH_SIZ
@ J2K_DEC_STATE_MH_SIZ
a SIZ marker is expected
Definition: CodingParams.h:285
grk::CodeStream::read_unk
bool read_unk(uint16_t *output_marker)
Reads an unknown marker.
Definition: CodeStream.cpp:3275
grk::grk_realloc
void * grk_realloc(void *ptr, size_t new_size)
Reallocate memory blocks.
Definition: MemManager.cpp:135
grk::GRK_COMP_PARAM_DEFAULT_NUMRESOLUTION
const uint32_t GRK_COMP_PARAM_DEFAULT_NUMRESOLUTION
Definition: CodeStream.h:43
grk::j2k_read_qcd
bool j2k_read_qcd(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a QCD marker (Quantization defaults)
Definition: markers.cpp:662
J2K_MS_POC
#define J2K_MS_POC
POC marker value.
Definition: CodeStream.h:83
grk::CodeStream::alloc_multi_tile_output_data
bool alloc_multi_tile_output_data(grk_image *p_output_image)
Allocate output buffer for multiple tile decompress.
Definition: CodeStream.cpp:2046
grk::CodingParams::isBinaryComment
bool isBinaryComment[GRK_NUM_COMMENTS_SUPPORTED]
Definition: CodingParams.h:254
_grk_cparameters::tcp_mct
uint8_t tcp_mct
MCT (multiple component transform)
Definition: grok.h:525
grk::mct::calculate_norms
static void calculate_norms(double *pNorms, uint32_t nb_comps, float *pMatrix)
Calculate norm of MCT transform.
Definition: mct.cpp:504
grk::ICodeStream::start_compress
virtual bool start_compress(void)=0
_grk_header_info::cblockw_init
uint32_t cblockw_init
initial code block width, default to 64
Definition: grok.h:617
grk::j2k_read_mct
bool j2k_read_mct(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a MCT marker (Multiple Component Transform)
Definition: markers.cpp:1395
grk::MCT_TYPE_OFFSET
@ MCT_TYPE_OFFSET
Definition: CodingParams.h:42
grk::CodingParams::num_comments
size_t num_comments
comments
Definition: CodingParams.h:251
_grk_image::color_space
GRK_COLOR_SPACE color_space
color space: sRGB, Greyscale or YUV
Definition: grok.h:893
grk::TileCodingParams::numlayers
uint16_t numlayers
number of layers
Definition: CodingParams.h:132
grk::CodeStream::allocateProcessor
TileProcessor * allocateProcessor(uint16_t tile_index)
Definition: CodeStream.cpp:1007
grk::pi_update_encoding_parameters
void pi_update_encoding_parameters(const grk_image *p_image, CodingParams *p_cp, uint16_t tile_no)
Updates the compressing parameters of the codec.
Definition: PacketIter.cpp:1381
_grk_cparameters::POC
grk_poc POC[32]
progression order changes
Definition: grok.h:464
grk::TileProcessor::current_plugin_tile
grk_plugin_tile * current_plugin_tile
Definition: TileProcessor.h:149
grk::j2k_merge_ppm
bool j2k_merge_ppm(CodingParams *p_cp)
Merges all PPM markers read (Packed headers, main header)
Definition: markers.cpp:1022
GRK_CPRL
@ GRK_CPRL
component-precinct-resolution-layer order
Definition: grok.h:295
grk::InvalidMarkerException::m_marker
uint16_t m_marker
Definition: grk_exceptions.h:33
grk::EncodingParams::m_max_comp_size
size_t m_max_comp_size
Maximum rate for each component.
Definition: CodingParams.h:206
grk::grk_mct_data::m_data
uint8_t * m_data
Definition: CodingParams.h:100
grk::TileCodingParams::m_nb_max_mct_records
uint32_t m_nb_max_mct_records
the max number of mct records.
Definition: CodingParams.h:184
grk::grk_mct_data::m_data_size
uint32_t m_data_size
Definition: CodingParams.h:101
_grk_cparameters::max_cs_size
uint64_t max_cs_size
Maximum size (in bytes) for the whole code stream.
Definition: grok.h:535
grk::DecodingParams::m_layer
uint16_t m_layer
if != 0, then only the first "layer" layers are decompressed; if == 0 or not used,...
Definition: CodingParams.h:229
J2K_MS_MCO
#define J2K_MS_MCO
MCO marker value.
Definition: CodeStream.h:96
grk::TileCodingParams::m_nb_max_mcc_records
uint32_t m_nb_max_mcc_records
the max number of mct records.
Definition: CodingParams.h:190
grk::CodeStream::get_current_decode_tcp
TileCodingParams * get_current_decode_tcp(void)
Definition: CodeStream.cpp:2022
_grk_cparameters::cblockw_init
uint32_t cblockw_init
initial code block width (default to 64)
Definition: grok.h:477
grk::j2k_get_end_header
static bool j2k_get_end_header(CodeStream *codeStream)
Gets the offset of the header.
Definition: CodeStream.cpp:608
J2K_MS_QCC
#define J2K_MS_QCC
QCC marker value.
Definition: CodeStream.h:82
grk::TileProcessor::m_corrupt_packet
bool m_corrupt_packet
Definition: TileProcessor.h:163
grk::Profile::set_broadcast_parameters
static void set_broadcast_parameters(grk_cparameters *parameters)
Definition: Profile.cpp:597
_grk_cparameters::cp_fixed_quality
bool cp_fixed_quality
allocation by fixed_quality
Definition: grok.h:453
J2K_MS_SOP
#define J2K_MS_SOP
SOP marker value.
Definition: CodeStream.h:89
grk::CodeStream::m_processors
std::map< uint32_t, TileProcessor * > m_processors
Definition: CodeStream.h:347
grk::j2k_update_tlm
void j2k_update_tlm(CodeStream *codeStream, uint16_t tile_index, uint32_t tile_part_size)
Updates the Tile Length Marker.
Definition: markers.cpp:2082
grk::j2k_mct_function
void(* j2k_mct_function)(const void *p_src_data, void *p_dest_data, uint64_t nb_elem)
Definition: markers.h:29
grk::j2k_write_float_to_int32
void j2k_write_float_to_int32(const void *p_src_data, void *p_dest_data, uint64_t nb_elem)
Definition: markers.cpp:90
_grk_image_comp::dx
uint32_t dx
XRsiz: horizontal separation of a sample of with component with respect to the reference grid.
Definition: grok.h:850
grk::marker_handler::callback
marker_callback callback
action linked to the marker
Definition: CodeStream.h:122
grk::j2k_decompress_tile
static bool j2k_decompress_tile(CodeStream *codeStream)
Definition: CodeStream.cpp:379
_grk_plugin_tile::decompress_flags
uint32_t decompress_flags
Definition: grok.h:1241
grk::lupSolve
static void lupSolve(float *pResult, float *pMatrix, float *pVector, uint32_t *pPermutations, uint32_t nb_compo, float *p_intermediate_data)
LUP solving.
Definition: CodeStream.cpp:857
grk::CodeStream::start_compress
bool start_compress(void)
Definition: CodeStream.cpp:1236
grk::matrix_inversion_f
static bool matrix_inversion_f(float *pSrcMatrix, float *pDestMatrix, uint32_t n)
Calculate a n x n double matrix inversion with a LUP method.
Definition: CodeStream.cpp:731
grk::j2k_write_float_to_float
void j2k_write_float_to_float(const void *p_src_data, void *p_dest_data, uint64_t nb_elem)
Definition: markers.cpp:94
grk::ICodeStream
Definition: CodeStream.h:125
GRK_IS_PART2
#define GRK_IS_PART2(v)
Definition: grok.h:150
grk::j2k_write_mct_data_group
bool j2k_write_mct_data_group(CodeStream *codeStream)
Writes the CBD-MCT-MCC-MCO markers (Multi components transform)
Definition: markers.cpp:1269
grk::CodeStream::read_header
bool read_header(grk_header_info *header_info, grk_image **p_image)
Main header reading function handler.
Definition: CodeStream.cpp:1023
grk::j2k_write_regions
bool j2k_write_regions(CodeStream *codeStream)
Writes regions of interests.
Definition: markers.cpp:1325
_grk_image::x1
uint32_t x1
Xsiz: width of the reference grid.
Definition: grok.h:887
grk::J2K_DEC_STATE_MH
@ J2K_DEC_STATE_MH
the decoding process is in the main header
Definition: CodingParams.h:286
J2K_MS_COC
#define J2K_MS_COC
COC marker value.
Definition: CodeStream.h:79
grk::j2k_procedure
bool(* j2k_procedure)(CodeStream *codeStream)
Definition: CodeStream.h:109
grk::TileCodingParams::m_mcc_records
grk_simple_mcc_decorrelation_data * m_mcc_records
mcc records
Definition: CodingParams.h:186
_grk_cparameters::cp_comment_len
uint16_t cp_comment_len[GRK_NUM_COMMENTS_SUPPORTED]
Definition: grok.h:456
_grk_poc::tile
uint32_t tile
Tile number.
Definition: grok.h:387
grk::grk_simple_mcc_decorrelation_data::m_decorrelation_array
grk_mct_data * m_decorrelation_array
Definition: CodingParams.h:110
grk::j2k_compress_validation
static bool j2k_compress_validation(CodeStream *codeStream)
The default compressing validation procedure without any extension.
Definition: CodeStream.cpp:447
_grk_jp2_color::icc_profile_buf
uint8_t * icc_profile_buf
Definition: grok.h:605
_grk_cparameters::max_comp_size
uint32_t max_comp_size
Maximum size (in bytes) for each component.
Definition: grok.h:519
grk::CodingParams::m_dec
DecodingParams m_dec
Definition: CodingParams.h:266
grk::TileComponentCodingParams::csty
uint8_t csty
coding style
Definition: CodingParams.h:52
_grk_dparameters::cp_reduce
uint8_t cp_reduce
Set the number of highest resolution levels to be discarded.
Definition: grok.h:678
grk::CodeStream::write_tile_part
bool write_tile_part(TileProcessor *tileProcessor)
Definition: CodeStream.cpp:2860
grk::ICodeStream::~ICodeStream
virtual ~ICodeStream()
Definition: CodeStream.h:127
grk::DecoderState::m_default_tcp
TileCodingParams * m_default_tcp
Definition: CodingParams.h:321
grk::j2k_end_encoding
static bool j2k_end_encoding(CodeStream *codeStream)
Ends the compressing, i.e.
Definition: CodeStream.cpp:595
J2K_MS_CRG
#define J2K_MS_CRG
CRG marker value.
Definition: CodeStream.h:91
grk::j2k_write_epc
bool j2k_write_epc(CodeStream *codeStream)
Writes EPC ????
Definition: markers.cpp:1341
_grk_cparameters::isHT
bool isHT
Definition: grok.h:483
_grk_cparameters::csty
uint8_t csty
csty : coding style
Definition: grok.h:460
GRK_J2K_MAXRLVLS
#define GRK_J2K_MAXRLVLS
Maximum number of resolution levels authorized.
Definition: grok.h:82
_grk_image
Image.
Definition: grok.h:879
_grk_header_info::tx0
uint32_t tx0
XTOsiz.
Definition: grok.h:642
grk::GRK_INFO
void GRK_INFO(const char *fmt,...)
Definition: logger.cpp:41
_grk_cparameters::t_height
uint32_t t_height
YTsiz.
Definition: grok.h:449
grk::default_align
const size_t default_align
Definition: MemManager.h:28
grk::CodeStream::get_cstr_index
grk_codestream_index * get_cstr_index()
Definition: CodeStream.cpp:1963
_grk_cparameters::cp_comment
char * cp_comment[GRK_NUM_COMMENTS_SUPPORTED]
comment for coding
Definition: grok.h:455
_grk_cparameters
Compress parameters.
Definition: grok.h:439
grk::EncodingParams::m_tp_pos
uint32_t m_tp_pos
Position of tile part flag in progression order.
Definition: CodingParams.h:208
grk::grk_tile::packno
uint64_t packno
Definition: TileProcessor.h:38
grk::cod_coc_len
const uint32_t cod_coc_len
Definition: CodeStream.h:36
grk::ICodeStream::decompress
virtual bool decompress(grk_plugin_tile *tile, grk_image *p_image)=0
_grk_image::y1
uint32_t y1
Ysiz: height of the reference grid.
Definition: grok.h:889
grk::j2k_mct_validation
static bool j2k_mct_validation(CodeStream *codeStream)
The mct compressing validation procedure.
Definition: CodeStream.cpp:443
_grk_image_comp::prec
uint8_t prec
precision
Definition: grok.h:866
grk::CodeStream::decompress_tile
bool decompress_tile()
Definition: CodeStream.cpp:2566
CodingParams.h
grk::CodeStream::decompress_tile_t2t1
bool decompress_tile_t2t1(TileProcessor *tileProcessor, bool multi_tile)
Definition: CodeStream.cpp:2501
_grk_cparameters::cblk_sty
uint8_t cblk_sty
code block style
Definition: grok.h:481
grk::SOTMarker
Definition: SOTMarker.h:28
GRK_RLCP
@ GRK_RLCP
resolution-layer-component-precinct order
Definition: grok.h:292
grk::GRK_ERROR
void GRK_ERROR(const char *fmt,...)
Definition: logger.cpp:57
grk::EncodingParams::m_disto_alloc
bool m_disto_alloc
allocation by rate/distortion
Definition: CodingParams.h:212
_grk_image_comp::owns_data
bool owns_data
Definition: grok.h:871
grk::grk_simple_mcc_decorrelation_data::m_nb_comps
uint32_t m_nb_comps
Definition: CodingParams.h:109
grk::CodingParams::rsiz
uint16_t rsiz
Rsiz.
Definition: CodingParams.h:237
grk::CodeStream::compress
bool compress(grk_plugin_tile *tile)
Definition: CodeStream.cpp:1715
grk_image_destroy
void GRK_CALLCONV grk_image_destroy(grk_image *image)
Deallocate all resources associated with an image.
Definition: grok.cpp:201
grk::grk_mct_data::m_array_type
J2K_MCT_ARRAY_TYPE m_array_type
Definition: CodingParams.h:98
grk::max_tile_part_size
const uint32_t max_tile_part_size
Definition: CodeStream.h:53
grk::FileFormat::alloc_palette
static void alloc_palette(grk_jp2_color *color, uint8_t num_channels, uint16_t num_entries)
Definition: FileFormat.cpp:2928
grk::TileComponentCodingParams::cblkw
uint8_t cblkw
log2(code-blocks width)
Definition: CodingParams.h:56
grk::CodingParams::comment_len
uint16_t comment_len[GRK_NUM_COMMENTS_SUPPORTED]
Definition: CodingParams.h:253
grk::CodeStream::need_nb_tile_parts_correction
bool need_nb_tile_parts_correction(bool *p_correction_needed)
Checks for invalid number of tile-parts in SOT marker (TPsot==TNsot).
Definition: CodeStream.cpp:3184
grk::TileCodingParams::isHT
bool isHT
Definition: CodingParams.h:199
grk::CodeStream::read_marker
bool read_marker(void)
Definition: CodeStream.cpp:2084
grk::MCT_TYPE_DECORRELATION
@ MCT_TYPE_DECORRELATION
Definition: CodingParams.h:42
grk::CodeStream::end_decompress
bool end_decompress(void)
Reading function used after code stream if necessary.
Definition: CodeStream.cpp:1224
grk::ICodeStream::compress_tile
virtual bool compress_tile(uint16_t tile_index, uint8_t *p_data, uint64_t data_size)=0
J2K_MS_COM
#define J2K_MS_COM
COM marker value.
Definition: CodeStream.h:92
grk::j2k_read_cbd
bool j2k_read_cbd(CodeStream *codeStream, uint8_t *p_header_data, uint16_t header_size)
Reads a CBD marker (Component bit depth definition)
Definition: markers.cpp:2024
grk::j2k_write_all_qcc
bool j2k_write_all_qcc(CodeStream *codeStream)
Writes QCC marker for each component.
Definition: markers.cpp:1311
grk::CodingParams::ty0
uint32_t ty0
YTOsiz.
Definition: CodingParams.h:245
_grk_image::x0
uint32_t x0
XOsiz: horizontal offset from the origin of the reference grid to the left side of the image area.
Definition: grok.h:882
grk::Profile::is_broadcast_compliant
static bool is_broadcast_compliant(grk_cparameters *parameters, grk_image *image)
Definition: Profile.cpp:638
grk::CodeStream::post_write_tile
bool post_write_tile(TileProcessor *tileProcessor)
Definition: CodeStream.cpp:2909