|
Grok 20.3.2
|
Parses packet header and packer data. More...
#include <PacketParser.h>
Public Member Functions | |
| PacketParser (ITileProcessor *tileProcessor, uint16_t packetSequenceNumber, uint16_t compno, uint8_t resno, uint64_t precinctIndex, uint16_t layno, uint32_t cachedLength, SparseBuffer *compressedPackets) | |
| Constructs PacketParser. | |
| virtual | ~PacketParser (void)=default |
| Destroys PacketParser. | |
| uint32_t | readHeader (void) |
| Reads packet header. | |
| uint32_t | getHeaderLength (void) const |
| Gets packet header length (valid after readHeader). | |
| void | parsePacketData (void) |
| void | print (void) |
| Printout for debugging. | |
Private Member Functions | |
| void | readData (void) |
| Reads packet data. | |
| void | readDataFinalize (void) |
| Finalizes packet data reading after it is complete. | |
Private Attributes | |
| ITileProcessor * | tileProcessor_ |
| tile processor | |
| uint16_t | tileIndex_ = 0 |
| uint16_t | packetSequenceNumber_ = 0 |
| packet sequence number | |
| uint16_t | compno_ = 0 |
| component number | |
| uint8_t | resno_ = 0 |
| resolution number | |
| uint64_t | precinctIndex_ = 0 |
| precinct index | |
| uint16_t | layno_ = 0 |
| layer number | |
| SparseBuffer * | packets_ = nullptr |
| SparseBuffer of all packets | |
| uint8_t * | layerData_ = nullptr |
| packets_ current chunk pointer aka layer data | |
| size_t | layerBytesAvailable_ = 0 |
| all available bytes in layer (includes packet header and data) | |
| bool | tagBitsPresent_ = false |
| true if tag bits present in packet header | |
| uint32_t | headerLength_ = 0 |
| packet header length - does not include packed header bytes | |
| uint32_t | signalledLayerDataBytes_ = 0 |
| length of packet data as signalled in packet header | |
| uint32_t | plLength_ = 0 |
| total packet length as signalled in marker (PLT/PLM) | |
| bool | parsedHeader_ = false |
| true if header has been parsed | |
| bool | headerError_ = false |
| true of there was an error reading the header | |
Parses packet header and packer data.
| grk::PacketParser::PacketParser | ( | ITileProcessor * | tileProcessor, |
| uint16_t | packetSequenceNumber, | ||
| uint16_t | compno, | ||
| uint8_t | resno, | ||
| uint64_t | precinctIndex, | ||
| uint16_t | layno, | ||
| uint32_t | cachedLength, | ||
| SparseBuffer * | compressedPackets ) |
Constructs PacketParser.
| tileProcessor | TileProcssor |
| packetSequenceNumber | packet sequence number |
| compno | component number |
| resno | resolution number |
| precinctIndex | precinct index |
| layno | layer number |
| cachedLength | signalled length from PLT/PLM marker, or cached length from previous read of header |
| compressedPackets | SparseBuffer holding packets |
References compno_, layerBytesAvailable_, layerData_, layno_, packets_, packetSequenceNumber_, plLength_, precinctIndex_, resno_, tileIndex_, and tileProcessor_.
|
virtualdefault |
Destroys PacketParser.
| uint32_t grk::PacketParser::getHeaderLength | ( | void | ) | const |
Gets packet header length (valid after readHeader).
References headerLength_.
Referenced by grk::T2Decompress::parsePacket().
| void grk::PacketParser::parsePacketData | ( | void | ) |
References readData(), and readHeader().
Referenced by grk::T2Decompress::parsePacketData().
| void grk::PacketParser::print | ( | void | ) |
Printout for debugging.
References compno_, headerLength_, layerBytesAvailable_, layno_, packets_, plLength_, precinctIndex_, resno_, signalledLayerDataBytes_, and tagBitsPresent_.
|
private |
Reads packet data.
References compno_, grk::grklog, layerBytesAvailable_, layerData_, layno_, precinctIndex_, readDataFinalize(), resno_, signalledLayerDataBytes_, tagBitsPresent_, and tileProcessor_.
Referenced by parsePacketData().
|
private |
Finalizes packet data reading after it is complete.
References tileProcessor_.
Referenced by readData().
| uint32_t grk::PacketParser::readHeader | ( | void | ) |
Reads packet header.
References compno_, grk::CP_CSTY_EPH, grk::CP_CSTY_SOP, grk::EPH, grk::grklog, headerError_, headerLength_, layerBytesAvailable_, layerData_, layno_, grk::maxBitPlanesJ2K, packets_, packetSequenceNumber_, parsedHeader_, plLength_, precinctIndex_, resno_, signalledLayerDataBytes_, grk::SOP, tagBitsPresent_, tileIndex_, and tileProcessor_.
Referenced by grk::T2Decompress::parsePacket(), and parsePacketData().
|
private |
component number
Referenced by PacketParser(), print(), readData(), and readHeader().
|
private |
true of there was an error reading the header
Referenced by readHeader().
|
private |
packet header length - does not include packed header bytes
Referenced by getHeaderLength(), print(), and readHeader().
|
private |
all available bytes in layer (includes packet header and data)
Referenced by PacketParser(), print(), readData(), and readHeader().
|
private |
packets_ current chunk pointer aka layer data
Referenced by PacketParser(), readData(), and readHeader().
|
private |
layer number
Referenced by PacketParser(), print(), readData(), and readHeader().
|
private |
SparseBuffer of all packets
Referenced by PacketParser(), print(), and readHeader().
|
private |
packet sequence number
This is the generated packet sequence number. We compare to the signalled sequence number to detect pack stream corruption
Referenced by PacketParser(), and readHeader().
|
private |
true if header has been parsed
Referenced by readHeader().
|
private |
total packet length as signalled in marker (PLT/PLM)
Referenced by PacketParser(), print(), and readHeader().
|
private |
precinct index
Referenced by PacketParser(), print(), readData(), and readHeader().
|
private |
resolution number
Referenced by PacketParser(), print(), readData(), and readHeader().
|
private |
length of packet data as signalled in packet header
Referenced by print(), readData(), and readHeader().
|
private |
true if tag bits present in packet header
Referenced by print(), readData(), and readHeader().
|
private |
Referenced by PacketParser(), and readHeader().
|
private |
tile processor
Referenced by PacketParser(), readData(), readDataFinalize(), and readHeader().