Grok  10.0.3
SIZMarker.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 class CodeStreamDecompress;
27 class CodeStreamCompress;
28 
29 class SIZMarker
30 {
31  public:
39  bool read(CodeStreamDecompress* codeStream, uint8_t* headerData, uint16_t header_size);
40 
48  bool write(CodeStreamCompress* codeStream, IBufferedStream* stream);
49 
50  private:
51  void subsampleAndReduceHeaderImageComponents(GrkImage* headerImage, const CodingParams* p_cp);
52 };
53 
54 } // namespace grk
Definition: CodeStreamCompress.h:29
Definition: CodeStreamDecompress.h:38
Definition: GrkImage.h:25
Definition: SIZMarker.h:30
bool read(CodeStreamDecompress *codeStream, uint8_t *headerData, uint16_t header_size)
Decompress a SIZ marker (image and tile size)
Definition: SIZMarker.cpp:61
bool write(CodeStreamCompress *codeStream, IBufferedStream *stream)
Write the SIZ marker (image and tile size)
Definition: SIZMarker.cpp:268
void subsampleAndReduceHeaderImageComponents(GrkImage *headerImage, const CodingParams *p_cp)
Apply resolution reduction to header image components.
Definition: SIZMarker.cpp:31
Copyright (C) 2016-2022 Grok Image Compression Inc.
Definition: ICacheable.h:20
Coding parameters.
Definition: CodingParams.h:245
Definition: IBufferedStream.h:20