Grok
9.7.5
|
#include <TileComponentWindowBuffer.h>
Public Member Functions | |
TileComponentWindowBuffer (bool isCompressor, bool lossless, bool wholeTileDecompress, grk_rect32 tileCompUnreduced, grk_rect32 tileCompReduced, grk_rect32 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 grk_buf2d< T, AllocatorAligned > * | getCodeBlockDestWindowREL (uint8_t resno, eBandOrientation orientation) const |
Get code block destination window. More... | |
const grk_buf2d< T, AllocatorAligned > * | getBandWindowBufferPaddedREL (uint8_t resno, eBandOrientation orientation) const |
Get padded band window buffer. More... | |
const grk_rect32 * | getBandWindowPadded (uint8_t resno, eBandOrientation orientation) const |
Get padded band window. More... | |
const grk_rect32 * | getResWindowPadded (uint8_t resno) const |
const grk_buf2d< T, AllocatorAligned > * | getResWindowBufferSplitREL (uint8_t resno, eSplitOrientation orientation) const |
const grk_buf2d< T, AllocatorAligned > * | getResWindowBufferREL (uint32_t resno) const |
Get resolution window. More... | |
grk_buf2d< T, AllocatorAligned > * | getResWindowBufferHighestREL (void) const |
Get highest resolution window. More... | |
bool | alloc () |
grk_rect32 | bounds () const |
Get bounds of tile component (canvas coordinates) decompress: reduced canvas coordinates of window compress: unreduced canvas coordinates of entire tile. More... | |
grk_rect32 | 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 | |
grk_rect32 | unreducedBounds_ |
grk_rect32 | bounds_ |
std::vector< Resolution * > | resolution_ |
std::vector< ResWindowBuffer< T > * > | resWindowBuffers |
uint8_t | numResolutions_ |
bool | compress_ |
bool | wholeTileDecompress_ |
|
inline |
References grk::TileComponentWindowBuffer< T >::bounds_, grk::TileComponentWindowBuffer< T >::compress_, grk::ResWindowBuffer< T >::getBandWindow(), grk::grk_rect< T >::intersection(), grk::TileComponentWindowBuffer< T >::numResolutions_, grk::TileComponentWindowBuffer< T >::resolution_, grk::TileComponentWindowBuffer< T >::resWindowBuffers, grk::grk_rect< T >::scaleDownCeilPow2(), grk::TileComponentWindowBuffer< T >::unreducedBounds_, grk::TileComponentWindowBuffer< T >::useBandWindows(), and grk::grk_rect< T >::valid().
|
inline |
|
inline |
|
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 >::bounds_.
Referenced by grk::GrkImage::duplicate(), 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 >::compress_, grk::TileComponentWindowBuffer< T >::resolution_, grk::TileComponentWindowBuffer< T >::resWindowBuffers, and grk::TileComponentWindowBuffer< T >::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 >::resWindowBuffers.
Referenced by grk::TileComponent::allocSparseCanvas(), 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 >::resWindowBuffers.
Referenced by grk::TileComponentWindowBuffer< T >::attach(), grk::WaveletFwdImpl::encode_procedure(), 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 >::resWindowBuffers.
|
inline |
|
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 >::resolution_, and grk::TileComponentWindowBuffer< T >::useBufferCoordinatesForCodeblock().
Referenced by grk::TileComponent::postDecompressImpl().
|
inline |
|
inline |
|
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 >::getResWindowPadded(), grk::TileComponentWindowBuffer< T >::TileComponentWindowBuffer(), and grk::TileComponentWindowBuffer< T >::~TileComponentWindowBuffer().
|
private |
|
private |