Grok  9.5.0
GrkImage.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "grk_includes.h"
4 
5 namespace grk
6 {
7 struct Tile;
8 struct CodingParams;
9 struct TileComponent;
10 
12 {
13  public:
14  GrkImageMeta();
15  virtual ~GrkImageMeta();
16 };
17 
18 class GrkImage : public grk_image
19 {
21 
22  public:
23  GrkImage();
24  bool subsampleAndReduce(uint32_t reduce);
35  static GrkImage* create(uint16_t numcmpts, grk_image_cmptparm* cmptparms,
36  GRK_COLOR_SPACE clrspc, bool doAllocation);
44  static bool allocData(grk_image_comp* image);
50  bool allocData();
59  void copyHeader(GrkImage* dest);
64  void transferDataTo(GrkImage* dest);
65  void transferDataFrom(const Tile* tile_src_data);
66  GrkImage* duplicate(const Tile* tile_src);
78  bool compositeFrom(const Tile* src_tile);
79  bool compositeFrom(const GrkImage* src_img);
80  bool generateCompositeBounds(const TileComponent* src_comp, uint16_t compno, grkRectU32* src,
81  grkRectU32* dest, grkRectU32* dest_win, uint32_t* src_line_off);
82 
83  bool generateCompositeBounds(const grk_image_comp* src_comp, uint16_t compno, grkRectU32* src,
84  grkRectU32* dest, grkRectU32* dest_win, uint32_t* src_line_off);
85  bool generateCompositeBounds(uint16_t compno, grkRectU32* src, uint32_t src_stride,
86  grkRectU32* dest, grkRectU32* dest_win, uint32_t* src_line_off);
87  void createMeta();
88 
89  private:
90  ~GrkImage();
91  bool ownsData;
92 };
93 
94 } // namespace grk
Definition: GrkImage.h:19
GrkImage()
Definition: GrkImage.cpp:5
bool subsampleAndReduce(uint32_t reduce)
Definition: GrkImage.cpp:74
void copyHeader(GrkImage *dest)
Copy only header of image and its component header (no data are copied) if dest image have data,...
Definition: GrkImage.cpp:126
bool compositeFrom(const Tile *src_tile)
Copy tile to composite image.
Definition: GrkImage.cpp:389
bool allocData()
Allocate data.
Definition: GrkImage.cpp:203
GrkImage * duplicate(const Tile *tile_src)
Create new image and transfer tile buffer data.
Definition: GrkImage.cpp:264
static GrkImage * create(uint16_t numcmpts, grk_image_cmptparm *cmptparms, GRK_COLOR_SPACE clrspc, bool doAllocation)
Create image.
Definition: GrkImage.cpp:21
void transferDataFrom(const Tile *tile_src_data)
Definition: GrkImage.cpp:291
bool ownsData
Definition: GrkImage.h:91
void createMeta()
Definition: GrkImage.cpp:169
~GrkImage()
Definition: GrkImage.cpp:10
void transferDataTo(GrkImage *dest)
Transfer data to dest for each component, and null out "this" data.
Definition: GrkImage.cpp:235
bool generateCompositeBounds(const TileComponent *src_comp, uint16_t compno, grkRectU32 *src, grkRectU32 *dest, grkRectU32 *dest_win, uint32_t *src_line_off)
Definition: GrkImage.cpp:365
Definition: GrkImage.h:12
virtual ~GrkImageMeta()
Definition: GrkImage.cpp:479
GrkImageMeta()
Definition: GrkImage.cpp:469
Definition: GrkObjectWrapper.h:23
enum _GRK_COLOR_SPACE GRK_COLOR_SPACE
Supported color spaces.
Copyright (C) 2016-2021 Grok Image Compression Inc.
Definition: ICacheable.h:20
Image component.
Definition: grok.h:919
Image component parameters.
Definition: grok.h:988
Definition: grok.h:950
Definition: grok.h:960
Definition: TileComponent.h:28
Definition: TileProcessor.h:39