Grok
9.5.0
|
#include <TileComponentWindowBuffer.h>
Public Member Functions | |
TileComponentWindowBuffer (bool isCompressor, bool lossless, bool wholeTileDecompress, grkRectU32 tileCompUnreduced, grkRectU32 tileCompReduced, grkRectU32 unreducedTileCompOrImageCompWindow, Resolution *tileCompResolution, uint8_t numresolutions, uint8_t reducedNumResolutions) | |
~TileComponentWindowBuffer () | |
void | toRelativeCoordinates (uint8_t resno, eBandOrientation orientation, uint32_t &offsetx, uint32_t &offsety) const |
Transform code block offsets from canvas coordinates to either band coordinates (relative to sub band origin) or buffer coordinates (relative to associated resolution origin) More... | |
const grkBuffer2d< T, AllocatorAligned > * | getCodeBlockDestWindowREL (uint8_t resno, eBandOrientation orientation) const |
Get code block destination window. More... | |
const grkBuffer2d< T, AllocatorAligned > * | getBandWindowBufferPaddedREL (uint8_t resno, eBandOrientation orientation) const |
Get padded band window buffer. More... | |
const grkRectU32 * | getBandWindowPadded (uint8_t resno, eBandOrientation orientation) const |
Get padded band window. More... | |
const grkBuffer2d< T, AllocatorAligned > * | getResWindowBufferSplitREL (uint8_t resno, eSplitOrientation orientation) const |
const grkBuffer2d< T, AllocatorAligned > * | getResWindowBufferREL (uint32_t resno) const |
Get resolution window. More... | |
grkBuffer2d< T, AllocatorAligned > * | getResWindowBufferHighestREL (void) const |
Get highest resolution window. More... | |
bool | alloc () |
grkRectU32 | bounds () const |
Get bounds of tile component (canvas coordinates) decompress: reduced canvas coordinates of window compress: unreduced canvas coordinates of entire tile. More... | |
grkRectU32 | unreducedBounds () const |
uint64_t | stridedArea (void) const |
void | attach (T *buffer, uint32_t stride) |
void | transfer (T **buffer, uint32_t *stride) |
Private Member Functions | |
bool | useBandWindows () const |
bool | useBufferCoordinatesForCodeblock () const |
uint8_t | getBandIndex (uint8_t resno, eBandOrientation orientation) const |
Private Attributes | |
grkRectU32 | m_unreducedBounds |
grkRectU32 | m_bounds |
std::vector< Resolution * > | m_resolution |
std::vector< ResWindowBuffer< T > * > | m_resWindowBufferREL |
uint8_t | m_numResolutions |
bool | m_compress |
bool | m_wholeTileDecompress |
|
inline |
References grk::ResWindowBuffer< T >::getBandWindow(), grk::grkRect< T >::intersection(), grk::grkRect< T >::is_valid(), grk::TileComponentWindowBuffer< T >::m_bounds, grk::TileComponentWindowBuffer< T >::m_compress, grk::TileComponentWindowBuffer< T >::m_numResolutions, grk::TileComponentWindowBuffer< T >::m_resolution, grk::TileComponentWindowBuffer< T >::m_resWindowBufferREL, grk::TileComponentWindowBuffer< T >::m_unreducedBounds, grk::grkRect< T >::rectceildivpow2(), and grk::TileComponentWindowBuffer< T >::useBandWindows().
|
inline |
|
inline |
References grk::TileComponentWindowBuffer< T >::m_compress, and grk::TileComponentWindowBuffer< T >::m_resWindowBufferREL.
Referenced by grk::init_tilec().
|
inline |
|
inline |
Get bounds of tile component (canvas coordinates) decompress: reduced canvas coordinates of window compress: unreduced canvas coordinates of entire tile.
References grk::TileComponentWindowBuffer< T >::m_bounds.
Referenced by grk::GrkImage::duplicate(), grk::GrkImage::generateCompositeBounds(), and grk::TileProcessor::isWholeTileDecompress().
|
inlineprivate |
Referenced by grk::TileComponentWindowBuffer< T >::toRelativeCoordinates().
|
inline |
Get padded band window buffer.
resno | resolution number |
orientation | band orientation {0,1,2,3} for {LL,HL,LH,HH} band windows |
If resno is > 0, return LL,HL,LH or HH band window, otherwise return LL resolution window
References grk::BAND_ORIENT_LL, grk::TileComponentWindowBuffer< T >::m_compress, grk::TileComponentWindowBuffer< T >::m_resolution, grk::TileComponentWindowBuffer< T >::m_resWindowBufferREL, and grk::TileComponentWindowBuffer< T >::m_wholeTileDecompress.
Referenced by grk::TileComponentWindowBuffer< T >::getCodeBlockDestWindowREL().
|
inline |
Get padded band window.
resno | resolution number |
orientation | band orientation {0,1,2,3} for {LL,HL,LH,HH} band windows |
References grk::TileComponentWindowBuffer< T >::m_resWindowBufferREL.
Referenced by grk::TileComponent::allocSparseCanvas(), grk::T1DecompressScheduler::prepareScheduleDecompress(), and grk::TileComponent::subbandIntersectsAOI().
|
inline |
Get code block destination window.
resno | resolution number |
orientation | band orientation {LL,HL,LH,HH} |
References grk::TileComponentWindowBuffer< T >::getBandWindowBufferPaddedREL(), grk::TileComponentWindowBuffer< T >::getResWindowBufferHighestREL(), and grk::TileComponentWindowBuffer< T >::useBufferCoordinatesForCodeblock().
Referenced by grk::TileComponent::postDecompressImpl().
|
inline |
Get highest resolution window.
References grk::TileComponentWindowBuffer< T >::m_resWindowBufferREL.
Referenced by grk::TileComponentWindowBuffer< T >::attach(), grk::WaveletFwdImpl::encode_procedure(), grk::GrkImage::generateCompositeBounds(), grk::TileComponentWindowBuffer< T >::getCodeBlockDestWindowREL(), grk::TileProcessor::mct_encode(), grk::TileProcessor::mctDecompress(), grk::TileComponentWindowBuffer< T >::stridedArea(), and grk::TileComponentWindowBuffer< T >::transfer().
|
inline |
Get resolution window.
resno | resolution number |
References grk::TileComponentWindowBuffer< T >::m_resWindowBufferREL.
|
inline |
|
inline |
|
inline |
Transform code block offsets from canvas coordinates to either band coordinates (relative to sub band origin) or buffer coordinates (relative to associated resolution origin)
resno | resolution number |
orientation | band orientation {LL,HL,LH,HH} |
offsetx | x offset of code block in canvas coordinates |
offsety | y offset of code block in canvas coordinates |
References grk::TileComponentWindowBuffer< T >::getBandIndex(), grk::TileComponentWindowBuffer< T >::m_resolution, and grk::TileComponentWindowBuffer< T >::useBufferCoordinatesForCodeblock().
Referenced by grk::TileComponent::postDecompressImpl().
|
inline |
|
inline |
References grk::TileComponentWindowBuffer< T >::m_unreducedBounds.
Referenced by main().
|
inlineprivate |
|
inlineprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by grk::TileComponentWindowBuffer< T >::alloc(), grk::TileComponentWindowBuffer< T >::getBandWindowBufferPaddedREL(), grk::TileComponentWindowBuffer< T >::getBandWindowPadded(), grk::TileComponentWindowBuffer< T >::getResWindowBufferHighestREL(), grk::TileComponentWindowBuffer< T >::getResWindowBufferREL(), grk::TileComponentWindowBuffer< T >::getResWindowBufferSplitREL(), grk::TileComponentWindowBuffer< T >::TileComponentWindowBuffer(), and grk::TileComponentWindowBuffer< T >::~TileComponentWindowBuffer().
|
private |
|
private |