Grok 12.0.1
Public Types | Public Member Functions | Private Member Functions | List of all members
grk::TileComponentWindow< T > Struct Template Reference

#include <TileComponentWindow.h>

Inheritance diagram for grk::TileComponentWindow< T >:
grk::TileComponentWindowBase< T >

Public Types

typedef grk_buf2d< T, AllocatorAlignedBuf2dAligned
 

Public Member Functions

 TileComponentWindow (bool isCompressor, bool lossless, bool wholeTileDecompress, grk_rect32 unreducedTileComp, grk_rect32 reducedTileComp, grk_rect32 unreducedImageCompWindow, uint8_t numresolutions, uint8_t reducedNumResolutions)
 
 ~TileComponentWindow ()=default
 
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), in the case of whole tile decompression,.
 
template<typename F >
void postProcess (Buf2dAligned &src, uint8_t resno, eBandOrientation bandOrientation, DecompressBlockExec *block)
 
const Buf2dAlignedgetBandWindowBufferPaddedREL (uint8_t resno, eBandOrientation orientation) const
 Get padded band window buffer.
 
const grk_buf2d_simple< int32_tgetBandWindowBufferPaddedSimple (uint8_t resno, eBandOrientation orientation) const
 Get padded band window buffer.
 
const grk_buf2d_simple< floatgetBandWindowBufferPaddedSimpleF (uint8_t resno, eBandOrientation orientation) const
 Get padded band window buffer.
 
const grk_rect32getBandWindowPadded (uint8_t resno, eBandOrientation orientation) const
 Get padded band window.
 
const Buf2dAlignedgetResWindowBufferSplitREL (uint8_t resno, eSplitOrientation orientation) const
 
const grk_buf2d_simple< int32_tgetResWindowBufferSplitSimple (uint8_t resno, eSplitOrientation orientation) const
 
const grk_buf2d_simple< floatgetResWindowBufferSplitSimpleF (uint8_t resno, eSplitOrientation orientation) const
 
const Buf2dAlignedgetResWindowBufferREL (uint32_t resno) const
 Get resolution window.
 
const grk_buf2d_simple< int32_tgetResWindowBufferSimple (uint32_t resno) const
 Get resolution window.
 
const grk_buf2d_simple< floatgetResWindowBufferSimpleF (uint32_t resno) const
 Get resolution window.
 
uint32_t getResWindowBufferHighestStride (void) const
 Get highest resolution window.
 
grk_buf2d_simple< int32_tgetResWindowBufferHighestSimple (void) const
 Get highest resolution window.
 
grk_buf2d_simple< floatgetResWindowBufferHighestSimpleF (void) const
 Get highest resolution window.
 
uint64_t stridedArea (void) const
 
void attach (T *buffer, uint32_t stride)
 
void transfer (T **buffer, uint32_t *stride)
 
- Public Member Functions inherited from grk::TileComponentWindowBase< T >
 TileComponentWindowBase (bool isCompressor, bool lossless, bool wholeTileDecompress, grk_rect32 unreducedTileComp, grk_rect32 reducedTileComp, grk_rect32 unreducedImageCompWindow, uint8_t numresolutions, uint8_t reducedNumResolutions)
 
virtual ~TileComponentWindowBase ()
 
grk_rect32 bounds () const
 Get bounds of tile component (canvas coordinates) decompress: reduced canvas coordinates of window compress: unreduced canvas coordinates of entire tile.
 
grk_rect32 unreducedBounds () const
 
bool alloc ()
 

Private Member Functions

const Buf2dAlignedgetCodeBlockDestWindowREL (uint8_t resno, eBandOrientation orientation) const
 Get code block destination window.
 
Buf2dAlignedgetResWindowBufferHighestREL (void) const
 Get highest resolution window.
 
bool useBufferCoordinatesForCodeblock () const
 
uint8_t getBandIndex (uint8_t resno, eBandOrientation orientation) const
 

Additional Inherited Members

- Protected Member Functions inherited from grk::TileComponentWindowBase< T >
bool useBandWindows () const
 
- Protected Attributes inherited from grk::TileComponentWindowBase< T >
std::vector< ResWindow< T > * > resWindows
 
grk_rect32 unreducedBounds_
 
grk_rect32 bounds_
 
std::vector< ResSimpleresolution_
 
bool compress_
 
bool wholeTileDecompress_
 

Member Typedef Documentation

◆ Buf2dAligned

Constructor & Destructor Documentation

◆ TileComponentWindow()

template<typename T >
grk::TileComponentWindow< T >::TileComponentWindow ( bool isCompressor,
bool lossless,
bool wholeTileDecompress,
grk_rect32 unreducedTileComp,
grk_rect32 reducedTileComp,
grk_rect32 unreducedImageCompWindow,
uint8_t numresolutions,
uint8_t reducedNumResolutions )
inline

◆ ~TileComponentWindow()

template<typename T >
grk::TileComponentWindow< T >::~TileComponentWindow ( )
default

Member Function Documentation

◆ attach()

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

◆ getBandIndex()

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

◆ getBandWindowBufferPaddedREL()

template<typename T >
const Buf2dAligned * grk::TileComponentWindow< T >::getBandWindowBufferPaddedREL ( uint8_t resno,
eBandOrientation orientation ) const
inline

Get padded band window buffer.

Parameters
resnoresolution number
orientationband 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::TileComponentWindowBase< T >::compress_, grk::grk_read(), grk::TileComponentWindowBase< T >::resolution_, grk::TileComponentWindowBase< T >::resWindows, and grk::TileComponentWindowBase< T >::wholeTileDecompress_.

Referenced by grk::TileComponentWindow< T >::getCodeBlockDestWindowREL().

