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

#include <ResWindow.h>

Public Types

typedef Buffer2d< T, AllocatorAlignedBuf2dAligned

Private Member Functions

 ResWindow (uint8_t numresolutions, uint8_t resno, Buf2dAligned *resWindowHighestResREL, ResSimple tileCompAtRes, ResSimple tileCompAtLowerRes, Rect32 resWindow, Rect32 tileCompWindowUnreduced, Rect32 tileCompUnreduced, uint32_t FILTER_WIDTH)
 ~ResWindow ()
void genSplitWindowBuffers (Buf2dAligned **resWindowBufferSplit, Buf2dAligned *resWindowBuffer, Buf2dAligned *bandWindowsBuffersPaddedXL, Buf2dAligned *bandWindowsBuffersPaddedXH, bool absolute)
bool alloc (bool clear)
Buffer2dSimple< T > getResWindowBufferSimple (void) const
Buffer2dSimple< float > getResWindowBufferSimpleF (void) const
void disableBandWindowAllocation (void)
Buf2dAlignedgetResWindowBufferSplitREL (eSplitOrientation orientation) const
const Rect32getBandWindowPadded (t1::eBandOrientation orientation) const
const Buf2dAlignedgetBandWindowBufferPaddedREL (t1::eBandOrientation orientation) const
const Buffer2dSimple< T > getBandWindowBufferPaddedSimple (t1::eBandOrientation orientation) const
const Buffer2dSimple< float > getBandWindowBufferPaddedSimpleF (t1::eBandOrientation orientation) const
Buf2dAlignedgetResWindowBufferREL (void) const

Static Private Member Functions

static Rect32 getPaddedBandWindow (uint8_t numDecomps, uint8_t orientation, Rect32 unreducedTileCompWindow, Rect32 unreducedTileComp, uint32_t padding, Rect32 &paddedResWindow)
 Get band window (in tile component coordinates) for specified number of decompositions (with padding).

Private Attributes

bool allocated_
uint32_t filterWidth_
ResSimple tileCompAtRes_
ResSimple tileCompAtLowerRes_
Buf2dAlignedresWindowBuffer_
Buf2dAlignedresWindowBufferSplit_ [SPLIT_NUM_ORIENTATIONS]
std::vector< Buf2dAligned * > bandWindowsBuffersPadded_
std::vector< Rect32bandWindowsBoundsPadded_
Buf2dAlignedresWindowBufferHighestResREL_
Buf2dAlignedresWindowBufferREL_
Buf2dAlignedresWindowBufferSplitREL_ [SPLIT_NUM_ORIENTATIONS]
std::vector< Buf2dAligned * > bandWindowsBuffersPaddedREL_

Friends

struct TileComponentWindowBase< T >
struct TileComponentWindow< T >

Member Typedef Documentation

◆ Buf2dAligned

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

Constructor & Destructor Documentation

◆ ResWindow()

◆ ~ResWindow()

Member Function Documentation

◆ alloc()

◆ disableBandWindowAllocation()

template<typename T>
void grk::ResWindow< T >::disableBandWindowAllocation ( void )
inlineprivate

◆ genSplitWindowBuffers()

template<typename T>
void grk::ResWindow< T >::genSplitWindowBuffers ( Buf2dAligned ** resWindowBufferSplit,
Buf2dAligned * resWindowBuffer,
Buf2dAligned * bandWindowsBuffersPaddedXL,
Buf2dAligned * bandWindowsBuffersPaddedXH,
bool absolute )
inlineprivate

◆ getBandWindowBufferPaddedREL()

template<typename T>
const Buf2dAligned * grk::ResWindow< T >::getBandWindowBufferPaddedREL ( t1::eBandOrientation orientation) const
inlineprivate

◆ getBandWindowBufferPaddedSimple()

template<typename T>
const Buffer2dSimple< T > grk::ResWindow< T >::getBandWindowBufferPaddedSimple ( t1::eBandOrientation orientation) const
inlineprivate

◆ getBandWindowBufferPaddedSimpleF()

template<typename T>
const Buffer2dSimple< float > grk::ResWindow< T >::getBandWindowBufferPaddedSimpleF ( t1::eBandOrientation orientation) const
inlineprivate

