Coverage Report

Created: 2025-11-14 07:32

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libjxl/lib/jxl/cms/jxl_cms_internal.h
Line
Count
Source
1
// Copyright (c) the JPEG XL Project Authors. All rights reserved.
2
//
3
// Use of this source code is governed by a BSD-style
4
// license that can be found in the LICENSE file.
5
6
#ifndef LIB_JXL_CMS_JXL_CMS_INTERNAL_H_
7
#define LIB_JXL_CMS_JXL_CMS_INTERNAL_H_
8
9
// ICC profiles and color space conversions.
10
11
#include <jxl/color_encoding.h>
12
13
#include <algorithm>
14
#include <cmath>
15
#include <cstddef>
16
#include <cstdint>
17
#include <cstring>
18
#include <string>
19
#include <vector>
20
21
#include "lib/jxl/base/common.h"
22
#include "lib/jxl/base/compiler_specific.h"
23
#include "lib/jxl/base/matrix_ops.h"
24
#include "lib/jxl/base/span.h"  // Bytes
25
#include "lib/jxl/base/status.h"
26
#include "lib/jxl/cms/opsin_params.h"
27
#include "lib/jxl/cms/tone_mapping.h"
28
#include "lib/jxl/cms/transfer_functions.h"
29
30
#ifndef JXL_ENABLE_3D_ICC_TONEMAPPING
31
#define JXL_ENABLE_3D_ICC_TONEMAPPING 1
32
#endif
33
34
namespace jxl {
35
36
enum class ExtraTF {
37
  kNone,
38
  kPQ,
39
  kHLG,
40
  kSRGB,
41
};
42
43
static Status PrimariesToXYZ(float rx, float ry, float gx, float gy, float bx,
44
17.4M
                             float by, float wx, float wy, Matrix3x3& matrix) {
45
17.4M
  bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1);
46
17.4M
  if (!ok) {
47
0
    return JXL_FAILURE("Invalid white point");
48
0
  }
49
  // TODO(lode): also require rx, ry, gx, gy, bx, to be in range 0-1? ICC
50
  // profiles in theory forbid negative XYZ values, but in practice the ACES P0
51
  // color space uses a negative y for the blue primary.
52
17.4M
  Matrix3x3 primaries{{{rx, gx, bx},
53
17.4M
                       {ry, gy, by},
54
17.4M
                       {1.0f - rx - ry, 1.0f - gx - gy, 1.0f - bx - by}}};
55
17.4M
  Matrix3x3 primaries_inv;
56
17.4M
  primaries_inv = primaries;
57
17.4M
  JXL_RETURN_IF_ERROR(Inv3x3Matrix(primaries_inv));
58
59
17.4M
  Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy};
60
  // 1 / tiny float can still overflow
61
17.4M
  JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2]));
62
17.4M
  Vector3 xyz;
63
17.4M
  Mul3x3Vector(primaries_inv, w, xyz);
64
65
17.4M
  Matrix3x3 a{{{xyz[0], 0, 0}, {0, xyz[1], 0}, {0, 0, xyz[2]}}};
66
67
17.4M
  Mul3x3Matrix(primaries, a, matrix);
68
17.4M
  return true;
69
17.4M
}
encode.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Line
Count
Source
44
2.99k
                             float by, float wx, float wy, Matrix3x3& matrix) {
45
2.99k
  bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1);
46
2.99k
  if (!ok) {
47
0
    return JXL_FAILURE("Invalid white point");
48
0
  }
49
  // TODO(lode): also require rx, ry, gx, gy, bx, to be in range 0-1? ICC
50
  // profiles in theory forbid negative XYZ values, but in practice the ACES P0
51
  // color space uses a negative y for the blue primary.
52
2.99k
  Matrix3x3 primaries{{{rx, gx, bx},
53
2.99k
                       {ry, gy, by},
54
2.99k
                       {1.0f - rx - ry, 1.0f - gx - gy, 1.0f - bx - by}}};
55
2.99k
  Matrix3x3 primaries_inv;
56
2.99k
  primaries_inv = primaries;
57
2.99k
  JXL_RETURN_IF_ERROR(Inv3x3Matrix(primaries_inv));
58
59
2.99k
  Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy};
60
  // 1 / tiny float can still overflow
61
2.99k
  JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2]));
62
2.99k
  Vector3 xyz;
63
2.99k
  Mul3x3Vector(primaries_inv, w, xyz);
64
65
2.99k
  Matrix3x3 a{{{xyz[0], 0, 0}, {0, xyz[1], 0}, {0, 0, xyz[2]}}};
66
67
2.99k
  Mul3x3Matrix(primaries, a, matrix);
68
2.99k
  return true;
69
2.99k
}
Unexecuted instantiation: enc_fields.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_ans.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_lz77.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_frame.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_modular.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_debug_image.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_detect_dots.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_quant_weights.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_xyb.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_image_bundle.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_external_image.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_heuristics.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_cache.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_group.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_progressive_split.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: jxl_cms.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_encoding.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
color_encoding_internal.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Line
Count
Source
44
17.4M
                             float by, float wx, float wy, Matrix3x3& matrix) {
45
17.4M
  bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1);
46
17.4M
  if (!ok) {
47
0
    return JXL_FAILURE("Invalid white point");
48
0
  }
49
  // TODO(lode): also require rx, ry, gx, gy, bx, to be in range 0-1? ICC
50
  // profiles in theory forbid negative XYZ values, but in practice the ACES P0
51
  // color space uses a negative y for the blue primary.
52
17.4M
  Matrix3x3 primaries{{{rx, gx, bx},
53
17.4M
                       {ry, gy, by},
54
17.4M
                       {1.0f - rx - ry, 1.0f - gx - gy, 1.0f - bx - by}}};
55
17.4M
  Matrix3x3 primaries_inv;
56
17.4M
  primaries_inv = primaries;
57
17.4M
  JXL_RETURN_IF_ERROR(Inv3x3Matrix(primaries_inv));
58
59
17.4M
  Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy};
60
  // 1 / tiny float can still overflow
61
17.4M
  JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2]));
62
17.4M
  Vector3 xyz;
63
17.4M
  Mul3x3Vector(primaries_inv, w, xyz);
64
65
17.4M
  Matrix3x3 a{{{xyz[0], 0, 0}, {0, xyz[1], 0}, {0, 0, xyz[2]}}};
66
67
17.4M
  Mul3x3Matrix(primaries, a, matrix);
68
17.4M
  return true;
69
17.4M
}
Unexecuted instantiation: compressed_dc.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_cache.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: blending.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_external_image.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_frame.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_group.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_modular.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_noise.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
dec_xyb.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Line
Count
Source
44
384
                             float by, float wx, float wy, Matrix3x3& matrix) {
45
384
  bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1);
46
384
  if (!ok) {
47
0
    return JXL_FAILURE("Invalid white point");
48
0
  }
49
  // TODO(lode): also require rx, ry, gx, gy, bx, to be in range 0-1? ICC
50
  // profiles in theory forbid negative XYZ values, but in practice the ACES P0
51
  // color space uses a negative y for the blue primary.
52
384
  Matrix3x3 primaries{{{rx, gx, bx},
53
384
                       {ry, gy, by},
54
384
                       {1.0f - rx - ry, 1.0f - gx - gy, 1.0f - bx - by}}};
55
384
  Matrix3x3 primaries_inv;
56
384
  primaries_inv = primaries;
57
384
  JXL_RETURN_IF_ERROR(Inv3x3Matrix(primaries_inv));
58
59
384
  Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy};
60
  // 1 / tiny float can still overflow
61
384
  JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2]));
62
384
  Vector3 xyz;
63
384
  Mul3x3Vector(primaries_inv, w, xyz);
64
65
384
  Matrix3x3 a{{{xyz[0], 0, 0}, {0, xyz[1], 0}, {0, 0, xyz[2]}}};
66
67
384
  Mul3x3Matrix(primaries, a, matrix);
68
384
  return true;
69
384
}
Unexecuted instantiation: decode.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: epf.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: frame_header.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: image_bundle.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: image_metadata.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: luminance.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: passes_state.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: quant_weights.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: render_pipeline.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_blending.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_cms.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_epf.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_from_linear.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_gaborish.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_noise.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_patches.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_splines.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_spot.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_to_linear.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_upsampling.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_write.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_xyb.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_ycbcr.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
70
71
/* Chromatic adaptation matrices*/
72
constexpr Matrix3x3 kBradford{{{0.8951f, 0.2664f, -0.1614f},
73
                               {-0.7502f, 1.7135f, 0.0367f},
74
                               {0.0389f, -0.0685f, 1.0296f}}};
75
constexpr Matrix3x3 kBradfordInv{{{0.9869929f, -0.1470543f, 0.1599627f},
76
                                  {0.4323053f, 0.5183603f, 0.0492912f},
77
                                  {-0.0085287f, 0.0400428f, 0.9684867f}}};
78
79
// Adapts white point x, y to D50
80
17.9M
static Status AdaptToXYZD50(float wx, float wy, Matrix3x3& matrix) {
81
17.9M
  bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1);
82
17.9M
  if (!ok) {
83
    // Out of range values can cause division through zero
84
    // further down with the bradford adaptation too.
85
22
    return JXL_FAILURE("Invalid white point");
86
22
  }
87
17.9M
  Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy};
88
  // 1 / tiny float can still overflow
89
17.9M
  JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2]));
90
17.9M
  Vector3 w50{0.96422f, 1.0f, 0.82521f};
91
92
17.9M
  Vector3 lms;
93
17.9M
  Vector3 lms50;
94
95
17.9M
  Mul3x3Vector(kBradford, w, lms);
96
17.9M
  Mul3x3Vector(kBradford, w50, lms50);
97
98
17.9M
  if (lms[0] == 0 || lms[1] == 0 || lms[2] == 0) {
99
0
    return JXL_FAILURE("Invalid white point");
100
0
  }
101
17.9M
  Matrix3x3 a{{{lms50[0] / lms[0], 0, 0},
102
17.9M
               {0, lms50[1] / lms[1], 0},
103
17.9M
               {0, 0, lms50[2] / lms[2]}}};
104
17.9M
  if (!std::isfinite(a[0][0]) || !std::isfinite(a[1][1]) ||
105
17.9M
      !std::isfinite(a[2][2])) {
106
0
    return JXL_FAILURE("Invalid white point");
107
0
  }
108
109
17.9M
  Matrix3x3 b;
110
17.9M
  Mul3x3Matrix(a, kBradford, b);
111
17.9M
  Mul3x3Matrix(kBradfordInv, b, matrix);
112
113
17.9M
  return true;
114
17.9M
}
encode.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Line
Count
Source
80
5.98k
static Status AdaptToXYZD50(float wx, float wy, Matrix3x3& matrix) {
81
5.98k
  bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1);
82
5.98k
  if (!ok) {
83
    // Out of range values can cause division through zero
84
    // further down with the bradford adaptation too.
85
0
    return JXL_FAILURE("Invalid white point");
86
0
  }
87
5.98k
  Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy};
88
  // 1 / tiny float can still overflow
89
5.98k
  JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2]));
90
5.98k
  Vector3 w50{0.96422f, 1.0f, 0.82521f};
91
92
5.98k
  Vector3 lms;
93
5.98k
  Vector3 lms50;
94
95
5.98k
  Mul3x3Vector(kBradford, w, lms);
96
5.98k
  Mul3x3Vector(kBradford, w50, lms50);
97
98
5.98k
  if (lms[0] == 0 || lms[1] == 0 || lms[2] == 0) {
99
0
    return JXL_FAILURE("Invalid white point");
100
0
  }
101
5.98k
  Matrix3x3 a{{{lms50[0] / lms[0], 0, 0},
102
5.98k
               {0, lms50[1] / lms[1], 0},
103
5.98k
               {0, 0, lms50[2] / lms[2]}}};
104
5.98k
  if (!std::isfinite(a[0][0]) || !std::isfinite(a[1][1]) ||
105
5.98k
      !std::isfinite(a[2][2])) {
106
0
    return JXL_FAILURE("Invalid white point");
107
0
  }
108
109
5.98k
  Matrix3x3 b;
110
5.98k
  Mul3x3Matrix(a, kBradford, b);
111
5.98k
  Mul3x3Matrix(kBradfordInv, b, matrix);
112
113
5.98k
  return true;
114
5.98k
}
Unexecuted instantiation: enc_fields.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_ans.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_lz77.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_frame.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_modular.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_debug_image.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_detect_dots.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_quant_weights.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_xyb.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_image_bundle.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_external_image.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_heuristics.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_cache.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_group.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_progressive_split.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: jxl_cms.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_encoding.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
color_encoding_internal.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Line
Count
Source
80
17.9M
static Status AdaptToXYZD50(float wx, float wy, Matrix3x3& matrix) {
81
17.9M
  bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1);
82
17.9M
  if (!ok) {
83
    // Out of range values can cause division through zero
84
    // further down with the bradford adaptation too.
85
22
    return JXL_FAILURE("Invalid white point");
86
22
  }
87
17.9M
  Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy};
88
  // 1 / tiny float can still overflow
89
17.9M
  JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2]));
90
17.9M
  Vector3 w50{0.96422f, 1.0f, 0.82521f};
91
92
17.9M
  Vector3 lms;
93
17.9M
  Vector3 lms50;
94
95
17.9M
  Mul3x3Vector(kBradford, w, lms);
96
17.9M
  Mul3x3Vector(kBradford, w50, lms50);
97
98
17.9M
  if (lms[0] == 0 || lms[1] == 0 || lms[2] == 0) {
99
0
    return JXL_FAILURE("Invalid white point");
100
0
  }
101
17.9M
  Matrix3x3 a{{{lms50[0] / lms[0], 0, 0},
102
17.9M
               {0, lms50[1] / lms[1], 0},
103
17.9M
               {0, 0, lms50[2] / lms[2]}}};
104
17.9M
  if (!std::isfinite(a[0][0]) || !std::isfinite(a[1][1]) ||
105
17.9M
      !std::isfinite(a[2][2])) {
106
0
    return JXL_FAILURE("Invalid white point");
107
0
  }
108
109
17.9M
  Matrix3x3 b;
110
17.9M
  Mul3x3Matrix(a, kBradford, b);
111
17.9M
  Mul3x3Matrix(kBradfordInv, b, matrix);
112
113
17.9M
  return true;
114
17.9M
}
Unexecuted instantiation: compressed_dc.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_cache.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: blending.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_external_image.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_frame.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_group.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_modular.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_noise.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
dec_xyb.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Line
Count
Source
80
316
static Status AdaptToXYZD50(float wx, float wy, Matrix3x3& matrix) {
81
316
  bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1);
82
316
  if (!ok) {
83
    // Out of range values can cause division through zero
84
    // further down with the bradford adaptation too.
85
0
    return JXL_FAILURE("Invalid white point");
86
0
  }
87
316
  Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy};
88
  // 1 / tiny float can still overflow
89
316
  JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2]));
90
316
  Vector3 w50{0.96422f, 1.0f, 0.82521f};
91
92
316
  Vector3 lms;
93
316
  Vector3 lms50;
94
95
316
  Mul3x3Vector(kBradford, w, lms);
96
316
  Mul3x3Vector(kBradford, w50, lms50);
97
98
316
  if (lms[0] == 0 || lms[1] == 0 || lms[2] == 0) {
99
0
    return JXL_FAILURE("Invalid white point");
100
0
  }
101
316
  Matrix3x3 a{{{lms50[0] / lms[0], 0, 0},
102
316
               {0, lms50[1] / lms[1], 0},
103
316
               {0, 0, lms50[2] / lms[2]}}};
104
316
  if (!std::isfinite(a[0][0]) || !std::isfinite(a[1][1]) ||
105
316
      !std::isfinite(a[2][2])) {
106
0
    return JXL_FAILURE("Invalid white point");
107
0
  }
108
109
316
  Matrix3x3 b;
110
316
  Mul3x3Matrix(a, kBradford, b);
111
316
  Mul3x3Matrix(kBradfordInv, b, matrix);
112
113
316
  return true;
114
316
}
Unexecuted instantiation: decode.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: epf.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: frame_header.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: image_bundle.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: image_metadata.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: luminance.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: passes_state.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: quant_weights.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: render_pipeline.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_blending.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_cms.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_epf.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_from_linear.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_gaborish.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_noise.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_patches.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_splines.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_spot.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_to_linear.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_upsampling.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_write.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_xyb.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_ycbcr.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
115
116
static Status PrimariesToXYZD50(float rx, float ry, float gx, float gy,
117
                                float bx, float by, float wx, float wy,
118
453k
                                Matrix3x3& matrix) {
119
453k
  Matrix3x3 toXYZ;
120
453k
  JXL_RETURN_IF_ERROR(PrimariesToXYZ(rx, ry, gx, gy, bx, by, wx, wy, toXYZ));
121
453k
  Matrix3x3 d50;
122
453k
  JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, d50));
123
124
453k
  Mul3x3Matrix(d50, toXYZ, matrix);
125
453k
  return true;
126
453k
}
encode.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Line
Count
Source
118
2.99k
                                Matrix3x3& matrix) {
119
2.99k
  Matrix3x3 toXYZ;
120
2.99k
  JXL_RETURN_IF_ERROR(PrimariesToXYZ(rx, ry, gx, gy, bx, by, wx, wy, toXYZ));
121
2.99k
  Matrix3x3 d50;
122
2.99k
  JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, d50));
123
124
2.99k
  Mul3x3Matrix(d50, toXYZ, matrix);
125
2.99k
  return true;
126
2.99k
}
Unexecuted instantiation: enc_fields.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_ans.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_lz77.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_frame.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_modular.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_debug_image.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_detect_dots.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_quant_weights.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_xyb.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_image_bundle.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_external_image.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_heuristics.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_cache.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_group.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_progressive_split.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: jxl_cms.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_encoding.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
color_encoding_internal.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Line
Count
Source
118
450k
                                Matrix3x3& matrix) {
119
450k
  Matrix3x3 toXYZ;
120
450k
  JXL_RETURN_IF_ERROR(PrimariesToXYZ(rx, ry, gx, gy, bx, by, wx, wy, toXYZ));
121
450k
  Matrix3x3 d50;
122
450k
  JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, d50));
123
124
450k
  Mul3x3Matrix(d50, toXYZ, matrix);
125
450k
  return true;
126
450k
}
Unexecuted instantiation: compressed_dc.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_cache.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: blending.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_external_image.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_frame.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_group.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_modular.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_noise.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
dec_xyb.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Line
Count
Source
118
192
                                Matrix3x3& matrix) {
119
192
  Matrix3x3 toXYZ;
120
192
  JXL_RETURN_IF_ERROR(PrimariesToXYZ(rx, ry, gx, gy, bx, by, wx, wy, toXYZ));
121
192
  Matrix3x3 d50;
122
192
  JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, d50));
123
124
192
  Mul3x3Matrix(d50, toXYZ, matrix);
125
192
  return true;
126
192
}
Unexecuted instantiation: decode.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: epf.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: frame_header.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: image_bundle.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: image_metadata.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: luminance.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: passes_state.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: quant_weights.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: render_pipeline.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_blending.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_cms.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_epf.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_from_linear.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_gaborish.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_noise.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_patches.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_splines.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_spot.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_to_linear.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_upsampling.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_write.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_xyb.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_ycbcr.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
127
128
static Status ToneMapPixel(const JxlColorEncoding& c, const float in[3],
129
17.0M
                           uint8_t pcslab_out[3]) {
130
17.0M
  Matrix3x3 primaries_XYZ;
131
17.0M
  JXL_RETURN_IF_ERROR(PrimariesToXYZ(
132
17.0M
      c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0],
133
17.0M
      c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1],
134
17.0M
      c.white_point_xy[0], c.white_point_xy[1], primaries_XYZ));
135
17.0M
  const Vector3 luminances = primaries_XYZ[1];
136
17.0M
  Color linear;
137
17.0M
  JxlTransferFunction tf = c.transfer_function;
138
17.0M
  if (tf == JXL_TRANSFER_FUNCTION_PQ) {
139
51.5M
    for (size_t i = 0; i < 3; ++i) {
140
38.6M
      linear[i] = TF_PQ_Base::DisplayFromEncoded(
141
38.6M
          /*display_intensity_target=*/10000.0, in[i]);
142
38.6M
    }
143
12.8M
  } else {
144
16.5M
    for (size_t i = 0; i < 3; ++i) {
145
12.4M
      linear[i] = TF_HLG_Base::DisplayFromEncoded(in[i]);
146
12.4M
    }
147
4.13M
  }
148
17.0M
  if (tf == JXL_TRANSFER_FUNCTION_PQ) {
149
12.8M
    Rec2408ToneMapperBase tone_mapper({0.0f, 10000.0f}, {0.0f, 250.0f},
150
12.8M
                                      luminances);
151
12.8M
    tone_mapper.ToneMap(linear);
152
12.8M
  } else {
153
4.13M
    HlgOOTF_Base ootf(/*source_luminance=*/300, /*target_luminance=*/80,
154
4.13M
                      luminances);
155
4.13M
    ootf.Apply(linear);
156
4.13M
  }
157
17.0M
  GamutMapScalar(linear, luminances,
158
17.0M
                 /*preserve_saturation=*/0.3f);
159
160
17.0M
  Matrix3x3 chad;
161
17.0M
  JXL_RETURN_IF_ERROR(
162
17.0M
      AdaptToXYZD50(c.white_point_xy[0], c.white_point_xy[1], chad));
163
17.0M
  Matrix3x3 to_xyzd50;
164
17.0M
  Mul3x3Matrix(chad, primaries_XYZ, to_xyzd50);
165
166
17.0M
  Vector3 xyz{0, 0, 0};
167
68.0M
  for (size_t xyz_c = 0; xyz_c < 3; ++xyz_c) {
168
204M
    for (size_t rgb_c = 0; rgb_c < 3; ++rgb_c) {
169
153M
      xyz[xyz_c] += linear[rgb_c] * to_xyzd50[xyz_c][rgb_c];
170
153M
    }
171
51.0M
  }
172
173
51.0M
  const auto lab_f = [](const float x) {
174
51.0M
    static constexpr float kDelta = 6. / 29;
175
51.0M
    return x <= kDelta * kDelta * kDelta
176
51.0M
               ? x * (1 / (3 * kDelta * kDelta)) + 4.f / 29
177
51.0M
               : std::cbrt(x);
178
51.0M
  };
Unexecuted instantiation: encode.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)::$_0::operator()(float) const
Unexecuted instantiation: jxl_cms.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)::$_0::operator()(float) const
color_encoding_internal.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)::$_0::operator()(float) const
Line
Count
Source
173
51.0M
  const auto lab_f = [](const float x) {
174
51.0M
    static constexpr float kDelta = 6. / 29;
175
51.0M
    return x <= kDelta * kDelta * kDelta
176
51.0M
               ? x * (1 / (3 * kDelta * kDelta)) + 4.f / 29
177
51.0M
               : std::cbrt(x);
178
51.0M
  };
Unexecuted instantiation: dec_cache.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)::$_0::operator()(float) const
Unexecuted instantiation: decode.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)::$_0::operator()(float) const
179
17.0M
  static constexpr float kXn = 0.964212;
180
17.0M
  static constexpr float kYn = 1;
181
17.0M
  static constexpr float kZn = 0.825188;
182
183
17.0M
  const float f_x = lab_f(xyz[0] / kXn);
184
17.0M
  const float f_y = lab_f(xyz[1] / kYn);
185
17.0M
  const float f_z = lab_f(xyz[2] / kZn);
186
187
17.0M
  pcslab_out[0] = static_cast<uint8_t>(
188
17.0M
      std::lroundf(255.f * Clamp1(1.16f * f_y - .16f, 0.f, 1.f)));
189
17.0M
  pcslab_out[1] = static_cast<uint8_t>(
190
17.0M
      std::lroundf(128.f + Clamp1(500 * (f_x - f_y), -128.f, 127.f)));
191
17.0M
  pcslab_out[2] = static_cast<uint8_t>(
192
17.0M
      std::lroundf(128.f + Clamp1(200 * (f_y - f_z), -128.f, 127.f)));
193
194
17.0M
  return true;
195
17.0M
}
Unexecuted instantiation: encode.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_fields.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_ans.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_lz77.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_frame.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_modular.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_debug_image.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_xyb.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_external_image.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_heuristics.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_cache.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_group.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: jxl_cms.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: enc_encoding.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
color_encoding_internal.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Line
Count
Source
129
17.0M
                           uint8_t pcslab_out[3]) {
130
17.0M
  Matrix3x3 primaries_XYZ;
131
17.0M
  JXL_RETURN_IF_ERROR(PrimariesToXYZ(
132
17.0M
      c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0],
133
17.0M
      c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1],
134
17.0M
      c.white_point_xy[0], c.white_point_xy[1], primaries_XYZ));
135
17.0M
  const Vector3 luminances = primaries_XYZ[1];
136
17.0M
  Color linear;
137
17.0M
  JxlTransferFunction tf = c.transfer_function;
138
17.0M
  if (tf == JXL_TRANSFER_FUNCTION_PQ) {
139
51.5M
    for (size_t i = 0; i < 3; ++i) {
140
38.6M
      linear[i] = TF_PQ_Base::DisplayFromEncoded(
141
38.6M
          /*display_intensity_target=*/10000.0, in[i]);
142
38.6M
    }
143
12.8M
  } else {
144
16.5M
    for (size_t i = 0; i < 3; ++i) {
145
12.4M
      linear[i] = TF_HLG_Base::DisplayFromEncoded(in[i]);
146
12.4M
    }
147
4.13M
  }
148
17.0M
  if (tf == JXL_TRANSFER_FUNCTION_PQ) {
149
12.8M
    Rec2408ToneMapperBase tone_mapper({0.0f, 10000.0f}, {0.0f, 250.0f},
150
12.8M
                                      luminances);
151
12.8M
    tone_mapper.ToneMap(linear);
152
12.8M
  } else {
153
4.13M
    HlgOOTF_Base ootf(/*source_luminance=*/300, /*target_luminance=*/80,
154
4.13M
                      luminances);
155
4.13M
    ootf.Apply(linear);
156
4.13M
  }
157
17.0M
  GamutMapScalar(linear, luminances,
158
17.0M
                 /*preserve_saturation=*/0.3f);
159
160
17.0M
  Matrix3x3 chad;
161
17.0M
  JXL_RETURN_IF_ERROR(
162
17.0M
      AdaptToXYZD50(c.white_point_xy[0], c.white_point_xy[1], chad));
163
17.0M
  Matrix3x3 to_xyzd50;
164
17.0M
  Mul3x3Matrix(chad, primaries_XYZ, to_xyzd50);
165
166
17.0M
  Vector3 xyz{0, 0, 0};
167
68.0M
  for (size_t xyz_c = 0; xyz_c < 3; ++xyz_c) {
168
204M
    for (size_t rgb_c = 0; rgb_c < 3; ++rgb_c) {
169
153M
      xyz[xyz_c] += linear[rgb_c] * to_xyzd50[xyz_c][rgb_c];
170
153M
    }
171
51.0M
  }
172
173
17.0M
  const auto lab_f = [](const float x) {
174
17.0M
    static constexpr float kDelta = 6. / 29;
175
17.0M
    return x <= kDelta * kDelta * kDelta
176
17.0M
               ? x * (1 / (3 * kDelta * kDelta)) + 4.f / 29
177
17.0M
               : std::cbrt(x);
178
17.0M
  };
179
17.0M
  static constexpr float kXn = 0.964212;
180
17.0M
  static constexpr float kYn = 1;
181
17.0M
  static constexpr float kZn = 0.825188;
182
183
17.0M
  const float f_x = lab_f(xyz[0] / kXn);
184
17.0M
  const float f_y = lab_f(xyz[1] / kYn);
185
17.0M
  const float f_z = lab_f(xyz[2] / kZn);
186
187
17.0M
  pcslab_out[0] = static_cast<uint8_t>(
188
17.0M
      std::lroundf(255.f * Clamp1(1.16f * f_y - .16f, 0.f, 1.f)));
189
17.0M
  pcslab_out[1] = static_cast<uint8_t>(
190
17.0M
      std::lroundf(128.f + Clamp1(500 * (f_x - f_y), -128.f, 127.f)));
191
17.0M
  pcslab_out[2] = static_cast<uint8_t>(
192
17.0M
      std::lroundf(128.f + Clamp1(200 * (f_y - f_z), -128.f, 127.f)));
193
194
17.0M
  return true;
