#include <TileProcessor.h>
◆ TileProcessor()
grk::TileProcessor::TileProcessor |
( |
uint16_t | index, |
|
|
CodeStream * | codeStream, |
|
|
BufferedStream * | stream, |
|
|
bool | isCompressor ) |
|
explicit |
◆ ~TileProcessor()
grk::TileProcessor::~TileProcessor |
( |
| ) |
|
◆ cacheTilePartPackets()
References grk::TileLengthMarkers::addTileMarkerInfo(), grk::DECOMPRESS_STATE_NO_EOC, grk::DECOMPRESS_STATE_TPH_SOT, grk::Logger::error(), grk::CodeStreamDecompress::get_current_decode_tcp(), grk::CodeStreamDecompress::getCodeStreamInfo(), grk::CodeStreamDecompress::getDecompressorState(), grk::BufferedStream::getZeroCopyPtr(), grk::J2K_SOD, grk::Logger::logger_, grk::MARKER_BYTES, grk::BufferedStream::numBytesLeft(), grk::BufferedStream::read(), grk::DecompressorState::setState(), stream_, grk::BufferedStream::supportsZeroCopy(), grk::BufferedStream::tell(), tileIndex_, tilePartDataLength, truncated, and grk::Logger::warn().
Referenced by grk::CodeStreamDecompress::parseTileParts().
◆ canPreCalculateTileLen()
bool grk::TileProcessor::canPreCalculateTileLen |
( |
void | | ) |
|
◆ canWritePocMarker()
bool grk::TileProcessor::canWritePocMarker |
( |
void | | ) |
|
◆ createWindowBuffers()
bool grk::TileProcessor::createWindowBuffers |
( |
const GrkImage * | outputImage | ) |
|
References _grk_image::comps, grk::Tile::comps, headerImage, isCompressor_, grk::Tile::numcomps_, grk::grk_rect< T >::scaleDownCeil(), tile, unreducedImageWindow, _grk_image::x0, _grk_image::x1, _grk_image::y0, and _grk_image::y1.
Referenced by decompressT2T1(), and preCompressTile().
◆ dcLevelShiftCompress()
bool grk::TileProcessor::dcLevelShiftCompress |
( |
| ) |
|
|
private |
◆ deallocBuffers()
void grk::TileProcessor::deallocBuffers |
( |
| ) |
|
◆ decompressT2T1()
bool grk::TileProcessor::decompressT2T1 |
( |
GrkImage * | outputImage | ) |
|
References _grk_image::comps, grk::Tile::comps, cp_, createWindowBuffers(), current_plugin_tile, deallocBuffers(), grk::mct::decompress_dc_shift_irrev(), grk::mct::decompress_dc_shift_rev(), _grk_plugin_tile::decompress_flags, grk::Logger::error(), generateImage(), ExecSingleton::get(), grk::Scheduler::getCodecFlow(), grk::Scheduler::getImageComponentFlow(), getIndex(), getNumDecompressedPackets(), grk::Scheduler::getPrePostProc(), getTile(), getTileCodingParams(), GRK_DECODE_POST_T1, GRK_DECODE_T1, GRK_DECODE_T2, _grk_image::has_multiple_tiles, headerImage, isWholeTileDecompress(), grk::Logger::logger_, grk::TileCodingParams::mct, mct_, mctDecompress(), needsMctDecompress(), _grk_image::numcomps, grk::Tile::numcomps_, _grk_image_comp::prec, grk::Scheduler::run(), grk::Scheduler::schedule(), scheduler_, grk::TileCodingParams::tccps, tcp_, tile, tileIndex_, grk::GrkImage::transferDataFrom(), truncated, grk::Logger::warn(), and grk::CodingParams::wholeTileDecompress_.
◆ doCompress()
bool grk::TileProcessor::doCompress |
( |
void | | ) |
|
References canPreCalculateTileLen(), canWritePocMarker(), grk::PacketTracker::clear(), grk::CodingParams::coding_params_, cp_, grk::PLCache::createMarkers(), current_plugin_tile, dcLevelShiftCompress(), grk::PLCache::deleteMarkers(), dwt_encode(), grk::CodingParams::enc_, grk::Logger::error(), grk::PLCache::getMarkers(), grk::TileCodingParams::getNumProgressions(), grk::CodeStreamCompress::getPocSize(), grk::PLMarkerMgr::getTotalBytesWritten(), grk_plugin_get_debug_state(), GRK_PLUGIN_STATE_DEBUG, GRK_PLUGIN_STATE_MCT_ONLY, grk::Logger::logger_, mct_encode(), grk::Tile::numcomps_, packetLengthCache, packetTracker_, preCalculatedTileLen, rateAllocate(), grk::sot_marker_segment_len_minus_tile_data_len, stream_, t1_encode(), tcp_, grk::CodingParams::tcps, tile, tileIndex_, grk::Logger::warn(), and grk::EncodingParams::write_plt.
◆ dwt_encode()
bool grk::TileProcessor::dwt_encode |
( |
| ) |
|
|
private |
◆ encodeT2()
bool grk::TileProcessor::encodeT2 |
( |
uint32_t * | packet_bytes_written | ) |
|
|
private |
◆ generateImage()
void grk::TileProcessor::generateImage |
( |
GrkImage * | src_image, |
|
|
Tile * | src_tile ) |
◆ getImage()
GrkImage * grk::TileProcessor::getImage |
( |
void | | ) |
|
◆ getIndex()
uint16_t grk::TileProcessor::getIndex |
( |
void | | ) |
const |
References tileIndex_.
Referenced by grk::PacketIter::checkForRemainingValidProgression(), decompressT2T1(), grk::PacketIter::enable_tile_part_generation(), grk::CodeStreamDecompress::findNextSOT(), grk::CodeStreamDecompress::get_current_decode_tcp(), grk::CodeStreamDecompress::nextTLM(), grk::CodeStreamDecompress::parseTileParts(), grk::PacketParser::readHeader(), setTilePartDataLength(), grk::SOTMarker::write(), grk::CodeStreamCompress::writeTilePart(), and grk::CodeStreamCompress::writeTileParts().
◆ getMaxNumDecompressResolutions()
uint8_t grk::TileProcessor::getMaxNumDecompressResolutions |
( |
void | | ) |
|
◆ getNumDecompressedPackets()
uint64_t grk::TileProcessor::getNumDecompressedPackets |
( |
void | | ) |
|
◆ getNumProcessedPackets()
uint64_t grk::TileProcessor::getNumProcessedPackets |
( |
void | | ) |
|
◆ getPacketTracker()
◆ getPreCalculatedTileLen()
uint32_t grk::TileProcessor::getPreCalculatedTileLen |
( |
void | | ) |
|
◆ getScheduler()
Scheduler * grk::TileProcessor::getScheduler |
( |
void | | ) |
|
◆ getStream()
◆ getTile()
Tile * grk::TileProcessor::getTile |
( |
void | | ) |
|
◆ getTileCodingParams()
◆ getTilePartDataLength()
uint64_t grk::TileProcessor::getTilePartDataLength |
( |
void | | ) |
|
◆ getUnreducedTileWindow()
grk_rect32 grk::TileProcessor::getUnreducedTileWindow |
( |
void | | ) |
|
◆ incNumDecompressedPackets()
void grk::TileProcessor::incNumDecompressedPackets |
( |
void | | ) |
|
◆ incNumProcessedPackets() [1/2]
void grk::TileProcessor::incNumProcessedPackets |
( |
uint64_t | numPackets | ) |
|
◆ incNumProcessedPackets() [2/2]
void grk::TileProcessor::incNumProcessedPackets |
( |
void | | ) |
|
◆ incrementIndex()
void grk::TileProcessor::incrementIndex |
( |
void | | ) |
|
◆ ingestImage()
void grk::TileProcessor::ingestImage |
( |
| ) |
|
◆ ingestUncompressedData()
bool grk::TileProcessor::ingestUncompressedData |
( |
uint8_t * | p_src, |
|
|
uint64_t | src_length ) |
◆ init()
bool grk::TileProcessor::init |
( |
void | | ) |
|
References grk::ceildiv(), _grk_image::comps, grk::Tile::comps, cp_, current_plugin_tile, grk::Logger::error(), grk::CodingParams::getTileBounds(), grk_plugin_get_debug_state(), GRK_PLUGIN_STATE_DEBUG, headerImage, grk::PacketTracker::init(), isCompressor_, grk::Logger::logger_, _grk_image::numcomps, grk::Tile::numcomps_, numProcessedPackets, grk::TileComponent::numresolutions, packetTracker_, grk::CodingParams::t_grid_width, grk::CodingParams::tcps, tile, grk::tile_equals(), tileIndex_, grk::Logger::warn(), grk::grk_rect< T >::x0, grk::grk_rect< T >::x1, grk::grk_rect< T >::y0, and grk::grk_rect< T >::y1.
Referenced by grk::CodeStreamDecompress::parseTileParts(), and preCompressTile().
◆ isCompressor()
bool grk::TileProcessor::isCompressor |
( |
void | | ) |
|
◆ isWholeTileDecompress()
bool grk::TileProcessor::isWholeTileDecompress |
( |
uint16_t | compno | ) |
|
|
private |
◆ layerNeedsRateControl()
bool grk::TileProcessor::layerNeedsRateControl |
( |
uint32_t | layno | ) |
|
|
private |
◆ makeLayerFinal()
void grk::TileProcessor::makeLayerFinal |
( |
uint32_t | layno | ) |
|
|
private |
◆ makeLayerSimple()
void grk::TileProcessor::makeLayerSimple |
( |
uint32_t | layno, |
|
|
double | thresh, |
|
|
bool | finalAttempt ) |
|
private |
◆ makeSingleLosslessLayer()
bool grk::TileProcessor::makeSingleLosslessLayer |
( |
| ) |
|
|
private |
◆ mct_encode()
bool grk::TileProcessor::mct_encode |
( |
| ) |
|
|
private |
References grk::mct::compress_custom(), grk::mct::compress_irrev(), grk::mct::compress_rev(), _grk_image::comps, grk::Tile::comps, grk::TileComponentWindow< T >::getResWindowBufferHighestSimple(), grk::TileComponent::getWindow(), headerImage, grk::TileCodingParams::mct, mct_, grk::TileCodingParams::mct_coding_matrix_, grk::Tile::numcomps_, grk::TileComponentCodingParams::qmfbid, _grk_image_comp::sgnd, grk::TileComponentWindow< T >::stridedArea(), grk::TileCodingParams::tccps, tcp_, and tile.
Referenced by doCompress().
◆ mctDecompress()
References _grk_image::comps, grk::Tile::comps, grk::mct::decompress_custom(), grk::mct::decompress_irrev(), grk::mct::decompress_rev(), grk::TileComponentWindow< T >::getResWindowBufferHighestSimple(), grk::TileComponent::getWindow(), headerImage, grk::TileCodingParams::mct, mct_, grk::TileCodingParams::mct_decoding_matrix_, grk::Tile::numcomps_, grk::TileComponentCodingParams::qmfbid, _grk_image_comp::sgnd, grk::TileComponentWindow< T >::stridedArea(), grk::TileCodingParams::tccps, tcp_, and tile.
Referenced by decompressT2T1().
◆ needsMctDecompress() [1/2]
bool grk::TileProcessor::needsMctDecompress |
( |
uint16_t | compno | ) |
|
|
private |
◆ needsMctDecompress() [2/2]
bool grk::TileProcessor::needsMctDecompress |
( |
void | | ) |
|
|
private |
References grk::GrkImage::componentsEqual(), headerImage, grk::Logger::logger_, grk::TileCodingParams::mct, grk::TileCodingParams::mct_decoding_matrix_, grk::Tile::numcomps_, tcp_, tile, and grk::Logger::warn().
Referenced by dcLevelShiftCompress(), decompressT2T1(), and needsMctDecompress().
◆ needsRateControl()
bool grk::TileProcessor::needsRateControl |
( |
| ) |
|
◆ pcrdBisectSimple()
bool grk::TileProcessor::pcrdBisectSimple |
( |
uint32_t * | p_data_written, |
|
|
bool | disableRateControl ) |
|
private |
References grk::EncodingParams::allocationByFixedQuality_, grk::CodingParams::coding_params_, grk::compress_synch_with_plugin(), _grk_image::comps, grk::Tile::comps, cp_, grk::Tile::distortion, grk::TileCodingParams::distortion, grk::CodingParams::enc_, grk::PLCache::getMarkers(), grk_plugin_get_debug_state(), GRK_PLUGIN_STATE_PRE_TR1, headerImage, grk::Tile::layerDistoration, layerNeedsRateControl(), makeLayerFinal(), makeLayerSimple(), makeSingleLosslessLayer(), grk::maxCompressLayersGRK, newTilePartProgressionPosition, grk::TileCodingParams::num_layers_, grk::Tile::numcomps_, packetLengthCache, _grk_image_comp::prec, tcp_, tile, and tileIndex_.
Referenced by rateAllocate().
◆ preCompressTile()
bool grk::TileProcessor::preCompressTile |
( |
void | | ) |
|
References _grk_image::comps, grk::Tile::comps, cp_, createWindowBuffers(), current_plugin_tile, grk::Logger::error(), first_poc_tile_part_, headerImage, ingestImage(), init(), grk::Logger::logger_, _grk_image::numcomps, grk::CodingParams::t_grid_height, grk::CodingParams::t_grid_width, tile, and tilePartCounter_.
◆ rateAllocate()
bool grk::TileProcessor::rateAllocate |
( |
uint32_t * | allPacketBytes, |
|
|
bool | disableRateControl ) |
|
private |
◆ release()
◆ setCorruptPacket()
void grk::TileProcessor::setCorruptPacket |
( |
void | | ) |
|
◆ setTilePartDataLength()
bool grk::TileProcessor::setTilePartDataLength |
( |
uint16_t | tilePart, |
|
|
uint32_t | tilePartLength, |
|
|
bool | lastTilePartInCodeStream ) |
◆ subtractMarkerSegmentLength()
bool grk::TileProcessor::subtractMarkerSegmentLength |
( |
uint16_t | markerLen | ) |
|
◆ t1_encode()
void grk::TileProcessor::t1_encode |
( |
| ) |
|
|
private |
◆ writeTilePartT2()
bool grk::TileProcessor::writeTilePartT2 |
( |
uint32_t * | tileBytesWritten | ) |
|
◆ corrupt_packet_
bool grk::TileProcessor::corrupt_packet_ |
|
private |
◆ cp_
Referenced by canPreCalculateTileLen(), canWritePocMarker(), grk::T2Compress::compressPackets(), grk::T2Compress::compressPacketsSimulate(), grk::T2Decompress::decompressPackets(), decompressT2T1(), doCompress(), getMaxNumDecompressResolutions(), getTileCodingParams(), grk::TileComponent::init(), init(), grk::PacketIter::isWholeTile(), layerNeedsRateControl(), pcrdBisectSimple(), preCompressTile(), grk::PacketParser::readData(), grk::PacketParser::readHeader(), and grk::SOTMarker::write().
◆ current_plugin_tile
◆ first_poc_tile_part_
bool grk::TileProcessor::first_poc_tile_part_ |
◆ headerImage
GrkImage* grk::TileProcessor::headerImage |
Referenced by grk::T2Compress::compressPackets(), grk::T2Compress::compressPacketsSimulate(), createWindowBuffers(), dcLevelShiftCompress(), grk::decompress_synch_plugin_with_host(), grk::T2Decompress::decompressPackets(), decompressT2T1(), ingestImage(), ingestUncompressedData(), init(), mct_encode(), mctDecompress(), needsMctDecompress(), pcrdBisectSimple(), preCompressTile(), and t1_encode().
◆ image_
◆ isCompressor_
bool grk::TileProcessor::isCompressor_ |
|
private |
◆ mct_
mct* grk::TileProcessor::mct_ |
|
private |
◆ newTilePartProgressionPosition
uint32_t grk::TileProcessor::newTilePartProgressionPosition |
|
private |
◆ numDecompressedPackets
std::atomic<uint64_t> grk::TileProcessor::numDecompressedPackets |
|
private |
◆ numProcessedPackets
uint64_t grk::TileProcessor::numProcessedPackets |
|
private |
◆ packetLengthCache
PLCache grk::TileProcessor::packetLengthCache |
◆ packetTracker_
◆ pino
uint32_t grk::TileProcessor::pino |
◆ preCalculatedTileLen
uint32_t grk::TileProcessor::preCalculatedTileLen |
|
private |
◆ scheduler_
◆ stream_
◆ tcp_
Referenced by dcLevelShiftCompress(), decompressT2T1(), doCompress(), dwt_encode(), encodeT2(), layerNeedsRateControl(), makeSingleLosslessLayer(), mct_encode(), mctDecompress(), needsMctDecompress(), needsRateControl(), pcrdBisectSimple(), and t1_encode().
◆ tile
Tile* grk::TileProcessor::tile |
|
private |
Referenced by createWindowBuffers(), dcLevelShiftCompress(), deallocBuffers(), decompressT2T1(), doCompress(), dwt_encode(), getMaxNumDecompressResolutions(), getTile(), getUnreducedTileWindow(), ingestImage(), ingestUncompressedData(), init(), isWholeTileDecompress(), makeLayerFinal(), makeLayerSimple(), mct_encode(), mctDecompress(), needsMctDecompress(), pcrdBisectSimple(), preCompressTile(), release(), and t1_encode().
◆ tileIndex_
uint16_t grk::TileProcessor::tileIndex_ |
|
private |
index of tile being currently compressed/decompressed
Referenced by cacheTilePartPackets(), canPreCalculateTileLen(), canWritePocMarker(), decompressT2T1(), doCompress(), encodeT2(), getIndex(), getMaxNumDecompressResolutions(), getTileCodingParams(), incrementIndex(), init(), and pcrdBisectSimple().
◆ tilePartCounter_
uint8_t grk::TileProcessor::tilePartCounter_ |
◆ tilePartDataLength
uint64_t grk::TileProcessor::tilePartDataLength |
|
private |
◆ truncated
bool grk::TileProcessor::truncated |
|
private |
◆ unreducedImageWindow
grk_rect32 grk::TileProcessor::unreducedImageWindow |
|
private |
The documentation for this struct was generated from the following files: