|
Grok 20.3.2
|
Interface for managing tile compression. More...
#include <ITileProcessorCompress.h>
Public Member Functions | |
| virtual | ~ITileProcessorCompress ()=default |
| Destroys the TileProcessorCompress. | |
| virtual PacketTracker * | getPacketTracker (void)=0 |
| Gets the packet tracker. | |
| virtual bool | preCompressTile (size_t thread_id)=0 |
| Pre-compresses the tile (compression-only preparation). | |
| virtual bool | canWritePocMarker (void)=0 |
| Checks whether a POC marker can be written for this tile. | |
| virtual bool | writeTilePartT2 (uint32_t *tileBytesWritten)=0 |
| Writes the T2 part of the current tile part. | |
| virtual bool | doCompress (void)=0 |
| Performs the full tile compression (T1 + T2 + rate allocation). | |
| virtual bool | ingestUncompressedData (uint8_t *p_src, uint64_t src_length)=0 |
| Ingests uncompressed image data into the tile. | |
| virtual bool | needsRateControl (void)=0 |
| Checks whether rate control is required for this tile. | |
| virtual uint32_t | getPreCalculatedTileLen (void)=0 |
| Gets the pre-calculated tile length (for rate control optimization). | |
| virtual bool | canPreCalculateTileLen (void)=0 |
| Checks whether the tile length can be pre-calculated. | |
| virtual void | setFirstPocTilePart (bool res)=0 |
| Sets whether this tile part is the first POC tile part. | |
| virtual void | setProgIterNum (uint32_t num)=0 |
| Sets the current progression iterator number. | |
| virtual uint8_t | getTilePartCounter (void) const =0 |
| Gets the current tile-part counter. | |
| virtual void | incTilePartCounter (void)=0 |
| Increments the tile-part counter. | |
| Public Member Functions inherited from grk::ITileProcessor | |
| virtual | ~ITileProcessor ()=default |
| Destroys the TileProcessor. | |
| virtual void | setProcessors (MarkerParser *parser)=0 |
| Sets the marker parser for processing. | |
| virtual bool | init (void)=0 |
| Initializes the TileProcessor. | |
| virtual void | setStream (IStream *stream, bool ownsStream)=0 |
| Sets the stream for input/output operations. | |
| virtual bool | decompressWithTLM (const std::shared_ptr< TPFetchSeq > &tilePartFetchSeq, CoderPool *streamPool, Rect32 unreducedImageBounds, std::function< void()> post, TileFutureManager &futures)=0 |
| Decompresses the tile using Tile Length Markers (TLM). | |
| virtual bool | decompressPrepareWithTLM (const std::shared_ptr< TPFetchSeq > &tilePartFetchSeq)=0 |
| Prepares for decompression using Tile Length Markers (TLM). | |
| virtual bool | doPostT1 (void)=0 |
| Performs post-T1 processing. | |
| virtual void | prepareForDecompression (void)=0 |
| Prepares the processor for decompression. | |
| virtual bool | parseTilePart (std::vector< std::unique_ptr< MarkerParser > > *parsers, IStream *bifurcatedStream, uint16_t mainMarkerId, TilePartInfo tilePartInfo)=0 |
| Parses a tile part. | |
| virtual bool | decompressFromCachedTileParts ()=0 |
| Parse tile-part packets using cached SOT offsets from tilePartSeq_, without re-reading SOT markers. | |
| virtual bool | readSOT (IStream *stream, uint8_t *headerData, uint16_t headerSize, TilePartInfo &tilePartInfo, bool needToReadIndexAndLength)=0 |
| Reads the Start of Tile (SOT) marker. | |
| virtual void | scheduleAndRunDecompress (CoderPool *coderPool, Rect32 unreducedImageBounds, std::function< void()> post, TileFutureManager &futures)=0 |
| Schedules T2/T1 decompression tasks. | |
| virtual void | post_decompressT2T1 (GrkImage *scratch)=0 |
| Performs post-T2+T1 decompression processing. | |
| virtual bool | differentialUpdate (Rect32 unreducedImageBounds)=0 |
| Updates the differential decompression state. | |
| virtual GrkImage * | getImage (void)=0 |
| Gets the associated GrkImage for the tile. | |
| virtual void | setImage (GrkImage *img)=0 |
| Sets the associated GrkImage for the tile. | |
| virtual Rect32 | getUnreducedTileWindow (void)=0 |
| Gets the unreduced tile window. | |
| virtual TileCodingParams * | getTCP (void)=0 |
| Gets the Tile Coding Parameters (TCP). | |
| virtual uint8_t | getMaxNumDecompressResolutions (void)=0 |
| Gets the maximum number of decompress resolutions. | |
| virtual IStream * | getStream (void)=0 |
| Gets the associated stream. | |
| virtual uint16_t | getIndex (void) const =0 |
| Gets the tile index. | |
| virtual void | incrementIndex (void)=0 |
| Increments the tile index. | |
| virtual Tile * | getTile (void)=0 |
| Gets the associated Tile. | |
| virtual grk_progression_state | getProgressionState ()=0 |
| Gets the progression state. | |
| virtual CodecScheduler * | getScheduler (void)=0 |
| Gets the codec scheduler. | |
| virtual bool | isCompressor (void)=0 |
| Checks if the processor is in compressor mode. | |
| virtual uint64_t | getNumProcessedPackets (void)=0 |
| Gets the number of processed packets. | |
| virtual void | incNumProcessedPackets (void)=0 |
| Increments the number of processed packets by 1. | |
| virtual void | incNumProcessedPackets (uint64_t numPackets)=0 |
| Increments the number of processed packets by a specified amount. | |
| virtual void | incNumReadDataPackets (void)=0 |
| Increments the number of read data packets by 1. | |
| virtual uint32_t | getTileCacheStrategy (void)=0 |
| Gets the tile cache strategy. | |
| virtual grk_plugin_tile * | getCurrentPluginTile (void) const =0 |
| Gets the current plugin tile. | |
| virtual void | setCurrentPluginTile (grk_plugin_tile *tile)=0 |
| Sets the current plugin tile. | |
| virtual CodingParams * | getCodingParams (void)=0 |
| Gets the coding parameters. | |
| virtual GrkImage * | getHeaderImage (void)=0 |
| Gets the header image. | |
| virtual std::shared_ptr< PacketLengthCache< uint32_t > > | getPacketLengthCache (void)=0 |
| Gets the packet length cache. | |
| virtual bool | needsMctDecompress (uint16_t compno)=0 |
| Checks if MCT decompression is needed for a specific component. | |
| virtual bool | needsMctDecompress (void)=0 |
| Checks if MCT decompression is needed overall. | |
| virtual bool | shouldDecodeComponent (uint16_t compno)=0 |
| Check if a component should be decoded based on user selection. | |
| virtual Mct * | getMCT (void)=0 |
| Gets the MCT (Multi-Component Transform) object. | |
| virtual void | release (void)=0 |
| Releases all resources (image and tile). | |
| virtual void | release (uint32_t strategy)=0 |
| Releases select resources based on strategy. | |
| virtual void | releaseForSwath ()=0 |
| Unconditionally releases both image and tile data (swath consumer path). | |
| virtual bool | readPLT (uint8_t *headerData, uint16_t headerSize)=0 |
| Reads a PLT marker (Packet length, tile-part header). | |
| virtual bool | allSOTMarkersParsed ()=0 |
| Checks if all SOT markers for the tile are parsed. | |
| virtual bool | hasUnparsedTileParts ()=0 |
| True when we know for certain that tile parts are missing. | |
| virtual void | resetSOTParsing ()=0 |
| Reset SOT parsing state so the tile can be re-parsed from the codestream. | |
| virtual void | setTruncated (void)=0 |
| Sets the processor to truncated state if not all tile parts are parsed. | |
| virtual bool | hasError (void)=0 |
| Checks if an error has occurred. | |
| virtual bool | isInitialized (void)=0 |
| Checks if the processor is initialized. | |
| virtual bool | isBestEffortDecompressed (void)=0 |
| Check if tile was decompressed on a best-effort basis (may have been truncated or errored). | |
| virtual void | setBestEffortDecompressed (void)=0 |
| virtual bool | scheduledForDecompression (void)=0 |
| virtual bool | reinitForReDecompress (void)=0 |
| Reinitialize for re-decompression after LRU eviction. | |
| virtual bool | isStripOutputWritten () const =0 |
| Check if strip-mode output was written directly (bypass multi-tile band callback). | |
Interface for managing tile compression.
|
virtualdefault |
Destroys the TileProcessorCompress.
|
pure virtual |
Checks whether the tile length can be pre-calculated.
Implemented in grk::TileProcessorCompress.
Referenced by grk::CodeStreamCompress::writeTilePart().
|
pure virtual |
Checks whether a POC marker can be written for this tile.
Implemented in grk::TileProcessorCompress.
Referenced by grk::CodeStreamCompress::writeTilePart().
|
pure virtual |
Performs the full tile compression (T1 + T2 + rate allocation).
Implemented in grk::TileProcessorCompress.
|
pure virtual |
Gets the packet tracker.
Implemented in grk::TileProcessorCompress.
|
pure virtual |
Gets the pre-calculated tile length (for rate control optimization).
Implemented in grk::TileProcessorCompress.
Referenced by grk::CodeStreamCompress::writeTilePart().
|
pure virtual |
Gets the current tile-part counter.
Implemented in grk::TileProcessorCompress.
Referenced by grk::SOTMarker::write(), and grk::CodeStreamCompress::writeTileParts().
|
pure virtual |
Increments the tile-part counter.
Implemented in grk::TileProcessorCompress.
Referenced by grk::CodeStreamCompress::writeTilePart().
|
pure virtual |
Ingests uncompressed image data into the tile.
| p_src | pointer to source uncompressed data |
| src_length | length of the source data in bytes |
Implemented in grk::TileProcessorCompress.
|
pure virtual |
Checks whether rate control is required for this tile.
Implemented in grk::TileProcessorCompress.
Referenced by grk::compress_synch_with_plugin().
|
pure virtual |
Pre-compresses the tile (compression-only preparation).
| thread_id | ID of the thread performing the pre-compression |
Implemented in grk::TileProcessorCompress.
|
pure virtual |
Sets whether this tile part is the first POC tile part.
| res | true for first POC tile part, false otherwise |
Implemented in grk::TileProcessorCompress.
Referenced by grk::CodeStreamCompress::writeTileParts().
|
pure virtual |
Sets the current progression iterator number.
| num | new progression iterator value |
Implemented in grk::TileProcessorCompress.
Referenced by grk::CodeStreamCompress::writeTileParts().
|
pure virtual |
Writes the T2 part of the current tile part.
| tileBytesWritten | [out] number of bytes written for this tile part |
Implemented in grk::TileProcessorCompress.
Referenced by grk::CodeStreamCompress::writeTilePart().