Skip to content

Commit 873982e

Browse files
larochjdoug-walker
authored andcommitted
Review Fix, missing fixed function enums in switch cases
(cherry picked from commit 051bd7d) Signed-off-by: Doug Walker <[email protected]>
1 parent d50f76f commit 873982e

File tree

4 files changed

+111
-5
lines changed

4 files changed

+111
-5
lines changed

include/OpenColorIO/OpenColorTypes.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,10 @@ enum FixedFunctionStyle
509509
FIXED_FUNCTION_ACES_OUTPUT_TRANSFORM_20, ///< ACES 2.0 Display Rendering -- EXPERIMENTAL
510510
FIXED_FUNCTION_ACES_RGB_TO_JMH_20, ///< ACES 2.0 RGB to JMh -- EXPERIMENTAL
511511
FIXED_FUNCTION_ACES_TONESCALE_COMPRESS_20, ///< ACES 2.0 Tonescale and chroma compression -- EXPERIMENTAL
512-
FIXED_FUNCTION_ACES_GAMUT_COMPRESS_20 ///< ACES 2.0 Gamut compression -- EXPERIMENTAL
512+
FIXED_FUNCTION_ACES_GAMUT_COMPRESS_20, ///< ACES 2.0 Gamut compression -- EXPERIMENTAL
513+
FIXED_FUNCTION_RGB_TO_HSY_LIN, ///< RGB to HSY (Hue, Saturation, Lightness) using linear
514+
FIXED_FUNCTION_RGB_TO_HSY_LOG, ///< RGB to HSY (Hue, Saturation, Lightness) using log
515+
FIXED_FUNCTION_RGB_TO_HSY_VID, ///< RGB to HSY (Hue, Saturation, Lightness) using video
513516
};
514517

515518
/// Enumeration of the :cpp:class:`ExposureContrastTransform` transform algorithms.

src/OpenColorIO/ParseUtils.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,9 @@ const char * FixedFunctionStyleToString(FixedFunctionStyle style)
371371
case FIXED_FUNCTION_LIN_TO_PQ: return "Lin_TO_PQ";
372372
case FIXED_FUNCTION_LIN_TO_GAMMA_LOG: return "Lin_TO_GammaLog";
373373
case FIXED_FUNCTION_LIN_TO_DOUBLE_LOG: return "Lin_TO_DoubleLog";
374+
case FIXED_FUNCTION_RGB_TO_HSY_LIN: return "RGB_TO_HSY_LIN";
375+
case FIXED_FUNCTION_RGB_TO_HSY_LOG: return "RGB_TO_HSY_LOG";
376+
case FIXED_FUNCTION_RGB_TO_HSY_VID: return "RGB_TO_HSY_VID";
374377
case FIXED_FUNCTION_ACES_GAMUTMAP_02:
375378
case FIXED_FUNCTION_ACES_GAMUTMAP_07:
376379
throw Exception("Unimplemented fixed function types: "

src/OpenColorIO/ops/fixedfunction/FixedFunctionOpCPU.cpp

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2322,6 +2322,45 @@ ConstOpCPURcPtr GetFixedFunctionCPURenderer(ConstFixedFunctionOpDataRcPtr & func
23222322
/// TODO: SIMD implementation
23232323
return std::make_shared<Renderer_DOUBLE_LOG_TO_LIN>(func);
23242324
}
2325+
2326+
case FixedFunctionOpData::RGB_TO_HSY_LOG:
2327+
{
2328+
// TODO: Handle CPU rendering for this FixedFunction
2329+
return nullptr;
2330+
//return std::make_shared<Renderer_RGB_TO_HSY_LOG>(func);
2331+
}
2332+
case FixedFunctionOpData::HSY_LOG_TO_RGB:
2333+
{
2334+
// TODO: Handle CPU rendering for this FixedFunction
2335+
return nullptr;
2336+
//return std::make_shared<Renderer_HSY_LOG_TO_RGB>(func);
2337+
}
2338+
2339+
case FixedFunctionOpData::RGB_TO_HSY_LIN:
2340+
{
2341+
// TODO: Handle CPU rendering for this FixedFunction
2342+
return nullptr;
2343+
//return std::make_shared<Renderer_RGB_TO_HSY_LIN>(func);
2344+
}
2345+
case FixedFunctionOpData::HSY_LIN_TO_RGB:
2346+
{
2347+
// TODO: Handle CPU rendering for this FixedFunction
2348+
return nullptr;
2349+
//return std::make_shared<Renderer_HSY_LIN_TO_RGB>(func);
2350+
}
2351+
2352+
case FixedFunctionOpData::RGB_TO_HSY_VID:
2353+
{
2354+
// TODO: Handle CPU rendering for this FixedFunction
2355+
return nullptr;
2356+
//return std::make_shared<Renderer_RGB_TO_HSY_VID>(func);
2357+
}
2358+
case FixedFunctionOpData::HSY_VID_TO_RGB:
2359+
{
2360+
// TODO: Handle CPU rendering for this FixedFunction
2361+
return nullptr;
2362+
//return std::make_shared<Renderer_HSY_VID_TO_RGB>(func);
2363+
}
23252364
}
23262365

23272366
throw Exception("Unsupported FixedFunction style");

src/OpenColorIO/ops/fixedfunction/FixedFunctionOpData.cpp

