Grok 20.3.2
grk::TileComponentWindow< T > Struct Template Reference

#include <TileComponentWindow.h>

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

Public Types

typedef Buffer2d< T, AllocatorAlignedBuf2dAligned

Public Member Functions

 TileComponentWindow (bool isCompressor, bool lossless, bool wholeTileDecompress, Rect32 unreducedTileComp, Rect32 reducedTileComp, Rect32 unreducedImageCompWindow, uint8_t numresolutions, uint8_t reducedNumResolutions)
 ~TileComponentWindow () override=default
void toRelativeCoordinates (uint8_t resno, t1::eBandOrientation orientation, uint32_t &offsetx, uint32_t &offsety) const override
 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, t1::eBandOrientation bandOrientation, t1::DecompressBlockExec *block)
template<typename SrcT, template< class > class SrcA, typename F>
void postProcessNarrow (Buffer2d< SrcT, SrcA > &src, uint8_t resno, t1::eBandOrientation bandOrientation, t1::DecompressBlockExec *block)
const Buf2dAlignedgetBandWindowBufferPaddedREL (uint8_t resno, t1::eBandOrientation orientation) const
 Get padded band window buffer.
const Buffer2dSimple< T > getBandWindowBufferPaddedSimple (uint8_t resno, t1::eBandOrientation orientation) const
 Get padded band window buffer.
const Buffer2dSimple< float > getBandWindowBufferPaddedSimpleF (uint8_t resno, t1::eBandOrientation orientation) const
 Get padded band window buffer.
const Rect32getBandWindowPadded (uint8_t resno, t1::eBandOrientation orientation) const override
 Get padded band window.
const Buf2dAlignedgetResWindowBufferSplitREL (uint8_t resno, eSplitOrientation orientation) const
const Buffer2dSimple< T > getResWindowBufferSplitSimple (uint8_t resno, eSplitOrientation orientation) const
const Buffer2dSimple< float > getResWindowBufferSplitSimpleF (uint8_t resno, eSplitOrientation orientation) const
const Buf2dAlignedgetResWindowBufferREL (uint8_t resno) const
 Get resolution window.
const Buffer2dSimple< T > getResWindowBufferSimple (uint8_t resno) const
 Get resolution window.
const Buffer2dSimple< float > getResWindowBufferSimpleF (uint8_t resno) const
 Get resolution window.
uint32_t getResWindowBufferHighestStride (void) const
 Get highest resolution window.
Buffer2dSimple< T > getResWindowBufferHighestSimple (void) const
 Get highest resolution window.
Buffer2dSimple< float > getResWindowBufferHighestSimpleF (void) const
 Get highest resolution window.
void attach (T *buffer, uint32_t stride)
void transfer (T **buffer, uint32_t *stride)
void transferData (void **data, uint32_t *stride) override
void attachData (void *data, uint32_t stride) override
uint32_t highestResStride () const override
uint64_t stridedArea () const override
void postProcessBlock (int32_t *srcData, t1::DecompressBlockExec *block, ISparseCanvas< int32_t > *regionWindow) override
void postProcessBlockHT (int32_t *srcData, t1::DecompressBlockExec *block, uint16_t stride, ISparseCanvas< int32_t > *regionWindow) override
Public Member Functions inherited from grk::TileComponentWindowBase< T >
 TileComponentWindowBase (bool isCompressor, bool lossless, bool wholeTileDecompress, Rect32 unreducedTileComp, Rect32 reducedTileComp, Rect32 unreducedImageCompWindow, uint8_t numresolutions, uint8_t reducedNumResolutions)
virtual ~TileComponentWindowBase ()
Rect32 bounds () const override
 Get bounds of tile component (canvas coordinates) decompress: reduced canvas coordinates of window compress: unreduced canvas coordinates of entire tile.
Rect32 unreducedBounds () const override
bool alloc () override
Public Member Functions inherited from grk::ITileComponentWindow
virtual ~ITileComponentWindow ()=default

Private Member Functions

