Grok 20.3.2
grk::MarkerParser Struct Reference

#include <MarkerParser.h>

Public Member Functions

 MarkerParser ()=default
 ~MarkerParser ()
 MarkerParser (const MarkerParser &)=delete
MarkerParseroperator= (const MarkerParser &)=delete
void add (const uint16_t id, IMarkerProcessor *processor)
void add (const std::initializer_list< std::pair< const uint16_t, IMarkerProcessor * > > &newMarkers)
void clearProcessors (void)
void setStream (IStream *stream, bool ownsStream)
IMarkerProcessorcurrentProcessor (void)
uint16_t currId (void)
void synch (uint16_t markerId)
bool checkForIllegalTilePart (void)
 Check for corrupt images with extra tile parts.
void setSOT (void)
bool readSOTorEOC (void)
 Reads next marker, which should be either SOT or EOC.
bool endOfCodeStream (void)
 Checks if end of code stream has been reached.
bool readSOTafterSOD (void)
 Reads next SOT after SOD The marker could also be EOC.
bool readId (bool suppressWarning)
std::pair< bool, uint16_t > processMarker ()
bool process (const IMarkerProcessor *processor, uint16_t markerBodyLength)
IStreamgetStream ()

Static Public Member Functions

static bool readShort (IStream *stream, uint16_t *val)

Static Private Member Functions

static std::string markerString (uint16_t marker)

Private Attributes

std::unordered_map< uint16_t, IMarkerProcessor * > processors_
uint16_t currMarkerId_ = 0
IStreamstream_ = nullptr
bool ownsStream_ = false
MarkerScratch scratch_
bool foundEOC_ = false

Constructor & Destructor Documentation

◆ MarkerParser() [1/2]

grk::MarkerParser::MarkerParser ( )
default

Referenced by MarkerParser(), and operator=().

◆ ~MarkerParser()

grk::MarkerParser::~MarkerParser ( )

References ownsStream_, processors_, and stream_.

◆ MarkerParser() [2/2]

grk::MarkerParser::MarkerParser ( const MarkerParser & )
delete

References MarkerParser().

Member Function Documentation

◆ add() [1/2]

void grk::MarkerParser::add ( const std::initializer_list< std::pair< const uint16_t, IMarkerProcessor * > > & newMarkers)

References grk::grklog, and processors_.

◆ add() [2/2]

void grk::MarkerParser::add ( const uint16_t id,
IMarkerProcessor * processor )

◆ checkForIllegalTilePart()

bool grk::MarkerParser::checkForIllegalTilePart ( void )

Check for corrupt images with extra tile parts.

Returns
true if image is corrupt

References processMarker().

◆ clearProcessors()

void grk::MarkerParser::clearProcessors ( void )

◆ currentProcessor()

IMarkerProcessor * grk::MarkerParser::currentProcessor ( void )

References currMarkerId_, grk::grklog, and processors_.

Referenced by processMarker().

◆ currId()

uint16_t grk::MarkerParser::currId ( void )

References currMarkerId_.

Referenced by readSOTafterSOD().

◆ endOfCodeStream()

bool grk::MarkerParser::endOfCodeStream ( void )

Checks if end of code stream has been reached.

Returns
true if end of code stream has been reached

References foundEOC_, and stream_.

◆ getStream()

IStream * grk::MarkerParser::getStream ( void )

References stream_.

◆ markerString()

std::string grk::MarkerParser::markerString ( uint16_t marker)
staticprivate

◆ operator=()

MarkerParser & grk::MarkerParser::operator= ( const MarkerParser & )
delete

References MarkerParser().

◆ process()

bool grk::MarkerParser::process ( const IMarkerProcessor * processor,
uint16_t markerBodyLength )

References scratch_.

Referenced by processMarker().

◆ processMarker()

std::pair< bool, uint16_t > grk::MarkerParser::processMarker ( void )

◆ readId()

bool grk::MarkerParser::readId ( bool suppressWarning)

◆ readShort()

bool grk::MarkerParser::readShort ( IStream * stream,
uint16_t * val )
static

◆ readSOTafterSOD()

bool grk::MarkerParser::readSOTafterSOD ( void )

Reads next SOT after SOD The marker could also be EOC.

Returns
true if successful

References currId(), grk::EOC, foundEOC_, grk::grklog, readId(), grk::SOT, and stream_.

◆ readSOTorEOC()

bool grk::MarkerParser::readSOTorEOC ( void )

Reads next marker, which should be either SOT or EOC.

Returns
true if SOT or EOC was read

References currMarkerId_, grk::EOC, grk::grklog, markerString(), readId(), and grk::SOT.

◆ setSOT()

void grk::MarkerParser::setSOT ( void )

References currMarkerId_, foundEOC_, and grk::SOT.

◆ setStream()

void grk::MarkerParser::setStream ( IStream * stream,
bool ownsStream )

References ownsStream_, scratch_, and stream_.

◆ synch()

void grk::MarkerParser::synch ( uint16_t markerId)

References currMarkerId_.

Member Data Documentation

◆ currMarkerId_

uint16_t grk::MarkerParser::currMarkerId_ = 0
private

◆ foundEOC_

bool grk::MarkerParser::foundEOC_ = false
private

◆ ownsStream_

bool grk::MarkerParser::ownsStream_ = false
private

Referenced by setStream(), and ~MarkerParser().

◆ processors_

std::unordered_map<uint16_t, IMarkerProcessor*> grk::MarkerParser::processors_
private

◆ scratch_

MarkerScratch grk::MarkerParser::scratch_
private

Referenced by process(), and setStream().

◆ stream_

IStream* grk::MarkerParser::stream_ = nullptr
private

The documentation for this struct was generated from the following files: