|
Grok 20.3.2
|
Tracks per-tile completion and fires row callbacks for incremental compositing. More...
#include <TileCompletion.h>
Public Types | |
| using | RowCompletionCallback = std::function<void(uint16_t tileIndexBegin, uint16_t tileIndexEnd)> |
| using | RowsReleasedCallback = std::function<void()> |
Public Member Functions | |
| TileCompletion (TileCache *tileCache, const Rect32 &imageBounds, uint32_t tileWidth, uint32_t tileHeight, RowCompletionCallback callback, RowsReleasedCallback rowsReleasedCallback=nullptr, std::optional< Rect16 > tileSubRegion=std::nullopt) | |
| void | complete (uint16_t tileIndex) |
| bool | wait (grk_wait_swath *swath) |
| int32_t | getLastClearedTileY () const |
| void | setLastClearedTileY (int32_t val) |
| int32_t | getNeededTileY1 () const |
| uint16_t | getNumTileCols () const |
Private Attributes | |
| TileCache * | tileCache_ = nullptr |
| SimpleHeap< uint16_t > | heap_ |
| std::vector< bool > | completedTiles_ |
| std::vector< uint16_t > | completedTilesPerRow_ |
| int32_t | localWaitEnd_ = -1 |
| int32_t | localContiguousEnd_ = -1 |
| std::mutex | mutex_ |
| std::condition_variable | completionCV_ |
| uint16_t | numTileCols_ |
| uint16_t | numTileRows_ |
| uint32_t | tileWidth_ |
| uint32_t | tileHeight_ |
| Rect32 | imageBounds_ |
| uint16_t | tileX0_ |
| uint16_t | tileX1_ |
| uint16_t | tileY0_ |
| uint16_t | tileY1_ |
| uint16_t | subregionWidth_ |
| uint16_t | subregionHeight_ |
| uint16_t | currentTileY_ |
| int32_t | lastClearedTileY_ |
| std::atomic< int32_t > | neededTileY1_ {0} |
| RowCompletionCallback | rowCallback_ |
| RowsReleasedCallback | rowsReleasedCallback_ |
Tracks per-tile completion and fires row callbacks for incremental compositing.
| using grk::TileCompletion::RowCompletionCallback = std::function<void(uint16_t tileIndexBegin, uint16_t tileIndexEnd)> |
| using grk::TileCompletion::RowsReleasedCallback = std::function<void()> |
|
inline |
References completedTiles_, completedTilesPerRow_, currentTileY_, grk::grklog, imageBounds_, lastClearedTileY_, numTileCols_, numTileRows_, rowCallback_, rowsReleasedCallback_, subregionHeight_, subregionWidth_, tileCache_, tileHeight_, tileWidth_, tileX0_, tileX1_, tileY0_, tileY1_, grk::Rect< T >::x0, grk::Rect< T >::x1, grk::Rect< T >::y0, and grk::Rect< T >::y1.
|
inline |
References completedTiles_, completedTilesPerRow_, completionCV_, grk::grklog, heap_, localContiguousEnd_, localWaitEnd_, mutex_, numTileCols_, rowCallback_, subregionWidth_, tileX0_, tileX1_, tileY0_, and tileY1_.
|
inline |
References lastClearedTileY_, and mutex_.
|
inline |
References neededTileY1_.
|
inline |
References numTileCols_.
|
inline |
References lastClearedTileY_, and mutex_.
|
inline |
References completedTiles_, completionCV_, currentTileY_, grk::grklog, imageBounds_, lastClearedTileY_, localContiguousEnd_, localWaitEnd_, mutex_, neededTileY1_, grk_wait_swath::num_tile_cols, numTileCols_, grk::MemoryManager::releaseFreedPages(), rowsReleasedCallback_, subregionHeight_, subregionWidth_, grk_wait_swath::tile_x0, grk_wait_swath::tile_x1, grk_wait_swath::tile_y0, grk_wait_swath::tile_y1, tileCache_, tileHeight_, tileWidth_, tileX0_, tileX1_, tileY0_, tileY1_, grk_wait_swath::x0, grk_wait_swath::x1, grk_wait_swath::y0, and grk_wait_swath::y1.
|
private |
Referenced by complete(), TileCompletion(), and wait().
|
private |
Referenced by complete(), and TileCompletion().
|
private |
Referenced by complete(), and wait().
|
private |
Referenced by TileCompletion(), and wait().
|
private |
Referenced by complete().
|
private |
Referenced by TileCompletion(), and wait().
|
private |
Referenced by getLastClearedTileY(), setLastClearedTileY(), TileCompletion(), and wait().
|
private |
Referenced by complete(), and wait().
|
private |
Referenced by complete(), and wait().
|
mutableprivate |
Referenced by complete(), getLastClearedTileY(), setLastClearedTileY(), and wait().
|
private |
Referenced by getNeededTileY1(), and wait().
|
private |
Referenced by complete(), getNumTileCols(), TileCompletion(), and wait().
|
private |
Referenced by TileCompletion().
|
private |
Referenced by complete(), and TileCompletion().
|
private |
Referenced by TileCompletion(), and wait().
|
private |
Referenced by TileCompletion(), and wait().
|
private |
Referenced by complete(), TileCompletion(), and wait().
|
private |
Referenced by TileCompletion(), and wait().
|
private |
Referenced by TileCompletion(), and wait().
|
private |
Referenced by TileCompletion(), and wait().
|
private |
Referenced by complete(), TileCompletion(), and wait().
|
private |
Referenced by complete(), TileCompletion(), and wait().
|
private |
Referenced by complete(), TileCompletion(), and wait().
|
private |
Referenced by complete(), TileCompletion(), and wait().