@@ -434,6 +434,21 @@ FixedFunctionOpData::Style FixedFunctionOpData::ConvertStyle(FixedFunctionStyle
434
434
{
435
435
return FixedFunctionOpData::RGB_TO_HSV;
436
436
}
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
+ }
437
452
case FIXED_FUNCTION_XYZ_TO_xyY:
438
453
{
439
454
return FixedFunctionOpData::XYZ_TO_xyY;
@@ -553,10 +568,17 @@ FixedFunctionStyle FixedFunctionOpData::ConvertStyle(FixedFunctionOpData::Style
553
568
case FixedFunctionOpData::DOUBLE_LOG_TO_LIN:
554
569
return FIXED_FUNCTION_LIN_TO_DOUBLE_LOG;
555
570
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;
560
582
561
583
}
562
584
@@ -960,6 +982,39 @@ void FixedFunctionOpData::invert() noexcept
960
982
break ;
961
983
}
962
984
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
+
963
1018
case XYZ_TO_xyY:
964
1019
{
965
1020
setStyle (xyY_TO_XYZ);
@@ -1056,6 +1111,9 @@ TransformDirection FixedFunctionOpData::getDirection() const noexcept
1056
1111
case FixedFunctionOpData::ACES_GAMUT_COMPRESS_20_FWD:
1057
1112
case FixedFunctionOpData::REC2100_SURROUND_FWD:
1058
1113
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:
1059
1117
case FixedFunctionOpData::XYZ_TO_xyY:
1060
1118
case FixedFunctionOpData::XYZ_TO_uvY:
1061
1119
case FixedFunctionOpData::XYZ_TO_LUV:
@@ -1076,6 +1134,9 @@ TransformDirection FixedFunctionOpData::getDirection() const noexcept
1076
1134
case FixedFunctionOpData::ACES_GAMUT_COMPRESS_20_INV:
1077
1135
case FixedFunctionOpData::REC2100_SURROUND_INV:
1078
1136
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:
1079
1140
case FixedFunctionOpData::xyY_TO_XYZ:
1080
1141
case FixedFunctionOpData::uvY_TO_XYZ:
1081
1142
case FixedFunctionOpData::LUV_TO_XYZ:
0 commit comments