summaryrefslogtreecommitdiff
path: root/indra/llimage/llimage.h
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2014-01-01 19:42:10 -0800
committerMerov Linden <merov@lindenlab.com>2014-01-01 19:42:10 -0800
commit205a4e3dc63c338c05e27a4806cdfd6f50bac2b6 (patch)
treecb035348ac77061d7278d509a3814ca7d0e48b01 /indra/llimage/llimage.h
parent9dca514c0b416c1b15e9a63e6f5af1b52df70b7e (diff)
ACME-1236 : WIP : add filterGamma, computeHistograms, colorCorrect, implemented filter gamma to llimage_libtest for testing
Diffstat (limited to 'indra/llimage/llimage.h')
-rwxr-xr-xindra/llimage/llimage.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/indra/llimage/llimage.h b/indra/llimage/llimage.h
index 3a9c088dbd..89734693cc 100755
--- a/indra/llimage/llimage.h
+++ b/indra/llimage/llimage.h
@@ -151,6 +151,12 @@ protected:
// special accessor to allow direct setting of mData and mDataSize by LLImageFormatted
void setDataAndSize(U8 *data, S32 size);
+ // Histograms (if we ever happen to need them)
+ U32 *mHistoRed;
+ U32 *mHistoGreen;
+ U32 *mHistoBlue;
+ U32 *mHistoBrightness;
+
public:
static void generateMip(const U8 *indata, U8* mipdata, int width, int height, S32 nchannels);
@@ -262,8 +268,11 @@ public:
void filterSepia();
void filterSaturate(F32 saturation); // < 1.0 desaturates, > 1.0 saturates
void filterRotate(F32 alpha); // rotates hue, alpha in degrees
+ void filterGamma(F32 gamma); // Apply a gamma lookup to all channels
+
// Filter Primitives
void colorTransform(const LLMatrix3 &transform);
+ void colorCorrect(const U8* lut_red, const U8* lut_green, const U8* lut_blue);
protected:
// Create an image from a local file (generally used in tools)
@@ -276,6 +285,8 @@ protected:
void setDataAndSize(U8 *data, S32 width, S32 height, S8 components) ;
+ void computeHistograms();
+
public:
static S32 sGlobalRawMemory;
static S32 sRawImageCount;