195
17.0M
}
Unexecuted instantiation: compressed_dc.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: dec_cache.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: blending.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: dec_external_image.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: dec_frame.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: dec_group.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: dec_modular.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: dec_noise.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: dec_xyb.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: decode.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: epf.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: frame_header.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: image_bundle.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: image_metadata.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: luminance.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: passes_state.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: quant_weights.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: render_pipeline.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: stage_blending.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: stage_cms.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: stage_epf.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: stage_from_linear.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: stage_gaborish.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: stage_noise.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: stage_patches.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: stage_splines.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: stage_spot.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: stage_to_linear.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: stage_upsampling.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: stage_write.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: stage_xyb.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
196
197
template <size_t N, ExtraTF tf>
198
4.65k
static std::vector<uint16_t> CreateTableCurve(bool tone_map) {
199
  // The generated PQ curve will make room for highlights up to this luminance.
200
  // TODO(sboukortt): make this variable?
201
4.65k
  static constexpr float kPQIntensityTarget = 10000;
202
203
4.65k
  static_assert(N <= 4096, "ICC MFT2 only allows 4K entries");
204
4.65k
  static_assert(tf == ExtraTF::kPQ || tf == ExtraTF::kHLG,
205
4.65k
                "Only PQ/HLG is supported");
206
207
4.65k
  static constexpr Vector3 kLuminances{1.f / 3, 1.f / 3, 1.f / 3};
208
4.65k
  Rec2408ToneMapperBase tone_mapper(
209
4.65k
      {0.0f, kPQIntensityTarget}, {0.0f, kDefaultIntensityTarget}, kLuminances);
210
  // No point using float - LCMS converts to 16-bit for A2B/MFT.
211
4.65k
  std::vector<uint16_t> table(N);
212
302k
  for (uint32_t i = 0; i < N; ++i) {
213
297k
    const float x = static_cast<float>(i) / (N - 1);  // 1.0 at index N - 1.
214
297k
    const double dx = static_cast<double>(x);
215
    // LCMS requires EOTF (e.g. 2.4 exponent).
216
297k
    double y = (tf == ExtraTF::kHLG)
217
297k
                   ? TF_HLG_Base::DisplayFromEncoded(dx)
218
297k
                   : TF_PQ_Base::DisplayFromEncoded(kPQIntensityTarget, dx);
219
297k
    if (tone_map && tf == ExtraTF::kPQ &&
220
0
        kPQIntensityTarget > kDefaultIntensityTarget) {
221
0
      float l = y * 10000 / kPQIntensityTarget;
222
0
      Color gray{l, l, l};
223
0
      tone_mapper.ToneMap(gray);
224
0
      y = gray[0];
225
0
    }
226
297k
    JXL_DASSERT(y >= 0.0);
227
    // Clamp to table range - necessary for HLG.
228
297k
    y = Clamp1(y, 0.0, 1.0);
229
    // 1.0 corresponds to table value 0xFFFF.
230
297k
    table[i] = static_cast<uint16_t>(roundf(y * 65535.0));
231
297k
  }
232
4.65k
  return table;
233
4.65k
}
Unexecuted instantiation: encode.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_fields.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_fields.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_ans.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_ans.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_lz77.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_lz77.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_fast_lossless.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_fast_lossless.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_frame.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_frame.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_modular.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_modular.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_patch_dictionary.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_patch_dictionary.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_debug_image.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_debug_image.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_dot_dictionary.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_dot_dictionary.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_detect_dots.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_detect_dots.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_quant_weights.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_quant_weights.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_xyb.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_xyb.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_image_bundle.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_image_bundle.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_external_image.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_external_image.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_heuristics.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_heuristics.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_adaptive_quantization.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_adaptive_quantization.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_butteraugli_comparator.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_butteraugli_comparator.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_cache.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_cache.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_group.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_group.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_progressive_split.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_progressive_split.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_chroma_from_luma.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_chroma_from_luma.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_ac_strategy.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_ac_strategy.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_entropy_coder.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_entropy_coder.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: jxl_cms.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_jpeg_data.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_jpeg_data.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: enc_encoding.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: enc_encoding.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
color_encoding_internal.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Line
Count
Source
198
3.08k
static std::vector<uint16_t> CreateTableCurve(bool tone_map) {
199
  // The generated PQ curve will make room for highlights up to this luminance.
200
  // TODO(sboukortt): make this variable?
201
3.08k
  static constexpr float kPQIntensityTarget = 10000;
202
203
3.08k
  static_assert(N <= 4096, "ICC MFT2 only allows 4K entries");
204
3.08k
  static_assert(tf == ExtraTF::kPQ || tf == ExtraTF::kHLG,
205
3.08k
                "Only PQ/HLG is supported");
206
207
3.08k
  static constexpr Vector3 kLuminances{1.f / 3, 1.f / 3, 1.f / 3};
208
3.08k
  Rec2408ToneMapperBase tone_mapper(
209
3.08k
      {0.0f, kPQIntensityTarget}, {0.0f, kDefaultIntensityTarget}, kLuminances);
210
  // No point using float - LCMS converts to 16-bit for A2B/MFT.
211
3.08k
  std::vector<uint16_t> table(N);
212
200k
  for (uint32_t i = 0; i < N; ++i) {
213
197k
    const float x = static_cast<float>(i) / (N - 1);  // 1.0 at index N - 1.
214
197k
    const double dx = static_cast<double>(x);
215
    // LCMS requires EOTF (e.g. 2.4 exponent).
216
197k
    double y = (tf == ExtraTF::kHLG)
217
197k
                   ? TF_HLG_Base::DisplayFromEncoded(dx)
218
197k
                   : TF_PQ_Base::DisplayFromEncoded(kPQIntensityTarget, dx);
219
197k
    if (tone_map && tf == ExtraTF::kPQ &&
220
0
        kPQIntensityTarget > kDefaultIntensityTarget) {
221
0
      float l = y * 10000 / kPQIntensityTarget;
222
0
      Color gray{l, l, l};
223
0
      tone_mapper.ToneMap(gray);
224
0
      y = gray[0];
225
0
    }
226
197k
    JXL_DASSERT(y >= 0.0);
227
    // Clamp to table range - necessary for HLG.
228
197k
    y = Clamp1(y, 0.0, 1.0);
229
    // 1.0 corresponds to table value 0xFFFF.
230
197k
    table[i] = static_cast<uint16_t>(roundf(y * 65535.0));
231
197k
  }
232
3.08k
  return table;
233
3.08k
}
color_encoding_internal.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Line
Count
Source
198
1.56k
static std::vector<uint16_t> CreateTableCurve(bool tone_map) {
199
  // The generated PQ curve will make room for highlights up to this luminance.
200
  // TODO(sboukortt): make this variable?
201
1.56k
  static constexpr float kPQIntensityTarget = 10000;
202
203
1.56k
  static_assert(N <= 4096, "ICC MFT2 only allows 4K entries");
204
1.56k
  static_assert(tf == ExtraTF::kPQ || tf == ExtraTF::kHLG,
205
1.56k
                "Only PQ/HLG is supported");
206
207
1.56k
  static constexpr Vector3 kLuminances{1.f / 3, 1.f / 3, 1.f / 3};
208
1.56k
  Rec2408ToneMapperBase tone_mapper(
209
1.56k
      {0.0f, kPQIntensityTarget}, {0.0f, kDefaultIntensityTarget}, kLuminances);
210
  // No point using float - LCMS converts to 16-bit for A2B/MFT.
211
1.56k
  std::vector<uint16_t> table(N);
212
101k
  for (uint32_t i = 0; i < N; ++i) {
213
100k
    const float x = static_cast<float>(i) / (N - 1);  // 1.0 at index N - 1.
214
100k
    const double dx = static_cast<double>(x);
215
    // LCMS requires EOTF (e.g. 2.4 exponent).
216
100k
    double y = (tf == ExtraTF::kHLG)
217
100k
                   ? TF_HLG_Base::DisplayFromEncoded(dx)
218
100k
                   : TF_PQ_Base::DisplayFromEncoded(kPQIntensityTarget, dx);
219
100k
    if (tone_map && tf == ExtraTF::kPQ &&
220
0
        kPQIntensityTarget > kDefaultIntensityTarget) {
221
0
      float l = y * 10000 / kPQIntensityTarget;
222
0
      Color gray{l, l, l};
223
0
      tone_mapper.ToneMap(gray);
224
0
      y = gray[0];
225
0
    }
226
100k
    JXL_DASSERT(y >= 0.0);
227
    // Clamp to table range - necessary for HLG.
228
100k
    y = Clamp1(y, 0.0, 1.0);
229
    // 1.0 corresponds to table value 0xFFFF.
230
100k
    table[i] = static_cast<uint16_t>(roundf(y * 65535.0));
231
100k
  }
232
1.56k
  return table;
233
1.56k
}
Unexecuted instantiation: compressed_dc.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: compressed_dc.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: dec_cache.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: blending.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: blending.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: dec_external_image.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: dec_external_image.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: dec_frame.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: dec_frame.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: dec_group.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: dec_group.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: dec_modular.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: dec_modular.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: dec_noise.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: dec_noise.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: dec_patch_dictionary.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: dec_patch_dictionary.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: dec_xyb.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: dec_xyb.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: decode.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: epf.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: epf.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: frame_header.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: frame_header.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: image_bundle.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: image_bundle.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: image_metadata.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: image_metadata.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: luminance.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: luminance.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: passes_state.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: passes_state.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: quant_weights.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: quant_weights.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: render_pipeline.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: render_pipeline.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: low_memory_render_pipeline.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: low_memory_render_pipeline.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: simple_render_pipeline.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: simple_render_pipeline.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: stage_blending.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: stage_blending.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: render_pipeline_stage.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: render_pipeline_stage.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: stage_chroma_upsampling.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: stage_chroma_upsampling.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: stage_cms.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: stage_cms.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: stage_epf.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: stage_epf.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: stage_from_linear.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: stage_from_linear.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: stage_gaborish.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: stage_gaborish.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: stage_noise.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: stage_noise.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: stage_patches.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: stage_patches.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: stage_splines.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: stage_splines.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: stage_spot.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: stage_spot.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: stage_to_linear.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: stage_to_linear.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: stage_tone_mapping.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: stage_tone_mapping.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: stage_upsampling.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: stage_upsampling.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: stage_write.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: stage_write.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: stage_xyb.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: stage_xyb.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: stage_ycbcr.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: stage_ycbcr.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Unexecuted instantiation: decode_to_jpeg.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: decode_to_jpeg.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
234
235
3.12k
static Status CIEXYZFromWhiteCIExy(double wx, double wy, Color& XYZ) {
236
  // Target Y = 1.
237
3.12k
  if (std::abs(wy) < 1e-12) return JXL_FAILURE("Y value is too small");
238
3.12k
  const float factor = 1 / wy;
239
3.12k
  XYZ[0] = wx * factor;
240
3.12k
  XYZ[1] = 1;
241
3.12k
  XYZ[2] = (1 - wx - wy) * factor;
242
3.12k
  return true;
243
3.12k
}
encode.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Line
Count
Source
235
171
static Status CIEXYZFromWhiteCIExy(double wx, double wy, Color& XYZ) {
236
  // Target Y = 1.
237
171
  if (std::abs(wy) < 1e-12) return JXL_FAILURE("Y value is too small");
238
171
  const float factor = 1 / wy;
239
171
  XYZ[0] = wx * factor;
240
171
  XYZ[1] = 1;
241
171
  XYZ[2] = (1 - wx - wy) * factor;
242
171
  return true;
243
171
}
Unexecuted instantiation: enc_fields.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_ans.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_lz77.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_frame.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_modular.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_debug_image.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_detect_dots.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_quant_weights.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_xyb.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_image_bundle.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_external_image.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_heuristics.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_cache.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_group.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_progressive_split.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: jxl_cms.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: enc_encoding.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
color_encoding_internal.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Line
Count
Source
235
2.95k
static Status CIEXYZFromWhiteCIExy(double wx, double wy, Color& XYZ) {
236
  // Target Y = 1.
237
2.95k
  if (std::abs(wy) < 1e-12) return JXL_FAILURE("Y value is too small");
238
2.95k
  const float factor = 1 / wy;
239
2.95k
  XYZ[0] = wx * factor;
240
2.95k
  XYZ[1] = 1;
241
2.95k
  XYZ[2] = (1 - wx - wy) * factor;
242
2.95k
  return true;
243
2.95k
}
Unexecuted instantiation: compressed_dc.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: dec_cache.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: blending.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: dec_external_image.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: dec_frame.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: dec_group.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: dec_modular.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: dec_noise.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: dec_xyb.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: decode.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: epf.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: frame_header.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: image_bundle.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: image_metadata.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: luminance.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: passes_state.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: quant_weights.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: render_pipeline.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: stage_blending.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: stage_cms.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: stage_epf.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: stage_from_linear.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: stage_gaborish.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: stage_noise.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: stage_patches.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: stage_splines.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: stage_spot.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: stage_to_linear.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: stage_upsampling.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: stage_write.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: stage_xyb.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: stage_ycbcr.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
244
245
namespace detail {
246
247
constexpr bool kEnable3DToneMapping = JXL_ENABLE_3D_ICC_TONEMAPPING;
248
249
921k
static bool CanToneMap(const JxlColorEncoding& encoding) {
250
  // If the color space cannot be represented by a CICP tag in the ICC profile
251
  // then the rest of the profile must unambiguously identify it; we have less
252
  // freedom to do use it for tone mapping.
253
921k
  JxlTransferFunction tf = encoding.transfer_function;
254
921k
  JxlPrimaries p = encoding.primaries;
255
921k
  JxlWhitePoint wp = encoding.white_point;
256
921k
  return encoding.color_space == JXL_COLOR_SPACE_RGB &&
257
910k
         (tf == JXL_TRANSFER_FUNCTION_PQ || tf == JXL_TRANSFER_FUNCTION_HLG) &&
258
56.9k
         ((p == JXL_PRIMARIES_P3 &&
259
586
           (wp == JXL_WHITE_POINT_D65 || wp == JXL_WHITE_POINT_DCI)) ||
260
56.3k
          (p != JXL_PRIMARIES_CUSTOM && wp == JXL_WHITE_POINT_D65));
261
921k
}
encode.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Line
Count
Source
249
6.32k
static bool CanToneMap(const JxlColorEncoding& encoding) {
250
  // If the color space cannot be represented by a CICP tag in the ICC profile
251
  // then the rest of the profile must unambiguously identify it; we have less
252
  // freedom to do use it for tone mapping.
253
6.32k
  JxlTransferFunction tf = encoding.transfer_function;
254
6.32k
  JxlPrimaries p = encoding.primaries;
255
6.32k
  JxlWhitePoint wp = encoding.white_point;
256
6.32k
  return encoding.color_space == JXL_COLOR_SPACE_RGB &&
257
5.98k
         (tf == JXL_TRANSFER_FUNCTION_PQ || tf == JXL_TRANSFER_FUNCTION_HLG) &&
258
0
         ((p == JXL_PRIMARIES_P3 &&
259
0
           (wp == JXL_WHITE_POINT_D65 || wp == JXL_WHITE_POINT_DCI)) ||
260
0
          (p != JXL_PRIMARIES_CUSTOM && wp == JXL_WHITE_POINT_D65));
261
6.32k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_ans.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_frame.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_modular.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_cache.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_group.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
color_encoding_internal.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Line
Count
Source
249
915k
static bool CanToneMap(const JxlColorEncoding& encoding) {
250
  // If the color space cannot be represented by a CICP tag in the ICC profile
251
  // then the rest of the profile must unambiguously identify it; we have less
252
  // freedom to do use it for tone mapping.
253
915k
  JxlTransferFunction tf = encoding.transfer_function;
254
915k
  JxlPrimaries p = encoding.primaries;
255
915k
  JxlWhitePoint wp = encoding.white_point;
256
915k
  return encoding.color_space == JXL_COLOR_SPACE_RGB &&
257
904k
         (tf == JXL_TRANSFER_FUNCTION_PQ || tf == JXL_TRANSFER_FUNCTION_HLG) &&
258
56.9k
         ((p == JXL_PRIMARIES_P3 &&
259
586
           (wp == JXL_WHITE_POINT_D65 || wp == JXL_WHITE_POINT_DCI)) ||
260
56.3k
          (p != JXL_PRIMARIES_CUSTOM && wp == JXL_WHITE_POINT_D65));
261
915k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: dec_cache.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: blending.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: dec_frame.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: dec_group.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: dec_modular.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: dec_noise.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: decode.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: epf.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: frame_header.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: image_bundle.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: image_metadata.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: luminance.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: passes_state.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: quant_weights.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: stage_blending.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: stage_cms.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: stage_epf.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: stage_noise.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: stage_patches.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: stage_splines.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: stage_spot.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: stage_write.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
262
263
static void ICCComputeMD5(const std::vector<uint8_t>& data, uint8_t sum[16])
264
459k
    JXL_NO_SANITIZE("unsigned-integer-overflow") {
265
459k
  std::vector<uint8_t> data64 = data;
266
459k
  data64.push_back(128);
267
  // Add bytes such that ((size + 8) & 63) == 0.
268
459k
  size_t extra = ((64 - ((data64.size() + 8) & 63)) & 63);
269
459k
  data64.resize(data64.size() + extra, 0);
270
4.13M
  for (uint64_t i = 0; i < 64; i += 8) {
271
3.67M
    data64.push_back(static_cast<uint64_t>(data.size() << 3u) >> i);
272
3.67M
  }
273
274
459k
  static const uint32_t sineparts[64] = {
275
459k
      0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a,
276
459k
      0xa8304613, 0xfd469501, 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be,
277
459k
      0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, 0xf61e2562, 0xc040b340,
278
459k
      0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8,
279
459k
      0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8,
280
459k
      0x676f02d9, 0x8d2a4c8a, 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c,
281
459k
      0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, 0x289b7ec6, 0xeaa127fa,
282
459k
      0xd4ef3085, 0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665,
283
459k
      0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92,
284
459k
      0xffeff47d, 0x85845dd1, 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1,
285
459k
      0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391,
286
459k
  };
287
459k
  static const uint32_t shift[64] = {
288
459k
      7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22,
289
459k
      5, 9,  14, 20, 5, 9,  14, 20, 5, 9,  14, 20, 5, 9,  14, 20,
290
459k
      4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23,
291
459k
      6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21,
292
459k
  };
293
294
459k
  uint32_t a0 = 0x67452301;
295
459k
  uint32_t b0 = 0xefcdab89;
296
459k
  uint32_t c0 = 0x98badcfe;
297
459k
  uint32_t d0 = 0x10325476;
298
299
6.01M
  for (size_t i = 0; i < data64.size(); i += 64) {
300
5.55M
    uint32_t a = a0;
301
5.55M
    uint32_t b = b0;
302
5.55M
    uint32_t c = c0;
303
5.55M
    uint32_t d = d0;
304
5.55M
    uint32_t f;
305
5.55M
    uint32_t g;
306
360M
    for (size_t j = 0; j < 64; j++) {
307
355M
      if (j < 16) {
308
88.8M
        f = (b & c) | ((~b) & d);
309
88.8M
        g = j;
310
266M
      } else if (j < 32) {
311
88.8M
        f = (d & b) | ((~d) & c);
312
88.8M
        g = (5 * j + 1) & 0xf;
313
177M
      } else if (j < 48) {
314
88.8M
        f = b ^ c ^ d;
315
88.8M
        g = (3 * j + 5) & 0xf;
316
88.8M
      } else {
317
88.8M
        f = c ^ (b | (~d));
318
88.8M
        g = (7 * j) & 0xf;
319
88.8M
      }
320
355M
      uint32_t dg0 = data64[i + g * 4 + 0];
321
355M
      uint32_t dg1 = data64[i + g * 4 + 1];
322
355M
      uint32_t dg2 = data64[i + g * 4 + 2];
323
355M
      uint32_t dg3 = data64[i + g * 4 + 3];
324
355M
      uint32_t u = dg0 | (dg1 << 8u) | (dg2 << 16u) | (dg3 << 24u);
325
355M
      f += a + sineparts[j] + u;
326
355M
      a = d;
327
355M
      d = c;
328
355M
      c = b;
329
355M
      b += (f << shift[j]) | (f >> (32u - shift[j]));
330
355M
    }
331
5.55M
    a0 += a;
332
5.55M
    b0 += b;
333
5.55M
    c0 += c;
334
5.55M
    d0 += d;
335
5.55M
  }
336
459k
  sum[0] = a0;
337
459k
  sum[1] = a0 >> 8u;
338
459k
  sum[2] = a0 >> 16u;
339
459k
  sum[3] = a0 >> 24u;
340
459k
  sum[4] = b0;
341
459k
  sum[5] = b0 >> 8u;
342
459k
  sum[6] = b0 >> 16u;
343
459k
  sum[7] = b0 >> 24u;
344
459k
  sum[8] = c0;
345
459k
  sum[9] = c0 >> 8u;
346
459k
  sum[10] = c0 >> 16u;
347
459k
  sum[11] = c0 >> 24u;
348
459k
  sum[12] = d0;
349
459k
  sum[13] = d0 >> 8u;
350
459k
  sum[14] = d0 >> 16u;
351
459k
  sum[15] = d0 >> 24u;
352
459k
}
encode.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Line
Count
Source
264
3.16k
    JXL_NO_SANITIZE("unsigned-integer-overflow") {
265
3.16k
  std::vector<uint8_t> data64 = data;
266
3.16k
  data64.push_back(128);
267
  // Add bytes such that ((size + 8) & 63) == 0.
268
3.16k
  size_t extra = ((64 - ((data64.size() + 8) & 63)) & 63);
269
3.16k
  data64.resize(data64.size() + extra, 0);
270
28.4k
  for (uint64_t i = 0; i < 64; i += 8) {
271
25.3k
    data64.push_back(static_cast<uint64_t>(data.size() << 3u) >> i);
272
25.3k
  }
273
274
3.16k
  static const uint32_t sineparts[64] = {
275
3.16k
      0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a,
276
3.16k
      0xa8304613, 0xfd469501, 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be,
277
3.16k
      0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, 0xf61e2562, 0xc040b340,
278
3.16k
      0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8,
279
3.16k
      0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8,
280
3.16k
      0x676f02d9, 0x8d2a4c8a, 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c,
281
3.16k
      0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, 0x289b7ec6, 0xeaa127fa,
282
3.16k
      0xd4ef3085, 0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665,
283
3.16k
      0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92,
284
3.16k
      0xffeff47d, 0x85845dd1, 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1,
285
3.16k
      0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391,
286
3.16k
  };
287
3.16k
  static const uint32_t shift[64] = {
288
3.16k
      7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22,
289
3.16k
      5, 9,  14, 20, 5, 9,  14, 20, 5, 9,  14, 20, 5, 9,  14, 20,
290
3.16k
      4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23,
291
3.16k
      6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21,
292
3.16k
  };
293
294
3.16k
  uint32_t a0 = 0x67452301;
295
3.16k
  uint32_t b0 = 0xefcdab89;
296
3.16k
  uint32_t c0 = 0x98badcfe;
297
3.16k
  uint32_t d0 = 0x10325476;
298
299
31.1k
  for (size_t i = 0; i < data64.size(); i += 64) {
300
27.9k
    uint32_t a = a0;
301
27.9k
    uint32_t b = b0;
302
27.9k
    uint32_t c = c0;
303
27.9k
    uint32_t d = d0;
304
27.9k
    uint32_t f;
305
27.9k
    uint32_t g;
306
1.81M
    for (size_t j = 0; j < 64; j++) {
307
1.78M
      if (j < 16) {
308
447k
        f = (b & c) | ((~b) & d);
309
447k
        g = j;
310
1.34M
      } else if (j < 32) {
311
447k
        f = (d & b) | ((~d) & c);
312
447k
        g = (5 * j + 1) & 0xf;
313
894k
      } else if (j < 48) {
314
447k
        f = b ^ c ^ d;
315
447k
        g = (3 * j + 5) & 0xf;
316
447k
      } else {
317
447k
        f = c ^ (b | (~d));
318
447k
        g = (7 * j) & 0xf;
319
447k
      }
320
1.78M
      uint32_t dg0 = data64[i + g * 4 + 0];
321
1.78M
      uint32_t dg1 = data64[i + g * 4 + 1];
322
1.78M
      uint32_t dg2 = data64[i + g * 4 + 2];
323
1.78M
      uint32_t dg3 = data64[i + g * 4 + 3];
324
1.78M
      uint32_t u = dg0 | (dg1 << 8u) | (dg2 << 16u) | (dg3 << 24u);
325
1.78M
      f += a + sineparts[j] + u;
326
1.78M
      a = d;
327
1.78M
      d = c;
328
1.78M
      c = b;
329
1.78M
      b += (f << shift[j]) | (f >> (32u - shift[j]));
330
1.78M
    }
331
27.9k
    a0 += a;
332
27.9k
    b0 += b;
333
27.9k
    c0 += c;
334
27.9k
    d0 += d;
335
27.9k
  }
336
3.16k
  sum[0] = a0;
337
3.16k
  sum[1] = a0 >> 8u;
338
3.16k
  sum[2] = a0 >> 16u;
339
3.16k
  sum[3] = a0 >> 24u;
340
3.16k
  sum[4] = b0;
341
3.16k
  sum[5] = b0 >> 8u;
342
3.16k
  sum[6] = b0 >> 16u;
343
3.16k
  sum[7] = b0 >> 24u;
344
3.16k
  sum[8] = c0;
345
3.16k
  sum[9] = c0 >> 8u;
346
3.16k
  sum[10] = c0 >> 16u;
347
3.16k
  sum[11] = c0 >> 24u;
348
3.16k
  sum[12] = d0;
349
3.16k
  sum[13] = d0 >> 8u;
350
3.16k
  sum[14] = d0 >> 16u;
351
3.16k
  sum[15] = d0 >> 24u;
352
3.16k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_group.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
color_encoding_internal.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Line
Count
Source
264
456k
    JXL_NO_SANITIZE("unsigned-integer-overflow") {
265
456k
  std::vector<uint8_t> data64 = data;
266
456k
  data64.push_back(128);
267
  // Add bytes such that ((size + 8) & 63) == 0.
268
456k
  size_t extra = ((64 - ((data64.size() + 8) & 63)) & 63);
269
456k
  data64.resize(data64.size() + extra, 0);
270
4.11M
  for (uint64_t i = 0; i < 64; i += 8) {
271
3.65M
    data64.push_back(static_cast<uint64_t>(data.size() << 3u) >> i);
272
3.65M
  }
273
274
456k
  static const uint32_t sineparts[64] = {
275
456k
      0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a,
276
456k
      0xa8304613, 0xfd469501, 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be,
277
456k
      0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, 0xf61e2562, 0xc040b340,
278
456k
      0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8,
279
456k
      0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8,
280
456k
      0x676f02d9, 0x8d2a4c8a, 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c,
281
456k
      0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, 0x289b7ec6, 0xeaa127fa,
282
456k
      0xd4ef3085, 0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665,
283
456k
      0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92,
284
456k
      0xffeff47d, 0x85845dd1, 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1,
285
456k
      0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391,
286
456k
  };
287
456k
  static const uint32_t shift[64] = {
288
456k
      7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22,
289
456k
      5, 9,  14, 20, 5, 9,  14, 20, 5, 9,  14, 20, 5, 9,  14, 20,
290
456k
      4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23,
291
456k
      6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21,
292
456k
  };
293
294
456k
  uint32_t a0 = 0x67452301;
295
456k
  uint32_t b0 = 0xefcdab89;
296
456k
  uint32_t c0 = 0x98badcfe;
297
456k
  uint32_t d0 = 0x10325476;
298
299
5.98M
  for (size_t i = 0; i < data64.size(); i += 64) {
300
5.52M
    uint32_t a = a0;
301
5.52M
    uint32_t b = b0;
302
5.52M
    uint32_t c = c0;
303
5.52M
    uint32_t d = d0;
304
5.52M
    uint32_t f;
305
5.52M
    uint32_t g;
306
359M
    for (size_t j = 0; j < 64; j++) {
307
353M
      if (j < 16) {
308
88.3M
        f = (b & c) | ((~b) & d);
309
88.3M
        g = j;
310
265M
      } else if (j < 32) {
311
88.3M
        f = (d & b) | ((~d) & c);
312
88.3M
        g = (5 * j + 1) & 0xf;
313
176M
      } else if (j < 48) {
314
88.3M
        f = b ^ c ^ d;
315
88.3M
        g = (3 * j + 5) & 0xf;
316
88.3M
      } else {
317
88.3M
        f = c ^ (b | (~d));
318
88.3M
        g = (7 * j) & 0xf;
319
88.3M
      }
320
353M
      uint32_t dg0 = data64[i + g * 4 + 0];
321
353M
      uint32_t dg1 = data64[i + g * 4 + 1];
322
353M
      uint32_t dg2 = data64[i + g * 4 + 2];
323
353M
      uint32_t dg3 = data64[i + g * 4 + 3];
324
353M
      uint32_t u = dg0 | (dg1 << 8u) | (dg2 << 16u) | (dg3 << 24u);
325
353M
      f += a + sineparts[j] + u;
326
353M
      a = d;
327
353M
      d = c;
328
353M
      c = b;
329
353M
      b += (f << shift[j]) | (f >> (32u - shift[j]));
330
353M
    }
331
5.52M
    a0 += a;
332
5.52M
    b0 += b;
333
5.52M
    c0 += c;
334
5.52M
    d0 += d;
335
5.52M
  }
336
456k
  sum[0] = a0;
337
456k
  sum[1] = a0 >> 8u;
338
456k
  sum[2] = a0 >> 16u;
339
456k
  sum[3] = a0 >> 24u;
340
456k
  sum[4] = b0;
341
456k
  sum[5] = b0 >> 8u;
342
456k
  sum[6] = b0 >> 16u;
343
456k
  sum[7] = b0 >> 24u;
344
456k
  sum[8] = c0;
345
456k
  sum[9] = c0 >> 8u;
346
456k
  sum[10] = c0 >> 16u;
347
456k
  sum[11] = c0 >> 24u;
348
456k
  sum[12] = d0;
349
456k
  sum[13] = d0 >> 8u;
350
456k
  sum[14] = d0 >> 16u;
351
456k
  sum[15] = d0 >> 24u;
352
456k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: blending.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: dec_group.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: decode.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: epf.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: frame_header.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: luminance.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: passes_state.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: stage_write.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
353
354
456k
static Status CreateICCChadMatrix(double wx, double wy, Matrix3x3& result) {
355
456k
  Matrix3x3 m;
356
456k
  if (wy == 0) {  // WhitePoint can not be pitch-black.
357
4
    return JXL_FAILURE("Invalid WhitePoint");
358
4
  }
359
456k
  JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, m));
360
456k
  result = m;
361
456k
  return true;
362
456k
}
encode.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Line
Count
Source
354
2.99k
static Status CreateICCChadMatrix(double wx, double wy, Matrix3x3& result) {
355
2.99k
  Matrix3x3 m;
356
2.99k
  if (wy == 0) {  // WhitePoint can not be pitch-black.
357
0
    return JXL_FAILURE("Invalid WhitePoint");
358
0
  }
359
2.99k
  JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, m));
360
2.99k
  result = m;
361
2.99k
  return true;
362
2.99k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
color_encoding_internal.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Line
Count
Source
354
453k
static Status CreateICCChadMatrix(double wx, double wy, Matrix3x3& result) {
355
453k
  Matrix3x3 m;
356
453k
  if (wy == 0) {  // WhitePoint can not be pitch-black.
357
4
    return JXL_FAILURE("Invalid WhitePoint");
358
4
  }
359
453k
  JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, m));
360
453k
  result = m;
361
453k
  return true;
362
453k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: blending.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: decode.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: epf.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
363
364
// Creates RGB to XYZ matrix given RGB primaries and white point in xy.
365
static Status CreateICCRGBMatrix(double rx, double ry, double gx, double gy,
366
                                 double bx, double by, double wx, double wy,
367
453k
                                 Matrix3x3& result) {
368
453k
  Matrix3x3 m;
369
453k
  JXL_RETURN_IF_ERROR(PrimariesToXYZD50(rx, ry, gx, gy, bx, by, wx, wy, m));
370
453k
  result = m;
371
453k
  return true;
372
453k
}
encode.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Line
Count
Source
367
2.99k
                                 Matrix3x3& result) {
368
2.99k
  Matrix3x3 m;
369
2.99k
  JXL_RETURN_IF_ERROR(PrimariesToXYZD50(rx, ry, gx, gy, bx, by, wx, wy, m));
370
2.99k
  result = m;
371
2.99k
  return true;
372
2.99k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
color_encoding_internal.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Line
Count
Source
367
450k
                                 Matrix3x3& result) {
368
450k
  Matrix3x3 m;
369
450k
  JXL_RETURN_IF_ERROR(PrimariesToXYZD50(rx, ry, gx, gy, bx, by, wx, wy, m));
370
450k
  result = m;
371
450k
  return true;
372
450k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: blending.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: decode.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: epf.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
373
374
static void WriteICCUint32(uint32_t value, size_t pos,
375
41.5M
                           std::vector<uint8_t>* icc) {
376
41.5M
  if (icc->size() < pos + 4) icc->resize(pos + 4);
377
41.5M
  (*icc)[pos + 0] = (value >> 24u) & 255;
378
41.5M
  (*icc)[pos + 1] = (value >> 16u) & 255;
379
41.5M
  (*icc)[pos + 2] = (value >> 8u) & 255;
380
41.5M
  (*icc)[pos + 3] = value & 255;
381
41.5M
}
encode.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
375
277k
                           std::vector<uint8_t>* icc) {
376
277k
  if (icc->size() < pos + 4) icc->resize(pos + 4);
377
277k
  (*icc)[pos + 0] = (value >> 24u) & 255;
378
277k
  (*icc)[pos + 1] = (value >> 16u) & 255;
379
277k
  (*icc)[pos + 2] = (value >> 8u) & 255;
380
277k
  (*icc)[pos + 3] = value & 255;
381
277k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_group.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
color_encoding_internal.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
375
41.3M
                           std::vector<uint8_t>* icc) {
376
41.3M
  if (icc->size() < pos + 4) icc->resize(pos + 4);
377
41.3M
  (*icc)[pos + 0] = (value >> 24u) & 255;
378
41.3M
  (*icc)[pos + 1] = (value >> 16u) & 255;
379
41.3M
  (*icc)[pos + 2] = (value >> 8u) & 255;
380
41.3M
  (*icc)[pos + 3] = value & 255;
381
41.3M
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: blending.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_group.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: epf.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: frame_header.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: luminance.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: passes_state.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_write.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
382
383
static void WriteICCUint16(uint16_t value, size_t pos,
384
4.21M
                           std::vector<uint8_t>* icc) {
385
4.21M
  if (icc->size() < pos + 2) icc->resize(pos + 2);
386
4.21M
  (*icc)[pos + 0] = (value >> 8u) & 255;
387
4.21M
  (*icc)[pos + 1] = value & 255;
388
4.21M
}
encode.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
384
25.3k
                           std::vector<uint8_t>* icc) {
385
25.3k
  if (icc->size() < pos + 2) icc->resize(pos + 2);
386
25.3k
  (*icc)[pos + 0] = (value >> 8u) & 255;
387
25.3k
  (*icc)[pos + 1] = value & 255;
388
25.3k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_group.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
color_encoding_internal.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
384
4.19M
                           std::vector<uint8_t>* icc) {
385
4.19M
  if (icc->size() < pos + 2) icc->resize(pos + 2);
386
4.19M
  (*icc)[pos + 0] = (value >> 8u) & 255;
387
4.19M
  (*icc)[pos + 1] = value & 255;
388
4.19M
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: blending.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_group.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: epf.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: frame_header.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: luminance.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: passes_state.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_write.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
389
390
static void WriteICCUint8(uint8_t value, size_t pos,
391
88.9M
                          std::vector<uint8_t>* icc) {
392
88.9M
  if (icc->size() < pos + 1) icc->resize(pos + 1);
393
88.9M
  (*icc)[pos] = value;
394
88.9M
}
encode.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
391
11.9k
                          std::vector<uint8_t>* icc) {
392
11.9k
  if (icc->size() < pos + 1) icc->resize(pos + 1);
393
11.9k
  (*icc)[pos] = value;
394
11.9k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_group.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
color_encoding_internal.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
391
88.9M
                          std::vector<uint8_t>* icc) {
392
88.9M
  if (icc->size() < pos + 1) icc->resize(pos + 1);
393
88.9M
  (*icc)[pos] = value;
394
88.9M
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: blending.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_group.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: epf.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: frame_header.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: luminance.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: passes_state.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_write.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
395
396
// Writes a 4-character tag
397
static void WriteICCTag(const char* value, size_t pos,
398
13.3M
                        std::vector<uint8_t>* icc) {
399
13.3M
  if (icc->size() < pos + 4) icc->resize(pos + 4);
400
13.3M
  memcpy(icc->data() + pos, value, 4);
401
13.3M
}
encode.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
398
89.7k
                        std::vector<uint8_t>* icc) {
399
89.7k
  if (icc->size() < pos + 4) icc->resize(pos + 4);
400
89.7k
  memcpy(icc->data() + pos, value, 4);
401
89.7k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_group.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
color_encoding_internal.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
398
13.2M
                        std::vector<uint8_t>* icc) {
399
13.2M
  if (icc->size() < pos + 4) icc->resize(pos + 4);
400
13.2M
  memcpy(icc->data() + pos, value, 4);
401
13.2M
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: blending.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_group.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: epf.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: frame_header.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: luminance.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: passes_state.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_write.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
402
403
static Status WriteICCS15Fixed16(float value, size_t pos,
404
12.0M
                                 std::vector<uint8_t>* icc) {
405
  // "nextafterf" for 32768.0f towards zero are:
406
  // 32767.998046875, 32767.99609375, 32767.994140625
407
  // Even the first value works well,...
408
12.0M
  bool ok = (-32767.995f <= value) && (value <= 32767.995f);
409
12.0M
  if (!ok) return JXL_FAILURE("ICC value is out of range / NaN");
410
12.0M
  int32_t i = static_cast<int32_t>(std::lround(value * 65536.0f));
411
  // Use two's complement
412
12.0M
  uint32_t u = static_cast<uint32_t>(i);
413
12.0M
  WriteICCUint32(u, pos, icc);
414
12.0M
  return true;
415
12.0M
}
encode.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
404
79.1k
                                 std::vector<uint8_t>* icc) {
405
  // "nextafterf" for 32768.0f towards zero are:
406
  // 32767.998046875, 32767.99609375, 32767.994140625
407
  // Even the first value works well,...
408
79.1k
  bool ok = (-32767.995f <= value) && (value <= 32767.995f);
409
79.1k
  if (!ok) return JXL_FAILURE("ICC value is out of range / NaN");
410
79.1k
  int32_t i = static_cast<int32_t>(std::lround(value * 65536.0f));
411
  // Use two's complement
412
79.1k
  uint32_t u = static_cast<uint32_t>(i);
413
79.1k
  WriteICCUint32(u, pos, icc);
414
79.1k
  return true;
415
79.1k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_group.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
color_encoding_internal.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
404
12.0M
                                 std::vector<uint8_t>* icc) {
405
  // "nextafterf" for 32768.0f towards zero are:
406
  // 32767.998046875, 32767.99609375, 32767.994140625
407
  // Even the first value works well,...
408
12.0M
  bool ok = (-32767.995f <= value) && (value <= 32767.995f);
409
12.0M
  if (!ok) return JXL_FAILURE("ICC value is out of range / NaN");
410
12.0M
  int32_t i = static_cast<int32_t>(std::lround(value * 65536.0f));
411
  // Use two's complement
412
12.0M
  uint32_t u = static_cast<uint32_t>(i);
413
12.0M
  WriteICCUint32(u, pos, icc);
414
12.0M
  return true;
415
12.0M
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: blending.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_group.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: epf.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: frame_header.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: luminance.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: passes_state.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_write.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
416
417
static Status CreateICCHeader(const JxlColorEncoding& c,
418
459k
                              std::vector<uint8_t>* header) {
419
  // TODO(lode): choose color management engine name, e.g. "skia" if
420
  // integrated in skia.
421
459k
  static const char* kCmm = "jxl ";
422
423
459k
  header->resize(128, 0);
424
425
459k
  WriteICCUint32(0, 0, header);  // size, correct value filled in at end
426
459k
  WriteICCTag(kCmm, 4, header);
427
459k
  WriteICCUint32(0x04400000u, 8, header);
428
459k
  const char* profile_type =
429
459k
      c.color_space == JXL_COLOR_SPACE_XYB ? "scnr" : "mntr";
430
459k
  WriteICCTag(profile_type, 12, header);
431
459k
  WriteICCTag(c.color_space == JXL_COLOR_SPACE_GRAY ? "GRAY" : "RGB ", 16,
432
459k
              header);
433
459k
  if (kEnable3DToneMapping && CanToneMap(c)) {
434
    // We are going to use a 3D LUT for tone mapping, which will be more compact
435
    // with an 8-bit LUT to CIELAB than with a 16-bit LUT to XYZ. 8-bit XYZ
436
    // would not be viable due to XYZ being linear, whereas it is fine with
437
    // CIELAB's ~cube root.
438
23.3k
    WriteICCTag("Lab ", 20, header);
439
436k
  } else {
440
436k
    WriteICCTag("XYZ ", 20, header);
441
436k
  }
442
443
  // Three uint32_t's date/time encoding.
444
  // TODO(lode): encode actual date and time, this is a placeholder
445
459k
  uint32_t year = 2019;
446
459k
  uint32_t month = 12;
447
459k
  uint32_t day = 1;
448
459k
  uint32_t hour = 0;
449
459k
  uint32_t minute = 0;
450
459k
  uint32_t second = 0;
451
459k
  WriteICCUint16(year, 24, header);
452
459k
  WriteICCUint16(month, 26, header);
453
459k
  WriteICCUint16(day, 28, header);
454
459k
  WriteICCUint16(hour, 30, header);
455
459k
  WriteICCUint16(minute, 32, header);
456
459k
  WriteICCUint16(second, 34, header);
457
458
459k
  WriteICCTag("acsp", 36, header);
459
459k
  WriteICCTag("APPL", 40, header);
460
459k
  WriteICCUint32(0, 44, header);  // flags
461
459k
  WriteICCUint32(0, 48, header);  // device manufacturer
462
459k
  WriteICCUint32(0, 52, header);  // device model
463
459k
  WriteICCUint32(0, 56, header);  // device attributes
464
459k
  WriteICCUint32(0, 60, header);  // device attributes
465
459k
  WriteICCUint32(static_cast<uint32_t>(c.rendering_intent), 64, header);
466
467
  // Mandatory D50 white point of profile connection space
468
459k
  WriteICCUint32(0x0000f6d6, 68, header);
469
459k
  WriteICCUint32(0x00010000, 72, header);
470
459k
  WriteICCUint32(0x0000d32d, 76, header);
471
472
459k
  WriteICCTag(kCmm, 80, header);
473
474
459k
  return true;
475
459k
}
encode.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
418
3.16k
                              std::vector<uint8_t>* header) {
419
  // TODO(lode): choose color management engine name, e.g. "skia" if
420
  // integrated in skia.
421
3.16k
  static const char* kCmm = "jxl ";
422
423
3.16k
  header->resize(128, 0);
424
425
3.16k
  WriteICCUint32(0, 0, header);  // size, correct value filled in at end
426
3.16k
  WriteICCTag(kCmm, 4, header);
427
3.16k
  WriteICCUint32(0x04400000u, 8, header);
428
3.16k
  const char* profile_type =
429
3.16k
      c.color_space == JXL_COLOR_SPACE_XYB ? "scnr" : "mntr";
430
3.16k
  WriteICCTag(profile_type, 12, header);
431
3.16k
  WriteICCTag(c.color_space == JXL_COLOR_SPACE_GRAY ? "GRAY" : "RGB ", 16,
432
3.16k
              header);
433
3.16k
  if (kEnable3DToneMapping && CanToneMap(c)) {
434
    // We are going to use a 3D LUT for tone mapping, which will be more compact
435
    // with an 8-bit LUT to CIELAB than with a 16-bit LUT to XYZ. 8-bit XYZ
436
    // would not be viable due to XYZ being linear, whereas it is fine with
437
    // CIELAB's ~cube root.
438
0
    WriteICCTag("Lab ", 20, header);
439
3.16k
  } else {
440
3.16k
    WriteICCTag("XYZ ", 20, header);
441
3.16k
  }
442
443
  // Three uint32_t's date/time encoding.
444
  // TODO(lode): encode actual date and time, this is a placeholder
445
3.16k
  uint32_t year = 2019;
446
3.16k
  uint32_t month = 12;
447
3.16k
  uint32_t day = 1;
448
3.16k
  uint32_t hour = 0;
449
3.16k
  uint32_t minute = 0;
450
3.16k
  uint32_t second = 0;
451
3.16k
  WriteICCUint16(year, 24, header);
452
3.16k
  WriteICCUint16(month, 26, header);
453
3.16k
  WriteICCUint16(day, 28, header);
454
3.16k
  WriteICCUint16(hour, 30, header);
455
3.16k
  WriteICCUint16(minute, 32, header);
456
3.16k
  WriteICCUint16(second, 34, header);
457
458
3.16k
  WriteICCTag("acsp", 36, header);
459
3.16k
  WriteICCTag("APPL", 40, header);
460
3.16k
  WriteICCUint32(0, 44, header);  // flags
461
3.16k
  WriteICCUint32(0, 48, header);  // device manufacturer
462
3.16k
  WriteICCUint32(0, 52, header);  // device model
463
3.16k
  WriteICCUint32(0, 56, header);  // device attributes
464
3.16k
  WriteICCUint32(0, 60, header);  // device attributes
465
3.16k
  WriteICCUint32(static_cast<uint32_t>(c.rendering_intent), 64, header);
466
467
  // Mandatory D50 white point of profile connection space
468
3.16k
  WriteICCUint32(0x0000f6d6, 68, header);
469
3.16k
  WriteICCUint32(0x00010000, 72, header);
470
3.16k
  WriteICCUint32(0x0000d32d, 76, header);
471
472
3.16k
  WriteICCTag(kCmm, 80, header);
473
474
3.16k
  return true;
475
3.16k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
color_encoding_internal.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
418
456k
                              std::vector<uint8_t>* header) {
419
  // TODO(lode): choose color management engine name, e.g. "skia" if
420
  // integrated in skia.
421
456k
  static const char* kCmm = "jxl ";
422
423
456k
  header->resize(128, 0);
424
425
456k
  WriteICCUint32(0, 0, header);  // size, correct value filled in at end
426
456k
  WriteICCTag(kCmm, 4, header);
427
456k
  WriteICCUint32(0x04400000u, 8, header);
428
456k
  const char* profile_type =
429
456k
      c.color_space == JXL_COLOR_SPACE_XYB ? "scnr" : "mntr";
430
456k
  WriteICCTag(profile_type, 12, header);
431
456k
  WriteICCTag(c.color_space == JXL_COLOR_SPACE_GRAY ? "GRAY" : "RGB ", 16,
432
456k
              header);
433
456k
  if (kEnable3DToneMapping && CanToneMap(c)) {
434
    // We are going to use a 3D LUT for tone mapping, which will be more compact
435
    // with an 8-bit LUT to CIELAB than with a 16-bit LUT to XYZ. 8-bit XYZ
436
    // would not be viable due to XYZ being linear, whereas it is fine with
437
    // CIELAB's ~cube root.
438
23.3k
    WriteICCTag("Lab ", 20, header);
439
433k
  } else {
440
433k
    WriteICCTag("XYZ ", 20, header);
441
433k
  }
442
443
  // Three uint32_t's date/time encoding.
444
  // TODO(lode): encode actual date and time, this is a placeholder
445
456k
  uint32_t year = 2019;
446
456k
  uint32_t month = 12;
447
456k
  uint32_t day = 1;
448
456k
  uint32_t hour = 0;
449
456k
  uint32_t minute = 0;
450
456k
  uint32_t second = 0;
451
456k
  WriteICCUint16(year, 24, header);
452
456k
  WriteICCUint16(month, 26, header);
453
456k
  WriteICCUint16(day, 28, header);
454
456k
  WriteICCUint16(hour, 30, header);
455
456k
  WriteICCUint16(minute, 32, header);
456
456k
  WriteICCUint16(second, 34, header);
457
458
456k
  WriteICCTag("acsp", 36, header);
459
456k
  WriteICCTag("APPL", 40, header);
460
456k
  WriteICCUint32(0, 44, header);  // flags
461
456k
  WriteICCUint32(0, 48, header);  // device manufacturer
462
456k
  WriteICCUint32(0, 52, header);  // device model
463
456k
  WriteICCUint32(0, 56, header);  // device attributes
464
456k
  WriteICCUint32(0, 60, header);  // device attributes
465
456k
  WriteICCUint32(static_cast<uint32_t>(c.rendering_intent), 64, header);
466
467
  // Mandatory D50 white point of profile connection space
468
456k
  WriteICCUint32(0x0000f6d6, 68, header);
469
456k
  WriteICCUint32(0x00010000, 72, header);
470
456k
  WriteICCUint32(0x0000d32d, 76, header);
471
472
456k
  WriteICCTag(kCmm, 80, header);
473
474
456k
  return true;
475
456k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: blending.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: epf.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
476
477
static void AddToICCTagTable(const char* tag, size_t offset, size_t size,
478
                             std::vector<uint8_t>* tagtable,
479
4.99M
                             std::vector<size_t>* offsets) {
480
4.99M
  WriteICCTag(tag, tagtable->size(), tagtable);
481
  // writing true offset deferred to later
482
4.99M
  WriteICCUint32(0, tagtable->size(), tagtable);
483
4.99M
  offsets->push_back(offset);
484
4.99M
  WriteICCUint32(size, tagtable->size(), tagtable);
485
4.99M
}
encode.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Line
Count
Source
479
33.6k
                             std::vector<size_t>* offsets) {
480
33.6k
  WriteICCTag(tag, tagtable->size(), tagtable);
481
  // writing true offset deferred to later
482
33.6k
  WriteICCUint32(0, tagtable->size(), tagtable);
483
33.6k
  offsets->push_back(offset);
484
33.6k
  WriteICCUint32(size, tagtable->size(), tagtable);
485
33.6k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_group.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
color_encoding_internal.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Line
Count
Source
479
4.96M
                             std::vector<size_t>* offsets) {
480
4.96M
  WriteICCTag(tag, tagtable->size(), tagtable);
481
  // writing true offset deferred to later
482
4.96M
  WriteICCUint32(0, tagtable->size(), tagtable);
483
4.96M
  offsets->push_back(offset);
484
4.96M
  WriteICCUint32(size, tagtable->size(), tagtable);
485
4.96M
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: blending.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: dec_group.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: decode.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: epf.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: frame_header.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: luminance.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: passes_state.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_write.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
486
487
static void FinalizeICCTag(std::vector<uint8_t>* tags, size_t* offset,
488
4.13M
                           size_t* size) {
489
5.98M
  while ((tags->size() & 3) != 0) {
490
1.85M
    tags->push_back(0);
491
1.85M
  }
492
4.13M
  *offset += *size;
493
4.13M
  *size = tags->size() - *offset;
494
4.13M
}
encode.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Line
Count
Source
488
27.6k
                           size_t* size) {
489
40.2k
  while ((tags->size() & 3) != 0) {
490
12.6k
    tags->push_back(0);
491
12.6k
  }
492
27.6k
  *offset += *size;
493
27.6k
  *size = tags->size() - *offset;
494
27.6k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_group.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
color_encoding_internal.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Line
Count
Source
488
4.10M
                           size_t* size) {
489
5.94M
  while ((tags->size() & 3) != 0) {
490
1.84M
    tags->push_back(0);
491
1.84M
  }
492
4.10M
  *offset += *size;
493
4.10M
  *size = tags->size() - *offset;
494
4.10M
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: blending.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: dec_group.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: decode.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: epf.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: frame_header.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: luminance.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: passes_state.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: stage_write.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
495
496
// The input text must be ASCII, writing other characters to UTF-16 is not
497
// implemented.
498
static void CreateICCMlucTag(const std::string& text,
499
919k
                             std::vector<uint8_t>* tags) {
500
919k
  WriteICCTag("mluc", tags->size(), tags);
501
919k
  WriteICCUint32(0, tags->size(), tags);
502
919k
  WriteICCUint32(1, tags->size(), tags);
503
919k
  WriteICCUint32(12, tags->size(), tags);
504
919k
  WriteICCTag("enUS", tags->size(), tags);
505
919k
  WriteICCUint32(text.size() * 2, tags->size(), tags);
506
919k
  WriteICCUint32(28, tags->size(), tags);
507
10.2M
  for (char c : text) {
508
10.2M
    tags->push_back(0);  // prepend 0 for UTF-16
509
10.2M
    tags->push_back(c);
510
10.2M
  }
511
919k
}
encode.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
499
6.32k
                             std::vector<uint8_t>* tags) {
500
6.32k
  WriteICCTag("mluc", tags->size(), tags);
501
6.32k
  WriteICCUint32(0, tags->size(), tags);
502
6.32k
  WriteICCUint32(1, tags->size(), tags);
503
6.32k
  WriteICCUint32(12, tags->size(), tags);
504
6.32k
  WriteICCTag("enUS", tags->size(), tags);
505
6.32k
  WriteICCUint32(text.size() * 2, tags->size(), tags);
506
6.32k
  WriteICCUint32(28, tags->size(), tags);
507
68.9k
  for (char c : text) {
508
68.9k
    tags->push_back(0);  // prepend 0 for UTF-16
509
68.9k
    tags->push_back(c);
510
68.9k
  }
511
6.32k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
color_encoding_internal.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
499
913k
                             std::vector<uint8_t>* tags) {
500
913k
  WriteICCTag("mluc", tags->size(), tags);
501
913k
  WriteICCUint32(0, tags->size(), tags);
502
913k
  WriteICCUint32(1, tags->size(), tags);
503
913k
  WriteICCUint32(12, tags->size(), tags);
504
913k
  WriteICCTag("enUS", tags->size(), tags);
505
913k
  WriteICCUint32(text.size() * 2, tags->size(), tags);
506
913k
  WriteICCUint32(28, tags->size(), tags);
507
10.1M
  for (char c : text) {
508
10.1M
    tags->push_back(0);  // prepend 0 for UTF-16
509
10.1M
    tags->push_back(c);
510
10.1M
  }
511
913k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: blending.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: epf.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
512
513
1.82M
static Status CreateICCXYZTag(const Color& xyz, std::vector<uint8_t>* tags) {
514
1.82M
  WriteICCTag("XYZ ", tags->size(), tags);
515
1.82M
  WriteICCUint32(0, tags->size(), tags);
516
7.28M
  for (size_t i = 0; i < 3; ++i) {
517
5.46M
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(xyz[i], tags->size(), tags));
518
5.46M
  }
519
1.82M
  return true;
520
1.82M
}
encode.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
513
12.1k
static Status CreateICCXYZTag(const Color& xyz, std::vector<uint8_t>* tags) {
514
12.1k
  WriteICCTag("XYZ ", tags->size(), tags);
515
12.1k
  WriteICCUint32(0, tags->size(), tags);
516
48.5k
  for (size_t i = 0; i < 3; ++i) {
517
36.4k
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(xyz[i], tags->size(), tags));
518
36.4k
  }
