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

ResWindow. More...

#include <ResWindow.h>

Public Types

typedef grk_buf2d< T, AllocatorAlignedBuf2dAligned
 

Private Member Functions

 ResWindow (uint8_t numresolutions, uint8_t resno, Buf2dAligned *resWindowHighestResREL, ResSimple tileCompAtRes, ResSimple tileCompAtLowerRes, grk_rect32 resWindow, grk_rect32 tileCompWindowUnreduced, grk_rect32 tileCompUnreduced, uint32_t FILTER_WIDTH)
 
 ~ResWindow ()
 
void genSplitWindowBuffers (Buf2dAligned **resWindowBufferSplit, Buf2dAligned *resWindowBuffer, Buf2dAligned *bandWindowsBuffersPaddedXL, Buf2dAligned *bandWindowsBuffersPaddedXH, bool absolute)
 
bool alloc (bool clear)
 
grk_buf2d_simple< int32_tgetResWindowBufferSimple (void) const
 
grk_buf2d_simple< floatgetResWindowBufferSimpleF (void) const
 
void disableBandWindowAllocation (void)
 
Buf2dAlignedgetResWindowBufferSplitREL (eSplitOrientation orientation) const
 
const grk_rect32getBandWindowPadded (eBandOrientation orientation) const
 
const Buf2dAlignedgetBandWindowBufferPaddedREL (eBandOrientation orientation) const
 
const grk_buf2d_simple< int32_tgetBandWindowBufferPaddedSimple (eBandOrientation orientation) const
 
const grk_buf2d_simple< floatgetBandWindowBufferPaddedSimpleF (eBandOrientation orientation) const
 
Buf2dAlignedgetResWindowBufferREL (void) const
 

Static Private Member Functions

static grk_rect32 getPaddedBandWindow (uint8_t numDecomps, uint8_t orientation, grk_rect32 unreducedTileCompWindow, grk_rect32 unreducedTileComp, uint32_t padding, grk_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< grk_rect32bandWindowsBoundsPadded_
 
Buf2dAlignedresWindowBufferHighestResREL_
 
Buf2dAlignedresWindowBufferREL_
 
Buf2dAlignedresWindowBufferSplitREL_ [SPLIT_NUM_ORIENTATIONS]
 
std::vector< Buf2dAligned * > bandWindowsBuffersPaddedREL_
 

Friends

struct TileComponentWindowBase< T >
 
struct TileComponentWindow< T >
 

Detailed Description

template<typename T>
struct grk::ResWindow< T >

ResWindow.

Manage all buffers for a single DWT resolution. This class stores a buffer for the resolution (in REL coordinates), and also buffers for the 4 sub-bands generated by the DWT transform (in Canvas coordinates).

Note: if highest resolution window is set, then only this window allocates memory, and all other ResWindow buffers attach themselves to the highest resolution buffer

Member Typedef Documentation

◆ Buf2dAligned

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

Constructor & Destructor Documentation

◆ ResWindow()

template<typename T >
grk::ResWindow< T >::ResWindow ( uint8_t numresolutions,
uint8_t resno,
Buf2dAligned * resWindowHighestResREL,
ResSimple tileCompAtRes,
ResSimple tileCompAtLowerRes,
grk_rect32 resWindow,
grk_rect32 tileCompWindowUnreduced,
grk_rect32 tileCompUnreduced,
uint32_t FILTER_WIDTH )
inlineprivate

◆ ~ResWindow()

template<typename T >
grk::ResWindow< T >::~ResWindow ( )
inlineprivate

Member Function Documentation

◆ alloc()

template<typename T >
bool grk::ResWindow< T >::alloc ( bool clear)
inlineprivate

◆ 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 ( eBandOrientation orientation) const
inlineprivate

◆ getBandWindowBufferPaddedSimple()

template<typename T >
const grk_buf2d_simple< int32_t > grk::ResWindow< T >::getBandWindowBufferPaddedSimple ( eBandOrientation orientation) const
inlineprivate

◆ getBandWindowBufferPaddedSimpleF()

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

◆ getBandWindowPadded()

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

◆ getPaddedBandWindow()

template<typename T >
static grk_rect32 grk::ResWindow< T >::getPaddedBandWindow ( uint8_t numDecomps,
uint8_t orientation,
grk_rect32 unreducedTileCompWindow,
grk_rect32 unreducedTileComp,
uint32_t padding,
grk_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::BAND_NUM_ORIENTATIONS, grk::ResSimple::getBandWindow(), and grk::grk_read().

Referenced by grk::ResWindow< T >::ResWindow().

◆ getResWindowBufferREL()

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

◆ getResWindowBufferSimple()

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

◆ getResWindowBufferSimpleF()

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

◆ getResWindowBufferSplitREL()

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

Friends And Related Symbol Documentation

◆ 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

◆ bandWindowsBoundsPadded_

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

◆ 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

◆ 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

◆ 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

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