|
Grok 20.3.2
|
#include <TileComponentWindow.h>
Public Types | |
| typedef Buffer2d< T, AllocatorAligned > | Buf2dAligned |
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 Buf2dAligned * | getBandWindowBufferPaddedREL (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 Rect32 * | getBandWindowPadded (uint8_t resno, t1::eBandOrientation orientation) const override |
| Get padded band window. | |
| const Buf2dAligned * | getResWindowBufferSplitREL (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 Buf2dAligned * | getResWindowBufferREL (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 Buf2dAligned * | getCodeBlockDestWindowREL (uint8_t resno, t1::eBandOrientation orientation) const |
| Buf2dAligned * | getResWindowBufferHighestREL (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< ResSimple > | resolution_ |
| bool | compress_ |
| bool | wholeTileDecompress_ |
| typedef Buffer2d<T, AllocatorAligned> grk::TileComponentWindow< T >::Buf2dAligned |
|
inline |
|
overridedefault |
|
inline |
References grk::Buffer2d< T, A >::attach(), and getResWindowBufferHighestREL().
Referenced by attachData().
|
inlineoverridevirtual |
Implements grk::ITileComponentWindow.
References attach().
|
inlineprivate |
Referenced by toRelativeCoordinates().
|
inline |
Get padded band window buffer.
| 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::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().
|
inline |
Get padded band window buffer.
| 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::t1::BAND_ORIENT_LL, grk::TileComponentWindowBase< T >::compress_, grk::TileComponentWindowBase< T >::resolution_, grk::TileComponentWindowBase< T >::resWindows, and grk::TileComponentWindowBase< T >::wholeTileDecompress_.
|
inline |
Get padded band window buffer.
| 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::t1::BAND_ORIENT_LL, grk::TileComponentWindowBase< T >::compress_, grk::TileComponentWindowBase< T >::resolution_, grk::TileComponentWindowBase< T >::resWindows, and grk::TileComponentWindowBase< T >::wholeTileDecompress_.
|
inlineoverridevirtual |
Get padded band window.
| resno | resolution number |
| orientation | band orientation {0,1,2,3} for {LL,HL,LH,HH} band windows |
Implements grk::ITileComponentWindow.
References grk::TileComponentWindowBase< T >::resWindows.
|
inlineprivate |
References getBandWindowBufferPaddedREL(), getResWindowBufferHighestREL(), and useBufferCoordinatesForCodeblock().
Referenced by postProcess(), and postProcessNarrow().
|
inlineprivate |
|
inline |
Get highest resolution window.
References getResWindowBufferHighestREL(), and grk::Buffer2d< T, A >::simple().
|
inline |
Get highest resolution window.
References getResWindowBufferHighestREL(), and grk::Buffer2d< T, A >::simpleF().
|
inline |
Get highest resolution window.
References getResWindowBufferHighestREL(), and grk::Buffer2d< T, A >::getStride().
Referenced by highestResStride().
|
inline |
Get resolution window.
| resno | resolution number |
References grk::TileComponentWindowBase< T >::resWindows.
Referenced by grk::PartialBandInfo< FILTER_WIDTH >::alloc(), getResWindowBufferSimple(), and getResWindowBufferSimpleF().
|
inline |
Get resolution window.
| resno | resolution number |
References getResWindowBufferREL(), and grk::Buffer2d< T, A >::simple().
|
inline |
Get resolution window.
| resno | resolution number |
References getResWindowBufferREL(), and grk::Buffer2d< T, A >::simpleF().
|
inline |
|
inline |
References getResWindowBufferSplitREL(), and grk::Buffer2d< T, A >::simple().
|
inline |
References getResWindowBufferSplitREL(), and grk::Buffer2d< T, A >::simpleF().
|
inlineoverridevirtual |
Implements grk::ITileComponentWindow.
References getResWindowBufferHighestStride().
|
inline |
References grk::Buffer2d< T, A >::copyFrom(), and getCodeBlockDestWindowREL().
Referenced by postProcessBlock(), and postProcessBlockHT().
|
overridevirtual |
Implements grk::ITileComponentWindow.
References grk::t1::BlockExec::bandOrientation, grk::t1::DecompressBlockExec::cblk, grk::t1::CodeblockDecompress::dataChunksEmpty(), postProcess(), postProcessNarrow(), grk::t1::BlockExec::qmfbid, grk::t1::DecompressBlockExec::resno, grk::t1::DecompressBlockExec::roishift, toRelativeCoordinates(), grk::ISparseCanvas< T >::write(), grk::t1::BlockExec::x, and grk::t1::BlockExec::y.
|
overridevirtual |
Implements grk::ITileComponentWindow.
References grk::t1::BlockExec::bandOrientation, grk::t1::DecompressBlockExec::cblk, grk::t1::CodeblockDecompress::dataChunksEmpty(), postProcess(), postProcessNarrow(), grk::t1::BlockExec::qmfbid, grk::t1::DecompressBlockExec::resno, grk::t1::DecompressBlockExec::roishift, toRelativeCoordinates(), grk::ISparseCanvas< T >::write(), grk::t1::BlockExec::x, and grk::t1::BlockExec::y.
|
inline |
References getCodeBlockDestWindowREL().
Referenced by postProcessBlock(), and postProcessBlockHT().
|
inlineoverridevirtual |
Implements grk::ITileComponentWindow.
References getResWindowBufferHighestREL().
|
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
| 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 |
Implements grk::ITileComponentWindow.
References getBandIndex(), grk::TileComponentWindowBase< T >::resolution_, and useBufferCoordinatesForCodeblock().
Referenced by postProcessBlock(), and postProcessBlockHT().
|
inline |
References getResWindowBufferHighestREL(), and grk::Buffer2d< T, A >::transfer().
Referenced by transferData().
|
inlineoverridevirtual |
Implements grk::ITileComponentWindow.
References transfer().
|
inlineprivate |
References grk::TileComponentWindowBase< T >::compress_, and grk::TileComponentWindowBase< T >::wholeTileDecompress_.
Referenced by getCodeBlockDestWindowREL(), and toRelativeCoordinates().