◆ getBandWindowPadded()

template<typename T>
const Rect32 * grk::ResWindow< T >::getBandWindowPadded ( t1::eBandOrientation orientation) const
inlineprivate

◆ getPaddedBandWindow()

template<typename T>
Rect32 grk::ResWindow< T >::getPaddedBandWindow ( uint8_t numDecomps,
uint8_t orientation,
Rect32 unreducedTileCompWindow,
Rect32 unreducedTileComp,
uint32_t padding,
Rect32 & paddedResWindow )
inlinestaticprivate

Get band window (in tile component coordinates) for specified number of decompositions (with padding).

Note: if numDecomps is zero, then the band window (and there is only one) is equal to the unreduced tile component window (with padding)

References grk::t1::BAND_NUM_ORIENTATIONS, grk::Rect< T >::clip_IN_PLACE(), grk::ResSimple::getBandWindow(), grk::Rect< T >::grow_IN_PLACE(), grk::Rect< T >::intersection(), and grk::Rect< T >::setOrigin().

Referenced by ResWindow().

◆ getResWindowBufferREL()

template<typename T>
Buf2dAligned * grk::ResWindow< T >::getResWindowBufferREL ( void ) const
inlineprivate

References resWindowBufferREL_.

◆ getResWindowBufferSimple()

template<typename T>
Buffer2dSimple< T > grk::ResWindow< T >::getResWindowBufferSimple ( void ) const
inlineprivate

References resWindowBuffer_.

◆ getResWindowBufferSimpleF()

template<typename T>
Buffer2dSimple< float > grk::ResWindow< T >::getResWindowBufferSimpleF ( void ) const
inlineprivate

References resWindowBuffer_.

◆ getResWindowBufferSplitREL()

template<typename T>
Buf2dAligned * grk::ResWindow< T >::getResWindowBufferSplitREL ( eSplitOrientation orientation) const
inlineprivate

◆ TileComponentWindow< T >

template<typename T>
friend struct TileComponentWindow< T >
friend

◆ TileComponentWindowBase< T >

template<typename T>
friend struct TileComponentWindowBase< T >
friend

Member Data Documentation

◆ allocated_

template<typename T>
bool grk::ResWindow< T >::allocated_
private

Referenced by alloc(), and ResWindow().

◆ bandWindowsBoundsPadded_

template<typename T>
std::vector<Rect32> grk::ResWindow< T >::bandWindowsBoundsPadded_
private

Referenced by getBandWindowPadded(), and ResWindow().

◆ bandWindowsBuffersPadded_

template<typename T>
std::vector<Buf2dAligned*> grk::ResWindow< T >::bandWindowsBuffersPadded_
private

◆ bandWindowsBuffersPaddedREL_

template<typename T>
std::vector<Buf2dAligned*> grk::ResWindow< T >::bandWindowsBuffersPaddedREL_
private

◆ filterWidth_

template<typename T>
uint32_t grk::ResWindow< T >::filterWidth_
private

Referenced by alloc(), and ResWindow().

◆ resWindowBuffer_

template<typename T>
Buf2dAligned* grk::ResWindow< T >::resWindowBuffer_
private

◆ resWindowBufferHighestResREL_

template<typename T>
Buf2dAligned* grk::ResWindow< T >::resWindowBufferHighestResREL_
private

◆ resWindowBufferREL_

template<typename T>
Buf2dAligned* grk::ResWindow< T >::resWindowBufferREL_
private

◆ resWindowBufferSplit_

template<typename T>
Buf2dAligned* grk::ResWindow< T >::resWindowBufferSplit_[SPLIT_NUM_ORIENTATIONS]
private

Referenced by alloc(), ResWindow(), and ~ResWindow().

◆ resWindowBufferSplitREL_

template<typename T>
Buf2dAligned* grk::ResWindow< T >::resWindowBufferSplitREL_[SPLIT_NUM_ORIENTATIONS]
private

◆ tileCompAtLowerRes_

template<typename T>
ResSimple grk::ResWindow< T >::tileCompAtLowerRes_
private

◆ tileCompAtRes_

template<typename T>
ResSimple grk::ResWindow< T >::tileCompAtRes_
private

Referenced by ResWindow().


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