Grok 13.0.2
TileCache.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2016-2024 Grok Image Compression Inc.
3 *
4 * This source code is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU Affero General Public License, version 3,
6 * as published by the Free Software Foundation.
7 *
8 * This source code is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Affero General Public License for more details.
12 *
13 * You should have received a copy of the GNU Affero General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include <map>
20
21namespace grk
22{
23struct TileProcessor;
24class GrkImage;
25
34
36{
37 public:
39 TileCache(void);
40 virtual ~TileCache();
41
42 bool empty(void);
45 TileCacheEntry* put(uint16_t tile_index, TileProcessor* processor);
46 TileCacheEntry* get(uint16_t tile_index);
48 std::vector<GrkImage*> getAllImages(void);
49 std::vector<GrkImage*> getTileImages(void);
50
51 private:
52 // each component is sub-sampled and resolution-reduced
54 std::map<uint32_t, TileCacheEntry*> cache_;
56};
57
58} // namespace grk
Definition GrkImage.h:24
Definition TileCache.h:36
std::vector< GrkImage * > getAllImages(void)
Definition TileCache.cpp:78
GrkImage * tileComposite
Definition TileCache.h:53
TileCache(void)
Definition TileCache.cpp:31
std::vector< GrkImage * > getTileImages(void)
Definition TileCache.cpp:85
virtual ~TileCache()
Definition TileCache.cpp:32
std::map< uint32_t, TileCacheEntry * > cache_
Definition TileCache.h:54
GRK_TILE_CACHE_STRATEGY strategy_
Definition TileCache.h:55
void setStrategy(GRK_TILE_CACHE_STRATEGY strategy)
Definition TileCache.cpp:66
GrkImage * getComposite(void)
Definition TileCache.cpp:74
TileCacheEntry * put(uint16_t tile_index, TileProcessor *processor)
Definition TileCache.cpp:43
GRK_TILE_CACHE_STRATEGY getStrategy(void)
Definition TileCache.cpp:70
bool empty(void)
Definition TileCache.cpp:39
TileCacheEntry * get(uint16_t tile_index)
Definition TileCache.cpp:59
enum _GRK_TILE_CACHE_STRATEGY GRK_TILE_CACHE_STRATEGY
Grok tile cache strategy.
Copyright (C) 2016-2024 Grok Image Compression Inc.
Definition ICacheable.h:20
Definition TileCache.h:27
TileProcessor * processor
Definition TileCache.h:32
~TileCacheEntry()
Definition TileCache.cpp:23
TileCacheEntry()
Definition TileCache.cpp:22
Definition TileProcessor.h:78