[Bf-blender-cvs] [28f799df926] tmp-ocio-v2: OpenColorIO: address review comments
Brecht Van Lommel
noreply at git.blender.org
Wed Feb 3 15:17:51 CET 2021
Commit: 28f799df9260f3717300b802f8bd8784060e15cd
Author: Brecht Van Lommel
Date: Wed Feb 3 15:12:28 2021 +0100
Branches: tmp-ocio-v2
https://developer.blender.org/rB28f799df9260f3717300b802f8bd8784060e15cd
OpenColorIO: address review comments
===================================================================
M intern/opencolorio/fallback_impl.cc
M intern/opencolorio/ocio_capi.cc
M intern/opencolorio/ocio_capi.h
M intern/opencolorio/ocio_impl.cc
M intern/opencolorio/ocio_impl.h
M source/blender/imbuf/intern/colormanagement.c
===================================================================
diff --git a/intern/opencolorio/fallback_impl.cc b/intern/opencolorio/fallback_impl.cc
index 7c11d0baef4..9bbc9843e9d 100644
--- a/intern/opencolorio/fallback_impl.cc
+++ b/intern/opencolorio/fallback_impl.cc
@@ -104,31 +104,21 @@ struct FallbackTransform {
};
struct FallbackProcessor {
- FallbackProcessor(FallbackTransform *transform) : transform(transform)
+ FallbackProcessor(const FallbackTransform &transform) : transform(transform)
{
}
- FallbackProcessor(const FallbackProcessor &other)
- {
- transform = new FallbackTransform(*other.transform);
- }
-
- ~FallbackProcessor()
- {
- delete transform;
- }
-
void applyRGB(float *pixel)
{
- transform->applyRGB(pixel);
+ transform.applyRGB(pixel);
}
void applyRGBA(float *pixel)
{
- transform->applyRGBA(pixel);
+ transform.applyRGBA(pixel);
}
- FallbackTransform *transform;
+ FallbackTransform transform;
MEM_CXX_CLASS_ALLOC_FUNCS("FallbackProcessor");
};
@@ -338,27 +328,35 @@ OCIO_ConstProcessorRcPtr *FallbackImpl::configGetProcessorWithNames(OCIO_ConstCo
{
OCIO_ConstColorSpaceRcPtr *cs_src = configGetColorSpace(config, srcName);
OCIO_ConstColorSpaceRcPtr *cs_dst = configGetColorSpace(config, dstName);
- FallbackTransform *transform = new FallbackTransform();
+ FallbackTransform transform;
if (cs_src == COLORSPACE_LINEAR && cs_dst == COLORSPACE_SRGB) {
- transform->type = TRANSFORM_LINEAR_TO_SRGB;
+ transform.type = TRANSFORM_LINEAR_TO_SRGB;
}
else if (cs_src == COLORSPACE_SRGB && cs_dst == COLORSPACE_LINEAR) {
- transform->type = TRANSFORM_SRGB_TO_LINEAR;
+ transform.type = TRANSFORM_SRGB_TO_LINEAR;
}
else {
- transform->type = TRANSFORM_UNKNOWN;
+ transform.type = TRANSFORM_UNKNOWN;
}
return (OCIO_ConstProcessorRcPtr *)new FallbackProcessor(transform);
}
-OCIO_ConstCPUProcessorRcPtr *FallbackImpl::processorGetCPUProcessor(OCIO_ConstProcessorRcPtr *p)
+OCIO_ConstCPUProcessorRcPtr *FallbackImpl::processorGetCPUProcessor(
+ OCIO_ConstProcessorRcPtr *processor)
{
- FallbackProcessor *processor = (FallbackProcessor *)p;
- return (OCIO_ConstCPUProcessorRcPtr *)new FallbackProcessor(*processor);
+ /* Just make a copy of the processor so that we are compatible with OCIO
+ * which does need it as a separate object. */
+ FallbackProcessor *fallback_processor = (FallbackProcessor *)processor;
+ return (OCIO_ConstCPUProcessorRcPtr *)new FallbackProcessor(*fallback_processor);
}
-void FallbackImpl::processorApply(OCIO_ConstCPUProcessorRcPtr *processor,
- OCIO_PackedImageDesc *img)
+void FallbackImpl::processorRelease(OCIO_ConstProcessorRcPtr *processor)
+{
+ delete (FallbackProcessor *)(processor);
+}
+
+void FallbackImpl::cpuProcessorApply(OCIO_ConstCPUProcessorRcPtr *cpu_processor,
+ OCIO_PackedImageDesc *img)
{
/* OCIO_TODO stride not respected, channels must be 3 or 4 */
OCIO_PackedImageDescription *desc = (OCIO_PackedImageDescription *)img;
@@ -373,15 +371,15 @@ void FallbackImpl::processorApply(OCIO_ConstCPUProcessorRcPtr *processor,
float *pixel = pixels + channels * (y * width + x);
if (channels == 4)
- processorApplyRGBA(processor, pixel);
+ cpuProcessorApplyRGBA(cpu_processor, pixel);
else if (channels == 3)
- processorApplyRGB(processor, pixel);
+ cpuProcessorApplyRGB(cpu_processor, pixel);
}
}
}
-void FallbackImpl::processorApply_predivide(OCIO_ConstCPUProcessorRcPtr *processor,
- OCIO_PackedImageDesc *img)
+void FallbackImpl::cpuProcessorApply_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor,
+ OCIO_PackedImageDesc *img)
{
/* OCIO_TODO stride not respected, channels must be 3 or 4 */
OCIO_PackedImageDescription *desc = (OCIO_PackedImageDescription *)img;
@@ -396,28 +394,28 @@ void FallbackImpl::processorApply_predivide(OCIO_ConstCPUProcessorRcPtr *process
float *pixel = pixels + channels * (y * width + x);
if (channels == 4)
- processorApplyRGBA_predivide(processor, pixel);
+ cpuProcessorApplyRGBA_predivide(cpu_processor, pixel);
else if (channels == 3)
- processorApplyRGB(processor, pixel);
+ cpuProcessorApplyRGB(cpu_processor, pixel);
}
}
}
-void FallbackImpl::processorApplyRGB(OCIO_ConstCPUProcessorRcPtr *processor, float *pixel)
+void FallbackImpl::cpuProcessorApplyRGB(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel)
{
- ((FallbackProcessor *)processor)->applyRGB(pixel);
+ ((FallbackProcessor *)cpu_processor)->applyRGB(pixel);
}
-void FallbackImpl::processorApplyRGBA(OCIO_ConstCPUProcessorRcPtr *processor, float *pixel)
+void FallbackImpl::cpuProcessorApplyRGBA(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel)
{
- ((FallbackProcessor *)processor)->applyRGBA(pixel);
+ ((FallbackProcessor *)cpu_processor)->applyRGBA(pixel);
}
-void FallbackImpl::processorApplyRGBA_predivide(OCIO_ConstCPUProcessorRcPtr *processor,
- float *pixel)
+void FallbackImpl::cpuProcessorApplyRGBA_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor,
+ float *pixel)
{
if (pixel[3] == 1.0f || pixel[3] == 0.0f) {
- processorApplyRGBA(processor, pixel);
+ cpuProcessorApplyRGBA(cpu_processor, pixel);
}
else {
float alpha, inv_alpha;
@@ -429,7 +427,7 @@ void FallbackImpl::processorApplyRGBA_predivide(OCIO_ConstCPUProcessorRcPtr *pro
pixel[1] *= inv_alpha;
pixel[2] *= inv_alpha;
- processorApplyRGBA(processor, pixel);
+ cpuProcessorApplyRGBA(cpu_processor, pixel);
pixel[0] *= alpha;
pixel[1] *= alpha;
@@ -437,14 +435,9 @@ void FallbackImpl::processorApplyRGBA_predivide(OCIO_ConstCPUProcessorRcPtr *pro
}
}
-void FallbackImpl::processorRelease(OCIO_ConstProcessorRcPtr *processor)
-{
- delete (FallbackProcessor *)(processor);
-}
-
-void FallbackImpl::cpuProcessorRelease(OCIO_ConstCPUProcessorRcPtr *processor)
+void FallbackImpl::cpuProcessorRelease(OCIO_ConstCPUProcessorRcPtr *cpu_processor)
{
- delete (FallbackProcessor *)(processor);
+ delete (FallbackProcessor *)(cpu_processor);
}
const char *FallbackImpl::colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs)
@@ -468,19 +461,18 @@ const char *FallbackImpl::colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr * /*cs*/
return "";
}
-OCIO_ConstProcessorRcPtr *FallbackImpl::createDisplayProcessor(
- OCIO_ConstConfigRcPtr * /* config */,
- const char * /* input */,
- const char * /* view */,
- const char * /* display */,
- const char * /* look */,
- const float scale,
- const float exponent)
+OCIO_ConstProcessorRcPtr *FallbackImpl::createDisplayProcessor(OCIO_ConstConfigRcPtr * /*config*/,
+ const char * /*input*/,
+ const char * /*view*/,
+ const char * /*display*/,
+ const char * /*look*/,
+ const float scale,
+ const float exponent)
{
- FallbackTransform *transform = new FallbackTransform();
- transform->type = TRANSFORM_LINEAR_TO_SRGB;
- transform->scale = scale;
- transform->exponent = exponent;
+ FallbackTransform transform;
+ transform.type = TRANSFORM_LINEAR_TO_SRGB;
+ transform.scale = scale;
+ transform.exponent = exponent;
return (OCIO_ConstProcessorRcPtr *)new FallbackProcessor(transform);
}
diff --git a/intern/opencolorio/ocio_capi.cc b/intern/opencolorio/ocio_capi.cc
index 6904ce207dd..a7416f82b91 100644
--- a/intern/opencolorio/ocio_capi.cc
+++ b/intern/opencolorio/ocio_capi.cc
@@ -194,45 +194,45 @@ OCIO_ConstProcessorRcPtr *OCIO_configGetProcessorWithNames(OCIO_ConstConfigRcPtr
return impl->configGetProcessorWithNames(config, srcName, dstName);
}
-OCIO_ConstCPUProcessorRcPtr *OCIO_processorGetCPUProcessor(OCIO_ConstProcessorRcPtr *p)
+void OCIO_processorRelease(OCIO_ConstProcessorRcPtr *processor)
{
- return impl->processorGetCPUProcessor(p);
+ impl->processorRelease(processor);
}
-void OCIO_processorApply(OCIO_ConstCPUProcessorRcPtr *processor, OCIO_PackedImageDesc *img)
+OCIO_ConstCPUProcessorRcPtr *OCIO_processorGetCPUProcessor(OCIO_ConstProcessorRcPtr *processor)
{
- impl->processorApply(processor, img);
+ return impl->processorGetCPUProcessor(processor);
}
-void OCIO_processorApply_predivide(OCIO_ConstCPUProcessorRcPtr *processor,
- OCIO_PackedImageDesc *img)
+void OCIO_cpuProcessorApply(OCIO_ConstCPUProcessorRcPtr *cpu_processor, OCIO_PackedImageDesc *img)
{
- impl->processorApply_predivide(processor, img);
+ impl->cpuProcessorApply(cpu_processor, img);
}
-void OCIO_processorApplyRGB(OCIO_ConstCPUProcessorRcPtr *processor, float *pixel)
+void OCIO_cpuProcessorApply_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor,
+ OCIO_PackedImageDesc *img)
{
- impl->processorApplyRGB(processor, pixel);
+ impl->cpuProcessorApply_predivide(cpu_processor, img);
}
-void OCIO_processorApplyRGBA(OCIO_ConstCPUProcessorRcPtr *processor, float *pixel)
+void OCIO_cpuProcessorApplyRGB(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel)
{
- impl->processorApplyRGBA(processor, pixel);
+ impl->cpuProcessorApplyRGB(cpu_processor, pixel);
}
-void OCIO_processorApplyRGBA_predivide(OCIO_ConstCPUProcessorRcPtr *processor, float *pixel)
+void OCIO_cpuProcessorApplyRGBA(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel)
{
- impl->processorApplyRGBA_predivide(processor, pixel);
+ impl->cpuProcessorApplyRGBA(cpu_processor, pixel);
}
-void OCIO_processorRelease(OCIO_ConstProcessorRcPtr *p)
+void OCIO_cpuProcessorApplyRGBA_predivide(OCIO_ConstCPUProcessorRcPtr *processor, float *pixel)
{
- impl->processorRelease(p);
+ impl->cpuProcessorApplyRGBA_predivide(processor,
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list