519
12.1k
  return true;
520
12.1k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
color_encoding_internal.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
513
1.80M
static Status CreateICCXYZTag(const Color& xyz, std::vector<uint8_t>* tags) {
514
1.80M
  WriteICCTag("XYZ ", tags->size(), tags);
515
1.80M
  WriteICCUint32(0, tags->size(), tags);
516
7.23M
  for (size_t i = 0; i < 3; ++i) {
517
5.42M
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(xyz[i], tags->size(), tags));
518
5.42M
  }
519
1.80M
  return true;
520
1.80M
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: blending.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: epf.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
521
522
static Status CreateICCChadTag(const Matrix3x3& chad,
523
456k
                               std::vector<uint8_t>* tags) {
524
456k
  WriteICCTag("sf32", tags->size(), tags);
525
456k
  WriteICCUint32(0, tags->size(), tags);
526
1.82M
  for (size_t j = 0; j < 3; j++) {
527
5.48M
    for (size_t i = 0; i < 3; i++) {
528
4.11M
      JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(chad[j][i], tags->size(), tags));
529
4.11M
    }
530
1.37M
  }
531
456k
  return true;
532
456k
}
encode.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
523
2.99k
                               std::vector<uint8_t>* tags) {
524
2.99k
  WriteICCTag("sf32", tags->size(), tags);
525
2.99k
  WriteICCUint32(0, tags->size(), tags);
526
11.9k
  for (size_t j = 0; j < 3; j++) {
527
35.9k
    for (size_t i = 0; i < 3; i++) {
528
26.9k
      JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(chad[j][i], tags->size(), tags));
529
26.9k
    }
530
8.97k
  }
531
2.99k
  return true;
532
2.99k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
color_encoding_internal.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
523
453k
                               std::vector<uint8_t>* tags) {
524
453k
  WriteICCTag("sf32", tags->size(), tags);
525
453k
  WriteICCUint32(0, tags->size(), tags);
526
1.81M
  for (size_t j = 0; j < 3; j++) {
527
5.44M
    for (size_t i = 0; i < 3; i++) {
528
4.08M
      JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(chad[j][i], tags->size(), tags));
529
4.08M
    }
530
1.36M
  }
531
453k
  return true;
