Grok  7.6.0
SOTMarker.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 namespace grk {
25 
26 struct TileProcessor;
27 
28 class SOTMarker {
29 public:
30 
32  SOTMarker(void);
33 
40  bool write(CodeStream *codeStream, TileProcessor *tileProcessor);
41 
42  bool write_psot(uint32_t tile_part_bytes_written);
43 
53  bool read(CodeStream *codeStream, TileProcessor *tileProcessor, uint8_t *p_header_data,
54  uint16_t header_size);
55 
70  bool get_sot_values(uint8_t *p_header_data, uint32_t header_size,
71  uint16_t *tile_no, uint32_t *p_tot_len, uint8_t *p_current_part,
72  uint8_t *p_num_parts);
73 private:
75  uint64_t m_psot_location;
76 
77 };
78 
79 } /* namespace grk */
80 
grk::SOTMarker::SOTMarker
SOTMarker(BufferedStream *stream)
grk::TileProcessor
Tile coder/decoder.
Definition: TileProcessor.h:211
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)
grk::BufferedStream
Byte input-output stream.
Definition: BufferedStream.h:38
grk::SOTMarker::SOTMarker
SOTMarker(void)
grk::SOTMarker::m_stream
BufferedStream * m_stream
Definition: SOTMarker.h:74
grk::CodeStream
Definition: CodeStream.h:130
grk::SOTMarker::write_psot
bool write_psot(uint32_t tile_part_bytes_written)
grk::SOTMarker::m_psot_location
uint64_t m_psot_location
Definition: SOTMarker.h:75
grk
Copyright (C) 2016-2020 Grok Image Compression Inc.
Definition: BitIO.h:27
grk::SOTMarker::write
bool write(CodeStream *codeStream, TileProcessor *tileProcessor)
Writes the SOT marker (Start of tile-part)
grk::SOTMarker::read
bool read(CodeStream *codeStream, TileProcessor *tileProcessor, uint8_t *p_header_data, uint16_t header_size)
Decode a SOT marker (Start of tile-part)
grk::SOTMarker
Definition: SOTMarker.h:28