Grok
7.6.6
|
#include <TileComponentWindowBuffer.h>
Public Member Functions | |
TileComponentWindowBuffer (bool isCompressor, bool lossless, bool wholeTileDecompress, grk_rect_u32 tileCompUnreduced, grk_rect_u32 tileCompReduced, grk_rect_u32 unreducedTileOrImageCompWindow, Resolution *tileCompResolutions, uint8_t numresolutions, uint8_t reducedNumResolutions) | |
~TileComponentWindowBuffer () | |
void | transform (uint8_t resno, eBandOrientation orientation, uint32_t &offsetx, uint32_t &offsety) const |
Tranform code block offsets to either band coordinates or resolution coordinates. More... | |
const grk_buffer_2d< T > * | getCodeBlockDestWindow (uint8_t resno, eBandOrientation orientation) const |
Get code block destination window. More... | |
const grk_buffer_2d< T > * | getWindow (uint8_t resno, eBandOrientation orientation) const |
Get non-LL band window. More... | |
const grk_rect_u32 | getPaddedTileBandWindow (uint8_t resno, eBandOrientation orientation) const |
const grk_buffer_2d< T > * | getSplitWindow (uint8_t resno, eSplitOrientation orientation) const |
const grk_buffer_2d< T > * | getWindow (uint32_t resno) const |
Get resolution window. More... | |
const grk_buffer_2d< T > * | getWindow (void) const |
Get tile window. More... | |
bool | alloc () |
grk_rect_u32 | bounds () const |
Get bounds of tile component decompress: reduced tile component coordinates of window compress: unreduced tile component coordinates of entire tile. More... | |
grk_rect_u32 | unreduced_bounds () const |
uint64_t | strided_area (void) const |
void | attach (T *buffer, uint32_t stride) |
void | transfer (T **buffer, bool *owns, uint32_t *stride) |
Private Member Functions | |
bool | useBandWindows () const |
bool | useResCoordsForCodeBlock () const |
uint8_t | getBandIndex (uint8_t resno, eBandOrientation orientation) const |
grk_buffer_2d< T > * | getBandWindow (uint8_t resno, eBandOrientation orientation) const |
If resno is > 0, return LL,HL,LH or HH band window, otherwise return LL resolution window. More... | |
grk_buffer_2d< T > * | getTileBuf () const |
Private Attributes | |
grk_rect_u32 | m_unreducedBounds |
grk_rect_u32 | m_bounds |
std::vector< Resolution * > | m_tileCompResolutions |
std::vector< ResWindow< T > * > | m_resWindows |
uint8_t | m_numResolutions |
bool | m_compress |
bool | m_wholeTileDecompress |
|
inline |
References grk::getTileCompBandWindow(), grk::grk_rectangle< T >::intersection(), grk::grk_rectangle< T >::is_valid(), grk::TileComponentWindowBuffer< T >::m_bounds, grk::TileComponentWindowBuffer< T >::m_compress, grk::TileComponentWindowBuffer< T >::m_numResolutions, grk::TileComponentWindowBuffer< T >::m_resWindows, grk::TileComponentWindowBuffer< T >::m_tileCompResolutions, grk::TileComponentWindowBuffer< T >::m_unreducedBounds, grk::grk_rectangle< T >::rectceildivpow2(), and grk::TileComponentWindowBuffer< T >::useBandWindows().
|
inline |
|
inline |
|
inline |
|
inline |
Get bounds of tile component decompress: reduced tile component coordinates of window compress: unreduced tile component coordinates of entire tile.
References grk::TileComponentWindowBuffer< T >::m_bounds.
Referenced by grk::GrkImage::duplicate(), and grk::TileProcessor::is_whole_tilecomp_decoding().
|
inlineprivate |
Referenced by grk::TileComponentWindowBuffer< T >::transform().
|
inlineprivate |
If resno is > 0, return LL,HL,LH or HH band window, otherwise return LL resolution window.
References grk::TileComponentWindowBuffer< T >::m_resWindows, and grk::TileComponentWindowBuffer< T >::m_tileCompResolutions.
Referenced by grk::TileComponentWindowBuffer< T >::getCodeBlockDestWindow(), and grk::TileComponentWindowBuffer< T >::getWindow().
|
inline |
Get code block destination window.
resno | resolution number |
orientation | band orientation {LL,HL,LH,HH} |
References grk::TileComponentWindowBuffer< T >::getBandWindow(), grk::TileComponentWindowBuffer< T >::getTileBuf(), and grk::TileComponentWindowBuffer< T >::useResCoordsForCodeBlock().
Referenced by grk::TileComponent::postDecompressImpl().
|
inline |
References grk::TileComponentWindowBuffer< T >::m_resWindows.
Referenced by grk::TileComponent::subbandIntersectsAOI().
|
inline |
References grk::TileComponentWindowBuffer< T >::m_resWindows, and grk::TileComponentWindowBuffer< T >::m_tileCompResolutions.
Referenced by grk::decompress_tile_53().
|
inlineprivate |
References grk::TileComponentWindowBuffer< T >::m_resWindows.
Referenced by grk::TileComponentWindowBuffer< T >::attach(), grk::TileComponentWindowBuffer< T >::getCodeBlockDestWindow(), grk::TileComponentWindowBuffer< T >::getWindow(), grk::TileComponentWindowBuffer< T >::strided_area(), and grk::TileComponentWindowBuffer< T >::transfer().
|
inline |
Get resolution window.
resno | resolution number |
References grk::TileComponentWindowBuffer< T >::m_resWindows.
|
inline |
Get non-LL band window.
resno | resolution number |
orientation | band orientation {0,1,2,3} for {LL,HL,LH,HH} band windows |
References grk::TileComponentWindowBuffer< T >::getBandWindow().
Referenced by grk::mct::decompress_dc_shift_irrev(), grk::mct::decompress_dc_shift_rev(), grk::mct::decompress_irrev(), grk::mct::decompress_rev(), grk::decompress_tile_53(), grk::TileProcessor::mct_decompress(), grk::TileProcessor::mct_encode(), and grk::WaveletForward< DWT >::run().
|
inline |
Get tile window.
References grk::TileComponentWindowBuffer< T >::getTileBuf().
|
inline |
References grk::TileComponentWindowBuffer< T >::getTileBuf(), grk::grk_rectangle< T >::height(), and grk::TileComponentWindowBuffer< T >::m_bounds.
Referenced by grk::mct::decompress_irrev(), grk::mct::decompress_rev(), grk::TileProcessor::mct_decompress(), grk::TileProcessor::mct_encode(), and grk::TileProcessor::need_mct_decompress().
|
inline |
|
inline |
Tranform code block offsets to either band coordinates or resolution coordinates.
resno | resolution number |
orientation | band orientation {LL,HL,LH,HH} |
offsetx | x offset of code block in tile component coordinates |
offsety | y offset of code block in tile component coordinates |
References grk::TileComponentWindowBuffer< T >::getBandIndex(), grk::TileComponentWindowBuffer< T >::m_tileCompResolutions, and grk::TileComponentWindowBuffer< T >::useResCoordsForCodeBlock().
Referenced by grk::TileComponent::postDecompressImpl().
|
inline |
References grk::TileComponentWindowBuffer< T >::m_unreducedBounds.
Referenced by main().
|
inlineprivate |
|
inlineprivate |
|
private |
|
private |
|
private |
|
private |
Referenced by grk::TileComponentWindowBuffer< T >::alloc(), grk::TileComponentWindowBuffer< T >::getBandWindow(), grk::TileComponentWindowBuffer< T >::getPaddedTileBandWindow(), grk::TileComponentWindowBuffer< T >::getSplitWindow(), grk::TileComponentWindowBuffer< T >::getTileBuf(), grk::TileComponentWindowBuffer< T >::getWindow(), grk::TileComponentWindowBuffer< T >::TileComponentWindowBuffer(), and grk::TileComponentWindowBuffer< T >::~TileComponentWindowBuffer().
|
private |
|
private |
|
private |