532
453k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: blending.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: epf.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
533
534
static void MaybeCreateICCCICPTag(const JxlColorEncoding& c,
535
                                  std::vector<uint8_t>* tags, size_t* offset,
536
                                  size_t* size, std::vector<uint8_t>* tagtable,
537
453k
                                  std::vector<size_t>* offsets) {
538
453k
  if (c.color_space != JXL_COLOR_SPACE_RGB) {
539
0
    return;
540
0
  }
541
453k
  uint8_t primaries = 0;
542
453k
  if (c.primaries == JXL_PRIMARIES_P3) {
543
452
    if (c.white_point == JXL_WHITE_POINT_D65) {
544
415
      primaries = 12;
545
415
    } else if (c.white_point == JXL_WHITE_POINT_DCI) {
546
10
      primaries = 11;
547
27
    } else {
548
27
      return;
549
27
    }
550
453k
  } else if (c.primaries != JXL_PRIMARIES_CUSTOM &&
551
449k
             c.white_point == JXL_WHITE_POINT_D65) {
552
449k
    primaries = static_cast<uint8_t>(c.primaries);
553
449k
  } else {
554
3.72k
    return;
555
3.72k
  }
556
449k
  JxlTransferFunction tf = c.transfer_function;
557
449k
  if (tf == JXL_TRANSFER_FUNCTION_UNKNOWN ||
558
449k
      tf == JXL_TRANSFER_FUNCTION_GAMMA) {
559
766
    return;
560
766
  }
561
449k
  WriteICCTag("cicp", tags->size(), tags);
562
449k
  WriteICCUint32(0, tags->size(), tags);
563
449k
  WriteICCUint8(primaries, tags->size(), tags);
564
449k
  WriteICCUint8(static_cast<uint8_t>(tf), tags->size(), tags);
565
  // Matrix
566
449k
  WriteICCUint8(0, tags->size(), tags);
567
  // Full range
568
449k
  WriteICCUint8(1, tags->size(), tags);
569
449k
  FinalizeICCTag(tags, offset, size);
570
449k
  AddToICCTagTable("cicp", *offset, *size, tagtable, offsets);
571
449k
}
encode.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Line
Count
Source
537
2.99k
                                  std::vector<size_t>* offsets) {
538
2.99k
  if (c.color_space != JXL_COLOR_SPACE_RGB) {
539
0
    return;
540
0
  }
541
2.99k
  uint8_t primaries = 0;
542
2.99k
  if (c.primaries == JXL_PRIMARIES_P3) {
543
0
    if (c.white_point == JXL_WHITE_POINT_D65) {
544
0
      primaries = 12;
545
0
    } else if (c.white_point == JXL_WHITE_POINT_DCI) {
546
0
      primaries = 11;
547
0
    } else {
548
0
      return;
549
0
    }
550
2.99k
  } else if (c.primaries != JXL_PRIMARIES_CUSTOM &&
551
2.99k
             c.white_point == JXL_WHITE_POINT_D65) {
552
2.99k
    primaries = static_cast<uint8_t>(c.primaries);
553
2.99k
  } else {
554
0
    return;
555
0
  }
556
2.99k
  JxlTransferFunction tf = c.transfer_function;
557
2.99k
  if (tf == JXL_TRANSFER_FUNCTION_UNKNOWN ||
558
2.99k
      tf == JXL_TRANSFER_FUNCTION_GAMMA) {
559
0
    return;
560
0
  }
561
2.99k
  WriteICCTag("cicp", tags->size(), tags);
562
2.99k
  WriteICCUint32(0, tags->size(), tags);
563
2.99k
  WriteICCUint8(primaries, tags->size(), tags);
564
2.99k
  WriteICCUint8(static_cast<uint8_t>(tf), tags->size(), tags);
565
  // Matrix
566
2.99k
  WriteICCUint8(0, tags->size(), tags);
567
  // Full range
568
2.99k
  WriteICCUint8(1, tags->size(), tags);
569
2.99k
  FinalizeICCTag(tags, offset, size);
570
2.99k
  AddToICCTagTable("cicp", *offset, *size, tagtable, offsets);
571
2.99k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_group.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
color_encoding_internal.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Line
Count
Source
537
450k
                                  std::vector<size_t>* offsets) {
538
450k
  if (c.color_space != JXL_COLOR_SPACE_RGB) {
539
0
    return;
540
0
  }
541
450k
  uint8_t primaries = 0;
542
450k
  if (c.primaries == JXL_PRIMARIES_P3) {
543
452
    if (c.white_point == JXL_WHITE_POINT_D65) {
544
415
      primaries = 12;
545
415
    } else if (c.white_point == JXL_WHITE_POINT_DCI) {
546
10
      primaries = 11;
547
27
    } else {
548
27
      return;
549
27
    }
550
450k
  } else if (c.primaries != JXL_PRIMARIES_CUSTOM &&
551
446k
             c.white_point == JXL_WHITE_POINT_D65) {
552
446k
    primaries = static_cast<uint8_t>(c.primaries);
553
446k
  } else {
554
3.72k
    return;
555
3.72k
  }
556
446k
  JxlTransferFunction tf = c.transfer_function;
557
446k
  if (tf == JXL_TRANSFER_FUNCTION_UNKNOWN ||
558
446k
      tf == JXL_TRANSFER_FUNCTION_GAMMA) {
559
766
    return;
560
766
  }
561
446k
  WriteICCTag("cicp", tags->size(), tags);
562
446k
  WriteICCUint32(0, tags->size(), tags);
563
446k
  WriteICCUint8(primaries, tags->size(), tags);
564
446k
  WriteICCUint8(static_cast<uint8_t>(tf), tags->size(), tags);
565
  // Matrix
566
446k
  WriteICCUint8(0, tags->size(), tags);
567
  // Full range
568
446k
  WriteICCUint8(1, tags->size(), tags);
569
446k
  FinalizeICCTag(tags, offset, size);
570
446k
  AddToICCTagTable("cicp", *offset, *size, tagtable, offsets);
571
446k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: blending.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: dec_group.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: decode.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: epf.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: frame_header.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: luminance.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: passes_state.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_write.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*)
572
573
static void CreateICCCurvCurvTag(const std::vector<uint16_t>& curve,
574
4.65k
                                 std::vector<uint8_t>* tags) {
575
4.65k
  size_t pos = tags->size();
576
4.65k
  tags->resize(tags->size() + 12 + curve.size() * 2, 0);
577
4.65k
  WriteICCTag("curv", pos, tags);
578
4.65k
  WriteICCUint32(0, pos + 4, tags);
579
4.65k
  WriteICCUint32(curve.size(), pos + 8, tags);
580
302k
  for (size_t i = 0; i < curve.size(); i++) {
581
297k
    WriteICCUint16(curve[i], pos + 12 + i * 2, tags);
582
297k
  }
583
4.65k
}
Unexecuted instantiation: encode.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
color_encoding_internal.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
574
4.65k
                                 std::vector<uint8_t>* tags) {
575
4.65k
  size_t pos = tags->size();
576
4.65k
  tags->resize(tags->size() + 12 + curve.size() * 2, 0);
577
4.65k
  WriteICCTag("curv", pos, tags);
578
4.65k
  WriteICCUint32(0, pos + 4, tags);
579
4.65k
  WriteICCUint32(curve.size(), pos + 8, tags);
580
302k
  for (size_t i = 0; i < curve.size(); i++) {
581
297k
    WriteICCUint16(curve[i], pos + 12 + i * 2, tags);
582
297k
  }
583
4.65k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: blending.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: epf.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
584
585
// Writes 12 + 4*params.size() bytes
586
static Status CreateICCCurvParaTag(const std::vector<float>& params,
587
                                   size_t curve_type,
588
526k
                                   std::vector<uint8_t>* tags) {
589
526k
  WriteICCTag("para", tags->size(), tags);
590
526k
  WriteICCUint32(0, tags->size(), tags);
591
526k
  WriteICCUint16(curve_type, tags->size(), tags);
592
526k
  WriteICCUint16(0, tags->size(), tags);
593
2.27M
  for (float param : params) {
594
2.27M
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(param, tags->size(), tags));
595
2.27M
  }
596
526k
  return true;
597
526k
}
encode.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
588
3.16k
                                   std::vector<uint8_t>* tags) {
589
3.16k
  WriteICCTag("para", tags->size(), tags);
590
3.16k
  WriteICCUint32(0, tags->size(), tags);
591
3.16k
  WriteICCUint16(curve_type, tags->size(), tags);
592
3.16k
  WriteICCUint16(0, tags->size(), tags);
593
15.8k
  for (float param : params) {
594
15.8k
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(param, tags->size(), tags));
595
15.8k
  }
596
3.16k
  return true;
597
3.16k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
color_encoding_internal.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
588
523k
                                   std::vector<uint8_t>* tags) {
589
523k
  WriteICCTag("para", tags->size(), tags);
590
523k
  WriteICCUint32(0, tags->size(), tags);
591
523k
  WriteICCUint16(curve_type, tags->size(), tags);
592
523k
  WriteICCUint16(0, tags->size(), tags);
593
2.25M
  for (float param : params) {
594
2.25M
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(param, tags->size(), tags));
595
2.25M
  }
596
523k
  return true;
597
523k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: blending.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: epf.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
598
599
3.09k
static Status CreateICCLutAtoBTagForXYB(std::vector<uint8_t>* tags) {
600
3.09k
  WriteICCTag("mAB ", tags->size(), tags);
601
  // 4 reserved bytes set to 0
602
3.09k
  WriteICCUint32(0, tags->size(), tags);
603
  // number of input channels
604
3.09k
  WriteICCUint8(3, tags->size(), tags);
605
  // number of output channels
606
3.09k
  WriteICCUint8(3, tags->size(), tags);
607
  // 2 reserved bytes for padding
608
3.09k
  WriteICCUint16(0, tags->size(), tags);
609
  // offset to first B curve
610
3.09k
  WriteICCUint32(32, tags->size(), tags);
611
  // offset to matrix
612
3.09k
  WriteICCUint32(244, tags->size(), tags);
613
  // offset to first M curve
614
3.09k
  WriteICCUint32(148, tags->size(), tags);
615
  // offset to CLUT
616
3.09k
  WriteICCUint32(80, tags->size(), tags);
617
  // offset to first A curve
618
  // (reuse linear B curves)
619
3.09k
  WriteICCUint32(32, tags->size(), tags);
620
621
  // offset = 32
622
  // no-op curves
623
3.09k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
624
3.09k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
625
3.09k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
626
  // offset = 80
627
  // number of grid points for each input channel
628
52.6k
  for (int i = 0; i < 16; ++i) {
629
49.5k
    WriteICCUint8(i < 3 ? 2 : 0, tags->size(), tags);
630
49.5k
  }
631
  // precision = 2
632
3.09k
  WriteICCUint8(2, tags->size(), tags);
633
  // 3 bytes of padding
634
3.09k
  WriteICCUint8(0, tags->size(), tags);
635
3.09k
  WriteICCUint16(0, tags->size(), tags);
636
  // 2*2*2*3 entries of 2 bytes each = 48 bytes
637
3.09k
  const jxl::cms::ColorCube3D& cube = jxl::cms::UnscaledA2BCube();
638
9.29k
  for (size_t ix = 0; ix < 2; ++ix) {
639
18.5k
    for (size_t iy = 0; iy < 2; ++iy) {
640
37.1k
      for (size_t ib = 0; ib < 2; ++ib) {
641
24.7k
        const jxl::cms::ColorCube0D& out_f = cube[ix][iy][ib];
642
99.1k
        for (int i = 0; i < 3; ++i) {
643
74.3k
          int32_t val = static_cast<int32_t>(std::lroundf(65535 * out_f[i]));
644
74.3k
          JXL_DASSERT(val >= 0 && val <= 65535);
645
74.3k
          WriteICCUint16(val, tags->size(), tags);
646
74.3k
        }
647
24.7k
      }
648
12.3k
    }
649
6.19k
  }
650
  // offset = 148
651
  // 3 curves with 5 parameters = 3 * (12 + 5 * 4) = 96 bytes
652
12.3k
  for (size_t i = 0; i < 3; ++i) {
653
9.29k
    const float b = -jxl::cms::kXYBOffset[i] -
654
9.29k
                    std::cbrt(jxl::cms::kNegOpsinAbsorbanceBiasRGB[i]);
655
9.29k
    std::vector<float> params = {
656
9.29k
        3,
657
9.29k
        1.0f / jxl::cms::kXYBScale[i],
658
9.29k
        b,
659
9.29k
        0,                                           // unused
660
9.29k
        std::max(0.f, -b * jxl::cms::kXYBScale[i]),  // make skcms happy
661
9.29k
    };
662
9.29k
    JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(params, 3, tags));
663
9.29k
  }
664
  // offset = 244
665
3.09k
  const double matrix[] = {1.5170095, -1.1065225, 0.071623,
666
3.09k
                           -0.050022, 0.5683655,  -0.018344,
667
3.09k
                           -1.387676, 1.1145555,  0.6857255};
668
  // 12 * 4 = 48 bytes
669
27.8k
  for (double v : matrix) {
670
27.8k
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(v, tags->size(), tags));
671
27.8k
  }
672
12.3k
  for (size_t i = 0; i < 3; ++i) {
673
9.29k
    float intercept = 0;
674
37.1k
    for (size_t j = 0; j < 3; ++j) {
675
27.8k
      intercept += matrix[i * 3 + j] * jxl::cms::kNegOpsinAbsorbanceBiasRGB[j];
676
27.8k
    }
677
9.29k
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(intercept, tags->size(), tags));
678
9.29k
  }
679
3.09k
  return true;
680
3.09k
}
Unexecuted instantiation: encode.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
color_encoding_internal.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
599
3.09k
static Status CreateICCLutAtoBTagForXYB(std::vector<uint8_t>* tags) {
600
3.09k
  WriteICCTag("mAB ", tags->size(), tags);
601
  // 4 reserved bytes set to 0
602
3.09k
  WriteICCUint32(0, tags->size(), tags);
603
  // number of input channels
604
3.09k
  WriteICCUint8(3, tags->size(), tags);
605
  // number of output channels
606
3.09k
  WriteICCUint8(3, tags->size(), tags);
607
  // 2 reserved bytes for padding
608
3.09k
  WriteICCUint16(0, tags->size(), tags);
609
  // offset to first B curve
610
3.09k
  WriteICCUint32(32, tags->size(), tags);
611
  // offset to matrix
612
3.09k
  WriteICCUint32(244, tags->size(), tags);
613
  // offset to first M curve
614
3.09k
  WriteICCUint32(148, tags->size(), tags);
615
  // offset to CLUT
616
3.09k
  WriteICCUint32(80, tags->size(), tags);
617
  // offset to first A curve
618
  // (reuse linear B curves)
619
3.09k
  WriteICCUint32(32, tags->size(), tags);
620
621
  // offset = 32
622
  // no-op curves
623
3.09k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
624
3.09k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
625
3.09k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
626
  // offset = 80
627
  // number of grid points for each input channel
628
52.6k
  for (int i = 0; i < 16; ++i) {
629
49.5k
    WriteICCUint8(i < 3 ? 2 : 0, tags->size(), tags);
630
49.5k
  }
631
  // precision = 2
632
3.09k
  WriteICCUint8(2, tags->size(), tags);
633
  // 3 bytes of padding
634
3.09k
  WriteICCUint8(0, tags->size(), tags);
635
3.09k
  WriteICCUint16(0, tags->size(), tags);
636
  // 2*2*2*3 entries of 2 bytes each = 48 bytes
637
3.09k
  const jxl::cms::ColorCube3D& cube = jxl::cms::UnscaledA2BCube();
638
9.29k
  for (size_t ix = 0; ix < 2; ++ix) {
639
18.5k
    for (size_t iy = 0; iy < 2; ++iy) {
640
37.1k
      for (size_t ib = 0; ib < 2; ++ib) {
641
24.7k
        const jxl::cms::ColorCube0D& out_f = cube[ix][iy][ib];
642
99.1k
        for (int i = 0; i < 3; ++i) {
643
74.3k
          int32_t val = static_cast<int32_t>(std::lroundf(65535 * out_f[i]));
644
74.3k
          JXL_DASSERT(val >= 0 && val <= 65535);
645
74.3k
          WriteICCUint16(val, tags->size(), tags);
646
74.3k
        }
647
24.7k
      }
648
12.3k
    }
649
6.19k
  }
650
  // offset = 148
651
  // 3 curves with 5 parameters = 3 * (12 + 5 * 4) = 96 bytes
652
12.3k
  for (size_t i = 0; i < 3; ++i) {
653
9.29k
    const float b = -jxl::cms::kXYBOffset[i] -
654
9.29k
                    std::cbrt(jxl::cms::kNegOpsinAbsorbanceBiasRGB[i]);
655
9.29k
    std::vector<float> params = {
656
9.29k
        3,
657
9.29k
        1.0f / jxl::cms::kXYBScale[i],
658
9.29k
        b,
659
9.29k
        0,                                           // unused
660
9.29k
        std::max(0.f, -b * jxl::cms::kXYBScale[i]),  // make skcms happy
661
9.29k
    };
662
9.29k
    JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(params, 3, tags));
663
9.29k
  }
664
  // offset = 244
665
3.09k
  const double matrix[] = {1.5170095, -1.1065225, 0.071623,
666
3.09k
                           -0.050022, 0.5683655,  -0.018344,
667
3.09k
                           -1.387676, 1.1145555,  0.6857255};
668
  // 12 * 4 = 48 bytes
669
27.8k
  for (double v : matrix) {
670
27.8k
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(v, tags->size(), tags));
671
27.8k
  }
672
12.3k
  for (size_t i = 0; i < 3; ++i) {
673
9.29k
    float intercept = 0;
674
37.1k
    for (size_t j = 0; j < 3; ++j) {
675
27.8k
      intercept += matrix[i * 3 + j] * jxl::cms::kNegOpsinAbsorbanceBiasRGB[j];
676
27.8k
    }
677
9.29k
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(intercept, tags->size(), tags));
678
9.29k
  }
679
3.09k
  return true;
