grk::TileComponentWindow< T > Struct Template Reference

`#include <TileComponentWindow.h>`

Inheritance diagram for grk::TileComponentWindow< T >:

## Public Types

typedef grk_buf2d< T, AllocatorAligned > | Buf2dAligned

## 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 Buf2dAligned * | getBandWindowBufferPaddedREL (uint8_t resno, eBandOrientation orientation) const
| Get padded band window buffer.
const grk_buf2d_simple< int32_t > | getBandWindowBufferPaddedSimple (uint8_t resno, eBandOrientation orientation) const
| Get padded band window buffer.
const grk_buf2d_simple< float > | getBandWindowBufferPaddedSimpleF (uint8_t resno, eBandOrientation orientation) const
| Get padded band window buffer.
const grk_rect32 * | getBandWindowPadded (uint8_t resno, eBandOrientation orientation) const
| Get padded band window.
const Buf2dAligned * | getResWindowBufferSplitREL (uint8_t resno, eSplitOrientation orientation) const
const grk_buf2d_simple< int32_t > | getResWindowBufferSplitSimple (uint8_t resno, eSplitOrientation orientation) const
const grk_buf2d_simple< float > | getResWindowBufferSplitSimpleF (uint8_t resno, eSplitOrientation orientation) const
const Buf2dAligned * | getResWindowBufferREL (uint32_t resno) const
| Get resolution window.
const grk_buf2d_simple< int32_t > | getResWindowBufferSimple (uint32_t resno) const
| Get resolution window.
const grk_buf2d_simple< float > | getResWindowBufferSimpleF (uint32_t resno) const
| Get resolution window.
uint32_t | getResWindowBufferHighestStride (void) const
| Get highest resolution window.
grk_buf2d_simple< int32_t > | getResWindowBufferHighestSimple (void) const
| Get highest resolution window.
grk_buf2d_simple< float > | getResWindowBufferHighestSimpleF (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 Buf2dAligned * | getCodeBlockDestWindowREL (uint8_t resno, eBandOrientation orientation) const
| Get code block destination window.
Buf2dAligned * | getResWindowBufferHighestREL (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< ResSimple > | resolution_
bool | compress_
bool | wholeTileDecompress_

## Member Typedef Documentation

## Buf2dAligned

template<typename T >

typedef grk_buf2d<T, AllocatorAligned> grk::TileComponentWindow< T >::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

References grk::grk_buf2d< T, A >::attach(), and grk::TileComponentWindow< T >::getResWindowBufferHighestREL().

## getBandIndex()

template<typename T >

uint8_t grk::TileComponentWindow< T >::getBandIndex | ( | uint8_t | resno,
|  | eBandOrientation | orientation
| ) |  | const

inline private

References grk::grk_read().

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

## getBandWindowBufferPaddedREL()

template<typename T >

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

inline

Get padded band window buffer.

Parameters

  resno | resolution number
  orientation | band 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

  resno | resolution number
  orientation | band 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

  resno | resolution number
  orientation | band 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

  resno | resolution number
  orientation | band 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

inline private

Get code block destination window.

Parameters

  resno | resolution number
  orientation | band orientation {LL,HL,LH,HH}

References grk::TileComponentWindow< T >::getBandWindowBufferPaddedREL(), grk::TileComponentWindow< T >::getResWindowBufferHighestREL(), and grk::TileComponentWindow< T >::useBufferCoordinatesForCodeblock().

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

## getResWindowBufferHighestREL()

template<typename T >

Buf2dAligned * grk::TileComponentWindow< T >::getResWindowBufferHighestREL | ( | void |  | ) | const

inline private

Get highest resolution window.

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

Referenced by grk::TileComponentWindow< T >::attach(), grk::TileComponentWindow< T >::getCodeBlockDestWindowREL(), grk::TileComponentWindow< T >::getResWindowBufferHighestSimple(), grk::TileComponentWindow< T >::getResWindowBufferHighestSimpleF(), grk::TileComponentWindow< T >::getResWindowBufferHighestStride(), grk::TileComponentWindow< T >::stridedArea(), and grk::TileComponentWindow< T >::transfer().

## getResWindowBufferHighestSimple()

template<typename T >

grk_buf2d_simple< int32_t > grk::TileComponentWindow< T >::getResWindowBufferHighestSimple | ( | void |  | ) | const

inline

Get highest resolution window.

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

Referenced by grk::WaveletFwdImpl::encode_procedure(), grk::TileProcessor::mct_encode(), and grk::TileProcessor::mctDecompress().

## getResWindowBufferHighestSimpleF()

template<typename T >

grk_buf2d_simple< float > grk::TileComponentWindow< T >::getResWindowBufferHighestSimpleF | ( | void |  | ) | const

inline

Get highest resolution window.

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

## getResWindowBufferHighestStride()

template<typename T >

uint32_t grk::TileComponentWindow< T >::getResWindowBufferHighestStride | ( | void |  | ) | const

inline

Get highest resolution window.

References grk::TileComponentWindow< T >::getResWindowBufferHighestREL(), and grk::grk_buf2d< T, A >::stride.

## getResWindowBufferREL()

template<typename T >

const Buf2dAligned * grk::TileComponentWindow< T >::getResWindowBufferREL | ( | uint32_t | resno | ) | const

inline

Get resolution window.

Parameters

  resno | resolution number

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

Referenced by grk::TileComponentWindow< T >::getResWindowBufferSimple(), and grk::TileComponentWindow< T >::getResWindowBufferSimpleF().

## getResWindowBufferSimple()

template<typename T >

const grk_buf2d_simple< int32_t > grk::TileComponentWindow< T >::getResWindowBufferSimple | ( | uint32_t | resno | ) | const

inline

Get resolution window.

Parameters

  resno | resolution 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

  resno | resolution 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

References grk::grk_read(), grk::TileComponentWindowBase< T >::resolution_, and grk::TileComponentWindowBase< T >::resWindows.

Referenced by grk::TileComponentWindow< T >::getResWindowBufferSplitSimple(), and grk::TileComponentWindow< T >::getResWindowBufferSplitSimpleF().

## getResWindowBufferSplitSimple()

template<typename T >

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

inline

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

## getResWindowBufferSplitSimpleF()

template<typename T >

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

inline

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

## postProcess()

template<typename T >
template<typename F >

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

inline

References grk::TileComponentWindow< T >::getCodeBlockDestWindowREL(), and grk::grk_read().

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

## stridedArea()

template<typename T >

uint64_t grk::TileComponentWindow< T >::stridedArea | ( | void |  | ) | const

inline

References grk::TileComponentWindow< T >::getResWindowBufferHighestREL(), and grk::grk_read().

Referenced by grk::TileProcessor::mct_encode(), and grk::TileProcessor::mctDecompress().

## 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

  resno | resolution number
  orientation | band orientation {LL,HL,LH,HH}
  offsetx | x offset of code block in canvas coordinates
  offsety | y 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

References grk::TileComponentWindow< T >::getResWindowBufferHighestREL(), and grk::grk_buf2d< T, A >::transfer().

## useBufferCoordinatesForCodeblock()

template<typename T >

bool grk::TileComponentWindow< T >::useBufferCoordinatesForCodeblock | ( |  | ) | const

inline private

References grk::TileComponentWindowBase< T >::compress_, and grk::TileComponentWindowBase< T >::wholeTileDecompress_.

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

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

- ResWindow.h
- TileComponentWindow.h