Grok 12.0.1
GrkImage.h
Go to the documentation of this file.
1#pragma once
2
3#include "grk_includes.h"
4
5namespace grk
6{
7struct Tile;
8struct CodingParams;
9struct TileComponent;
10
12
14{
15 public:
17 virtual ~GrkImageMeta();
18 void releaseColor(void);
20 void allocPalette(uint8_t num_channels, uint16_t num_entries);
21};
22
23class GrkImage : public grk_image
24{
26
27 public:
28 GrkImage();
29 bool subsampleAndReduce(uint32_t reduce);
49 static bool allocData(grk_image_comp* imageComp, bool clear);
56 bool allocCompositeData(void);
58
75 bool composite(const GrkImage* src);
77 bool compositeInterleaved(const Tile* src, uint32_t yBegin, uint32_t yEnd);
78 bool greyToRGB(void);
79 bool convertToRGB(bool wholeTileDecompress);
80 bool applyColourManagement(void);
81 bool applyICC(void);
82 bool validateICC(void);
83 void convertPrecision(void);
84 bool execUpsample(void);
85 void all_components_data_free(void);
87 void validateColourSpace(void);
88 bool isSubsampled();
89 bool validateZeroed(void);
90 bool applyColour(void);
91 bool apply_palette_clr(void);
92 bool check_color(void);
93 void apply_channel_definition(void);
94 void allocPalette(uint8_t num_channels, uint16_t num_entries);
95 uint32_t width(void) const;
96 uint32_t height(void) const;
97 void print(void) const;
100
101 private:
102 ~GrkImage();
104 std::string getColourSpaceString(void);
107 bool needsConversionToRGB(void);
108 bool isOpacity(uint16_t compno);
109 bool compositePlanar(const GrkImage* srcImg);
117 bool sycc444_to_rgb(void);
118 bool sycc422_to_rgb(bool oddFirstX);
119 bool sycc420_to_rgb(bool oddFirstX, bool oddFirstY);
120 bool color_sycc_to_rgb(bool oddFirstX, bool oddFirstY);
121 bool color_cmyk_to_rgb(void);
122 bool color_esycc_to_rgb(void);
123 bool cieLabToRGB(void);
127};
128
129} // namespace grk
Definition GrkImage.h:24
bool isSubsampled()
Definition GrkImage.cpp:352
void apply_channel_definition(void)
Definition GrkImage.cpp:507
GrkImage()
Definition GrkImage.cpp:5
bool check_color(void)
Definition GrkImage.cpp:565
bool color_esycc_to_rgb(void)
Definition GrkImage_Conversion.cpp:895
bool sycc422_to_rgb(bool oddFirstX)
Definition GrkImage_Conversion.cpp:571
bool allComponentsSanityCheck(bool equalPrecision)
return false if :
Definition GrkImage_Conversion.cpp:15
bool compositeInterleaved(const GrkImage *src)
Interleave image data and copy to interleaved composite image.
Definition GrkImage.cpp:1042
bool subsampleAndReduce(uint32_t reduce)
Definition GrkImage.cpp:175
bool convertToRGB(bool wholeTileDecompress)
Definition GrkImage_Conversion.cpp:393
static GrkImage * create(grk_image *src, uint16_t numcmpts, grk_image_comp *cmptparms, GRK_COLOR_SPACE clrspc, bool doAllocation)
Create image.
Definition GrkImage.cpp:85
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:233
bool color_sycc_to_rgb(bool oddFirstX, bool oddFirstY)
Definition GrkImage_Conversion.cpp:798
void print(void) const
Definition GrkImage.cpp:31
void sycc_to_rgb(int32_t offset, int32_t upb, int32_t y, int32_t cb, int32_t cr, int32_t *out_r, int32_t *out_g, int32_t *out_b)
Definition GrkImage_Conversion.cpp:490
bool applyColourManagement(void)
Convert to sRGB.
Definition GrkImage_Conversion.cpp:1146
bool validateICC(void)
Definition GrkImage_Conversion.cpp:1044
bool allocCompositeData(void)
Allocate data for tile compositing.
Definition GrkImage.cpp:855
bool greyToRGB(void)
Definition GrkImage_Conversion.cpp:344
bool supportsStripCache(CodingParams *cp)
Definition GrkImage.cpp:316
void validateColourSpace(void)
Definition GrkImage.cpp:362
static void copyComponent(grk_image_comp *src, grk_image_comp *dest)
Definition GrkImage.cpp:42
bool sycc420_to_rgb(bool oddFirstX, bool oddFirstY)
Definition GrkImage_Conversion.cpp:662
GrkImage * duplicate(const Tile *tile_src)
Create new image and transfer tile buffer data.
Definition GrkImage.cpp:922
bool compositePlanar(const GrkImage *srcImg)
Copy planar image data to planar composite image.
Definition GrkImage.cpp:1099
bool apply_palette_clr(void)
Definition GrkImage.cpp:713
void convertPrecision(void)
Definition GrkImage_Conversion.cpp:265
uint32_t height(void) const
Definition GrkImage.cpp:26
void transferDataFrom(const Tile *tile_src_data)
Definition GrkImage.cpp:949
static bool allocData(grk_image_comp *imageComp, bool clear)
Allocate data for single image component.
Definition GrkImage.cpp:292
bool sycc444_to_rgb(void)
Definition GrkImage_Conversion.cpp:519
bool color_cmyk_to_rgb(void)
Definition GrkImage_Conversion.cpp:840
bool applyICC(void)
Definition GrkImage_Conversion.cpp:1207
bool cieLabToRGB(void)
Definition GrkImage_Conversion.cpp:1476
std::string getColourSpaceString(void)
Definition GrkImage_Conversion.cpp:956
bool generateCompositeBounds(const grk_image_comp *srcComp, uint16_t destCompno, grk_rect32 *destWin)
Definition GrkImage.cpp:1157
bool applyColour(void)
Definition GrkImage.cpp:492
bool isOpacity(uint16_t compno)
Definition GrkImage.cpp:371
bool isValidICCColourSpace(uint32_t signature)
Definition GrkImage_Conversion.cpp:1019
bool needsConversionToRGB(void)
Definition GrkImage_Conversion.cpp:386
void postReadHeader(CodingParams *cp)
Definition GrkImage.cpp:380
bool componentsEqual(bool checkPrecision)
Definition GrkImage.cpp:71
~GrkImage()
Definition GrkImage.cpp:11
void transferDataTo(GrkImage *dest)
Transfer data to dest for each component, and null out "this" data.
Definition GrkImage.cpp:890
bool execUpsample(void)
Definition GrkImage_Conversion.cpp:80
void scaleComponent(grk_image_comp *component, uint8_t precision)
Definition GrkImage_Conversion.cpp:234
bool composite(const GrkImage *src)
Definition GrkImage.cpp:964
static void single_component_data_free(grk_image_comp *comp)
Definition GrkImage.cpp:1165
uint32_t width(void) const
Definition GrkImage.cpp:22
void all_components_data_free(void)
Definition GrkImage.cpp:166
std::string getICCColourSpaceString(cmsColorSpaceSignature color_space)
Definition GrkImage_Conversion.cpp:992
void allocPalette(uint8_t num_channels, uint16_t num_entries)
Definition GrkImage.cpp:488
grk_image * createRGB(uint16_t numcmpts, uint32_t w, uint32_t h, uint8_t prec)
Definition GrkImage_Conversion.cpp:448
bool validateZeroed(void)
Definition GrkImage.cpp:470
Definition GrkImage.h:14
void releaseColor(void)
Definition GrkImage.cpp:1220
void allocPalette(uint8_t num_channels, uint16_t num_entries)
Definition GrkImage.cpp:1190
virtual ~GrkImageMeta()
Definition GrkImage.cpp:1184
GrkImageMeta()
Definition GrkImage.cpp:1174
void releaseColorPalatte()
Definition GrkImage.cpp:1208
Definition GrkObjectWrapper.h:23
enum _GRK_COLOR_SPACE GRK_COLOR_SPACE
Supported color spaces.
Copyright (C) 2016-2024 Grok Image Compression Inc.
Definition ICacheable.h:20
void grk_read(const uint8_t *buffer, TYPE *value, uint32_t numBytes)
Definition BufferedStream.h:239
const uint32_t singleTileRowsPerStrip
Definition GrkImage.h:11
Image component.
Definition grok.h:641
Definition grok.h:672
Definition grok.h:682
grk_precision * precision
Definition grok.h:706
GRK_COLOR_SPACE color_space
Definition grok.h:696
Coding parameters.
Definition CodingParams.h:245
Definition TileProcessor.h:39