◆ getBandWindowBufferPaddedSimple()

template<typename T >
const grk_buf2d_simple< int32_t > grk::TileComponentWindow< T >::getBandWindowBufferPaddedSimple ( uint8_t resno,
eBandOrientation orientation ) const
inline

Get padded band window buffer.

Parameters
resnoresolution number
orientationband 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::TileComponentWindowBase< T >::compress_, grk::grk_read(), grk::TileComponentWindowBase< T >::resolution_, grk::TileComponentWindowBase< T >::resWindows, and grk::TileComponentWindowBase< T >::wholeTileDecompress_.

◆ getBandWindowBufferPaddedSimpleF()

template<typename T >
const grk_buf2d_simple< float > grk::TileComponentWindow< T >::getBandWindowBufferPaddedSimpleF ( uint8_t resno,
eBandOrientation orientation ) const
inline

Get padded band window buffer.

Parameters
resnoresolution number
orientationband 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::TileComponentWindowBase< T >::compress_, grk::grk_read(), grk::TileComponentWindowBase< T >::resolution_, grk::TileComponentWindowBase< T >::resWindows, and grk::TileComponentWindowBase< T >::wholeTileDecompress_.

◆ getBandWindowPadded()

template<typename T >
const grk_rect32 * grk::TileComponentWindow< T >::getBandWindowPadded ( uint8_t resno,
eBandOrientation orientation ) const
inline

Get padded band window.

Parameters
resnoresolution number
orientationband orientation {0,1,2,3} for {LL,HL,LH,HH} band windows

References grk::TileComponentWindowBase< T >::resWindows.

Referenced by grk::TileComponent::allocRegionWindow(), and grk::TileComponent::subbandIntersectsAOI().

◆ getCodeBlockDestWindowREL()

template<typename T >
const Buf2dAligned * grk::TileComponentWindow< T >::getCodeBlockDestWindowREL ( uint8_t resno,
eBandOrientation orientation ) const
inlineprivate

◆ getResWindowBufferHighestREL()

template<typename T >
Buf2dAligned * grk::TileComponentWindow< T >::getResWindowBufferHighestREL ( void ) const
inlineprivate

◆ getResWindowBufferHighestSimple()

template<typename T >
grk_buf2d_simple< int32_t > grk::TileComponentWindow< T >::getResWindowBufferHighestSimple ( void ) const
inline

◆ getResWindowBufferHighestSimpleF()

template<typename T >
grk_buf2d_simple< float > grk::TileComponentWindow< T >::getResWindowBufferHighestSimpleF ( void ) const
inline

◆ getResWindowBufferHighestStride()

template<typename T >
uint32_t grk::TileComponentWindow< T >::getResWindowBufferHighestStride ( void ) const
inline

◆ getResWindowBufferREL()

template<typename T >
const Buf2dAligned * grk::TileComponentWindow< T >::getResWindowBufferREL ( uint32_t resno) const
inline

◆ getResWindowBufferSimple()

template<typename T >
const grk_buf2d_simple< int32_t > grk::TileComponentWindow< T >::getResWindowBufferSimple ( uint32_t resno) const
inline

Get resolution window.

Parameters
resnoresolution number

References grk::TileComponentWindow< T >::getResWindowBufferREL(), and grk::grk_buf2d< T, A >::simple().

◆ getResWindowBufferSimpleF()

template<typename T >
const grk_buf2d_simple< float > grk::TileComponentWindow< T >::getResWindowBufferSimpleF ( uint32_t resno) const
inline

Get resolution window.

Parameters
resnoresolution number

References grk::TileComponentWindow< T >::getResWindowBufferREL(), and grk::grk_buf2d< T, A >::simpleF().

◆ getResWindowBufferSplitREL()

template<typename T >
const Buf2dAligned * grk::TileComponentWindow< T >::getResWindowBufferSplitREL ( uint8_t resno,
eSplitOrientation orientation ) const
inline

◆ getResWindowBufferSplitSimple()

template<typename T >
const grk_buf2d_simple< int32_t > grk::TileComponentWindow< T >::getResWindowBufferSplitSimple ( uint8_t resno,
eSplitOrientation orientation ) const
inline

◆ getResWindowBufferSplitSimpleF()

template<typename T >
const grk_buf2d_simple< float > grk::TileComponentWindow< T >::getResWindowBufferSplitSimpleF ( uint8_t resno,
eSplitOrientation orientation ) const
inline

◆ postProcess()

template<typename T >
template<typename F >
void grk::TileComponentWindow< T >::postProcess ( Buf2dAligned & src,
uint8_t resno,
eBandOrientation bandOrientation,
DecompressBlockExec * block )
inline

◆ stridedArea()

template<typename T >
uint64_t grk::TileComponentWindow< T >::stridedArea ( void ) const
inline

◆ toRelativeCoordinates()

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

Transform code block offsets from canvas coordinates to either band coordinates (relative to sub band origin), in the case of whole tile decompression,.

or buffer coordinates (relative to associated resolution origin), in the case of compression or region decompression

Parameters
resnoresolution number
orientationband orientation {LL,HL,LH,HH}
offsetxx offset of code block in canvas coordinates
offsetyy offset of code block in canvas coordinates

References grk::TileComponentWindow< T >::getBandIndex(), grk::grk_read(), grk::TileComponentWindowBase< T >::resolution_, and grk::TileComponentWindow< T >::useBufferCoordinatesForCodeblock().

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

◆ transfer()

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

◆ useBufferCoordinatesForCodeblock()

template<typename T >
bool grk::TileComponentWindow< T >::useBufferCoordinatesForCodeblock ( ) const
inlineprivate

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