680
3.09k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: blending.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: epf.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
681
682
static Status CreateICCLutAtoBTagForHDR(JxlColorEncoding color_encoding,
683
23.3k
                                        std::vector<uint8_t>* tags) {
684
23.3k
  static constexpr size_t k3DLutDim = 9;
685
23.3k
  WriteICCTag("mft1", tags->size(), tags);
686
  // 4 reserved bytes set to 0
687
23.3k
  WriteICCUint32(0, tags->size(), tags);
688
  // number of input channels
689
23.3k
  WriteICCUint8(3, tags->size(), tags);
690
  // number of output channels
691
23.3k
  WriteICCUint8(3, tags->size(), tags);
692
  // number of CLUT grid points
693
23.3k
  WriteICCUint8(k3DLutDim, tags->size(), tags);
694
  // 1 reserved bytes for padding
695
23.3k
  WriteICCUint8(0, tags->size(), tags);
696
697
  // Matrix (per specification, must be identity if input is not XYZ)
698
93.4k
  for (size_t i = 0; i < 3; ++i) {
699
280k
    for (size_t j = 0; j < 3; ++j) {
700
210k
      JXL_RETURN_IF_ERROR(
701
210k
          WriteICCS15Fixed16(i == j ? 1.f : 0.f, tags->size(), tags));
702
210k
    }
703
70.0k
  }
704
705
  // Input tables
706
93.4k
  for (size_t c = 0; c < 3; ++c) {
707
18.0M
    for (size_t i = 0; i < 256; ++i) {
708
17.9M
      WriteICCUint8(i, tags->size(), tags);
709
17.9M
    }
710
70.0k
  }
711
712
233k
  for (size_t ix = 0; ix < k3DLutDim; ++ix) {
713
2.10M
    for (size_t iy = 0; iy < k3DLutDim; ++iy) {
714
18.9M
      for (size_t ib = 0; ib < k3DLutDim; ++ib) {
715
17.0M
        float f[3] = {ix * (1.0f / (k3DLutDim - 1)),
716
17.0M
                      iy * (1.0f / (k3DLutDim - 1)),
717
17.0M
                      ib * (1.0f / (k3DLutDim - 1))};
718
17.0M
        uint8_t pcslab_out[3];
719
17.0M
        JXL_RETURN_IF_ERROR(ToneMapPixel(color_encoding, f, pcslab_out));
720
51.0M
        for (uint8_t val : pcslab_out) {
721
51.0M
          WriteICCUint8(val, tags->size(), tags);
722
51.0M
        }
723
17.0M
      }
724
1.89M
    }
725
210k
  }
726
727
  // Output tables
728
93.4k
  for (size_t c = 0; c < 3; ++c) {
729
18.0M
    for (size_t i = 0; i < 256; ++i) {
730
17.9M
      WriteICCUint8(i, tags->size(), tags);
731
17.9M
    }
732
70.0k
  }
733
734
23.3k
  return true;
735
23.3k
}
Unexecuted instantiation: encode.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
color_encoding_internal.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
683
23.3k
                                        std::vector<uint8_t>* tags) {
684
23.3k
  static constexpr size_t k3DLutDim = 9;
685
23.3k
  WriteICCTag("mft1", tags->size(), tags);
686
  // 4 reserved bytes set to 0
687
23.3k
  WriteICCUint32(0, tags->size(), tags);
688
  // number of input channels
689
23.3k
  WriteICCUint8(3, tags->size(), tags);
690
  // number of output channels
691
23.3k
  WriteICCUint8(3, tags->size(), tags);
692
  // number of CLUT grid points
693
23.3k
  WriteICCUint8(k3DLutDim, tags->size(), tags);
694
  // 1 reserved bytes for padding
695
23.3k
  WriteICCUint8(0, tags->size(), tags);
696
697
  // Matrix (per specification, must be identity if input is not XYZ)
698
93.4k
  for (size_t i = 0; i < 3; ++i) {
699
280k
    for (size_t j = 0; j < 3; ++j) {
700
210k
      JXL_RETURN_IF_ERROR(
701
210k
          WriteICCS15Fixed16(i == j ? 1.f : 0.f, tags->size(), tags));
702
210k
    }
703
70.0k
  }
704
705
  // Input tables
706
93.4k
  for (size_t c = 0; c < 3; ++c) {
707
18.0M
    for (size_t i = 0; i < 256; ++i) {
708
17.9M
      WriteICCUint8(i, tags->size(), tags);
709
17.9M
    }
710
70.0k
  }
711
712
233k
  for (size_t ix = 0; ix < k3DLutDim; ++ix) {
713
2.10M
    for (size_t iy = 0; iy < k3DLutDim; ++iy) {
714
18.9M
      for (size_t ib = 0; ib < k3DLutDim; ++ib) {
715
17.0M
        float f[3] = {ix * (1.0f / (k3DLutDim - 1)),
716
17.0M
                      iy * (1.0f / (k3DLutDim - 1)),
717
17.0M
                      ib * (1.0f / (k3DLutDim - 1))};
718
17.0M
        uint8_t pcslab_out[3];
719
17.0M
        JXL_RETURN_IF_ERROR(ToneMapPixel(color_encoding, f, pcslab_out));
720
51.0M
        for (uint8_t val : pcslab_out) {
721
51.0M
          WriteICCUint8(val, tags->size(), tags);
722
51.0M
        }
723
17.0M
      }
724
1.89M
    }
725
210k
  }
726
727
  // Output tables
728
93.4k
  for (size_t c = 0; c < 3; ++c) {
729
18.0M
    for (size_t i = 0; i < 256; ++i) {
730
17.9M
      WriteICCUint8(i, tags->size(), tags);
731
17.9M
    }
732
70.0k
  }
733
734
23.3k
  return true;
735
23.3k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: blending.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: epf.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
736
737
// Some software (Apple Safari, Preview) requires this.
738
26.4k
static Status CreateICCNoOpBToATag(std::vector<uint8_t>* tags) {
739
26.4k
  WriteICCTag("mBA ", tags->size(), tags);  // notypo
740
  // 4 reserved bytes set to 0
741
26.4k
  WriteICCUint32(0, tags->size(), tags);
742
  // number of input channels
743
26.4k
  WriteICCUint8(3, tags->size(), tags);
744
  // number of output channels
745
26.4k
  WriteICCUint8(3, tags->size(), tags);
746
  // 2 reserved bytes for padding
747
26.4k
  WriteICCUint16(0, tags->size(), tags);
748
  // offset to first B curve
749
26.4k
  WriteICCUint32(32, tags->size(), tags);
750
  // offset to matrix
751
26.4k
  WriteICCUint32(0, tags->size(), tags);
752
  // offset to first M curve
753
26.4k
  WriteICCUint32(0, tags->size(), tags);
754
  // offset to CLUT
755
26.4k
  WriteICCUint32(0, tags->size(), tags);
756
  // offset to first A curve
757
26.4k
  WriteICCUint32(0, tags->size(), tags);
758
759
26.4k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
760
26.4k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
761
26.4k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
762
763
26.4k
  return true;
764
26.4k
}
Unexecuted instantiation: encode.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
color_encoding_internal.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
738
26.4k
static Status CreateICCNoOpBToATag(std::vector<uint8_t>* tags) {
739
26.4k
  WriteICCTag("mBA ", tags->size(), tags);  // notypo
740
  // 4 reserved bytes set to 0
741
26.4k
  WriteICCUint32(0, tags->size(), tags);
742
  // number of input channels
743
26.4k
  WriteICCUint8(3, tags->size(), tags);
744
  // number of output channels
745
26.4k
  WriteICCUint8(3, tags->size(), tags);
746
  // 2 reserved bytes for padding
747
26.4k
  WriteICCUint16(0, tags->size(), tags);
748
  // offset to first B curve
749
26.4k
  WriteICCUint32(32, tags->size(), tags);
750
  // offset to matrix
751
26.4k
  WriteICCUint32(0, tags->size(), tags);
752
  // offset to first M curve
753
26.4k
  WriteICCUint32(0, tags->size(), tags);
754
  // offset to CLUT
755
26.4k
  WriteICCUint32(0, tags->size(), tags);
756
  // offset to first A curve
757
26.4k
  WriteICCUint32(0, tags->size(), tags);
758
759
26.4k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
760
26.4k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
761
26.4k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
762
763
26.4k
  return true;
764
26.4k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: blending.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: epf.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
765
766
// These strings are baked into Description - do not change.
767
768
459k
static std::string ToString(JxlColorSpace color_space) {
769
459k
  switch (color_space) {
770
453k
    case JXL_COLOR_SPACE_RGB:
771
453k
      return "RGB";
772
3.12k
    case JXL_COLOR_SPACE_GRAY:
773
3.12k
      return "Gra";
774
3.09k
    case JXL_COLOR_SPACE_XYB:
775
3.09k
      return "XYB";
776
0
    case JXL_COLOR_SPACE_UNKNOWN:
777
0
      return "CS?";
778
0
    default:
779
      // Should not happen - visitor fails if enum is invalid.
780
0
      JXL_DEBUG_ABORT("Invalid ColorSpace %u",
781
0
                      static_cast<uint32_t>(color_space));
782
0
      return "Invalid";
783
459k
  }
784
459k
}
encode.cc:jxl::detail::ToString(JxlColorSpace)
Line
Count
Source
768
3.16k
static std::string ToString(JxlColorSpace color_space) {
769
3.16k
  switch (color_space) {
770
2.99k
    case JXL_COLOR_SPACE_RGB:
771
2.99k
      return "RGB";
772
171
    case JXL_COLOR_SPACE_GRAY:
773
171
      return "Gra";
774
0
    case JXL_COLOR_SPACE_XYB:
775
0
      return "XYB";
776
0
    case JXL_COLOR_SPACE_UNKNOWN:
777
0
      return "CS?";
778
0
    default:
779
      // Should not happen - visitor fails if enum is invalid.
780
0
      JXL_DEBUG_ABORT("Invalid ColorSpace %u",
781
0
                      static_cast<uint32_t>(color_space));
782
0
      return "Invalid";
783
3.16k
  }
784
3.16k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_ans.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_frame.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_modular.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_cache.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_group.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::ToString(JxlColorSpace)
color_encoding_internal.cc:jxl::detail::ToString(JxlColorSpace)
Line
Count
Source
768
456k
static std::string ToString(JxlColorSpace color_space) {
769
456k
  switch (color_space) {
770
450k
    case JXL_COLOR_SPACE_RGB:
771
450k
      return "RGB";
772
2.95k
    case JXL_COLOR_SPACE_GRAY:
773
2.95k
      return "Gra";
774
3.09k
    case JXL_COLOR_SPACE_XYB:
775
3.09k
      return "XYB";
776
0
    case JXL_COLOR_SPACE_UNKNOWN:
777
0
      return "CS?";
778
0
    default:
779
      // Should not happen - visitor fails if enum is invalid.
780
0
      JXL_DEBUG_ABORT("Invalid ColorSpace %u",
781
0
                      static_cast<uint32_t>(color_space));
782
0
      return "Invalid";
783
456k
  }
784
456k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: dec_cache.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: blending.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: dec_frame.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: dec_group.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: dec_modular.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: dec_noise.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: decode.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: epf.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: frame_header.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: image_bundle.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: image_metadata.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: luminance.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: passes_state.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: quant_weights.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: stage_blending.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: stage_cms.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: stage_epf.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: stage_noise.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: stage_patches.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: stage_splines.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: stage_spot.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: stage_write.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ToString(JxlColorSpace)
785
786
453k
static std::string ToString(JxlWhitePoint white_point) {
787
453k
  switch (white_point) {
788
452k
    case JXL_WHITE_POINT_D65:
789
452k
      return "D65";
790
0
    case JXL_WHITE_POINT_CUSTOM:
791
0
      return "Cst";
792
428
    case JXL_WHITE_POINT_E:
793
428
      return "EER";
794
454
    case JXL_WHITE_POINT_DCI:
795
454
      return "DCI";
796
0
    default:
797
      // Should not happen - visitor fails if enum is invalid.
798
0
      JXL_DEBUG_ABORT("Invalid WhitePoint %u",
799
0
                      static_cast<uint32_t>(white_point));
800
0
      return "Invalid";
801
453k
  }
802
453k
}
encode.cc:jxl::detail::ToString(JxlWhitePoint)
Line
Count
Source
786
3.16k
static std::string ToString(JxlWhitePoint white_point) {
787
3.16k
  switch (white_point) {
788
3.16k
    case JXL_WHITE_POINT_D65:
789
3.16k
      return "D65";
790
0
    case JXL_WHITE_POINT_CUSTOM:
791
0
      return "Cst";
792
0
    case JXL_WHITE_POINT_E:
793
0
      return "EER";
794
0
    case JXL_WHITE_POINT_DCI:
795
0
      return "DCI";
796
0
    default:
797
      // Should not happen - visitor fails if enum is invalid.
798
0
      JXL_DEBUG_ABORT("Invalid WhitePoint %u",
799
0
                      static_cast<uint32_t>(white_point));
800
0
      return "Invalid";
801
3.16k
  }
802
3.16k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_ans.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_frame.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_modular.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_cache.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_group.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::ToString(JxlWhitePoint)
color_encoding_internal.cc:jxl::detail::ToString(JxlWhitePoint)
Line
Count
Source
786
449k
static std::string ToString(JxlWhitePoint white_point) {
787
449k
  switch (white_point) {
788
448k
    case JXL_WHITE_POINT_D65:
789
448k
      return "D65";
790
0
    case JXL_WHITE_POINT_CUSTOM:
791
0
      return "Cst";
792
428
    case JXL_WHITE_POINT_E:
793
428
      return "EER";
794
454
    case JXL_WHITE_POINT_DCI:
795
454
      return "DCI";
796
0
    default:
797
      // Should not happen - visitor fails if enum is invalid.
798
0
      JXL_DEBUG_ABORT("Invalid WhitePoint %u",
799
0
                      static_cast<uint32_t>(white_point));
800
0
      return "Invalid";
801
449k
  }
802
449k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: dec_cache.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: blending.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: dec_frame.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: dec_group.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: dec_modular.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: dec_noise.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: decode.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: epf.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: frame_header.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: image_bundle.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: image_metadata.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: luminance.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: passes_state.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: quant_weights.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: stage_blending.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: stage_cms.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: stage_epf.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: stage_noise.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: stage_patches.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: stage_splines.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: stage_spot.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: stage_write.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ToString(JxlWhitePoint)
803
804
450k
static std::string ToString(JxlPrimaries primaries) {
805
450k
  switch (primaries) {
806
443k
    case JXL_PRIMARIES_SRGB:
807
443k
      return "SRG";
808
6.13k
    case JXL_PRIMARIES_2100:
809
6.13k
      return "202";
810
432
    case JXL_PRIMARIES_P3:
811
432
      return "DCI";
812
0
    case JXL_PRIMARIES_CUSTOM:
813
0
      return "Cst";
814
0
    default:
815
      // Should not happen - visitor fails if enum is invalid.
816
0
      JXL_DEBUG_ABORT("Invalid Primaries %u", static_cast<uint32_t>(primaries));
817
0
      return "Invalid";
818
450k
  }
819
450k
}
encode.cc:jxl::detail::ToString(JxlPrimaries)
Line
Count
Source
804
2.99k
static std::string ToString(JxlPrimaries primaries) {
805
2.99k
  switch (primaries) {
806
2.99k
    case JXL_PRIMARIES_SRGB:
807
2.99k
      return "SRG";
808
0
    case JXL_PRIMARIES_2100:
809
0
      return "202";
810
0
    case JXL_PRIMARIES_P3:
811
0
      return "DCI";
812
0
    case JXL_PRIMARIES_CUSTOM:
813
0
      return "Cst";
814
0
    default:
815
      // Should not happen - visitor fails if enum is invalid.
816
0
      JXL_DEBUG_ABORT("Invalid Primaries %u", static_cast<uint32_t>(primaries));
817
0
      return "Invalid";
818
2.99k
  }
819
2.99k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_ans.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_frame.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_modular.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_cache.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_group.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::ToString(JxlPrimaries)
color_encoding_internal.cc:jxl::detail::ToString(JxlPrimaries)
Line
Count
Source
804
447k
static std::string ToString(JxlPrimaries primaries) {
805
447k
  switch (primaries) {
806
440k
    case JXL_PRIMARIES_SRGB:
807
440k
      return "SRG";
808
6.13k
    case JXL_PRIMARIES_2100:
809
6.13k
      return "202";
810
432
    case JXL_PRIMARIES_P3:
811
432
      return "DCI";
812
0
    case JXL_PRIMARIES_CUSTOM:
813
0
      return "Cst";
814
0
    default:
815
      // Should not happen - visitor fails if enum is invalid.
816
0
      JXL_DEBUG_ABORT("Invalid Primaries %u", static_cast<uint32_t>(primaries));
817
0
      return "Invalid";
818
447k
  }
819
447k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: dec_cache.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: blending.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: dec_frame.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: dec_group.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: dec_modular.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: dec_noise.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: decode.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: epf.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: frame_header.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: image_bundle.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: image_metadata.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: luminance.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: passes_state.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: quant_weights.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: stage_blending.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: stage_cms.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: stage_epf.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: stage_noise.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: stage_patches.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: stage_splines.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: stage_spot.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: stage_write.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ToString(JxlPrimaries)
820
821
455k
static std::string ToString(JxlTransferFunction transfer_function) {
822
455k
  switch (transfer_function) {
823
426k
    case JXL_TRANSFER_FUNCTION_SRGB:
824
426k
      return "SRG";
825
224
    case JXL_TRANSFER_FUNCTION_LINEAR:
826
224
      return "Lin";
827
589
    case JXL_TRANSFER_FUNCTION_709:
828
589
      return "709";
829
19.1k
    case JXL_TRANSFER_FUNCTION_PQ:
830
19.1k
      return "PeQ";
831
8.75k
    case JXL_TRANSFER_FUNCTION_HLG:
832
8.75k
      return "HLG";
833
287
    case JXL_TRANSFER_FUNCTION_DCI:
834
287
      return "DCI";
835
0
    case JXL_TRANSFER_FUNCTION_UNKNOWN:
836
0
      return "TF?";
837
0
    case JXL_TRANSFER_FUNCTION_GAMMA:
838
0
      JXL_DEBUG_ABORT("Invalid TransferFunction: gamma");
839
0
      return "Invalid";
840
0
    default:
841
      // Should not happen - visitor fails if enum is invalid.
842
0
      JXL_DEBUG_ABORT("Invalid TransferFunction %u",
843
0
                      static_cast<uint32_t>(transfer_function));
844
0
      return "Invalid";
845
455k
  }
846
455k
}
encode.cc:jxl::detail::ToString(JxlTransferFunction)
Line
Count
Source
821
3.16k
static std::string ToString(JxlTransferFunction transfer_function) {
822
3.16k
  switch (transfer_function) {
823
3.15k
    case JXL_TRANSFER_FUNCTION_SRGB:
824
3.15k
      return "SRG";
825
10
    case JXL_TRANSFER_FUNCTION_LINEAR:
826
10
      return "Lin";
827
0
    case JXL_TRANSFER_FUNCTION_709:
828
0
      return "709";
829
0
    case JXL_TRANSFER_FUNCTION_PQ:
830
0
      return "PeQ";
831
0
    case JXL_TRANSFER_FUNCTION_HLG:
832
0
      return "HLG";
833
0
    case JXL_TRANSFER_FUNCTION_DCI:
834
0
      return "DCI";
835
0
    case JXL_TRANSFER_FUNCTION_UNKNOWN:
836
0
      return "TF?";
837
0
    case JXL_TRANSFER_FUNCTION_GAMMA:
838
0
      JXL_DEBUG_ABORT("Invalid TransferFunction: gamma");
839
0
      return "Invalid";
840
0
    default:
841
      // Should not happen - visitor fails if enum is invalid.
842
0
      JXL_DEBUG_ABORT("Invalid TransferFunction %u",
843
0
                      static_cast<uint32_t>(transfer_function));
844
0
      return "Invalid";
845
3.16k
  }
846
3.16k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_ans.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_frame.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_modular.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_cache.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_group.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::ToString(JxlTransferFunction)
color_encoding_internal.cc:jxl::detail::ToString(JxlTransferFunction)
Line
Count
Source
821
451k
static std::string ToString(JxlTransferFunction transfer_function) {
822
451k
  switch (transfer_function) {
823
422k
    case JXL_TRANSFER_FUNCTION_SRGB:
824
422k
      return "SRG";
825
214
    case JXL_TRANSFER_FUNCTION_LINEAR:
826
214
      return "Lin";
827
589
    case JXL_TRANSFER_FUNCTION_709:
828
589
      return "709";
829
19.1k
    case JXL_TRANSFER_FUNCTION_PQ:
830
19.1k
      return "PeQ";
831
8.75k
    case JXL_TRANSFER_FUNCTION_HLG:
832
8.75k
      return "HLG";
833
287
    case JXL_TRANSFER_FUNCTION_DCI:
834
287
      return "DCI";
835
0
    case JXL_TRANSFER_FUNCTION_UNKNOWN:
836
0
      return "TF?";
837
0
    case JXL_TRANSFER_FUNCTION_GAMMA:
838
0
      JXL_DEBUG_ABORT("Invalid TransferFunction: gamma");
839
0
      return "Invalid";
840
0
    default:
841
      // Should not happen - visitor fails if enum is invalid.
842
0
      JXL_DEBUG_ABORT("Invalid TransferFunction %u",
843
0
                      static_cast<uint32_t>(transfer_function));
844
0
      return "Invalid";
845
451k
  }
846
451k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: dec_cache.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: blending.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: dec_frame.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: dec_group.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: dec_modular.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: dec_noise.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: decode.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: epf.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: frame_header.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: image_bundle.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: image_metadata.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: luminance.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: passes_state.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: quant_weights.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: stage_blending.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: stage_cms.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: stage_epf.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: stage_noise.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: stage_patches.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: stage_splines.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: stage_spot.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: stage_write.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ToString(JxlTransferFunction)
847
848
459k
static std::string ToString(JxlRenderingIntent rendering_intent) {
849
459k
  switch (rendering_intent) {
850
29.0k
    case JXL_RENDERING_INTENT_PERCEPTUAL:
851
29.0k
      return "Per";
852
429k
    case JXL_RENDERING_INTENT_RELATIVE:
853
429k
      return "Rel";
854
244
    case JXL_RENDERING_INTENT_SATURATION:
855
244
      return "Sat";
856
396
    case JXL_RENDERING_INTENT_ABSOLUTE:
857
396
      return "Abs";
858
459k
  }
859
  // Should not happen - visitor fails if enum is invalid.
860
0
  JXL_DEBUG_ABORT("Invalid RenderingIntent %u",
861
0
                  static_cast<uint32_t>(rendering_intent));
862
0
  return "Invalid";
863
459k
}
encode.cc:jxl::detail::ToString(JxlRenderingIntent)
Line
Count
Source
848
3.16k
static std::string ToString(JxlRenderingIntent rendering_intent) {
849
3.16k
  switch (rendering_intent) {
850
0
    case JXL_RENDERING_INTENT_PERCEPTUAL:
851
0
      return "Per";
852
3.16k
    case JXL_RENDERING_INTENT_RELATIVE:
853
3.16k
      return "Rel";
854
0
    case JXL_RENDERING_INTENT_SATURATION:
855
0
      return "Sat";
856
0
    case JXL_RENDERING_INTENT_ABSOLUTE:
857
0
      return "Abs";
858
3.16k
  }
859
  // Should not happen - visitor fails if enum is invalid.
860
0
  JXL_DEBUG_ABORT("Invalid RenderingIntent %u",
861
0
                  static_cast<uint32_t>(rendering_intent));
862
0
  return "Invalid";
863
3.16k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_ans.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_frame.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_modular.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_cache.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_group.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::ToString(JxlRenderingIntent)
color_encoding_internal.cc:jxl::detail::ToString(JxlRenderingIntent)
Line
Count
Source
848
456k
static std::string ToString(JxlRenderingIntent rendering_intent) {
849
456k
  switch (rendering_intent) {
850
29.0k
    case JXL_RENDERING_INTENT_PERCEPTUAL:
851
29.0k
      return "Per";
852
426k
    case JXL_RENDERING_INTENT_RELATIVE:
853
426k
      return "Rel";
854
244
    case JXL_RENDERING_INTENT_SATURATION:
855
244
      return "Sat";
856
396
    case JXL_RENDERING_INTENT_ABSOLUTE:
857
396
      return "Abs";
858
456k
  }
859
  // Should not happen - visitor fails if enum is invalid.
860
0
  JXL_DEBUG_ABORT("Invalid RenderingIntent %u",
861
0
                  static_cast<uint32_t>(rendering_intent));
862
0
  return "Invalid";
863
456k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: dec_cache.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: blending.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: dec_frame.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: dec_group.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: dec_modular.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: dec_noise.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: decode.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: epf.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: frame_header.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: image_bundle.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: image_metadata.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: luminance.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: passes_state.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: quant_weights.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: stage_blending.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: stage_cms.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: stage_epf.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: stage_noise.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: stage_patches.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: stage_splines.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: stage_spot.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: stage_write.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ToString(JxlRenderingIntent)
864
865
459k
static std::string ColorEncodingDescriptionImpl(const JxlColorEncoding& c) {
866
459k
  if (c.color_space == JXL_COLOR_SPACE_RGB &&
867
453k
      c.white_point == JXL_WHITE_POINT_D65) {
868
450k
    if (c.rendering_intent == JXL_RENDERING_INTENT_PERCEPTUAL &&
869
23.9k
        c.transfer_function == JXL_TRANSFER_FUNCTION_SRGB) {
870
328
      if (c.primaries == JXL_PRIMARIES_SRGB) return "sRGB";
871
48
      if (c.primaries == JXL_PRIMARIES_P3) return "DisplayP3";
872
48
    }
873
449k
    if (c.rendering_intent == JXL_RENDERING_INTENT_RELATIVE &&
874
425k
        c.primaries == JXL_PRIMARIES_2100) {
875
201
      if (c.transfer_function == JXL_TRANSFER_FUNCTION_PQ) return "Rec2100PQ";
876
96
      if (c.transfer_function == JXL_TRANSFER_FUNCTION_HLG) return "Rec2100HLG";
877
96
    }
878
449k
  }
879
880
459k
  std::string d = ToString(c.color_space);
881
882
459k
  bool explicit_wp_tf = (c.color_space != JXL_COLOR_SPACE_XYB);
883
459k
  if (explicit_wp_tf) {
884
456k
    d += '_';
885
456k
    if (c.white_point == JXL_WHITE_POINT_CUSTOM) {
886
3.43k
      d += jxl::ToString(c.white_point_xy[0]) + ';';
887
3.43k
      d += jxl::ToString(c.white_point_xy[1]);
888
453k
    } else {
889
453k
      d += ToString(c.white_point);
890
453k
    }
891
456k
  }
892
893
459k
  if ((c.color_space != JXL_COLOR_SPACE_GRAY) &&
894
456k
      (c.color_space != JXL_COLOR_SPACE_XYB)) {
895
453k
    d += '_';
896
453k
    if (c.primaries == JXL_PRIMARIES_CUSTOM) {
897
3.31k
      d += jxl::ToString(c.primaries_red_xy[0]) + ';';
898
3.31k
      d += jxl::ToString(c.primaries_red_xy[1]) + ';';
899
3.31k
      d += jxl::ToString(c.primaries_green_xy[0]) + ';';
900
3.31k
      d += jxl::ToString(c.primaries_green_xy[1]) + ';';
901
3.31k
      d += jxl::ToString(c.primaries_blue_xy[0]) + ';';
902
3.31k
      d += jxl::ToString(c.primaries_blue_xy[1]);
903
450k
    } else {
904
450k
      d += ToString(c.primaries);
905
450k
    }
906
453k
  }
907
908
459k
  d += '_';
909
459k
  d += ToString(c.rendering_intent);
910
911
459k
  if (explicit_wp_tf) {
912
456k
    JxlTransferFunction tf = c.transfer_function;
913
456k
    d += '_';
914
456k
    if (tf == JXL_TRANSFER_FUNCTION_GAMMA) {
915
1.43k
      d += 'g';
916
1.43k
      d += jxl::ToString(c.gamma);
917
455k
    } else {
918
455k
      d += ToString(tf);
919
455k
    }
920
456k
  }
921
459k
  return d;
922
459k
}
encode.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Line
Count
Source
865
3.16k
static std::string ColorEncodingDescriptionImpl(const JxlColorEncoding& c) {
866
3.16k
  if (c.color_space == JXL_COLOR_SPACE_RGB &&
867
2.99k
      c.white_point == JXL_WHITE_POINT_D65) {
868
2.99k
    if (c.rendering_intent == JXL_RENDERING_INTENT_PERCEPTUAL &&
869
0
        c.transfer_function == JXL_TRANSFER_FUNCTION_SRGB) {
870
0
      if (c.primaries == JXL_PRIMARIES_SRGB) return "sRGB";
871
0
      if (c.primaries == JXL_PRIMARIES_P3) return "DisplayP3";
872
0
    }
873
2.99k
    if (c.rendering_intent == JXL_RENDERING_INTENT_RELATIVE &&
874
2.99k
        c.primaries == JXL_PRIMARIES_2100) {
875
0
      if (c.transfer_function == JXL_TRANSFER_FUNCTION_PQ) return "Rec2100PQ";
876
0
      if (c.transfer_function == JXL_TRANSFER_FUNCTION_HLG) return "Rec2100HLG";
877
0
    }
878
2.99k
  }
879
880
3.16k
  std::string d = ToString(c.color_space);
881
882
3.16k
  bool explicit_wp_tf = (c.color_space != JXL_COLOR_SPACE_XYB);
883
3.16k
  if (explicit_wp_tf) {
884
3.16k
    d += '_';
885
3.16k
    if (c.white_point == JXL_WHITE_POINT_CUSTOM) {
886
0
      d += jxl::ToString(c.white_point_xy[0]) + ';';
887
0
      d += jxl::ToString(c.white_point_xy[1]);
888
3.16k
    } else {
889
3.16k
      d += ToString(c.white_point);
890
3.16k
    }
891
3.16k
  }
892
893
3.16k
  if ((c.color_space != JXL_COLOR_SPACE_GRAY) &&
894
2.99k
      (c.color_space != JXL_COLOR_SPACE_XYB)) {
895
2.99k
    d += '_';
896
2.99k
    if (c.primaries == JXL_PRIMARIES_CUSTOM) {
897
0
      d += jxl::ToString(c.primaries_red_xy[0]) + ';';
898
0
      d += jxl::ToString(c.primaries_red_xy[1]) + ';';
899
0
      d += jxl::ToString(c.primaries_green_xy[0]) + ';';
900
0
      d += jxl::ToString(c.primaries_green_xy[1]) + ';';
901
0
      d += jxl::ToString(c.primaries_blue_xy[0]) + ';';
902
0
      d += jxl::ToString(c.primaries_blue_xy[1]);
903
2.99k
    } else {
904
2.99k
      d += ToString(c.primaries);
905
2.99k
    }
906
2.99k
  }
907
908
3.16k
  d += '_';
909
3.16k
  d += ToString(c.rendering_intent);
910
911
3.16k
  if (explicit_wp_tf) {
912
3.16k
    JxlTransferFunction tf = c.transfer_function;
913
3.16k
    d += '_';
914
3.16k
    if (tf == JXL_TRANSFER_FUNCTION_GAMMA) {
915
0
      d += 'g';
916
0
      d += jxl::ToString(c.gamma);
917
3.16k
    } else {
918
3.16k
      d += ToString(tf);
919
3.16k
    }
920
3.16k
  }
921
3.16k
  return d;
922
3.16k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_ans.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_frame.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_modular.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_cache.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_group.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
color_encoding_internal.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Line
Count
Source
865
456k
static std::string ColorEncodingDescriptionImpl(const JxlColorEncoding& c) {
866
456k
  if (c.color_space == JXL_COLOR_SPACE_RGB &&
867
450k
      c.white_point == JXL_WHITE_POINT_D65) {
868
447k
    if (c.rendering_intent == JXL_RENDERING_INTENT_PERCEPTUAL &&
869
23.9k
        c.transfer_function == JXL_TRANSFER_FUNCTION_SRGB) {
870
328
      if (c.primaries == JXL_PRIMARIES_SRGB) return "sRGB";
871
48
      if (c.primaries == JXL_PRIMARIES_P3) return "DisplayP3";
872
48
    }
873
446k
    if (c.rendering_intent == JXL_RENDERING_INTENT_RELATIVE &&
874
422k
        c.primaries == JXL_PRIMARIES_2100) {
875
201
      if (c.transfer_function == JXL_TRANSFER_FUNCTION_PQ) return "Rec2100PQ";
876
96
      if (c.transfer_function == JXL_TRANSFER_FUNCTION_HLG) return "Rec2100HLG";
877
96
    }
878
446k
  }
879
880
456k
  std::string d = ToString(c.color_space);
881
882
456k
  bool explicit_wp_tf = (c.color_space != JXL_COLOR_SPACE_XYB);
883
456k
  if (explicit_wp_tf) {
884
453k
    d += '_';
885
453k
    if (c.white_point == JXL_WHITE_POINT_CUSTOM) {
886
3.43k
      d += jxl::ToString(c.white_point_xy[0]) + ';';
887
3.43k
      d += jxl::ToString(c.white_point_xy[1]);
888
449k
    } else {
889
449k
      d += ToString(c.white_point);
890
449k
    }
891
453k
  }
892
893
456k
  if ((c.color_space != JXL_COLOR_SPACE_GRAY) &&
894
453k
      (c.color_space != JXL_COLOR_SPACE_XYB)) {
895
450k
    d += '_';
896
450k
    if (c.primaries == JXL_PRIMARIES_CUSTOM) {
897
3.31k
      d += jxl::ToString(c.primaries_red_xy[0]) + ';';
898
3.31k
      d += jxl::ToString(c.primaries_red_xy[1]) + ';';
899
3.31k
      d += jxl::ToString(c.primaries_green_xy[0]) + ';';
900
3.31k
      d += jxl::ToString(c.primaries_green_xy[1]) + ';';
901
3.31k
      d += jxl::ToString(c.primaries_blue_xy[0]) + ';';
902
3.31k
      d += jxl::ToString(c.primaries_blue_xy[1]);
903
447k
    } else {
904
447k
      d += ToString(c.primaries);
905
447k
    }
906
450k
  }
907
908
456k
  d += '_';
909
456k
  d += ToString(c.rendering_intent);
910
911
456k
  if (explicit_wp_tf) {
912
453k
    JxlTransferFunction tf = c.transfer_function;
913
453k
    d += '_';
914
453k
    if (tf == JXL_TRANSFER_FUNCTION_GAMMA) {
915
1.43k
      d += 'g';
916
1.43k
      d += jxl::ToString(c.gamma);
917
451k
    } else {
918
451k
      d += ToString(tf);
919
451k
    }
920
453k
  }
921
456k
  return d;
922
456k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: dec_cache.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: blending.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: dec_frame.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: dec_group.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: dec_modular.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: dec_noise.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: decode.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: epf.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: frame_header.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: image_bundle.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: image_metadata.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: luminance.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: passes_state.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: quant_weights.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: stage_blending.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: stage_cms.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: stage_epf.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: stage_noise.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: stage_patches.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: stage_splines.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: stage_spot.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: stage_write.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
923
924
static Status MaybeCreateProfileImpl(const JxlColorEncoding& c,
925
459k
                                     std::vector<uint8_t>* icc) {
926
459k
  std::vector<uint8_t> header;
927
459k
  std::vector<uint8_t> tagtable;
928
459k
  std::vector<uint8_t> tags;
929
459k
  JxlTransferFunction tf = c.transfer_function;
930
459k
  if (c.color_space == JXL_COLOR_SPACE_UNKNOWN ||
931
459k
      tf == JXL_TRANSFER_FUNCTION_UNKNOWN) {
932
0
    return false;  // Not an error
933
0
  }
934
935
459k
  switch (c.color_space) {
936
453k
    case JXL_COLOR_SPACE_RGB:
937
456k
    case JXL_COLOR_SPACE_GRAY:
938
459k
    case JXL_COLOR_SPACE_XYB:
939
459k
      break;  // OK
940
0
    default:
941
0
      return JXL_FAILURE("Invalid CS %u",
942
459k
                         static_cast<unsigned int>(c.color_space));
943
459k
  }
944
945
459k
  if (c.color_space == JXL_COLOR_SPACE_XYB &&
946
3.10k
      c.rendering_intent != JXL_RENDERING_INTENT_PERCEPTUAL) {
947
8
    return JXL_FAILURE(
948
8
        "Only perceptual rendering intent implemented for XYB "
949
8
        "ICC profile.");
950
8
  }
951
952
459k
  JXL_RETURN_IF_ERROR(CreateICCHeader(c, &header));
953
954
459k
  std::vector<size_t> offsets;
955
  // tag count, deferred to later
956
459k
  WriteICCUint32(0, tagtable.size(), &tagtable);
957
958
459k
  size_t tag_offset = 0;
959
459k
  size_t tag_size = 0;
960
961
459k
  CreateICCMlucTag(ColorEncodingDescriptionImpl(c), &tags);
962
459k
  FinalizeICCTag(&tags, &tag_offset, &tag_size);
963
459k
  AddToICCTagTable("desc", tag_offset, tag_size, &tagtable, &offsets);
964
965
459k
  const std::string copyright = "CC0";
966
459k
  CreateICCMlucTag(copyright, &tags);
967
459k
  FinalizeICCTag(&tags, &tag_offset, &tag_size);
968
459k
  AddToICCTagTable("cprt", tag_offset, tag_size, &tagtable, &offsets);
969
970
  // TODO(eustas): isn't it the other way round: gray image has d50 WhitePoint?
971
459k
  if (c.color_space == JXL_COLOR_SPACE_GRAY) {
972
3.12k
    Color wtpt;
973
3.12k
    JXL_RETURN_IF_ERROR(
974
3.12k
        CIEXYZFromWhiteCIExy(c.white_point_xy[0], c.white_point_xy[1], wtpt));
975
3.12k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(wtpt, &tags));
976
456k
  } else {
977
456k
    Color d50{0.964203, 1.0, 0.824905};
978
456k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(d50, &tags));
979
456k
  }
980
459k
  FinalizeICCTag(&tags, &tag_offset, &tag_size);
981
459k
  AddToICCTagTable("wtpt", tag_offset, tag_size, &tagtable, &offsets);
982
983
459k
  if (c.color_space != JXL_COLOR_SPACE_GRAY) {
984
    // Chromatic adaptation matrix
985
456k
    Matrix3x3 chad;
986
456k
    JXL_RETURN_IF_ERROR(
987
456k
        CreateICCChadMatrix(c.white_point_xy[0], c.white_point_xy[1], chad));
988
989
456k
    JXL_RETURN_IF_ERROR(CreateICCChadTag(chad, &tags));
990
456k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
991
456k
    AddToICCTagTable("chad", tag_offset, tag_size, &tagtable, &offsets);
992
456k
  }
993
994
459k
  if (c.color_space == JXL_COLOR_SPACE_RGB) {
995
453k
    MaybeCreateICCCICPTag(c, &tags, &tag_offset, &tag_size, &tagtable,
996
453k
                          &offsets);
997
998
453k
    Matrix3x3 m;
999
453k
    JXL_RETURN_IF_ERROR(CreateICCRGBMatrix(
1000
453k
        c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0],
1001
453k
        c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1],
1002
453k
        c.white_point_xy[0], c.white_point_xy[1], m));
1003
453k
    Color r{m[0][0], m[1][0], m[2][0]};
1004
453k
    Color g{m[0][1], m[1][1], m[2][1]};
1005
453k
    Color b{m[0][2], m[1][2], m[2][2]};
1006
1007
453k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(r, &tags));
1008
453k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1009
453k
    AddToICCTagTable("rXYZ", tag_offset, tag_size, &tagtable, &offsets);
1010
1011
453k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(g, &tags));
1012
453k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1013
453k
    AddToICCTagTable("gXYZ", tag_offset, tag_size, &tagtable, &offsets);
1014
1015
453k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(b, &tags));
1016
453k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1017
453k
    AddToICCTagTable("bXYZ", tag_offset, tag_size, &tagtable, &offsets);
1018
453k
  }
1019
1020
459k
  if (c.color_space == JXL_COLOR_SPACE_XYB) {
1021
3.09k
    JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForXYB(&tags));
1022
3.09k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1023
3.09k
    AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets);
1024
3.09k
    JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags));
1025
3.09k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1026
3.09k
    AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets);
1027
456k
  } else if (kEnable3DToneMapping && CanToneMap(c)) {
1028
23.3k
    JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForHDR(c, &tags));
1029
23.3k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1030
23.3k
    AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets);
1031
23.3k
    JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags));
