Grok 12.0.1
PPMMarker.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2016-2024 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
26namespace grk
27{
28struct grk_ppx
29{
30 uint8_t* data_; /* data_ == nullptr => Zppx not read yet */
32};
33
35{
36 public:
37 PPMMarker();
38 ~PPMMarker();
39
48
53 bool merge(void);
54
55 std::vector<grk_buf8> packetHeaders;
56
57 private:
62
65};
66
67} /* namespace grk */
Definition PPMMarker.h:35
grk_ppx * markers
ppm markers data (table indexed by Zppm)
Definition PPMMarker.h:61
std::vector< grk_buf8 > packetHeaders
Definition PPMMarker.h:55
PPMMarker()
Definition PPMMarker.cpp:26
uint8_t * buffer
packet header storage original buffer
Definition PPMMarker.h:64
bool merge(void)
Merges all PPM markers read (Packed headers, main header)
Definition PPMMarker.cpp:108
uint32_t markers_count
number of ppm markers (reserved size)
Definition PPMMarker.h:59
bool read(uint8_t *headerData, uint16_t header_size)
Read a PPM marker (Packed headers, main header)
Definition PPMMarker.cpp:43
~PPMMarker()
Definition PPMMarker.cpp:28
Copyright (C) 2016-2024 Grok Image Compression Inc.
Definition ICacheable.h:20
void grk_read(const uint8_t *buffer, TYPE *value, uint32_t numBytes)
Definition BufferedStream.h:239
Definition PPMMarker.h:29
uint32_t data_size_
Definition PPMMarker.h:31
uint8_t * data_
Definition PPMMarker.h:30