Skip to content

Commit e3f07e3

Browse files
author
Grok Compression
committed
PacketParser: simplify
1 parent 420ca81 commit e3f07e3

File tree

2 files changed

+25
-24
lines changed

2 files changed

+25
-24
lines changed

src/lib/core/t2/PacketParser.cpp

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,11 @@ namespace grk
2323
PacketParser::PacketParser(TileProcessor* tileProcessor, uint16_t packetSequenceNumber,
2424
uint16_t compno, uint8_t resno, uint64_t precinctIndex, uint16_t layno,
2525
uint32_t plLength, SparseBuffer* compressedPackets)
26-
: tileProcessor_(tileProcessor), packetSequenceNumber_(packetSequenceNumber), compno_(compno),
27-
resno_(resno), precinctIndex_(precinctIndex), layno_(layno), packets_(compressedPackets),
26+
: tileProcessor_(tileProcessor), tileIndex_(tileProcessor->getIndex()),
27+
packetSequenceNumber_(packetSequenceNumber), compno_(compno), resno_(resno),
28+
precinctIndex_(precinctIndex), layno_(layno), packets_(compressedPackets),
2829
layerData_(compressedPackets->chunkPtr()),
29-
layerBytesAvailable_(compressedPackets->chunkLength()), tagBitsPresent_(false),
30-
headerLength_(0), signalledLayerDataBytes_(0), plLength_(plLength), parsedHeader_(false),
31-
headerError_(false)
30+
layerBytesAvailable_(compressedPackets->chunkLength()), plLength_(plLength)
3231
{}
3332
void PacketParser::print(void)
3433
{
@@ -98,14 +97,13 @@ uint32_t PacketParser::readHeader(void)
9897
auto cp = tileProcessor_->getCodingParams();
9998
if(cp->ppmMarkers_)
10099
{
101-
if(tileProcessor_->getIndex() >= cp->ppmMarkers_->packetHeaders.size())
100+
if(tileIndex_ >= cp->ppmMarkers_->packetHeaders.size())
102101
{
103-
grklog.error("PPM marker has no packed packet header data for tile %u",
104-
tileProcessor_->getIndex() + 1);
102+
grklog.error("PPM marker has no packed packet header data for tile %u", tileIndex_ + 1);
105103
headerError_ = true;
106104
throw t1::CorruptPacketHeaderException();
107105
}
108-
auto header = &cp->ppmMarkers_->packetHeaders[tileProcessor_->getIndex()];
106+
auto header = &cp->ppmMarkers_->packetHeaders[tileIndex_];
109107
headerStart = header->ptr_to_buf();
110108
remainingBytes = header->num_elts_ptr();
111109
}
@@ -152,7 +150,7 @@ uint32_t PacketParser::readHeader(void)
152150
incl->decode(bio.get(), cblkno, layno_ + 1, &value);
153151
if(value != incl->getUninitializedValue() && value != layno_)
154152
{
155-
grklog.warn("Tile number: %u", tileProcessor_->getIndex() + 1);
153+
grklog.warn("Tile number: %u", tileIndex_ + 1);
156154
std::string msg = "Corrupt inclusion tag tree found when decoding packet header.";
157155
grklog.warn("%s", msg.c_str());
158156
throw t1::CorruptPacketHeaderException();

src/lib/core/t2/PacketParser.h

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -86,78 +86,80 @@ class PacketParser
8686
*/
8787
TileProcessor* tileProcessor_;
8888

89+
uint16_t tileIndex_ = 0;
90+
8991
/**
9092
* @brief packet sequence number
9193
*
9294
* This is the generated packet sequence number. We compare to the signalled
9395
* sequence number to detect pack stream corruption
9496
*/
95-
uint16_t packetSequenceNumber_;
97+
uint16_t packetSequenceNumber_ = 0;
9698

9799
/**
98100
* @brief component number
99101
*/
100-
uint16_t compno_;
102+
uint16_t compno_ = 0;
101103

102104
/**
103105
* @brief resolution number
104106
*/
105-
uint8_t resno_;
107+
uint8_t resno_ = 0;
106108

107109
/**
108110
* @brief precinct index
109111
*/
110-
uint64_t precinctIndex_;
112+
uint64_t precinctIndex_ = 0;
111113

112114
/**
113115
* @brief layer number
114116
*/
115-
uint16_t layno_;
117+
uint16_t layno_ = 0;
116118

117119
/**
118120
* @brief @ref SparseBuffer of all packets
119121
*/
120-
SparseBuffer* packets_;
122+
SparseBuffer* packets_ = nullptr;
121123

122124
/**
123125
* @brief packets_ current chunk pointer aka layer data
124126
*/
125-
uint8_t* layerData_;
127+
uint8_t* layerData_ = nullptr;
126128

127129
/**
128130
* @brief all available bytes in layer (includes packet header and data)
129131
*/
130-
size_t layerBytesAvailable_;
132+
size_t layerBytesAvailable_ = 0;
131133

132134
/**
133135
* @brief true if tag bits present in packet header
134136
*/
135-
bool tagBitsPresent_;
137+
bool tagBitsPresent_ = false;
136138

137139
/**
138140
* @brief packet header length - does not include packed header bytes
139141
*/
140-
uint32_t headerLength_;
142+
uint32_t headerLength_ = 0;
141143

142144
/**
143145
* @brief length of packet data as signalled in packet header
144146
*/
145-
uint32_t signalledLayerDataBytes_;
147+
uint32_t signalledLayerDataBytes_ = 0;
146148

147149
/**
148150
* @brief total packet length as signalled in marker (PLT/PLM)
149151
*/
150-
uint32_t plLength_;
152+
uint32_t plLength_ = 0;
151153

152154
/**
153155
* @brief true if header has been parsed
154156
*/
155-
bool parsedHeader_;
157+
bool parsedHeader_ = false;
156158

157159
/**
158160
* @brief true of there was an error reading the header
159161
*/
160-
bool headerError_;
162+
bool headerError_ = false;
161163
};
162164

163165
/**
@@ -259,6 +261,7 @@ struct AllLayersPrecinctPacketParser
259261
* @brief @ref TileProcessor
260262
*/
261263
TileProcessor* tileProcessor_;
264+
262265
/**
263266
* @brief Queue of @ref PacketParser
264267
*/

0 commit comments

Comments
 (0)