Index: third_party/qcms/src/transform_util.c |
diff --git a/third_party/qcms/src/transform_util.c b/third_party/qcms/src/transform_util.c |
index 3d84716ed553a5db9205bf560d03dfa4f0f64b1c..fc19b650f4013400ce1239dd5e974c005afca80e 100644 |
--- a/third_party/qcms/src/transform_util.c |
+++ b/third_party/qcms/src/transform_util.c |
@@ -600,8 +600,6 @@ |
float gamma_table[256]; |
uint16_t i; |
uint16_t *output = malloc(sizeof(uint16_t)*256); |
- uint16_t *inverted; |
- int inverted_size = 256; |
if (!output) { |
*output_gamma_lut = NULL; |
@@ -609,24 +607,11 @@ |
} |
compute_curve_gamma_table_type_parametric(gamma_table, trc->parameter, trc->count); |
- |
+ *output_gamma_lut_length = 256; |
for(i = 0; i < 256; i++) { |
output[i] = (uint16_t)(gamma_table[i] * 65535); |
} |
- |
- //XXX: the choice of a minimum of 256 here is not backed by any theory, |
- // measurement or data, however it is what lcms uses. |
- // the maximum number we would need is 65535 because that's the |
- // accuracy used for computing the pre cache table |
- if (inverted_size < 256) |
- inverted_size = 256; |
- |
- inverted = invert_lut(output, 256, inverted_size); |
- if (!inverted) |
- return; |
- *output_gamma_lut = inverted; |
- *output_gamma_lut_length = inverted_size; |
- free(output); |
+ *output_gamma_lut = output; |
} else { |
if (trc->count == 0) { |
*output_gamma_lut = build_linear_table(4096); |