Grok 12.0.1
PacketParser.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#pragma once
18
19#include <cstdint>
20#include <map>
21
22namespace grk
23{
24
25struct TileProcessor;
26
63
74
75struct TileProcessor;
76
78{
79 ParserMap(TileProcessor* tileProcessor);
80 ~ParserMap();
81 void pushParser(uint64_t precinctIndex, PacketParser* parser);
82
84 std::map<uint64_t, PrecinctPacketParsers*> precinctParsers_;
85};
86
87} // namespace grk
Definition PacketParser.h:28
void readDataFinalize(void)
Definition PacketParser.cpp:450
bool tagBitsPresent_
Definition PacketParser.h:54
uint8_t * data_
Definition PacketParser.h:51
PacketParser(TileProcessor *tileProcessor, uint16_t packetSequenceNumber, uint16_t compno, uint8_t resno, uint64_t precinctIndex, uint16_t layno, uint8_t *data, uint32_t lengthFromMarker, size_t tileBytes, size_t remainingTilePartBytes)
Definition PacketParser.cpp:22
uint64_t precinctIndex_
Definition PacketParser.h:49
uint32_t numSignalledDataBytes(void)
Definition PacketParser.cpp:52
uint32_t lengthFromMarker_
Definition PacketParser.h:59
size_t remainingTilePartBytes_
Definition PacketParser.h:53
uint32_t numSignalledBytes(void)
Definition PacketParser.cpp:60
uint32_t readDataBytes_
Definition PacketParser.h:58
uint16_t packetSequenceNumber_
Definition PacketParser.h:46
void readData(void)
Definition PacketParser.cpp:360
uint16_t layno_
Definition PacketParser.h:50
TileProcessor * tileProcessor_
Definition PacketParser.h:45
bool parsedHeader_
Definition PacketParser.h:60
uint32_t numReadDataBytes(void)
Definition PacketParser.cpp:56
bool headerError_
Definition PacketParser.h:61
uint32_t signalledDataBytes_
Definition PacketParser.h:57
uint32_t packetHeaderBytes_
Definition PacketParser.h:56
uint16_t compno_
Definition PacketParser.h:47
void initSegment(DecompressCodeblock *cblk, uint32_t index, uint8_t cblk_sty, bool first)
Definition PacketParser.cpp:333
virtual ~PacketParser(void)=default
uint32_t numHeaderBytes(void)
Definition PacketParser.cpp:48
void readHeader(void)
Definition PacketParser.cpp:65
size_t tileBytes_
Definition PacketParser.h:52
uint8_t resno_
Definition PacketParser.h:48
void print(void)
Definition PacketParser.cpp:32
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 Codeblock.h:178
Definition PacketParser.h:78
void pushParser(uint64_t precinctIndex, PacketParser *parser)
Definition PacketParser.cpp:497
~ParserMap()
Definition PacketParser.cpp:491
std::map< uint64_t, PrecinctPacketParsers * > precinctParsers_
Definition PacketParser.h:84
TileProcessor * tileProcessor_
Definition PacketParser.h:83
ParserMap(TileProcessor *tileProcessor)
Definition PacketParser.cpp:489
Definition PacketParser.h:65
uint16_t allocatedParsers_
Definition PacketParser.h:72
void pushParser(PacketParser *parser)
Definition PacketParser.cpp:477
TileProcessor * tileProcessor_
Definition PacketParser.h:69
PrecinctPacketParsers(TileProcessor *tileProcessor)
Definition PacketParser.cpp:457
PacketParser ** parsers_
Definition PacketParser.h:70
uint16_t numParsers_
Definition PacketParser.h:71
~PrecinctPacketParsers(void)
Definition PacketParser.cpp:470
Definition TileProcessor.h:78