Grok  10.0.3
SOTMarker.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016-2022 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 class CodeStreamCompress;
28 class CodeStreamDecompress;
29 
30 class SOTMarker
31 {
32  public:
33  SOTMarker(void);
34 
39  bool write(TileProcessor* proc, uint32_t tileLength);
40  bool write_psot(IBufferedStream* stream, uint32_t tileLength);
41 
49  bool read(CodeStreamDecompress* codeStream, uint8_t* headerData, uint16_t header_size);
50 
51  private:
52  uint64_t psot_location_;
53 
67  bool read(CodeStreamDecompress* codeStream, uint8_t* headerData, uint32_t header_size,
68  uint32_t* tot_len, uint16_t* tileIndex, uint8_t* current_part, uint8_t* num_parts);
69 };
70 
71 } /* namespace grk */
Definition: CodeStreamDecompress.h:38
Definition: SOTMarker.h:31
uint64_t psot_location_
Definition: SOTMarker.h:52
bool read(CodeStreamDecompress *codeStream, uint8_t *headerData, uint16_t header_size)
Decompress a SOT marker (Start of tile-part)
Definition: SOTMarker.cpp:116
SOTMarker(void)
Definition: SOTMarker.cpp:26
bool write_psot(IBufferedStream *stream, uint32_t tileLength)
Definition: SOTMarker.cpp:27
bool write(TileProcessor *proc, uint32_t tileLength)
Writes the SOT marker (Start of tile-part)
Definition: SOTMarker.cpp:41
Copyright (C) 2016-2022 Grok Image Compression Inc.
Definition: ICacheable.h:20
Definition: IBufferedStream.h:20
Definition: TileProcessor.h:78