Skip to content

Commit 54ddec8

Browse files
authored
Address GPU unit test failures (#2123)
* - Weights for cos(3h) and sin(h) in chroma_compress_norm() looks wrong. Fixing the weights makes the GPU tests pass now (except of the inverse output transform which seems to have a separate issue). - If the new weights are correct, I'll need to update the CPU test target values too. Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com> * - Updating the expected values in the CPU tests Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com> * - The remaining GPU test failures were caused by a simple typo where we were passing h instead of J to ocio_tonescale_inv() function. With the fix all the unit tests are happy now. - Since we decided not to include any SIMD implementation in this version, I removed the conditional code paths and left the current SSE & AVX implementations as commented out for future guidence. Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com> --------- Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
1 parent 89ed0fb commit 54ddec8

4 files changed

Lines changed: 141 additions & 112 deletions

File tree

src/OpenColorIO/ops/fixedfunction/ACES2/Transform.cpp

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,6 @@
88
#include <cmath>
99
#include <limits>
1010

11-
// Disabling SIMD for now to do scalar math verification.
12-
// FIXME: Re-enable SIMD and verify SIMD math is correct.
13-
#undef OCIO_USE_SSE2
14-
#undef OCIO_USE_AVX
15-
16-
#if OCIO_USE_SSE2
17-
#include "SSE2.h"
18-
#endif
19-
20-
#if OCIO_USE_AVX
21-
#include "AVX.h"
22-
#endif
23-
2411
namespace OCIO_NAMESPACE
2512
{
2613

@@ -265,6 +252,7 @@ f3 JMh_to_RGB(const f3 &JMh, const JMhParams &p)
265252
// Tonescale / Chroma compress
266253
//
267254

255+
/*
268256
//TODO: move to header
269257
// https://stackoverflow.com/questions/6996764/fastest-way-to-do-horizontal-sse-vector-sum-or-other-reduction/35270026#35270026
270258
// https://gcc.godbolt.org/#compilers:!((compiler:g6,options:%27-xc+-O3+-Wall+-fverbose-asm+-march%3Dhaswell+-mno-avx%27,sourcez:MQSwdgxgNgrgJgUwAQB4QFt3gC4CdwB0AFgHwBQoksiqAztnDseWQPStLZEi1I9JQQAa2QBZAIa5x2AOS0ANEgBGMbJwDuCcSLicA9kgh70ABxBRk2A0oTZsCXIb2ICbDtHFgA5khhgAZnq42H7SCFAAnkiIECCIvFa%2BtMjoegBu4ia0rLREMP4muuD0Wrp6/kipaURQWWT%2BUHrSSES0MOgA%2BlkdtMkAjAAUHR3ofQBMABxIaQCUSADeSEvLK6tr62vs00gAvEgA2kgAIkgAwkgAPkgAQkgAgkgAumQrw6OTSLn5y3sjnV/%2BBoILq0AZpRTgpAdUSiDoAZQAEgBVABiKIAMgBRAZjRQAZkUAAZFH0ZjMANxLLaHc4nK63B7PV4jcZTNroXhLX6YDriOBwEFgxQAimbDjs3h7Q5HADU51OMrpNxlDzuMtuTOWAI2XKhPKqCBqgoBwvatFFqy2B2W5yWStl8sVTypHAsai4yCMpnMDiQ4jSejifsq6WUUVwCBgtHAPgBLy1Zp1uz1nT5At6Awlwry/gp8aWEZCuDArx5EDS2F6HX8eLGmbNeYAvmR6o1mq12iCesk8UMWR9Zgt81D%2B2yc8m/iN0oa4DATILZpT1lslLgmnAIOJ6Ehwgh0AgwJWkAS%2BvokLjCcO3qzPonuan%2BQvs/k8yttet71O0oaoMac6aOVFLZuC8IgWnEKAKgAWhIAQ9HUcDIOHCUNk/NNu3rDln1zclh0LGBiw2Sdy0rWhq1rTDzVw5sWy2Wh0AgixHCMGhowALwQRQVDUKMYEYqJaEaTRHD8CxeicRAoPY5B%2BHEJATDXJQLHQVsmjUDtOm6Ig0z7d4pkHeYr1HW8OQnHltMfLIhWmV8E1Mj8Uw6CyBSsrMJVsgtbAIkt1mIisqxrOt3OoltQH8RAKmGO4ADUAA1hlU9t2TGABWAA2Lt/QAD101K0psodmT06YhN1P48o6Td6CyCqslZMEPJHYrqhAUCzPQCqECyvBxAgbB/FZJ8kFJSlgNasDWSM5qb3a3lLNBNIhIhECiAtZYtjTTgiGQUrJpWfDCI0rtegQXs0lZNakw2sAijAQQwEsbbPh7aYHGjPQwEUdRuAgMD%2BD0ExsAwCCkECRwYti4ctgGMADHULd7Fu%2BhcBgPqQA%2BhQ/Ruv0oCgJByi2vc/QjQmkAAFluLAwAwdoZjIZtgAPRh/BbNx2HZrY4D0GAlIQMguZ5iwWnZLp02SOtr0mXQ0jgOZFiTBWtjSZNDluK5GSmm8/AisqeW1hB/HABAXNBS6FY2TmPpkNR1CCXAIi%2B5APsiJJkDTOEjkUB7v0cKxUe4bxSa8SQlHELxkCUEAj3UKOwM8JAUQABT9flNY%2BAFsFMT8DSNKz9f8RRiIRwoF1li0tg9En%2BFhkNqlqOA04mXR30/KrsG6QpMxzTOTEag6fL8ysBX8NKyaGHl0NoOAwTgbCyRC2iOY5vhD1rMgcGFzsEDMWtuwQCXRxAJAsrligQHCg2RwhhKitZI/uFH3XOj8ExeqEbgOm3kBR4GLLFBPpcOoth4iggDBwnhdCwzAFBeIeBUZA2/PcOKAhbC8CjJ8f0bswz2CQDHLg3M1APWNjGYMVQKDhGSI3e%2B38yZPx6DmIEn8d51j/lCGE8JkRoixAMPoRJ8SKDGPPchN1z5UJMo/NCj4v4UQfmTf%2BjVJYTGobWOhAIgSNCYSAPoaVMKj0LuwxEqIMTYl4UgYkx4BHzxWFsOE8MTCk1KtgW2O5lIHkrGI9kKjJECmkUFdoeiWggFrH3LyhFB7RkGtGCinjBGAOsRwOEcJMRjFrg3eJ/dHJdR6n1TRMioBEjNjYpJcidzfhLPgmAbUo5OG9GJM8VQkb2D5PjCoclBD2CkHjEwWTcC6FwLWeQWVMDyEvDRDeR1fHdh7D0ISPQGK4xYggXSd9j4zEMisLKs1nK5JYfI3CGytnoV8b/PZeFQklnCVoyYPQgksKbKzReKdMiI1BmudASAJBSFkLwCGLQ7AmAAFzsHoG/acuAGjwQIF6VgABHGACB6DozANkPotY%2BgAE4%2BhkzSqwIg8EoJWCku0KCHV0pQTxfgNiH1sD8VYKisYDKyZ9EJMAeljLmWJXUiLboDEvnLI%2BCfQqywjDIrUIokyABFPiug9hZX2cKjGYrjKNCOHxPGex2RSr5PKl0gTVUgz2AMJAUFFAmuPniJAMpj4AHZ/4pKtVlfKdMVgiu3OK7g%2Br1WORzr%2BVy7QtWz0ldKxqdF2ieuTEas1ZqsqngdRah1KVLU2v/oSJNWV7XH1oQ6p1w5XVKuKuycN3jBQqrVYoD1aqQ2ugMIa41pr63H1TQ6jNWUs3HxzS6xVTUbyNGTIWtVOqkBjQjXW0d0bY3mrTYmh11qkDOoVaK7tHxuCzTURYY0Yay0mU9USGNVaTIjqjQ2rKTbj4TvTWm%2BNmap1pvyjOuduau3ivZLNSeoJGjlpAOXDg6EsjRANlob5hgoCeC8HIT4DChYAyBlgDiuAzlFguWWfyZFAqYXuUAA%3D%3D)),filterAsm:(binary:!t,commentOnly:!t,directives:!t,intel:!t,labels:!t),version:3
@@ -279,6 +267,7 @@ inline float hsum_ps_sse1(__m128 v) { // v = [
279267
return _mm_cvtss_f32(sums); // A+B+C+D
280268
}
281269
#endif
270+
282271
#ifdef OCIO_USE_AVX
283272
inline float hsum256_ps_avx(__m256 v) { // v = [ H G | F E | D C | B A ]
284273
__m128 vlow = _mm256_castps256_ps128(v); // vlow = [ D C | B A ]
@@ -287,7 +276,8 @@ inline float hsum256_ps_avx(__m256 v) { // v = [ H G | F E |
287276
return hsum_ps_sse1(v128);
288277
}
289278
#endif
290-
279+
#endif
280+
*/
291281

292282
float chroma_compress_norm(float cos_hr1, float sin_hr1, float chroma_compress_scale)
293283
{
@@ -302,9 +292,11 @@ float chroma_compress_norm(float cos_hr1, float sin_hr1, float chroma_compress_s
302292
sin_hr1, sin_hr2, sin_hr3, 1.0f
303293
};
304294
alignas(AVX_ALIGNMENT) static constexpr float weights[8] = { // TODO: investigate reordering of the entries so we are summing equal magnitude values first?
305-
11.34072f, 16.46899f, 14.66441f, 0.0f,
306-
4.66441f, -6.37224f, 9.19364f, 77.12896f
295+
11.34072f, 16.46899f, 7.88380f, 0.0f,
296+
14.66441f, -6.37224f, 9.19364f, 77.12896f
307297
};
298+
299+
/*
308300
// TODO: benchmark this across multiple platforms to justify the multiple code paths.
309301
#if OCIO_USE_SSE2
310302
#if OCIO_USE_AVX
@@ -324,14 +316,17 @@ float chroma_compress_norm(float cos_hr1, float sin_hr1, float chroma_compress_s
324316
const float M = hsum_ps_sse1(t3);
325317
#endif
326318
#else
319+
*/
327320
const float M = weights[0] * trig_angles_hr[0] +
328321
weights[1] * trig_angles_hr[1] +
329322
weights[2] * trig_angles_hr[2] +
330323
weights[4] * trig_angles_hr[4] +
331324
weights[5] * trig_angles_hr[5] +
332325
weights[6] * trig_angles_hr[6] +
333326
weights[7];
327+
/*
334328
#endif
329+
*/
335330

336331
return M * chroma_compress_scale; // TODO: is it worth prescaling the above weights?
337332
}

src/OpenColorIO/ops/fixedfunction/FixedFunctionOpGPU.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -663,6 +663,7 @@ std::string _Add_Tonescale_func(
663663
}
664664

665665
ss.newLine() << ss.floatDecl("J_ts") << " = " << ACES2::J_scale << " * pow((F_L_Y / ( " << ACES2::cam_nl_offset << " + F_L_Y)) * " << p.inv_A_w_J << ", " << p.cz << ");";
666+
// TODO: copysign is missing here. /coz
666667
ss.newLine() << "return J_ts;";
667668

668669
ss.dedent();
@@ -682,14 +683,15 @@ void _Add_ChromaCompressionNorm_Shader(
682683
ss.newLine() << "{";
683684
ss.indent();
684685

685-
ss.newLine() << ss.floatDecl("cos_hr2") << " = cos_hr * cos_hr - sin_hr * sin_hr;";
686+
// TODO: optimization: can bake weights into terms and convert dotprods to addition. /coz
687+
ss.newLine() << ss.floatDecl("cos_hr2") << " = 2.0 * cos_hr * cos_hr - 1.0;";
686688
ss.newLine() << ss.floatDecl("sin_hr2") << " = 2.0 * cos_hr * sin_hr;";
687689
ss.newLine() << ss.floatDecl("cos_hr3") << " = 4.0 * cos_hr * cos_hr * cos_hr - 3.0 * cos_hr;";
688690
ss.newLine() << ss.floatDecl("sin_hr3") << " = 3.0 * sin_hr - 4.0 * sin_hr * sin_hr * sin_hr;";
689691
ss.newLine() << ss.float3Decl("cosines") << " = " << ss.float3Const("cos_hr", "cos_hr2", "cos_hr3") <<";";
690692
ss.newLine() << ss.float3Decl("cosine_weights") << " = " << ss.float3Const(11.34072 * c.chroma_compress_scale,
691693
16.46899 * c.chroma_compress_scale,
692-
7.88380 * c.chroma_compress_scale) <<";";
694+
7.88380 * c.chroma_compress_scale) <<";";
693695
ss.newLine() << ss.float3Decl("sines") << " = " << ss.float3Const("sin_hr", "sin_hr2", "sin_hr3") <<";";
694696
ss.newLine() << ss.float3Decl("sine_weights") << " = " << ss.float3Const(14.66441 * c.chroma_compress_scale,
695697
-6.37224 * c.chroma_compress_scale,
@@ -1396,7 +1398,7 @@ void Add_ACES_OutputTransform_Inv_Shader(
13961398
ss.newLine() << "";
13971399
ss.newLine() << "// Add ToneScale and ChromaCompress (inv)";
13981400
ss.newLine() << "";
1399-
ss.newLine() << ss.floatDecl("J") << " = " << tonescaleName_Inv << "(" << pxl << ".b);";
1401+
ss.newLine() << ss.floatDecl("J") << " = " << tonescaleName_Inv << "(" << pxl << ".r);";
14001402
ss.newLine() << "{";
14011403
ss.indent();
14021404
_Add_Tonescale_Compress_Inv_Shader(shaderCreator, ss, resourceIndex, s, c);

tests/cpu/ops/fixedfunction/FixedFunctionOpCPU_tests.cpp

Lines changed: 62 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -467,41 +467,41 @@ OCIO_ADD_TEST(FixedFunctionOpCPU, aces_output_transform_20)
467467

468468
const float expected_32f[num_samples*4] = {
469469
// ACEScg primaries and secondaries scaled by 4
470-
4.966040611f, -0.032990534f, 0.041587759f, 1.0f,
471-
3.969455719f, 3.825795889f, -0.056159109f, 1.0f,
472-
-0.075445443f, 3.689064741f, 0.270243138f, 1.0f,
473-
-0.095422804f, 3.650515079f, 3.459970713f, 1.0f,
474-
-0.029242843f, 0.196083903f, 2.797096968f, 1.0f,
475-
4.900825977f, -0.064415932f, 3.838272572f, 1.0f,
470+
4.966013432f, -0.033002287f, 0.041583523f, 1.0f,
471+
3.969460726f, 3.825797558f, -0.056160748f, 1.0f,
472+
-0.075460039f, 3.689072609f, 0.270235062f, 1.0f,
473+
-0.095436633f, 3.650521517f, 3.459975719f, 1.0f,
474+
-0.028881177f, 0.196473420f, 2.796123743f, 1.0f,
475+
4.900828362f, -0.064385533f, 3.838270903f, 1.0f,
476476
// OCIO test values
477-
0.096831776f, -0.001114858f, 0.018976377f, 0.5f,
478-
0.811647296f, 0.478211939f, 0.816507518f, 1.0f,
479-
0.110244252f, 0.919241786f, 0.726084292f, 0.0f,
477+
0.096890487f, -0.001135427f, 0.018971475f, 0.5f,
478+
0.809613585f, 0.479857147f, 0.814239979f, 1.0f,
479+
0.107417941f, 0.920530438f, 0.726379037f, 0.0f,
480480
// ColorChecker24 (SMPTE 2065-1 2021)
481-
0.115581684f, 0.050785132f, 0.030158322f, 1.0f,
482-
0.482630610f, 0.301559567f, 0.228200614f, 1.0f,
483-
0.097509719f, 0.160682827f, 0.278755993f, 1.0f,
484-
0.071118668f, 0.107350536f, 0.035066456f, 1.0f,
485-
0.206827119f, 0.198065758f, 0.376981646f, 1.0f,
486-
0.197157621f, 0.480333209f, 0.393290222f, 1.0f,
487-
0.570664287f, 0.197219044f, 0.042163782f, 1.0f,
488-
0.045591675f, 0.069720201f, 0.292005479f, 1.0f,
489-
0.425108939f, 0.083108872f, 0.102091998f, 1.0f,
490-
0.059560396f, 0.022268835f, 0.091132581f, 1.0f,
491-
0.360384226f, 0.478674322f, 0.086890966f, 1.0f,
492-
0.691989481f, 0.372686356f, 0.070826821f, 1.0f,
493-
0.012042155f, 0.021904279f, 0.198501319f, 1.0f,
494-
0.076645926f, 0.256147027f, 0.060666814f, 1.0f,
495-
0.300039411f, 0.023424838f, 0.030365985f, 1.0f,
496-
0.803476214f, 0.596933603f, 0.085341305f, 1.0f,
497-
0.388712883f, 0.079724148f, 0.245922253f, 1.0f,
498-
0.011061139f, 0.196086824f, 0.307065904f, 1.0f,
499-
0.921007156f, 0.921683431f, 0.912948132f, 1.0f,
500-
0.590166390f, 0.588430583f, 0.587841213f, 1.0f,
501-
0.337742388f, 0.337684810f, 0.338159621f, 1.0f,
502-
0.169266224f, 0.169178173f, 0.169558540f, 1.0f,
503-
0.058399219f, 0.059382606f, 0.060239695f, 1.0f,
504-
0.012618840f, 0.012950940f, 0.013591323f, 1.0f,
481+
0.115475342f, 0.050812997f, 0.030212998f, 1.0f,
482+
0.484880149f, 0.301042914f, 0.226769030f, 1.0f,
483+
0.098463453f, 0.160814837f, 0.277010798f, 1.0f,
484+
0.071130276f, 0.107334509f, 0.035097614f, 1.0f,
485+
0.207111374f, 0.198474824f, 0.375326097f, 1.0f,
486+
0.195447117f, 0.481112540f, 0.393299103f, 1.0f,
487+
0.571913302f, 0.196873263f, 0.041634843f, 1.0f,
488+
0.045791976f, 0.069875412f, 0.291233569f, 1.0f,
489+
0.424848884f, 0.083199054f, 0.102153927f, 1.0f,
490+
0.059589352f, 0.022219239f, 0.091246955f, 1.0f,
491+
0.360364884f, 0.478741497f, 0.086726815f, 1.0f,
492+
0.695661962f, 0.371994466f, 0.068298057f, 1.0f,
493+
0.011806240f, 0.021665439f, 0.199594870f, 1.0f,
494+
0.076526135f, 0.256237596f, 0.060564563f, 1.0f,
495+
0.300064713f, 0.023416281f, 0.030360531f, 1.0f,
496+
0.805483222f, 0.596904039f, 0.082996234f, 1.0f,
497+
0.388385385f, 0.079899333f, 0.245818958f, 1.0f,
498+
0.010951802f, 0.196106046f, 0.307181537f, 1.0f,
499+
0.921020269f, 0.921707630f, 0.912857533f, 1.0f,
500+
0.590191603f, 0.588424563f, 0.587825298f, 1.0f,
501+
0.337743223f, 0.337686002f, 0.338155240f, 1.0f,
502+
0.169266403f, 0.169178575f, 0.169557154f, 1.0f,
503+
0.058346011f, 0.059387885f, 0.060296256f, 1.0f,
504+
0.012581199f, 0.012947144f, 0.013654212f, 1.0f,
505505
// Spectrally non-selective 18 % reflecting diffuser
506506
0.145115077f, 0.145115703f, 0.145115480f, 1.0f,
507507
// Perfect reflecting diffuser
@@ -524,7 +524,7 @@ OCIO_ADD_TEST(FixedFunctionOpCPU, aces_output_transform_20)
524524
__LINE__);
525525

526526
#if DUMP_RESULT
527-
std::cout << "Results: \n" << std::setprecision(9) << std::fixed;
527+
std::cout << "aces_output_transform_20 results: \n" << std::setprecision(9) << std::fixed;
528528
for (unsigned i = 0; i < num_samples; ++i)
529529
{
530530
std::cout << input2_32f[i * 4 + 0] << "f, "
@@ -794,35 +794,35 @@ OCIO_ADD_TEST(FixedFunctionOpCPU, aces_tonescale_compress_20)
794794

795795
const float expected_32f[num_samples*4] = {
796796
// ACEScg primaries and secondaries scaled by 4
797-
110.702453613f, 211.242279053f, 25.025110245f, 1.0f,
798-
168.016815186f, 129.795593262f, 106.183448792f, 1.0f,
799-
140.814849854f, 193.450653076f, 147.056488037f, 1.0f,
800-
156.429504395f, 110.935348511f, 192.204727173f, 1.0f,
801-
80.456558228f, 98.743263245f, 268.442108154f, 1.0f,
802-
135.172225952f, 175.572814941f, 341.715240479f, 1.0f,
797+
110.702453613f, 211.251770020f, 25.025110245f, 1.0f,
798+
168.016815186f, 129.796249390f, 106.183448792f, 1.0f,
799+
140.814849854f, 193.459197998f, 147.056488037f, 1.0f,
800+
156.429504395f, 110.938423157f, 192.204727173f, 1.0f,
801+
80.456558228f, 98.490531921f, 268.442108154f, 1.0f,
802+
135.172225952f, 175.559326172f, 341.715240479f, 1.0f,
803803
// OCIO test values
804-
18.187316895f, 33.767055511f, 4.173158169f, 0.5f,
805-
80.413101196f, 21.547714233f, 332.159759521f, 1.0f,
806-
83.447883606f, 37.597621918f, 182.925750732f, 0.0f,
804+
18.187316895f, 33.819190979f, 4.173158169f, 0.5f,
805+
80.413101196f, 21.309329987f, 332.159759521f, 1.0f,
806+
83.447883606f, 37.852523804f, 182.925750732f, 0.0f,
807807
// ColorChecker24 (SMPTE 2065-1 2021)
808-
27.411968231f, 13.410449982f, 38.146659851f, 1.0f,
809-
59.987659454f, 14.175936699f, 39.841842651f, 1.0f,
810-
43.298923492f, 12.367712021f, 249.107116699f, 1.0f,
811-
31.489654541f, 14.086299896f, 128.878036499f, 1.0f,
812-
50.749198914f, 12.862657547f, 285.658966064f, 1.0f,
813-
64.728637695f, 18.433788300f, 179.324264526f, 1.0f,
814-
53.399444580f, 37.239288330f, 50.924011230f, 1.0f,
815-
34.719596863f, 21.685737610f, 271.008331299f, 1.0f,
816-
43.910709381f, 36.826980591f, 13.975610733f, 1.0f,
817-
23.196529388f, 15.087531090f, 317.544281006f, 1.0f,
818-
63.348682404f, 33.255519867f, 119.145133972f, 1.0f,
819-
64.908874512f, 34.922687531f, 70.842193604f, 1.0f,
820-
24.876913071f, 23.019479752f, 273.228973389f, 1.0f,
821-
44.203376770f, 28.884298325f, 144.154159546f, 1.0f,
822-
32.824359894f, 43.442367554f, 17.892261505f, 1.0f,
823-
75.830871582f, 39.538505554f, 90.752044678f, 1.0f,
824-
45.823120117f, 34.710170746f, 348.832092285f, 1.0f,
825-
43.597236633f, 23.048465729f, 218.454376221f, 1.0f,
808+
27.411968231f, 13.382784843f, 38.146659851f, 1.0f,
809+
59.987659454f, 14.391894341f, 39.841842651f, 1.0f,
810+
43.298923492f, 12.199877739f, 249.107116699f, 1.0f,
811+
31.489654541f, 14.075141907f, 128.878036499f, 1.0f,
812+
50.749198914f, 12.731806755f, 285.658966064f, 1.0f,
813+
64.728637695f, 18.593791962f, 179.324264526f, 1.0f,
814+
53.399444580f, 37.394416809f, 50.924011230f, 1.0f,
815+
34.719596863f, 21.616765976f, 271.008331299f, 1.0f,
816+
43.910709381f, 36.788166046f, 13.975610733f, 1.0f,
817+
23.196529388f, 15.118354797f, 317.544281006f, 1.0f,
818+
63.348682404f, 33.283519745f, 119.145133972f, 1.0f,
819+
64.908874512f, 35.371063232f, 70.842193604f, 1.0f,
820+
24.876913071f, 23.143159866f, 273.228973389f, 1.0f,
821+
44.203376770f, 28.918329239f, 144.154159546f, 1.0f,
822+
32.824359894f, 43.447853088f, 17.892261505f, 1.0f,
823+
75.830871582f, 39.872489929f, 90.752044678f, 1.0f,
824+
45.823120117f, 34.652057648f, 348.832092285f, 1.0f,
825+
43.597236633f, 23.079071045f, 218.454376221f, 1.0f,
826826
};
827827

828828
OCIO::FixedFunctionOpData::Params params = {1000.f};
@@ -836,7 +836,7 @@ OCIO_ADD_TEST(FixedFunctionOpCPU, aces_tonescale_compress_20)
836836
__LINE__);
837837

838838
#if DUMP_RESULTS
839-
std::cout << "Results: \n" << std::setprecision(9) << std::fixed;
839+
std::cout << "aces_tonescale_compress_20 results: \n" << std::setprecision(9) << std::fixed;
840840
for (unsigned i = 0; i < num_samples; ++i)
841841
{
842842
std::cout << input2_32f[i * 4 + 0] << "f, "

0 commit comments

Comments
 (0)