Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/opencolorio/ocio_impl.h')
-rw-r--r--intern/opencolorio/ocio_impl.h581
1 files changed, 320 insertions, 261 deletions
diff --git a/intern/opencolorio/ocio_impl.h b/intern/opencolorio/ocio_impl.h
index 991e65cc892..0952e7e16d0 100644
--- a/intern/opencolorio/ocio_impl.h
+++ b/intern/opencolorio/ocio_impl.h
@@ -23,274 +23,333 @@
#include "ocio_capi.h"
class IOCIOImpl {
-public:
- virtual ~IOCIOImpl() {}
-
- virtual OCIO_ConstConfigRcPtr *getCurrentConfig(void) = 0;
- virtual void setCurrentConfig(const OCIO_ConstConfigRcPtr *config) = 0;
-
- virtual OCIO_ConstConfigRcPtr *configCreateFromEnv(void) = 0;
- virtual OCIO_ConstConfigRcPtr *configCreateFromFile(const char* filename) = 0;
-
- virtual void configRelease(OCIO_ConstConfigRcPtr *config) = 0;
-
- virtual int configGetNumColorSpaces(OCIO_ConstConfigRcPtr *config) = 0;
- virtual const char *configGetColorSpaceNameByIndex(OCIO_ConstConfigRcPtr *config, int index) = 0;
- virtual OCIO_ConstColorSpaceRcPtr *configGetColorSpace(OCIO_ConstConfigRcPtr *config, const char *name) = 0;
- virtual int configGetIndexForColorSpace(OCIO_ConstConfigRcPtr *config, const char *name) = 0;
-
- virtual int colorSpaceIsInvertible(OCIO_ConstColorSpaceRcPtr *cs) = 0;
- virtual int colorSpaceIsData(OCIO_ConstColorSpaceRcPtr *cs) = 0;
-
- virtual void colorSpaceRelease(OCIO_ConstColorSpaceRcPtr *cs) = 0;
-
- virtual const char *configGetDefaultDisplay(OCIO_ConstConfigRcPtr *config) = 0;
- virtual int configGetNumDisplays(OCIO_ConstConfigRcPtr *config) = 0;
- virtual const char *configGetDisplay(OCIO_ConstConfigRcPtr *config, int index) = 0;
- virtual const char *configGetDefaultView(OCIO_ConstConfigRcPtr *config, const char *display) = 0;
- virtual int configGetNumViews(OCIO_ConstConfigRcPtr *config, const char *display) = 0;
- virtual const char *configGetView(OCIO_ConstConfigRcPtr *config, const char *display, int index) = 0;
- virtual const char *configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config, const char *display, const char *view) = 0;
-
- virtual void configGetDefaultLumaCoefs(OCIO_ConstConfigRcPtr *config, float *rgb) = 0;
- virtual void configGetXYZtoRGB(OCIO_ConstConfigRcPtr *config, float xyz_to_rgb[3][3]) = 0;
-
- virtual int configGetNumLooks(OCIO_ConstConfigRcPtr *config) = 0;
- virtual const char *configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index) = 0;
- virtual OCIO_ConstLookRcPtr *configGetLook(OCIO_ConstConfigRcPtr *config, const char *name) = 0;
-
- virtual const char *lookGetProcessSpace(OCIO_ConstLookRcPtr *look) = 0;
- virtual void lookRelease(OCIO_ConstLookRcPtr *look) = 0;
-
- virtual OCIO_ConstProcessorRcPtr *configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config, const char *srcName, const char *dstName) = 0;
- virtual OCIO_ConstProcessorRcPtr *configGetProcessor(OCIO_ConstConfigRcPtr *config, OCIO_ConstTransformRcPtr *transform) = 0;
-
- virtual void processorApply(OCIO_ConstProcessorRcPtr *processor, OCIO_PackedImageDesc *img) = 0;
- virtual void processorApply_predivide(OCIO_ConstProcessorRcPtr *processor, OCIO_PackedImageDesc *img) = 0;
- virtual void processorApplyRGB(OCIO_ConstProcessorRcPtr *processor, float *pixel) = 0;
- virtual void processorApplyRGBA(OCIO_ConstProcessorRcPtr *processor, float *pixel) = 0;
- virtual void processorApplyRGBA_predivide(OCIO_ConstProcessorRcPtr *processor, float *pixel) = 0;
-
- virtual void processorRelease(OCIO_ConstProcessorRcPtr *p) = 0;
-
- virtual const char *colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs) = 0;
- virtual const char *colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs) = 0;
- virtual const char *colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs) = 0;
-
- virtual OCIO_DisplayTransformRcPtr *createDisplayTransform(void) = 0;
- virtual void displayTransformSetInputColorSpaceName(OCIO_DisplayTransformRcPtr *dt, const char *name) = 0;
- virtual void displayTransformSetDisplay(OCIO_DisplayTransformRcPtr *dt, const char *name) = 0;
- virtual void displayTransformSetView(OCIO_DisplayTransformRcPtr *dt, const char *name) = 0;
- virtual void displayTransformSetDisplayCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et) = 0;
- virtual void displayTransformSetLinearCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et) = 0;
- virtual void displayTransformSetLooksOverride(OCIO_DisplayTransformRcPtr *dt, const char *looks) = 0;
- virtual void displayTransformSetLooksOverrideEnabled(OCIO_DisplayTransformRcPtr *dt, bool enabled) = 0;
- virtual void displayTransformRelease(OCIO_DisplayTransformRcPtr *dt) = 0;
-
- virtual OCIO_PackedImageDesc *createOCIO_PackedImageDesc(float *data, long width, long height, long numChannels,
- long chanStrideBytes, long xStrideBytes, long yStrideBytes) = 0;
-
- virtual void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p) = 0;
-
- virtual OCIO_ExponentTransformRcPtr *createExponentTransform(void) = 0;
- virtual void exponentTransformSetValue(OCIO_ExponentTransformRcPtr *et, const float *exponent) = 0;
- virtual void exponentTransformRelease(OCIO_ExponentTransformRcPtr *et) = 0;
-
- virtual OCIO_MatrixTransformRcPtr *createMatrixTransform(void) = 0;
- virtual void matrixTransformSetValue(OCIO_MatrixTransformRcPtr *mt, const float *m44, const float *offset4) = 0;
- virtual void matrixTransformRelease(OCIO_MatrixTransformRcPtr *mt) = 0;
-
- virtual void matrixTransformScale(float * m44, float * offset4, const float * scale4) = 0;
-
- virtual bool supportGLSLDraw(void) = 0;
- virtual bool setupGLSLDraw(struct OCIO_GLSLDrawState **state_r, OCIO_ConstProcessorRcPtr *processor,
- OCIO_CurveMappingSettings *curve_mapping_settings, float dither, bool predivide) = 0;
- virtual void finishGLSLDraw(struct OCIO_GLSLDrawState *state) = 0;
- virtual void freeGLState(struct OCIO_GLSLDrawState *state_r) = 0;
-
- virtual const char *getVersionString(void) = 0;
- virtual int getVersionHex(void) = 0;
+ public:
+ virtual ~IOCIOImpl()
+ {
+ }
+
+ virtual OCIO_ConstConfigRcPtr *getCurrentConfig(void) = 0;
+ virtual void setCurrentConfig(const OCIO_ConstConfigRcPtr *config) = 0;
+
+ virtual OCIO_ConstConfigRcPtr *configCreateFromEnv(void) = 0;
+ virtual OCIO_ConstConfigRcPtr *configCreateFromFile(const char *filename) = 0;
+
+ virtual void configRelease(OCIO_ConstConfigRcPtr *config) = 0;
+
+ virtual int configGetNumColorSpaces(OCIO_ConstConfigRcPtr *config) = 0;
+ virtual const char *configGetColorSpaceNameByIndex(OCIO_ConstConfigRcPtr *config, int index) = 0;
+ virtual OCIO_ConstColorSpaceRcPtr *configGetColorSpace(OCIO_ConstConfigRcPtr *config,
+ const char *name) = 0;
+ virtual int configGetIndexForColorSpace(OCIO_ConstConfigRcPtr *config, const char *name) = 0;
+
+ virtual int colorSpaceIsInvertible(OCIO_ConstColorSpaceRcPtr *cs) = 0;
+ virtual int colorSpaceIsData(OCIO_ConstColorSpaceRcPtr *cs) = 0;
+
+ virtual void colorSpaceRelease(OCIO_ConstColorSpaceRcPtr *cs) = 0;
+
+ virtual const char *configGetDefaultDisplay(OCIO_ConstConfigRcPtr *config) = 0;
+ virtual int configGetNumDisplays(OCIO_ConstConfigRcPtr *config) = 0;
+ virtual const char *configGetDisplay(OCIO_ConstConfigRcPtr *config, int index) = 0;
+ virtual const char *configGetDefaultView(OCIO_ConstConfigRcPtr *config, const char *display) = 0;
+ virtual int configGetNumViews(OCIO_ConstConfigRcPtr *config, const char *display) = 0;
+ virtual const char *configGetView(OCIO_ConstConfigRcPtr *config,
+ const char *display,
+ int index) = 0;
+ virtual const char *configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config,
+ const char *display,
+ const char *view) = 0;
+
+ virtual void configGetDefaultLumaCoefs(OCIO_ConstConfigRcPtr *config, float *rgb) = 0;
+ virtual void configGetXYZtoRGB(OCIO_ConstConfigRcPtr *config, float xyz_to_rgb[3][3]) = 0;
+
+ virtual int configGetNumLooks(OCIO_ConstConfigRcPtr *config) = 0;
+ virtual const char *configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index) = 0;
+ virtual OCIO_ConstLookRcPtr *configGetLook(OCIO_ConstConfigRcPtr *config, const char *name) = 0;
+
+ virtual const char *lookGetProcessSpace(OCIO_ConstLookRcPtr *look) = 0;
+ virtual void lookRelease(OCIO_ConstLookRcPtr *look) = 0;
+
+ virtual OCIO_ConstProcessorRcPtr *configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config,
+ const char *srcName,
+ const char *dstName) = 0;
+ virtual OCIO_ConstProcessorRcPtr *configGetProcessor(OCIO_ConstConfigRcPtr *config,
+ OCIO_ConstTransformRcPtr *transform) = 0;
+
+ virtual void processorApply(OCIO_ConstProcessorRcPtr *processor, OCIO_PackedImageDesc *img) = 0;
+ virtual void processorApply_predivide(OCIO_ConstProcessorRcPtr *processor,
+ OCIO_PackedImageDesc *img) = 0;
+ virtual void processorApplyRGB(OCIO_ConstProcessorRcPtr *processor, float *pixel) = 0;
+ virtual void processorApplyRGBA(OCIO_ConstProcessorRcPtr *processor, float *pixel) = 0;
+ virtual void processorApplyRGBA_predivide(OCIO_ConstProcessorRcPtr *processor, float *pixel) = 0;
+
+ virtual void processorRelease(OCIO_ConstProcessorRcPtr *p) = 0;
+
+ virtual const char *colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs) = 0;
+ virtual const char *colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs) = 0;
+ virtual const char *colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs) = 0;
+
+ virtual OCIO_DisplayTransformRcPtr *createDisplayTransform(void) = 0;
+ virtual void displayTransformSetInputColorSpaceName(OCIO_DisplayTransformRcPtr *dt,
+ const char *name) = 0;
+ virtual void displayTransformSetDisplay(OCIO_DisplayTransformRcPtr *dt, const char *name) = 0;
+ virtual void displayTransformSetView(OCIO_DisplayTransformRcPtr *dt, const char *name) = 0;
+ virtual void displayTransformSetDisplayCC(OCIO_DisplayTransformRcPtr *dt,
+ OCIO_ConstTransformRcPtr *et) = 0;
+ virtual void displayTransformSetLinearCC(OCIO_DisplayTransformRcPtr *dt,
+ OCIO_ConstTransformRcPtr *et) = 0;
+ virtual void displayTransformSetLooksOverride(OCIO_DisplayTransformRcPtr *dt,
+ const char *looks) = 0;
+ virtual void displayTransformSetLooksOverrideEnabled(OCIO_DisplayTransformRcPtr *dt,
+ bool enabled) = 0;
+ virtual void displayTransformRelease(OCIO_DisplayTransformRcPtr *dt) = 0;
+
+ virtual OCIO_PackedImageDesc *createOCIO_PackedImageDesc(float *data,
+ long width,
+ long height,
+ long numChannels,
+ long chanStrideBytes,
+ long xStrideBytes,
+ long yStrideBytes) = 0;
+
+ virtual void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p) = 0;
+
+ virtual OCIO_ExponentTransformRcPtr *createExponentTransform(void) = 0;
+ virtual void exponentTransformSetValue(OCIO_ExponentTransformRcPtr *et,
+ const float *exponent) = 0;
+ virtual void exponentTransformRelease(OCIO_ExponentTransformRcPtr *et) = 0;
+
+ virtual OCIO_MatrixTransformRcPtr *createMatrixTransform(void) = 0;
+ virtual void matrixTransformSetValue(OCIO_MatrixTransformRcPtr *mt,
+ const float *m44,
+ const float *offset4) = 0;
+ virtual void matrixTransformRelease(OCIO_MatrixTransformRcPtr *mt) = 0;
+
+ virtual void matrixTransformScale(float *m44, float *offset4, const float *scale4) = 0;
+
+ virtual bool supportGLSLDraw(void) = 0;
+ virtual bool setupGLSLDraw(struct OCIO_GLSLDrawState **state_r,
+ OCIO_ConstProcessorRcPtr *processor,
+ OCIO_CurveMappingSettings *curve_mapping_settings,
+ float dither,
+ bool predivide) = 0;
+ virtual void finishGLSLDraw(struct OCIO_GLSLDrawState *state) = 0;
+ virtual void freeGLState(struct OCIO_GLSLDrawState *state_r) = 0;
+
+ virtual const char *getVersionString(void) = 0;
+ virtual int getVersionHex(void) = 0;
};
class FallbackImpl : public IOCIOImpl {
-public:
- FallbackImpl() {}
-
- OCIO_ConstConfigRcPtr *getCurrentConfig(void);
- void setCurrentConfig(const OCIO_ConstConfigRcPtr *config);
-
- OCIO_ConstConfigRcPtr *configCreateFromEnv(void);
- OCIO_ConstConfigRcPtr *configCreateFromFile(const char* filename);
-
- void configRelease(OCIO_ConstConfigRcPtr *config);
-
- int configGetNumColorSpaces(OCIO_ConstConfigRcPtr *config);
- const char *configGetColorSpaceNameByIndex(OCIO_ConstConfigRcPtr *config, int index);
- OCIO_ConstColorSpaceRcPtr *configGetColorSpace(OCIO_ConstConfigRcPtr *config, const char *name);
- int configGetIndexForColorSpace(OCIO_ConstConfigRcPtr *config, const char *name);
-
- int colorSpaceIsInvertible(OCIO_ConstColorSpaceRcPtr *cs);
- int colorSpaceIsData(OCIO_ConstColorSpaceRcPtr *cs);
-
- void colorSpaceRelease(OCIO_ConstColorSpaceRcPtr *cs);
-
- const char *configGetDefaultDisplay(OCIO_ConstConfigRcPtr *config);
- int configGetNumDisplays(OCIO_ConstConfigRcPtr *config);
- const char *configGetDisplay(OCIO_ConstConfigRcPtr *config, int index);
- const char *configGetDefaultView(OCIO_ConstConfigRcPtr *config, const char *display);
- int configGetNumViews(OCIO_ConstConfigRcPtr *config, const char *display);
- const char *configGetView(OCIO_ConstConfigRcPtr *config, const char *display, int index);
- const char *configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config, const char *display, const char *view);
-
- void configGetDefaultLumaCoefs(OCIO_ConstConfigRcPtr *config, float *rgb);
- void configGetXYZtoRGB(OCIO_ConstConfigRcPtr *config, float xyz_to_rgb[3][3]);
-
- int configGetNumLooks(OCIO_ConstConfigRcPtr *config);
- const char *configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index);
- OCIO_ConstLookRcPtr *configGetLook(OCIO_ConstConfigRcPtr *config, const char *name);
-
- const char *lookGetProcessSpace(OCIO_ConstLookRcPtr *look);
- void lookRelease(OCIO_ConstLookRcPtr *look);
-
- OCIO_ConstProcessorRcPtr *configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config, const char *srcName, const char *dstName);
- OCIO_ConstProcessorRcPtr *configGetProcessor(OCIO_ConstConfigRcPtr *config, OCIO_ConstTransformRcPtr *transform);
-
- void processorApply(OCIO_ConstProcessorRcPtr *processor, OCIO_PackedImageDesc *img);
- void processorApply_predivide(OCIO_ConstProcessorRcPtr *processor, OCIO_PackedImageDesc *img);
- void processorApplyRGB(OCIO_ConstProcessorRcPtr *processor, float *pixel);
- void processorApplyRGBA(OCIO_ConstProcessorRcPtr *processor, float *pixel);
- void processorApplyRGBA_predivide(OCIO_ConstProcessorRcPtr *processor, float *pixel);
-
- void processorRelease(OCIO_ConstProcessorRcPtr *p);
-
- const char *colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs);
- const char *colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs);
- const char *colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs);
-
- OCIO_DisplayTransformRcPtr *createDisplayTransform(void);
- void displayTransformSetInputColorSpaceName(OCIO_DisplayTransformRcPtr *dt, const char *name);
- void displayTransformSetDisplay(OCIO_DisplayTransformRcPtr *dt, const char *name);
- void displayTransformSetView(OCIO_DisplayTransformRcPtr *dt, const char *name);
- void displayTransformSetDisplayCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et);
- void displayTransformSetLinearCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et);
- void displayTransformSetLooksOverride(OCIO_DisplayTransformRcPtr *dt, const char *looks);
- void displayTransformSetLooksOverrideEnabled(OCIO_DisplayTransformRcPtr *dt, bool enabled);
- void displayTransformRelease(OCIO_DisplayTransformRcPtr *dt);
-
- OCIO_PackedImageDesc *createOCIO_PackedImageDesc(float *data, long width, long height, long numChannels,
- long chanStrideBytes, long xStrideBytes, long yStrideBytes);
-
- void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p);
-
- OCIO_ExponentTransformRcPtr *createExponentTransform(void);
- void exponentTransformSetValue(OCIO_ExponentTransformRcPtr *et, const float *exponent);
- void exponentTransformRelease(OCIO_ExponentTransformRcPtr *et);
-
- OCIO_MatrixTransformRcPtr *createMatrixTransform(void);
- void matrixTransformSetValue(OCIO_MatrixTransformRcPtr *mt, const float *m44, const float *offset4);
- void matrixTransformRelease(OCIO_MatrixTransformRcPtr *mt);
-
- void matrixTransformScale(float *m44, float *offset4, const float *scale4);
-
- bool supportGLSLDraw(void);
- bool setupGLSLDraw(struct OCIO_GLSLDrawState **state_r, OCIO_ConstProcessorRcPtr *processor,
- OCIO_CurveMappingSettings *curve_mapping_settings, float dither, bool predivide);
- void finishGLSLDraw(struct OCIO_GLSLDrawState *state);
- void freeGLState(struct OCIO_GLSLDrawState *state_r);
-
- const char *getVersionString(void);
- int getVersionHex(void);
+ public:
+ FallbackImpl()
+ {
+ }
+
+ OCIO_ConstConfigRcPtr *getCurrentConfig(void);
+ void setCurrentConfig(const OCIO_ConstConfigRcPtr *config);
+
+ OCIO_ConstConfigRcPtr *configCreateFromEnv(void);
+ OCIO_ConstConfigRcPtr *configCreateFromFile(const char *filename);
+
+ void configRelease(OCIO_ConstConfigRcPtr *config);
+
+ int configGetNumColorSpaces(OCIO_ConstConfigRcPtr *config);
+ const char *configGetColorSpaceNameByIndex(OCIO_ConstConfigRcPtr *config, int index);
+ OCIO_ConstColorSpaceRcPtr *configGetColorSpace(OCIO_ConstConfigRcPtr *config, const char *name);
+ int configGetIndexForColorSpace(OCIO_ConstConfigRcPtr *config, const char *name);
+
+ int colorSpaceIsInvertible(OCIO_ConstColorSpaceRcPtr *cs);
+ int colorSpaceIsData(OCIO_ConstColorSpaceRcPtr *cs);
+
+ void colorSpaceRelease(OCIO_ConstColorSpaceRcPtr *cs);
+
+ const char *configGetDefaultDisplay(OCIO_ConstConfigRcPtr *config);
+ int configGetNumDisplays(OCIO_ConstConfigRcPtr *config);
+ const char *configGetDisplay(OCIO_ConstConfigRcPtr *config, int index);
+ const char *configGetDefaultView(OCIO_ConstConfigRcPtr *config, const char *display);
+ int configGetNumViews(OCIO_ConstConfigRcPtr *config, const char *display);
+ const char *configGetView(OCIO_ConstConfigRcPtr *config, const char *display, int index);
+ const char *configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config,
+ const char *display,
+ const char *view);
+
+ void configGetDefaultLumaCoefs(OCIO_ConstConfigRcPtr *config, float *rgb);
+ void configGetXYZtoRGB(OCIO_ConstConfigRcPtr *config, float xyz_to_rgb[3][3]);
+
+ int configGetNumLooks(OCIO_ConstConfigRcPtr *config);
+ const char *configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index);
+ OCIO_ConstLookRcPtr *configGetLook(OCIO_ConstConfigRcPtr *config, const char *name);
+
+ const char *lookGetProcessSpace(OCIO_ConstLookRcPtr *look);
+ void lookRelease(OCIO_ConstLookRcPtr *look);
+
+ OCIO_ConstProcessorRcPtr *configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config,
+ const char *srcName,
+ const char *dstName);
+ OCIO_ConstProcessorRcPtr *configGetProcessor(OCIO_ConstConfigRcPtr *config,
+ OCIO_ConstTransformRcPtr *transform);
+
+ void processorApply(OCIO_ConstProcessorRcPtr *processor, OCIO_PackedImageDesc *img);
+ void processorApply_predivide(OCIO_ConstProcessorRcPtr *processor, OCIO_PackedImageDesc *img);
+ void processorApplyRGB(OCIO_ConstProcessorRcPtr *processor, float *pixel);
+ void processorApplyRGBA(OCIO_ConstProcessorRcPtr *processor, float *pixel);
+ void processorApplyRGBA_predivide(OCIO_ConstProcessorRcPtr *processor, float *pixel);
+
+ void processorRelease(OCIO_ConstProcessorRcPtr *p);
+
+ const char *colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs);
+ const char *colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs);
+ const char *colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs);
+
+ OCIO_DisplayTransformRcPtr *createDisplayTransform(void);
+ void displayTransformSetInputColorSpaceName(OCIO_DisplayTransformRcPtr *dt, const char *name);
+ void displayTransformSetDisplay(OCIO_DisplayTransformRcPtr *dt, const char *name);
+ void displayTransformSetView(OCIO_DisplayTransformRcPtr *dt, const char *name);
+ void displayTransformSetDisplayCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et);
+ void displayTransformSetLinearCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et);
+ void displayTransformSetLooksOverride(OCIO_DisplayTransformRcPtr *dt, const char *looks);
+ void displayTransformSetLooksOverrideEnabled(OCIO_DisplayTransformRcPtr *dt, bool enabled);
+ void displayTransformRelease(OCIO_DisplayTransformRcPtr *dt);
+
+ OCIO_PackedImageDesc *createOCIO_PackedImageDesc(float *data,
+ long width,
+ long height,
+ long numChannels,
+ long chanStrideBytes,
+ long xStrideBytes,
+ long yStrideBytes);
+
+ void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p);
+
+ OCIO_ExponentTransformRcPtr *createExponentTransform(void);
+ void exponentTransformSetValue(OCIO_ExponentTransformRcPtr *et, const float *exponent);
+ void exponentTransformRelease(OCIO_ExponentTransformRcPtr *et);
+
+ OCIO_MatrixTransformRcPtr *createMatrixTransform(void);
+ void matrixTransformSetValue(OCIO_MatrixTransformRcPtr *mt,
+ const float *m44,
+ const float *offset4);
+ void matrixTransformRelease(OCIO_MatrixTransformRcPtr *mt);
+
+ void matrixTransformScale(float *m44, float *offset4, const float *scale4);
+
+ bool supportGLSLDraw(void);
+ bool setupGLSLDraw(struct OCIO_GLSLDrawState **state_r,
+ OCIO_ConstProcessorRcPtr *processor,
+ OCIO_CurveMappingSettings *curve_mapping_settings,
+ float dither,
+ bool predivide);
+ void finishGLSLDraw(struct OCIO_GLSLDrawState *state);
+ void freeGLState(struct OCIO_GLSLDrawState *state_r);
+
+ const char *getVersionString(void);
+ int getVersionHex(void);
};
#ifdef WITH_OCIO
class OCIOImpl : public IOCIOImpl {
-public:
- OCIOImpl() {};
-
- OCIO_ConstConfigRcPtr *getCurrentConfig(void);
- void setCurrentConfig(const OCIO_ConstConfigRcPtr *config);
-
- OCIO_ConstConfigRcPtr *configCreateFromEnv(void);
- OCIO_ConstConfigRcPtr *configCreateFromFile(const char* filename);
-
- void configRelease(OCIO_ConstConfigRcPtr *config);
-
- int configGetNumColorSpaces(OCIO_ConstConfigRcPtr *config);
- const char *configGetColorSpaceNameByIndex(OCIO_ConstConfigRcPtr *config, int index);
- OCIO_ConstColorSpaceRcPtr *configGetColorSpace(OCIO_ConstConfigRcPtr *config, const char *name);
- int configGetIndexForColorSpace(OCIO_ConstConfigRcPtr *config, const char *name);
-
- int colorSpaceIsInvertible(OCIO_ConstColorSpaceRcPtr *cs);
- int colorSpaceIsData(OCIO_ConstColorSpaceRcPtr *cs);
-
- void colorSpaceRelease(OCIO_ConstColorSpaceRcPtr *cs);
-
- const char *configGetDefaultDisplay(OCIO_ConstConfigRcPtr *config);
- int configGetNumDisplays(OCIO_ConstConfigRcPtr *config);
- const char *configGetDisplay(OCIO_ConstConfigRcPtr *config, int index);
- const char *configGetDefaultView(OCIO_ConstConfigRcPtr *config, const char *display);
- int configGetNumViews(OCIO_ConstConfigRcPtr *config, const char *display);
- const char *configGetView(OCIO_ConstConfigRcPtr *config, const char *display, int index);
- const char *configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config, const char *display, const char *view);
-
- void configGetDefaultLumaCoefs(OCIO_ConstConfigRcPtr *config, float *rgb);
- void configGetXYZtoRGB(OCIO_ConstConfigRcPtr *config, float xyz_to_rgb[3][3]);
-
- int configGetNumLooks(OCIO_ConstConfigRcPtr *config);
- const char *configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index);
- OCIO_ConstLookRcPtr *configGetLook(OCIO_ConstConfigRcPtr *config, const char *name);
-
- const char *lookGetProcessSpace(OCIO_ConstLookRcPtr *look);
- void lookRelease(OCIO_ConstLookRcPtr *look);
-
- OCIO_ConstProcessorRcPtr *configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config, const char *srcName, const char *dstName);
- OCIO_ConstProcessorRcPtr *configGetProcessor(OCIO_ConstConfigRcPtr *config, OCIO_ConstTransformRcPtr *transform);
-
- void processorApply(OCIO_ConstProcessorRcPtr *processor, OCIO_PackedImageDesc *img);
- void processorApply_predivide(OCIO_ConstProcessorRcPtr *processor, OCIO_PackedImageDesc *img);
- void processorApplyRGB(OCIO_ConstProcessorRcPtr *processor, float *pixel);
- void processorApplyRGBA(OCIO_ConstProcessorRcPtr *processor, float *pixel);
- void processorApplyRGBA_predivide(OCIO_ConstProcessorRcPtr *processor, float *pixel);
-
- void processorRelease(OCIO_ConstProcessorRcPtr *p);
-
- const char *colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs);
- const char *colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs);
- const char *colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs);
-
- OCIO_DisplayTransformRcPtr *createDisplayTransform(void);
- void displayTransformSetInputColorSpaceName(OCIO_DisplayTransformRcPtr *dt, const char *name);
- void displayTransformSetDisplay(OCIO_DisplayTransformRcPtr *dt, const char *name);
- void displayTransformSetView(OCIO_DisplayTransformRcPtr *dt, const char *name);
- void displayTransformSetDisplayCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et);
- void displayTransformSetLinearCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et);
- void displayTransformSetLooksOverride(OCIO_DisplayTransformRcPtr *dt, const char *looks);
- void displayTransformSetLooksOverrideEnabled(OCIO_DisplayTransformRcPtr *dt, bool enabled);
- void displayTransformRelease(OCIO_DisplayTransformRcPtr *dt);
-
- OCIO_PackedImageDesc *createOCIO_PackedImageDesc(float *data, long width, long height, long numChannels,
- long chanStrideBytes, long xStrideBytes, long yStrideBytes);
-
- void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p);
-
- OCIO_ExponentTransformRcPtr *createExponentTransform(void);
- void exponentTransformSetValue(OCIO_ExponentTransformRcPtr *et, const float *exponent);
- void exponentTransformRelease(OCIO_ExponentTransformRcPtr *et);
-
- OCIO_MatrixTransformRcPtr *createMatrixTransform(void);
- void matrixTransformSetValue(OCIO_MatrixTransformRcPtr *mt, const float *m44, const float *offset4);
- void matrixTransformRelease(OCIO_MatrixTransformRcPtr *mt);
-
- void matrixTransformScale(float * m44, float * offset4, const float * scale4);
-
- bool supportGLSLDraw(void);
- bool setupGLSLDraw(struct OCIO_GLSLDrawState **state_r, OCIO_ConstProcessorRcPtr *processor,
- OCIO_CurveMappingSettings *curve_mapping_settings, float dither, bool predivide);
- void finishGLSLDraw(struct OCIO_GLSLDrawState *state);
- void freeGLState(struct OCIO_GLSLDrawState *state_r);
-
- const char *getVersionString(void);
- int getVersionHex(void);
+ public:
+ OCIOImpl(){};
+
+ OCIO_ConstConfigRcPtr *getCurrentConfig(void);
+ void setCurrentConfig(const OCIO_ConstConfigRcPtr *config);
+
+ OCIO_ConstConfigRcPtr *configCreateFromEnv(void);
+ OCIO_ConstConfigRcPtr *configCreateFromFile(const char *filename);
+
+ void configRelease(OCIO_ConstConfigRcPtr *config);
+
+ int configGetNumColorSpaces(OCIO_ConstConfigRcPtr *config);
+ const char *configGetColorSpaceNameByIndex(OCIO_ConstConfigRcPtr *config, int index);
+ OCIO_ConstColorSpaceRcPtr *configGetColorSpace(OCIO_ConstConfigRcPtr *config, const char *name);
+ int configGetIndexForColorSpace(OCIO_ConstConfigRcPtr *config, const char *name);
+
+ int colorSpaceIsInvertible(OCIO_ConstColorSpaceRcPtr *cs);
+ int colorSpaceIsData(OCIO_ConstColorSpaceRcPtr *cs);
+
+ void colorSpaceRelease(OCIO_ConstColorSpaceRcPtr *cs);
+
+ const char *configGetDefaultDisplay(OCIO_ConstConfigRcPtr *config);
+ int configGetNumDisplays(OCIO_ConstConfigRcPtr *config);
+ const char *configGetDisplay(OCIO_ConstConfigRcPtr *config, int index);
+ const char *configGetDefaultView(OCIO_ConstConfigRcPtr *config, const char *display);
+ int configGetNumViews(OCIO_ConstConfigRcPtr *config, const char *display);
+ const char *configGetView(OCIO_ConstConfigRcPtr *config, const char *display, int index);
+ const char *configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config,
+ const char *display,
+ const char *view);
+
+ void configGetDefaultLumaCoefs(OCIO_ConstConfigRcPtr *config, float *rgb);
+ void configGetXYZtoRGB(OCIO_ConstConfigRcPtr *config, float xyz_to_rgb[3][3]);
+
+ int configGetNumLooks(OCIO_ConstConfigRcPtr *config);
+ const char *configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index);
+ OCIO_ConstLookRcPtr *configGetLook(OCIO_ConstConfigRcPtr *config, const char *name);
+
+ const char *lookGetProcessSpace(OCIO_ConstLookRcPtr *look);
+ void lookRelease(OCIO_ConstLookRcPtr *look);
+
+ OCIO_ConstProcessorRcPtr *configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config,
+ const char *srcName,
+ const char *dstName);
+ OCIO_ConstProcessorRcPtr *configGetProcessor(OCIO_ConstConfigRcPtr *config,
+ OCIO_ConstTransformRcPtr *transform);
+
+ void processorApply(OCIO_ConstProcessorRcPtr *processor, OCIO_PackedImageDesc *img);
+ void processorApply_predivide(OCIO_ConstProcessorRcPtr *processor, OCIO_PackedImageDesc *img);
+ void processorApplyRGB(OCIO_ConstProcessorRcPtr *processor, float *pixel);
+ void processorApplyRGBA(OCIO_ConstProcessorRcPtr *processor, float *pixel);
+ void processorApplyRGBA_predivide(OCIO_ConstProcessorRcPtr *processor, float *pixel);
+
+ void processorRelease(OCIO_ConstProcessorRcPtr *p);
+
+ const char *colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs);
+ const char *colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs);
+ const char *colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs);
+
+ OCIO_DisplayTransformRcPtr *createDisplayTransform(void);
+ void displayTransformSetInputColorSpaceName(OCIO_DisplayTransformRcPtr *dt, const char *name);
+ void displayTransformSetDisplay(OCIO_DisplayTransformRcPtr *dt, const char *name);
+ void displayTransformSetView(OCIO_DisplayTransformRcPtr *dt, const char *name);
+ void displayTransformSetDisplayCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et);
+ void displayTransformSetLinearCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et);
+ void displayTransformSetLooksOverride(OCIO_DisplayTransformRcPtr *dt, const char *looks);
+ void displayTransformSetLooksOverrideEnabled(OCIO_DisplayTransformRcPtr *dt, bool enabled);
+ void displayTransformRelease(OCIO_DisplayTransformRcPtr *dt);
+
+ OCIO_PackedImageDesc *createOCIO_PackedImageDesc(float *data,
+ long width,
+ long height,
+ long numChannels,
+ long chanStrideBytes,
+ long xStrideBytes,
+ long yStrideBytes);
+
+ void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p);
+
+ OCIO_ExponentTransformRcPtr *createExponentTransform(void);
+ void exponentTransformSetValue(OCIO_ExponentTransformRcPtr *et, const float *exponent);
+ void exponentTransformRelease(OCIO_ExponentTransformRcPtr *et);
+
+ OCIO_MatrixTransformRcPtr *createMatrixTransform(void);
+ void matrixTransformSetValue(OCIO_MatrixTransformRcPtr *mt,
+ const float *m44,
+ const float *offset4);
+ void matrixTransformRelease(OCIO_MatrixTransformRcPtr *mt);
+
+ void matrixTransformScale(float *m44, float *offset4, const float *scale4);
+
+ bool supportGLSLDraw(void);
+ bool setupGLSLDraw(struct OCIO_GLSLDrawState **state_r,
+ OCIO_ConstProcessorRcPtr *processor,
+ OCIO_CurveMappingSettings *curve_mapping_settings,
+ float dither,
+ bool predivide);
+ void finishGLSLDraw(struct OCIO_GLSLDrawState *state);
+ void freeGLState(struct OCIO_GLSLDrawState *state_r);
+
+ const char *getVersionString(void);
+ int getVersionHex(void);
};
#endif