Lines changed: 65 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,21 @@ FixedFunctionOpData::Style FixedFunctionOpData::ConvertStyle(FixedFunctionStyle
434434
{
435435
return FixedFunctionOpData::RGB_TO_HSV;
436436
}
437+
case FIXED_FUNCTION_RGB_TO_HSY_LIN:
438+
{
439+
return isForward ? FixedFunctionOpData::RGB_TO_HSY_LIN :
440+
FixedFunctionOpData::HSY_LIN_TO_RGB;
441+
}
442+
case FIXED_FUNCTION_RGB_TO_HSY_LOG:
443+
{
444+
return isForward ? FixedFunctionOpData::RGB_TO_HSY_LOG :
445+
FixedFunctionOpData::HSY_LOG_TO_RGB;
446+
}
447+
case FIXED_FUNCTION_RGB_TO_HSY_VID:
448+
{
449+
return isForward ? FixedFunctionOpData::RGB_TO_HSY_VID :
450+
FixedFunctionOpData::HSY_VID_TO_RGB;
451+
}
437452
case FIXED_FUNCTION_XYZ_TO_xyY:
438453
{
439454
return FixedFunctionOpData::XYZ_TO_xyY;
@@ -553,10 +568,17 @@ FixedFunctionStyle FixedFunctionOpData::ConvertStyle(FixedFunctionOpData::Style
553568
case FixedFunctionOpData::DOUBLE_LOG_TO_LIN:
554569
return FIXED_FUNCTION_LIN_TO_DOUBLE_LOG;
555570

556-
// TODO: Implement the following conversions.
557-
//case FixedFunctionOpData::RGB_TO_HSY_LIN:
558-
//case FixedFunctionOpData::HSY_LIN_TO_RGB:
559-
// return FIXED_FUNCTION_RGB_TO_HSY_LIN;
571+
case FixedFunctionOpData::RGB_TO_HSY_LIN:
572+
case FixedFunctionOpData::HSY_LIN_TO_RGB:
573+
return FIXED_FUNCTION_RGB_TO_HSY_LIN;
574+
575+
case FixedFunctionOpData::RGB_TO_HSY_LOG:
576+
case FixedFunctionOpData::HSY_LOG_TO_RGB:
577+
return FIXED_FUNCTION_RGB_TO_HSY_LOG;
578+
579+
case FixedFunctionOpData::RGB_TO_HSY_VID:
580+
case FixedFunctionOpData::HSY_VID_TO_RGB:
581+
return FIXED_FUNCTION_RGB_TO_HSY_VID;
560582

561583
}
562584

@@ -960,6 +982,39 @@ void FixedFunctionOpData::invert() noexcept
960982
break;
961983
}
962984

985+
case RGB_TO_HSY_LOG:
986+
{
987+
setStyle(HSY_LOG_TO_RGB);
988+
break;
989+
}
990+
case HSY_LOG_TO_RGB:
991+
{
992+
setStyle(RGB_TO_HSY_LOG);
993+
break;
994+
}
995+
996+
case RGB_TO_HSY_LIN:
997+
{
998+
setStyle(HSY_LIN_TO_RGB);
999+
break;
1000+
}
1001+
case HSY_LIN_TO_RGB:
1002+
{
1003+
setStyle(RGB_TO_HSY_LIN);
1004+
break;
1005+
}
1006+
1007+
case RGB_TO_HSY_VID:
1008+
{
1009+
setStyle(HSY_VID_TO_RGB);
1010+
break;
1011+
}
1012+
case HSY_VID_TO_RGB:
1013+
{
1014+
setStyle(RGB_TO_HSY_VID);
1015+
break;
1016+
}
1017+
9631018
case XYZ_TO_xyY:
9641019
{
9651020
setStyle(xyY_TO_XYZ);
@@ -1056,6 +1111,9 @@ TransformDirection FixedFunctionOpData::getDirection() const noexcept
10561111
case FixedFunctionOpData::ACES_GAMUT_COMPRESS_20_FWD:
10571112
case FixedFunctionOpData::REC2100_SURROUND_FWD:
10581113
case FixedFunctionOpData::RGB_TO_HSV:
1114+
case FixedFunctionOpData::RGB_TO_HSY_LOG:
1115+
case FixedFunctionOpData::RGB_TO_HSY_LIN:
1116+
case FixedFunctionOpData::RGB_TO_HSY_VID:
10591117
case FixedFunctionOpData::XYZ_TO_xyY:
10601118
case FixedFunctionOpData::XYZ_TO_uvY:
10611119
case FixedFunctionOpData::XYZ_TO_LUV:
@@ -1076,6 +1134,9 @@ TransformDirection FixedFunctionOpData::getDirection() const noexcept
10761134
case FixedFunctionOpData::ACES_GAMUT_COMPRESS_20_INV:
10771135
case FixedFunctionOpData::REC2100_SURROUND_INV:
10781136
case FixedFunctionOpData::HSV_TO_RGB:
1137+
case FixedFunctionOpData::HSY_LOG_TO_RGB:
1138+
case FixedFunctionOpData::HSY_LIN_TO_RGB:
1139+
case FixedFunctionOpData::HSY_VID_TO_RGB:
10791140
case FixedFunctionOpData::xyY_TO_XYZ:
10801141
case FixedFunctionOpData::uvY_TO_XYZ:
10811142
case FixedFunctionOpData::LUV_TO_XYZ:

0 commit comments

Comments
 (0)