const Buf2dAlignedgetCodeBlockDestWindowREL (uint8_t resno, t1::eBandOrientation orientation) const
Buf2dAlignedgetResWindowBufferHighestREL (void) const
bool useBufferCoordinatesForCodeblock () const
uint8_t getBandIndex (uint8_t resno, t1::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
Rect32 unreducedBounds_
Rect32 bounds_
std::vector< ResSimpleresolution_
bool compress_
bool wholeTileDecompress_

Member Typedef Documentation

◆ Buf2dAligned

template<typename T>
typedef Buffer2d<T, AllocatorAligned> grk::TileComponentWindow< T >::Buf2dAligned

Constructor & Destructor Documentation

◆ TileComponentWindow()

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

◆ ~TileComponentWindow()

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

Member Function Documentation

◆ attach()

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

◆ attachData()

template<typename T>
void grk::TileComponentWindow< T >::attachData ( void * data,
uint32_t stride )
inlineoverridevirtual

Implements grk::ITileComponentWindow.

References attach().

◆ getBandIndex()

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

Referenced by toRelativeCoordinates().

◆ getBandWindowBufferPaddedREL()

template<typename T>
const Buf2dAligned * grk::TileComponentWindow< T >::getBandWindowBufferPaddedREL ( uint8_t resno,
t1::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::t1::BAND_ORIENT_LL, grk::TileComponentWindowBase< T >::compress_, grk::TileComponentWindowBase< T >::resolution_, grk::TileComponentWindowBase< T >::resWindows, and grk::TileComponentWindowBase< T >::wholeTileDecompress_.

Referenced by grk::PartialBandInfo< FILTER_WIDTH >::alloc(), and getCodeBlockDestWindowREL().

◆ getBandWindowBufferPaddedSimple()

template<typename T>
const Buffer2dSimple< T > grk::TileComponentWindow< T >::getBandWindowBufferPaddedSimple ( uint8_t resno,
t1::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::t1::BAND_ORIENT_LL, grk::TileComponentWindowBase< T >::compress_, grk::TileComponentWindowBase< T >::resolution_, grk::TileComponentWindowBase< T >::resWindows, and grk::TileComponentWindowBase< T >::wholeTileDecompress_.

◆ getBandWindowBufferPaddedSimpleF()

template<typename T>
const Buffer2dSimple< float > grk::TileComponentWindow< T >::getBandWindowBufferPaddedSimpleF ( uint8_t resno,
t1::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::t1::BAND_ORIENT_LL, grk::TileComponentWindowBase< T >::compress_, grk::TileComponentWindowBase< T >::resolution_, grk::TileComponentWindowBase< T >::resWindows, and grk::TileComponentWindowBase< T >::wholeTileDecompress_.

◆ getBandWindowPadded()

template<typename T>
const Rect32 * grk::TileComponentWindow< T >::getBandWindowPadded ( uint8_t resno,
t1::eBandOrientation orientation ) const
inlineoverridevirtual

Get padded band window.

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

Implements grk::ITileComponentWindow.

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

◆ getCodeBlockDestWindowREL()

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

◆ getResWindowBufferHighestREL()

◆ getResWindowBufferHighestSimple()

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

Get highest resolution window.

References getResWindowBufferHighestREL(), and grk::Buffer2d< T, A >::simple().

◆ getResWindowBufferHighestSimpleF()

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

Get highest resolution window.

References getResWindowBufferHighestREL(), and grk::Buffer2d< T, A >::simpleF().

◆ getResWindowBufferHighestStride()

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

Get highest resolution window.

References getResWindowBufferHighestREL(), and grk::Buffer2d< T, A >::getStride().

Referenced by highestResStride().

◆ getResWindowBufferREL()

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

◆ getResWindowBufferSimple()

template<typename T>
const Buffer2dSimple< T > grk::TileComponentWindow< T >::getResWindowBufferSimple ( uint8_t resno) const
inline

Get resolution window.

Parameters
resnoresolution number

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

◆ getResWindowBufferSimpleF()

template<typename T>
const Buffer2dSimple< float > grk::TileComponentWindow< T >::getResWindowBufferSimpleF ( uint8_t resno) const
inline

Get resolution window.

Parameters
resnoresolution number

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

◆ getResWindowBufferSplitREL()

◆ getResWindowBufferSplitSimple()

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

◆ getResWindowBufferSplitSimpleF()

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

◆ highestResStride()

template<typename T>
uint32_t grk::TileComponentWindow< T >::highestResStride ( ) const
inlineoverridevirtual

◆ postProcess()

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

◆ postProcessBlock()

◆ postProcessBlockHT()

◆ postProcessNarrow()

template<typename T>
template<typename SrcT, template< class > class SrcA, typename F>
void grk::TileComponentWindow< T >::postProcessNarrow ( Buffer2d< SrcT, SrcA > & src,
uint8_t resno,
t1::eBandOrientation bandOrientation,
t1::DecompressBlockExec * block )
inline

◆ stridedArea()

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

◆ toRelativeCoordinates()

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

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

Implements grk::ITileComponentWindow.

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

Referenced by postProcessBlock(), and postProcessBlockHT().

◆ transfer()

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

◆ transferData()

template<typename T>
void grk::TileComponentWindow< T >::transferData ( void ** data,
uint32_t * stride )
inlineoverridevirtual

Implements grk::ITileComponentWindow.

References transfer().

◆ useBufferCoordinatesForCodeblock()

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

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