Grok  7.6.6
Public Member Functions | Private Member Functions | Private Attributes | List of all members
grk::TileComponentWindowBuffer< T > Struct Template Reference

#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
 

Constructor & Destructor Documentation

◆ TileComponentWindowBuffer()

template<typename T >
grk::TileComponentWindowBuffer< T >::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 
)
inline

◆ ~TileComponentWindowBuffer()

template<typename T >
grk::TileComponentWindowBuffer< T >::~TileComponentWindowBuffer ( )
inline

Member Function Documentation

◆ alloc()

template<typename T >
bool grk::TileComponentWindowBuffer< T >::alloc ( )
inline

◆ attach()

template<typename T >
void grk::TileComponentWindowBuffer< T >::attach ( T *  buffer,
uint32_t  stride 
)
inline

◆ bounds()

template<typename T >
grk_rect_u32 grk::TileComponentWindowBuffer< T >::bounds ( ) const
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().

◆ getBandIndex()

template<typename T >
uint8_t grk::TileComponentWindowBuffer< T >::getBandIndex ( uint8_t  resno,
eBandOrientation  orientation 
) const
inlineprivate

◆ getBandWindow()

template<typename T >
grk_buffer_2d<T>* grk::TileComponentWindowBuffer< T >::getBandWindow ( uint8_t  resno,
eBandOrientation  orientation 
) const
inlineprivate

◆ getCodeBlockDestWindow()

template<typename T >
const grk_buffer_2d<T>* grk::TileComponentWindowBuffer< T >::getCodeBlockDestWindow ( uint8_t  resno,
eBandOrientation  orientation 
) const
inline

Get code block destination window.

Parameters
resnoresolution number
orientationband orientation {LL,HL,LH,HH}

References grk::TileComponentWindowBuffer< T >::getBandWindow(), grk::TileComponentWindowBuffer< T >::getTileBuf(), and grk::TileComponentWindowBuffer< T >::useResCoordsForCodeBlock().

Referenced by grk::TileComponent::postDecompressImpl().

◆ getPaddedTileBandWindow()

template<typename T >
const grk_rect_u32 grk::TileComponentWindowBuffer< T >::getPaddedTileBandWindow ( uint8_t  resno,
eBandOrientation  orientation 
) const
inline

◆ getSplitWindow()

template<typename T >
const grk_buffer_2d<T>* grk::TileComponentWindowBuffer< T >::getSplitWindow ( uint8_t  resno,
eSplitOrientation  orientation 
) const
inline

◆ getTileBuf()

template<typename T >
grk_buffer_2d<T>* grk::TileComponentWindowBuffer< T >::getTileBuf ( ) const
inlineprivate

◆ getWindow() [1/3]

template<typename T >
const grk_buffer_2d<T>* grk::TileComponentWindowBuffer< T >::getWindow ( uint32_t  resno) const
inline

Get resolution window.

Parameters
resnoresolution number

References grk::TileComponentWindowBuffer< T >::m_resWindows.

◆ getWindow() [2/3]

template<typename T >
const grk_buffer_2d<T>* grk::TileComponentWindowBuffer< T >::getWindow ( uint8_t  resno,
eBandOrientation  orientation 
) const
inline

◆ getWindow() [3/3]

template<typename T >
const grk_buffer_2d<T>* grk::TileComponentWindowBuffer< T >::getWindow ( void  ) const
inline

◆ strided_area()

template<typename T >
uint64_t grk::TileComponentWindowBuffer< T >::strided_area ( void  ) const
inline

◆ transfer()

template<typename T >
void grk::TileComponentWindowBuffer< T >::transfer ( T **  buffer,
bool *  owns,
uint32_t *  stride 
)
inline

◆ transform()

template<typename T >
void grk::TileComponentWindowBuffer< T >::transform ( uint8_t  resno,
eBandOrientation  orientation,
uint32_t &  offsetx,
uint32_t &  offsety 
) const
inline

Tranform code block offsets to either band coordinates or resolution coordinates.

Parameters
resnoresolution number
orientationband orientation {LL,HL,LH,HH}
offsetxx offset of code block in tile component coordinates
offsetyy 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().

◆ unreduced_bounds()

template<typename T >
grk_rect_u32 grk::TileComponentWindowBuffer< T >::unreduced_bounds ( ) const
inline

◆ useBandWindows()

template<typename T >
bool grk::TileComponentWindowBuffer< T >::useBandWindows ( ) const
inlineprivate

◆ useResCoordsForCodeBlock()

template<typename T >
bool grk::TileComponentWindowBuffer< T >::useResCoordsForCodeBlock ( ) const
inlineprivate

Member Data Documentation

◆ m_bounds

template<typename T >
grk_rect_u32 grk::TileComponentWindowBuffer< T >::m_bounds
private

◆ m_compress

template<typename T >
bool grk::TileComponentWindowBuffer< T >::m_compress
private

◆ m_numResolutions

template<typename T >
uint8_t grk::TileComponentWindowBuffer< T >::m_numResolutions
private

◆ m_resWindows

template<typename T >
std::vector<ResWindow<T>* > grk::TileComponentWindowBuffer< T >::m_resWindows
private

◆ m_tileCompResolutions

template<typename T >
std::vector<Resolution*> grk::TileComponentWindowBuffer< T >::m_tileCompResolutions
private

◆ m_unreducedBounds

template<typename T >
grk_rect_u32 grk::TileComponentWindowBuffer< T >::m_unreducedBounds
private

◆ m_wholeTileDecompress

template<typename T >
bool grk::TileComponentWindowBuffer< T >::m_wholeTileDecompress
private

The documentation for this struct was generated from the following file: