@@ -730,8 +730,9 @@ void build_hue_table(Table1D &hue_table, const std::array<float, max_sorted_corn
730730 // BUG: could break if we are unlucky with samples all being used up by this point
731731 build_hue_sample_interval (hue_table.nominal_size - total_samples, sorted_hues[i - 1 ], hue_limit, hue_table, total_samples + 1 );
732732
733- hue_table[hue_table.lower_wrap_index ] = hue_table[hue_table.last_nominal_index ] - hue_limit;
734- hue_table[hue_table.upper_wrap_index ] = hue_table[hue_table.first_nominal_index ] + hue_limit;
733+ hue_table[hue_table.lower_wrap_index ] = hue_table[hue_table.last_nominal_index ] - hue_limit;
734+ hue_table[hue_table.upper_wrap_index ] = hue_table[hue_table.first_nominal_index ] + hue_limit;
735+ hue_table[hue_table.upper_wrap_index + 1 ] = hue_table[hue_table.first_nominal_index + 1 ] + hue_limit;
735736}
736737
737738std::array<float , 2 > find_display_cusp_for_hue (float hue, const std::array<f3, totalCornerCount>& RGB_corners, const std::array<f3, totalCornerCount>& JMh_corners,
@@ -820,12 +821,15 @@ Table3D build_cusp_table(const Table1D& hue_table, const std::array<f3, totalCor
820821 }
821822
822823 // Copy extra entries to ease the code to handle hues wrapping around
823- output_table[output_table.lower_wrap_index ][0 ] = output_table[output_table.last_nominal_index ][0 ];
824- output_table[output_table.lower_wrap_index ][1 ] = output_table[output_table.last_nominal_index ][1 ];
825- output_table[output_table.lower_wrap_index ][2 ] = hue_table[hue_table.lower_wrap_index ];
826- output_table[output_table.upper_wrap_index ][0 ] = output_table[output_table.first_nominal_index ][0 ];
827- output_table[output_table.upper_wrap_index ][1 ] = output_table[output_table.first_nominal_index ][1 ];
828- output_table[output_table.upper_wrap_index ][2 ] = hue_table[hue_table.upper_wrap_index ];
824+ output_table[output_table.lower_wrap_index ][0 ] = output_table[output_table.last_nominal_index ][0 ];
825+ output_table[output_table.lower_wrap_index ][1 ] = output_table[output_table.last_nominal_index ][1 ];
826+ output_table[output_table.lower_wrap_index ][2 ] = hue_table[hue_table.lower_wrap_index ];
827+ output_table[output_table.upper_wrap_index ][0 ] = output_table[output_table.first_nominal_index ][0 ];
828+ output_table[output_table.upper_wrap_index ][1 ] = output_table[output_table.first_nominal_index ][1 ];
829+ output_table[output_table.upper_wrap_index ][2 ] = hue_table[hue_table.upper_wrap_index ];
830+ output_table[output_table.upper_wrap_index + 1 ][0 ] = output_table[output_table.first_nominal_index + 1 ][0 ];
831+ output_table[output_table.upper_wrap_index + 1 ][1 ] = output_table[output_table.first_nominal_index + 1 ][1 ];
832+ output_table[output_table.upper_wrap_index + 1 ][2 ] = hue_table[hue_table.upper_wrap_index + 1 ];
829833 return output_table;
830834}
831835
@@ -898,8 +902,9 @@ Table1D make_reach_m_table(const JMhParams ¶ms, const float limit_J_max)
898902
899903 gamutReachTable[i + gamutReachTable.base_index ] = high;
900904 }
901- gamutReachTable[gamutReachTable.lower_wrap_index ] = gamutReachTable[gamutReachTable.last_nominal_index ];
902- gamutReachTable[gamutReachTable.upper_wrap_index ] = gamutReachTable[gamutReachTable.first_nominal_index ];
905+ gamutReachTable[gamutReachTable.lower_wrap_index ] = gamutReachTable[gamutReachTable.last_nominal_index ];
906+ gamutReachTable[gamutReachTable.upper_wrap_index ] = gamutReachTable[gamutReachTable.first_nominal_index ];
907+ gamutReachTable[gamutReachTable.upper_wrap_index + 1 ] = gamutReachTable[gamutReachTable.first_nominal_index + 1 ];
903908
904909 return gamutReachTable;
905910}
@@ -1252,8 +1257,9 @@ void make_upper_hull_gamma(
12521257 }
12531258
12541259 // Copy last populated entries to empty spot 'wrapping' entries
1255- gamutCuspTable[gamutCuspTable.lower_wrap_index ][2 ] = gamutCuspTable[gamutCuspTable.last_nominal_index ][2 ];
1256- gamutCuspTable[gamutCuspTable.upper_wrap_index ][2 ] = gamutCuspTable[gamutCuspTable.first_nominal_index ][2 ];
1260+ gamutCuspTable[gamutCuspTable.lower_wrap_index ][2 ] = gamutCuspTable[gamutCuspTable.last_nominal_index ][2 ];
1261+ gamutCuspTable[gamutCuspTable.upper_wrap_index ][2 ] = gamutCuspTable[gamutCuspTable.first_nominal_index ][2 ];
1262+ gamutCuspTable[gamutCuspTable.upper_wrap_index + 1 ][2 ] = gamutCuspTable[gamutCuspTable.first_nominal_index + 1 ][2 ];
12571263}
12581264
12591265// Tonescale pre-calculations
0 commit comments