1032
23.3k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1033
23.3k
    AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets);
1034
433k
  } else {
1035
433k
    if (tf == JXL_TRANSFER_FUNCTION_GAMMA) {
1036
1.41k
      float gamma = 1.0 / c.gamma;
1037
1.41k
      JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({gamma}, 0, &tags));
1038
432k
    } else if (c.color_space != JXL_COLOR_SPACE_XYB) {
1039
432k
      switch (tf) {
1040
3.08k
        case JXL_TRANSFER_FUNCTION_HLG:
1041
3.08k
          CreateICCCurvCurvTag(
1042
3.08k
              CreateTableCurve<64, ExtraTF::kHLG>(CanToneMap(c)), &tags);
1043
3.08k
          break;
1044
1.56k
        case JXL_TRANSFER_FUNCTION_PQ:
1045
1.56k
          CreateICCCurvCurvTag(
1046
1.56k
              CreateTableCurve<64, ExtraTF::kPQ>(CanToneMap(c)), &tags);
1047
1.56k
          break;
1048
426k
        case JXL_TRANSFER_FUNCTION_SRGB:
1049
426k
          JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(
1050
426k
              {2.4, 1.0 / 1.055, 0.055 / 1.055, 1.0 / 12.92, 0.04045}, 3,
1051
426k
              &tags));
1052
426k
          break;
1053
426k
        case JXL_TRANSFER_FUNCTION_709:
1054
561
          JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(
1055
561
              {1.0 / 0.45, 1.0 / 1.099, 0.099 / 1.099, 1.0 / 4.5, 0.081}, 3,
1056
561
              &tags));
1057
561
          break;
1058
561
        case JXL_TRANSFER_FUNCTION_LINEAR:
1059
224
          JXL_RETURN_IF_ERROR(
1060
224
              CreateICCCurvParaTag({1.0, 1.0, 0.0, 1.0, 0.0}, 3, &tags));
1061
224
          break;
1062
283
        case JXL_TRANSFER_FUNCTION_DCI:
1063
283
          JXL_RETURN_IF_ERROR(
1064
283
              CreateICCCurvParaTag({2.6, 1.0, 0.0, 1.0, 0.0}, 3, &tags));
1065
283
          break;
1066
283
        default:
1067
0
          return JXL_UNREACHABLE("unknown TF %u",
1068
432k
                                 static_cast<unsigned int>(tf));
1069
432k
      }
1070
432k
    }
1071
433k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1072
433k
    if (c.color_space == JXL_COLOR_SPACE_GRAY) {
1073
3.11k
      AddToICCTagTable("kTRC", tag_offset, tag_size, &tagtable, &offsets);
1074
430k
    } else {
1075
430k
      AddToICCTagTable("rTRC", tag_offset, tag_size, &tagtable, &offsets);
1076
430k
      AddToICCTagTable("gTRC", tag_offset, tag_size, &tagtable, &offsets);
1077
430k
      AddToICCTagTable("bTRC", tag_offset, tag_size, &tagtable, &offsets);
1078
430k
    }
1079
433k
  }
1080
1081
  // Tag count
1082
459k
  WriteICCUint32(offsets.size(), 0, &tagtable);
1083
5.45M
  for (size_t i = 0; i < offsets.size(); i++) {
1084
4.99M
    WriteICCUint32(offsets[i] + header.size() + tagtable.size(), 4 + 12 * i + 4,
1085
4.99M
                   &tagtable);
1086
4.99M
  }
1087
1088
  // ICC profile size
1089
459k
  WriteICCUint32(header.size() + tagtable.size() + tags.size(), 0, &header);
1090
1091
459k
  *icc = header;
1092
459k
  Bytes(tagtable).AppendTo(*icc);
1093
459k
  Bytes(tags).AppendTo(*icc);
1094
1095
  // The MD5 checksum must be computed on the profile with profile flags,
1096
  // rendering intent, and region of the checksum itself, set to 0.
1097
  // TODO(lode): manually verify with a reliable tool that this creates correct
1098
  // signature (profile id) for ICC profiles.
1099
459k
  std::vector<uint8_t> icc_sum = *icc;
1100
459k
  if (icc_sum.size() >= 64 + 4) {
1101
459k
    memset(icc_sum.data() + 44, 0, 4);
1102
459k
    memset(icc_sum.data() + 64, 0, 4);
1103
459k
  }
1104
459k
  uint8_t checksum[16];
1105
459k
  detail::ICCComputeMD5(icc_sum, checksum);
1106
1107
459k
  memcpy(icc->data() + 84, checksum, sizeof(checksum));
1108
1109
459k
  return true;
1110
459k
}
encode.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
925
3.16k
                                     std::vector<uint8_t>* icc) {
926
3.16k
  std::vector<uint8_t> header;
927
3.16k
  std::vector<uint8_t> tagtable;
928
3.16k
  std::vector<uint8_t> tags;
929
3.16k
  JxlTransferFunction tf = c.transfer_function;
930
3.16k
  if (c.color_space == JXL_COLOR_SPACE_UNKNOWN ||
931
3.16k
      tf == JXL_TRANSFER_FUNCTION_UNKNOWN) {
932
0
    return false;  // Not an error
933
0
  }
934
935
3.16k
  switch (c.color_space) {
936
2.99k
    case JXL_COLOR_SPACE_RGB:
937
3.16k
    case JXL_COLOR_SPACE_GRAY:
938
3.16k
    case JXL_COLOR_SPACE_XYB:
939
3.16k
      break;  // OK
940
0
    default:
941
0
      return JXL_FAILURE("Invalid CS %u",
942
3.16k
                         static_cast<unsigned int>(c.color_space));
943
3.16k
  }
944
945
3.16k
  if (c.color_space == JXL_COLOR_SPACE_XYB &&
946
0
      c.rendering_intent != JXL_RENDERING_INTENT_PERCEPTUAL) {
947
0
    return JXL_FAILURE(
948
0
        "Only perceptual rendering intent implemented for XYB "
949
0
        "ICC profile.");
950
0
  }
951
952
3.16k
  JXL_RETURN_IF_ERROR(CreateICCHeader(c, &header));
953
954
3.16k
  std::vector<size_t> offsets;
955
  // tag count, deferred to later
956
3.16k
  WriteICCUint32(0, tagtable.size(), &tagtable);
957
958
3.16k
  size_t tag_offset = 0;
959
3.16k
  size_t tag_size = 0;
960
961
3.16k
  CreateICCMlucTag(ColorEncodingDescriptionImpl(c), &tags);
962
3.16k
  FinalizeICCTag(&tags, &tag_offset, &tag_size);
963
3.16k
  AddToICCTagTable("desc", tag_offset, tag_size, &tagtable, &offsets);
964
965
3.16k
  const std::string copyright = "CC0";
966
3.16k
  CreateICCMlucTag(copyright, &tags);
967
3.16k
  FinalizeICCTag(&tags, &tag_offset, &tag_size);
968
3.16k
  AddToICCTagTable("cprt", tag_offset, tag_size, &tagtable, &offsets);
969
970
  // TODO(eustas): isn't it the other way round: gray image has d50 WhitePoint?
971
3.16k
  if (c.color_space == JXL_COLOR_SPACE_GRAY) {
972
171
    Color wtpt;
973
171
    JXL_RETURN_IF_ERROR(
974
171
        CIEXYZFromWhiteCIExy(c.white_point_xy[0], c.white_point_xy[1], wtpt));
975
171
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(wtpt, &tags));
976
2.99k
  } else {
977
2.99k
    Color d50{0.964203, 1.0, 0.824905};
978
2.99k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(d50, &tags));
979
2.99k
  }
