@@ -1353,13 +1353,13 @@ namespace lsp
1353
1353
__ASM_EMIT (" vmul.f32 q4, q6, q9" ) /* q4 = D/X */ \
1354
1354
__ASM_EMIT (" veor q5, q5" ) /* q5 = 0 */ \
1355
1355
\
1356
- __ASM_EMIT (" vclt .f32 q6, q1, q13 " ) /* q6 = [L < 1 ] */ \
1356
+ __ASM_EMIT (" vcle .f32 q6, q1, q14 " ) /* q6 = [L <= 0.5 ] */ \
1357
1357
__ASM_EMIT (" vceq.f32 q7, q1, q5" ) /* q7 = [L == 0] */ \
1358
- __ASM_EMIT (" vcgt.f32 q8, q1, q13 " ) /* q8 = [L > 1 ] */ \
1359
- __ASM_EMIT (" vbit q6, q5, q7" ) /* q6 = [L < 1 ] & [L != 0] */ \
1360
- __ASM_EMIT (" vand q8, q8, q4" ) /* q8 = D/X & [L > 1 ] */ \
1361
- __ASM_EMIT (" vand q6, q6, q2" ) /* q6 = D/L & [L < 1 ] & [L != 0] */ \
1362
- __ASM_EMIT (" vorr q2, q8, q6" ) /* q2 = S = (D/L & [L < 1 ] & [L != 0]) | (D/X & [L > 1 ]) */ \
1358
+ __ASM_EMIT (" vcgt.f32 q8, q1, q14 " ) /* q8 = [L > 0.5 ] */ \
1359
+ __ASM_EMIT (" vbit q6, q5, q7" ) /* q6 = [L <= 0.5 ] & [L != 0] */ \
1360
+ __ASM_EMIT (" vand q8, q8, q4" ) /* q8 = D/X & [L > 0.5 ] */ \
1361
+ __ASM_EMIT (" vand q6, q6, q2" ) /* q6 = D/L & [L <= 0.5 ] & [L != 0] */ \
1362
+ __ASM_EMIT (" vorr q2, q8, q6" ) /* q2 = S = (D/L & [L <= 0.5 ] & [L != 0]) | (D/X & [L > 0.5 ]) */ \
1363
1363
__ASM_EMIT (" vmul.f32 q0, q0, q15" ) /* q0 = H * 1/6 */ \
1364
1364
__ASM_EMIT (" vmul.f32 q2, q2, q14" ) /* q2 = S * 1/2 */ \
1365
1365
@@ -1385,7 +1385,7 @@ namespace lsp
1385
1385
H = (R - G) / d + 4.0f;
1386
1386
1387
1387
// Calculate saturation
1388
- if (L < 1.0f )
1388
+ if (L < 0.5f )
1389
1389
S = (L != 0.0f) ? d / L : 0.0f;
1390
1390
else
1391
1391
S = (L != 1.0f) ? d / (1.0f - L) : 0.0f;
0 commit comments