@@ -1750,8 +1750,6 @@ bool skcms_ApproximateCurve(const skcms_Curve* curve,
1750
1750
// ~~~~ Impl. of skcms_Transform() ~~~~
1751
1751
1752
1752
typedef enum {
1753
- Op_noop,
1754
-
1755
1753
Op_load_a8,
1756
1754
Op_load_g8,
1757
1755
Op_load_4444,
@@ -1976,9 +1974,11 @@ static OpAndArg select_curve_op(const skcms_Curve* curve, int channel) {
1976
1974
{ Op_tf_a, Op_table_8_a, Op_table_16_a },
1977
1975
};
1978
1976
1977
+ const OpAndArg noop = { Op_load_a8/* doesn't matter*/ , nullptr };
1978
+
1979
1979
if (curve->table_entries == 0 ) {
1980
1980
return is_identity_tf (&curve->parametric )
1981
- ? OpAndArg{ Op_noop, nullptr }
1981
+ ? noop
1982
1982
: OpAndArg{ ops[channel].parametric , &curve->parametric };
1983
1983
} else if (curve->table_8 ) {
1984
1984
return OpAndArg{ ops[channel].table_8 , curve };
@@ -1987,7 +1987,7 @@ static OpAndArg select_curve_op(const skcms_Curve* curve, int channel) {
1987
1987
}
1988
1988
1989
1989
assert (false );
1990
- return OpAndArg{Op_noop, nullptr } ;
1990
+ return noop ;
1991
1991
}
1992
1992
1993
1993
static size_t bytes_per_pixel (skcms_PixelFormat fmt) {
@@ -2121,7 +2121,7 @@ bool skcms_Transform(const void* src,
2121
2121
if (srcProfile->A2B .input_channels ) {
2122
2122
for (int i = 0 ; i < (int )srcProfile->A2B .input_channels ; i++) {
2123
2123
OpAndArg oa = select_curve_op (&srcProfile->A2B .input_curves [i], i);
2124
- if (oa.op != Op_noop ) {
2124
+ if (oa.arg ) {
2125
2125
*ops++ = oa.op ;
2126
2126
*args++ = oa.arg ;
2127
2127
}
@@ -2139,7 +2139,7 @@ bool skcms_Transform(const void* src,
2139
2139
if (srcProfile->A2B .matrix_channels == 3 ) {
2140
2140
for (int i = 0 ; i < 3 ; i++) {
2141
2141
OpAndArg oa = select_curve_op (&srcProfile->A2B .matrix_curves [i], i);
2142
- if (oa.op != Op_noop ) {
2142
+ if (oa.arg ) {
2143
2143
*ops++ = oa.op ;
2144
2144
*args++ = oa.arg ;
2145
2145
}
@@ -2159,7 +2159,7 @@ bool skcms_Transform(const void* src,
2159
2159
if (srcProfile->A2B .output_channels == 3 ) {
2160
2160
for (int i = 0 ; i < 3 ; i++) {
2161
2161
OpAndArg oa = select_curve_op (&srcProfile->A2B .output_curves [i], i);
2162
- if (oa.op != Op_noop ) {
2162
+ if (oa.arg ) {
2163
2163
*ops++ = oa.op ;
2164
2164
*args++ = oa.arg ;
2165
2165
}
@@ -2173,7 +2173,7 @@ bool skcms_Transform(const void* src,
2173
2173
} else if (srcProfile->has_trc && srcProfile->has_toXYZD50 ) {
2174
2174
for (int i = 0 ; i < 3 ; i++) {
2175
2175
OpAndArg oa = select_curve_op (&srcProfile->trc [i], i);
2176
- if (oa.op != Op_noop ) {
2176
+ if (oa.arg ) {
2177
2177
*ops++ = oa.op ;
2178
2178
*args++ = oa.arg ;
2179
2179
}
0 commit comments