980
3.16k
  FinalizeICCTag(&tags, &tag_offset, &tag_size);
981
3.16k
  AddToICCTagTable("wtpt", tag_offset, tag_size, &tagtable, &offsets);
982
983
3.16k
  if (c.color_space != JXL_COLOR_SPACE_GRAY) {
984
    // Chromatic adaptation matrix
985
2.99k
    Matrix3x3 chad;
986
2.99k
    JXL_RETURN_IF_ERROR(
987
2.99k
        CreateICCChadMatrix(c.white_point_xy[0], c.white_point_xy[1], chad));
988
989
2.99k
    JXL_RETURN_IF_ERROR(CreateICCChadTag(chad, &tags));
990
2.99k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
991
2.99k
    AddToICCTagTable("chad", tag_offset, tag_size, &tagtable, &offsets);
992
2.99k
  }
993
994
3.16k
  if (c.color_space == JXL_COLOR_SPACE_RGB) {
995
2.99k
    MaybeCreateICCCICPTag(c, &tags, &tag_offset, &tag_size, &tagtable,
996
2.99k
                          &offsets);
997
998
2.99k
    Matrix3x3 m;
999
2.99k
    JXL_RETURN_IF_ERROR(CreateICCRGBMatrix(
1000
2.99k
        c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0],
1001
2.99k
        c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1],
1002
2.99k
        c.white_point_xy[0], c.white_point_xy[1], m));
1003
2.99k
    Color r{m[0][0], m[1][0], m[2][0]};
1004
2.99k
    Color g{m[0][1], m[1][1], m[2][1]};
1005
2.99k
    Color b{m[0][2], m[1][2], m[2][2]};
1006
1007
2.99k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(r, &tags));
1008
2.99k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1009
2.99k
    AddToICCTagTable("rXYZ", tag_offset, tag_size, &tagtable, &offsets);
1010
1011
2.99k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(g, &tags));
1012
2.99k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1013
2.99k
    AddToICCTagTable("gXYZ", tag_offset, tag_size, &tagtable, &offsets);
1014
1015
2.99k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(b, &tags));
1016
2.99k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1017
2.99k
    AddToICCTagTable("bXYZ", tag_offset, tag_size, &tagtable, &offsets);
1018
2.99k
  }
1019
1020
3.16k
  if (c.color_space == JXL_COLOR_SPACE_XYB) {
1021
0
    JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForXYB(&tags));
1022
0
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1023
0
    AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets);
1024
0
    JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags));
1025
0
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1026
0
    AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets);
1027
3.16k
  } else if (kEnable3DToneMapping && CanToneMap(c)) {
1028
0
    JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForHDR(c, &tags));
1029
0
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1030
0
    AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets);
1031
0
    JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags));
1032
0
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1033
0
    AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets);
1034
3.16k
  } else {
1035
3.16k
    if (tf == JXL_TRANSFER_FUNCTION_GAMMA) {
1036
0
      float gamma = 1.0 / c.gamma;
1037
0
      JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({gamma}, 0, &tags));
1038
3.16k
    } else if (c.color_space != JXL_COLOR_SPACE_XYB) {
1039
3.16k
      switch (tf) {
1040
0
        case JXL_TRANSFER_FUNCTION_HLG:
1041
0
          CreateICCCurvCurvTag(
1042
0
              CreateTableCurve<64, ExtraTF::kHLG>(CanToneMap(c)), &tags);
1043
0
          break;
1044
0
        case JXL_TRANSFER_FUNCTION_PQ:
1045
0
          CreateICCCurvCurvTag(
1046
0
              CreateTableCurve<64, ExtraTF::kPQ>(CanToneMap(c)), &tags);
1047
0
          break;
1048
3.15k
        case JXL_TRANSFER_FUNCTION_SRGB:
1049
3.15k
          JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(
1050
3.15k
              {2.4, 1.0 / 1.055, 0.055 / 1.055, 1.0 / 12.92, 0.04045}, 3,
1051
3.15k
              &tags));
1052
3.15k
          break;
1053
3.15k
        case JXL_TRANSFER_FUNCTION_709:
1054
0
          JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(
1055
0
              {1.0 / 0.45, 1.0 / 1.099, 0.099 / 1.099, 1.0 / 4.5, 0.081}, 3,
1056
0
              &tags));
1057
0
          break;
1058
10
        case JXL_TRANSFER_FUNCTION_LINEAR:
1059
10
          JXL_RETURN_IF_ERROR(
1060
10
              CreateICCCurvParaTag({1.0, 1.0, 0.0, 1.0, 0.0}, 3, &tags));
1061
10
          break;
1062
10
        case JXL_TRANSFER_FUNCTION_DCI:
1063
0
          JXL_RETURN_IF_ERROR(
1064
0
              CreateICCCurvParaTag({2.6, 1.0, 0.0, 1.0, 0.0}, 3, &tags));
1065
0
          break;
1066
0
        default:
1067
0
          return JXL_UNREACHABLE("unknown TF %u",
1068
3.16k
                                 static_cast<unsigned int>(tf));
1069
3.16k
      }
1070
3.16k
    }
1071
3.16k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1072
3.16k
    if (c.color_space == JXL_COLOR_SPACE_GRAY) {
1073
171
      AddToICCTagTable("kTRC", tag_offset, tag_size, &tagtable, &offsets);
1074
2.99k
    } else {
1075
2.99k
      AddToICCTagTable("rTRC", tag_offset, tag_size, &tagtable, &offsets);
1076
2.99k
      AddToICCTagTable("gTRC", tag_offset, tag_size, &tagtable, &offsets);
1077
2.99k
      AddToICCTagTable("bTRC", tag_offset, tag_size, &tagtable, &offsets);
1078
2.99k
    }
1079
3.16k
  }
1080
1081
  // Tag count
1082
3.16k
  WriteICCUint32(offsets.size(), 0, &tagtable);
1083
36.7k
  for (size_t i = 0; i < offsets.size(); i++) {
1084
33.6k
    WriteICCUint32(offsets[i] + header.size() + tagtable.size(), 4 + 12 * i + 4,
1085
33.6k
                   &tagtable);
1086
33.6k
  }
1087
1088
  // ICC profile size
1089
3.16k
  WriteICCUint32(header.size() + tagtable.size() + tags.size(), 0, &header);
1090
1091
3.16k
  *icc = header;
1092
3.16k
  Bytes(tagtable).AppendTo(*icc);
1093
3.16k
  Bytes(tags).AppendTo(*icc);
1094
1095
  // The MD5 checksum must be computed on the profile with profile flags,
1096
  // rendering intent, and region of the checksum itself, set to 0.
1097
  // TODO(lode): manually verify with a reliable tool that this creates correct
1098
  // signature (profile id) for ICC profiles.
1099
3.16k
  std::vector<uint8_t> icc_sum = *icc;
1100
3.16k
  if (icc_sum.size() >= 64 + 4) {
1101
3.16k
    memset(icc_sum.data() + 44, 0, 4);
1102
3.16k
    memset(icc_sum.data() + 64, 0, 4);
1103
3.16k
  }
1104
3.16k
  uint8_t checksum[16];
1105
3.16k
  detail::ICCComputeMD5(icc_sum, checksum);
1106
1107
3.16k
  memcpy(icc->data() + 84, checksum, sizeof(checksum));
1108
1109
3.16k
  return true;
1110
3.16k
}
Unexecuted instantiation: enc_fields.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ans.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_frame.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_modular.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_cache.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_group.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
color_encoding_internal.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
925
456k
                                     std::vector<uint8_t>* icc) {
926
456k
  std::vector<uint8_t> header;
927
456k
  std::vector<uint8_t> tagtable;
928
456k
  std::vector<uint8_t> tags;
929
456k
  JxlTransferFunction tf = c.transfer_function;
930
456k
  if (c.color_space == JXL_COLOR_SPACE_UNKNOWN ||
931
456k
      tf == JXL_TRANSFER_FUNCTION_UNKNOWN) {
932
0
    return false;  // Not an error
933
0
  }
934
935
456k
  switch (c.color_space) {
936
450k
    case JXL_COLOR_SPACE_RGB:
937
453k
    case JXL_COLOR_SPACE_GRAY:
938
456k
    case JXL_COLOR_SPACE_XYB:
939
456k
      break;  // OK
940
0
    default:
941
0
      return JXL_FAILURE("Invalid CS %u",
942
456k
                         static_cast<unsigned int>(c.color_space));
943
456k
  }
944
945
456k
  if (c.color_space == JXL_COLOR_SPACE_XYB &&
946
3.10k
      c.rendering_intent != JXL_RENDERING_INTENT_PERCEPTUAL) {
947
8
    return JXL_FAILURE(
948
8
        "Only perceptual rendering intent implemented for XYB "
949
8
        "ICC profile.");
950
8
  }
951
952
456k
  JXL_RETURN_IF_ERROR(CreateICCHeader(c, &header));
953
954
456k
  std::vector<size_t> offsets;
955
  // tag count, deferred to later
956
456k
  WriteICCUint32(0, tagtable.size(), &tagtable);
957
958
456k
  size_t tag_offset = 0;
959
456k
  size_t tag_size = 0;
960
961
456k
  CreateICCMlucTag(ColorEncodingDescriptionImpl(c), &tags);
962
456k
  FinalizeICCTag(&tags, &tag_offset, &tag_size);
963
456k
  AddToICCTagTable("desc", tag_offset, tag_size, &tagtable, &offsets);
964
965
456k
  const std::string copyright = "CC0";
966
456k
  CreateICCMlucTag(copyright, &tags);
967
456k
  FinalizeICCTag(&tags, &tag_offset, &tag_size);
968
456k
  AddToICCTagTable("cprt", tag_offset, tag_size, &tagtable, &offsets);
969
970
  // TODO(eustas): isn't it the other way round: gray image has d50 WhitePoint?
971
456k
  if (c.color_space == JXL_COLOR_SPACE_GRAY) {
972
2.95k
    Color wtpt;
973
2.95k
    JXL_RETURN_IF_ERROR(
974
2.95k
        CIEXYZFromWhiteCIExy(c.white_point_xy[0], c.white_point_xy[1], wtpt));
975
2.95k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(wtpt, &tags));
976
453k
  } else {
977
453k
    Color d50{0.964203, 1.0, 0.824905};
978
453k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(d50, &tags));
979
453k
  }
980
456k
  FinalizeICCTag(&tags, &tag_offset, &tag_size);
981
456k
  AddToICCTagTable("wtpt", tag_offset, tag_size, &tagtable, &offsets);
982
983
456k
  if (c.color_space != JXL_COLOR_SPACE_GRAY) {
984
    // Chromatic adaptation matrix
985
453k
    Matrix3x3 chad;
986
453k
    JXL_RETURN_IF_ERROR(
987
453k
        CreateICCChadMatrix(c.white_point_xy[0], c.white_point_xy[1], chad));
988
989
453k
    JXL_RETURN_IF_ERROR(CreateICCChadTag(chad, &tags));
990
453k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
991
453k
    AddToICCTagTable("chad", tag_offset, tag_size, &tagtable, &offsets);
992
453k
  }
993
994
456k
  if (c.color_space == JXL_COLOR_SPACE_RGB) {
995
450k
    MaybeCreateICCCICPTag(c, &tags, &tag_offset, &tag_size, &tagtable,
996
450k
                          &offsets);
997
998
450k
    Matrix3x3 m;
999
450k
    JXL_RETURN_IF_ERROR(CreateICCRGBMatrix(
1000
450k
        c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0],
1001
450k
        c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1],
1002
450k
        c.white_point_xy[0], c.white_point_xy[1], m));
1003
450k
    Color r{m[0][0], m[1][0], m[2][0]};
1004
450k
    Color g{m[0][1], m[1][1], m[2][1]};
1005
450k
    Color b{m[0][2], m[1][2], m[2][2]};
1006
1007
450k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(r, &tags));
1008
450k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1009
450k
    AddToICCTagTable("rXYZ", tag_offset, tag_size, &tagtable, &offsets);
1010
1011
450k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(g, &tags));
1012
450k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1013
450k
    AddToICCTagTable("gXYZ", tag_offset, tag_size, &tagtable, &offsets);
1014
1015
450k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(b, &tags));
1016
450k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1017
450k
    AddToICCTagTable("bXYZ", tag_offset, tag_size, &tagtable, &offsets);
1018
450k
  }
1019
1020
456k
  if (c.color_space == JXL_COLOR_SPACE_XYB) {
1021
3.09k
    JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForXYB(&tags));
1022
3.09k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1023
3.09k
    AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets);
1024
3.09k
    JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags));
1025
3.09k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1026
3.09k
    AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets);
1027
453k
  } else if (kEnable3DToneMapping && CanToneMap(c)) {
1028
23.3k
    JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForHDR(c, &tags));
1029
23.3k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1030
23.3k
    AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets);
1031
23.3k
    JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags));
1032
23.3k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1033
23.3k
    AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets);
1034
430k
  } else {
1035
430k
    if (tf == JXL_TRANSFER_FUNCTION_GAMMA) {
1036
1.41k
      float gamma = 1.0 / c.gamma;
1037
1.41k
      JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({gamma}, 0, &tags));
1038
428k
    } else if (c.color_space != JXL_COLOR_SPACE_XYB) {
1039
428k
      switch (tf) {
1040
3.08k
        case JXL_TRANSFER_FUNCTION_HLG:
1041
3.08k
          CreateICCCurvCurvTag(
1042
3.08k
              CreateTableCurve<64, ExtraTF::kHLG>(CanToneMap(c)), &tags);
1043
3.08k
          break;
1044
1.56k
        case JXL_TRANSFER_FUNCTION_PQ:
1045
1.56k
          CreateICCCurvCurvTag(
1046
1.56k
              CreateTableCurve<64, ExtraTF::kPQ>(CanToneMap(c)), &tags);
1047
1.56k
          break;
1048
423k
        case JXL_TRANSFER_FUNCTION_SRGB:
1049
423k
          JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(
1050
423k
              {2.4, 1.0 / 1.055, 0.055 / 1.055, 1.0 / 12.92, 0.04045}, 3,
1051
423k
              &tags));
1052
423k
          break;
1053
423k
        case JXL_TRANSFER_FUNCTION_709:
1054
561
          JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(
1055
561
              {1.0 / 0.45, 1.0 / 1.099, 0.099 / 1.099, 1.0 / 4.5, 0.081}, 3,
1056
561
              &tags));
1057
561
          break;
1058
561
        case JXL_TRANSFER_FUNCTION_LINEAR:
1059
214
          JXL_RETURN_IF_ERROR(
1060
214
              CreateICCCurvParaTag({1.0, 1.0, 0.0, 1.0, 0.0}, 3, &tags));
1061
214
          break;
1062
283
        case JXL_TRANSFER_FUNCTION_DCI:
1063
283
          JXL_RETURN_IF_ERROR(
1064
283
              CreateICCCurvParaTag({2.6, 1.0, 0.0, 1.0, 0.0}, 3, &tags));
1065
283
          break;
1066
283
        default:
1067
0
          return JXL_UNREACHABLE("unknown TF %u",
1068
428k
                                 static_cast<unsigned int>(tf));
1069
428k
      }
1070
428k
    }
1071
430k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1072
430k
    if (c.color_space == JXL_COLOR_SPACE_GRAY) {
1073
2.94k
      AddToICCTagTable("kTRC", tag_offset, tag_size, &tagtable, &offsets);
1074
427k
    } else {
1075
427k
      AddToICCTagTable("rTRC", tag_offset, tag_size, &tagtable, &offsets);
1076
427k
      AddToICCTagTable("gTRC", tag_offset, tag_size, &tagtable, &offsets);
1077
427k
      AddToICCTagTable("bTRC", tag_offset, tag_size, &tagtable, &offsets);
1078
427k
    }
1079
430k
  }
1080
1081
  // Tag count
1082
456k
  WriteICCUint32(offsets.size(), 0, &tagtable);
1083
5.41M
  for (size_t i = 0; i < offsets.size(); i++) {
1084
4.96M
    WriteICCUint32(offsets[i] + header.size() + tagtable.size(), 4 + 12 * i + 4,
1085
4.96M
                   &tagtable);
1086
4.96M
  }
1087
1088
  // ICC profile size
1089
456k
  WriteICCUint32(header.size() + tagtable.size() + tags.size(), 0, &header);
1090
1091
456k
  *icc = header;
1092
456k
  Bytes(tagtable).AppendTo(*icc);
1093
456k
  Bytes(tags).AppendTo(*icc);
1094
1095
  // The MD5 checksum must be computed on the profile with profile flags,
1096
  // rendering intent, and region of the checksum itself, set to 0.
1097
  // TODO(lode): manually verify with a reliable tool that this creates correct
1098
  // signature (profile id) for ICC profiles.
1099
456k
  std::vector<uint8_t> icc_sum = *icc;
1100
456k
  if (icc_sum.size() >= 64 + 4) {
1101
456k
    memset(icc_sum.data() + 44, 0, 4);
1102
456k
    memset(icc_sum.data() + 64, 0, 4);
1103
456k
  }
1104
456k
  uint8_t checksum[16];
1105
456k
  detail::ICCComputeMD5(icc_sum, checksum);
1106
1107
456k
  memcpy(icc->data() + 84, checksum, sizeof(checksum));
1108
1109
456k
  return true;
1110
456k
}
Unexecuted instantiation: compressed_dc.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_cache.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: blending.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_frame.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_group.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_modular.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_noise.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: epf.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: frame_header.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_bundle.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_metadata.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: luminance.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: passes_state.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: quant_weights.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_blending.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_cms.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_epf.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_noise.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_patches.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_splines.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_spot.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_write.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
1111
1112
}  // namespace detail
1113
1114
// Returns a representation of the ColorEncoding fields (not icc).
1115
// Example description: "RGB_D65_SRG_Rel_Lin"
1116
static JXL_MAYBE_UNUSED std::string ColorEncodingDescription(
1117
0
    const JxlColorEncoding& c) {
1118
0
  return detail::ColorEncodingDescriptionImpl(c);
1119
0
}
Unexecuted instantiation: encode.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_fields.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_ans.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_lz77.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_frame.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_modular.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_debug_image.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_detect_dots.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_quant_weights.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_xyb.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_image_bundle.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_external_image.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_heuristics.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_cache.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_group.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_progressive_split.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: jxl_cms.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_encoding.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: color_encoding_internal.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: compressed_dc.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: dec_cache.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: blending.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: dec_external_image.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: dec_frame.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: dec_group.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: dec_modular.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: dec_noise.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: dec_xyb.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: decode.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: epf.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: frame_header.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: image_bundle.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: image_metadata.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: luminance.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: passes_state.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: quant_weights.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: render_pipeline.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: stage_blending.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: stage_cms.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: stage_epf.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: stage_from_linear.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: stage_gaborish.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: stage_noise.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: stage_patches.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: stage_splines.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: stage_spot.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: stage_to_linear.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: stage_upsampling.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: stage_write.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: stage_xyb.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: stage_ycbcr.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
1120
1121
// NOTE: for XYB colorspace, the created profile can be used to transform a
1122
// *scaled* XYB image (created by ScaleXYB()) to another colorspace.
1123
static JXL_MAYBE_UNUSED Status MaybeCreateProfile(const JxlColorEncoding& c,
1124
459k
                                                  std::vector<uint8_t>* icc) {
1125
459k
  return detail::MaybeCreateProfileImpl(c, icc);
1126
459k
}
encode.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
1124
3.16k
                                                  std::vector<uint8_t>* icc) {
1125
3.16k
  return detail::MaybeCreateProfileImpl(c, icc);
1126
3.16k
}
Unexecuted instantiation: enc_fields.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ans.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_lz77.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_fast_lossless.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_frame.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_modular.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_debug_image.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_dot_dictionary.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_detect_dots.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_quant_weights.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_xyb.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_image_bundle.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_external_image.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_heuristics.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_cache.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_group.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_progressive_split.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_entropy_coder.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: jxl_cms.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_jpeg_data.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: enc_encoding.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
color_encoding_internal.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
1124
456k
                                                  std::vector<uint8_t>* icc) {
1125
456k
  return detail::MaybeCreateProfileImpl(c, icc);
1126
456k
}
Unexecuted instantiation: compressed_dc.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_cache.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: blending.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_external_image.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_frame.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_group.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_modular.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_noise.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_patch_dictionary.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: dec_xyb.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: epf.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: frame_header.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_bundle.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: image_metadata.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: luminance.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: passes_state.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: quant_weights.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: simple_render_pipeline.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_blending.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: render_pipeline_stage.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_cms.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_epf.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_from_linear.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_gaborish.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_noise.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_patches.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_splines.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_spot.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_to_linear.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_tone_mapping.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_upsampling.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_write.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_xyb.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: stage_ycbcr.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Unexecuted instantiation: decode_to_jpeg.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
1127
1128
}  // namespace jxl
1129
1130
#endif  // LIB_JXL_CMS_JXL_CMS_INTERNAL_H_