Coverage Report

Created: 2025-08-12 07:37

/src/libjxl/lib/jxl/cms/jxl_cms_internal.h
Line
Count
Source (jump to first uncovered line)
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.5M
                             float by, float wx, float wy, Matrix3x3& matrix) {
45
17.5M
  bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1);
46
17.5M
  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.5M
  Matrix3x3 primaries{{{rx, gx, bx},
53
17.5M
                       {ry, gy, by},
54
17.5M
                       {1.0f - rx - ry, 1.0f - gx - gy, 1.0f - bx - by}}};
55
17.5M
  Matrix3x3 primaries_inv;
56
17.5M
  primaries_inv = primaries;
57
17.5M
  JXL_RETURN_IF_ERROR(Inv3x3Matrix(primaries_inv));
58
59
17.5M
  Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy};
60
  // 1 / tiny float can still overflow
61
17.5M
  JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2]));
62
17.5M
  Vector3 xyz;
63
17.5M
  Mul3x3Vector(primaries_inv, w, xyz);
64
65
17.5M
  Matrix3x3 a{{{xyz[0], 0, 0}, {0, xyz[1], 0}, {0, 0, xyz[2]}}};
66
67
17.5M
  Mul3x3Matrix(primaries, a, matrix);
68
17.5M
  return true;
69
17.5M
}
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
17.5M
                             float by, float wx, float wy, Matrix3x3& matrix) {
45
17.5M
  bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1);
46
17.5M
  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.5M
  Matrix3x3 primaries{{{rx, gx, bx},
53
17.5M
                       {ry, gy, by},
54
17.5M
                       {1.0f - rx - ry, 1.0f - gx - gy, 1.0f - bx - by}}};
55
17.5M
  Matrix3x3 primaries_inv;
56
17.5M
  primaries_inv = primaries;
57
17.5M
  JXL_RETURN_IF_ERROR(Inv3x3Matrix(primaries_inv));
58
59
17.5M
  Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy};
60
  // 1 / tiny float can still overflow
61
17.5M
  JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2]));
62
17.5M
  Vector3 xyz;
63
17.5M
  Mul3x3Vector(primaries_inv, w, xyz);
64
65
17.5M
  Matrix3x3 a{{{xyz[0], 0, 0}, {0, xyz[1], 0}, {0, 0, xyz[2]}}};
66
67
17.5M
  Mul3x3Matrix(primaries, a, matrix);
68
17.5M
  return true;
69
17.5M
}
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_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_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_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>&)
Unexecuted instantiation: color_encoding_internal.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
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
204
                             float by, float wx, float wy, Matrix3x3& matrix) {
45
204
  bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1);
46
204
  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
204
  Matrix3x3 primaries{{{rx, gx, bx},
53
204
                       {ry, gy, by},
54
204
                       {1.0f - rx - ry, 1.0f - gx - gy, 1.0f - bx - by}}};
55
204
  Matrix3x3 primaries_inv;
56
204
  primaries_inv = primaries;
57
204
  JXL_RETURN_IF_ERROR(Inv3x3Matrix(primaries_inv));
58
59
204
  Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy};
60
  // 1 / tiny float can still overflow
61
204
  JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2]));
62
204
  Vector3 xyz;
63
204
  Mul3x3Vector(primaries_inv, w, xyz);
64
65
204
  Matrix3x3 a{{{xyz[0], 0, 0}, {0, xyz[1], 0}, {0, 0, xyz[2]}}};
66
67
204
  Mul3x3Matrix(primaries, a, matrix);
68
204
  return true;
69
204
}
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.7M
static Status AdaptToXYZD50(float wx, float wy, Matrix3x3& matrix) {
81
17.7M
  bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1);
82
17.7M
  if (!ok) {
83
    // Out of range values can cause division through zero
84
    // further down with the bradford adaptation too.
85
12
    return JXL_FAILURE("Invalid white point");
86
12
  }
87
17.7M
  Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy};
88
  // 1 / tiny float can still overflow
89
17.7M
  JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2]));
90
17.7M
  Vector3 w50{0.96422f, 1.0f, 0.82521f};
91
92
17.7M
  Vector3 lms;
93
17.7M
  Vector3 lms50;
94
95
17.7M
  Mul3x3Vector(kBradford, w, lms);
96
17.7M
  Mul3x3Vector(kBradford, w50, lms50);
97
98
17.7M
  if (lms[0] == 0 || lms[1] == 0 || lms[2] == 0) {
99
0
    return JXL_FAILURE("Invalid white point");
100
0
  }
101
17.7M
  Matrix3x3 a{{{lms50[0] / lms[0], 0, 0},
102
17.7M
               {0, lms50[1] / lms[1], 0},
103
17.7M
               {0, 0, lms50[2] / lms[2]}}};
104
17.7M
  if (!std::isfinite(a[0][0]) || !std::isfinite(a[1][1]) ||
105
17.7M
      !std::isfinite(a[2][2])) {
106
0
    return JXL_FAILURE("Invalid white point");
107
0
  }
108
109
17.7M
  Matrix3x3 b;
110
17.7M
  Mul3x3Matrix(a, kBradford, b);
111
17.7M
  Mul3x3Matrix(kBradfordInv, b, matrix);
112
113
17.7M
  return true;
114
17.7M
}
encode.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Line
Count
Source
80
17.7M
static Status AdaptToXYZD50(float wx, float wy, Matrix3x3& matrix) {
81
17.7M
  bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1);
82
17.7M
  if (!ok) {
83
    // Out of range values can cause division through zero
84
    // further down with the bradford adaptation too.
85
12
    return JXL_FAILURE("Invalid white point");
86
12
  }
87
17.7M
  Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy};
88
  // 1 / tiny float can still overflow
89
17.7M
  JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2]));
90
17.7M
  Vector3 w50{0.96422f, 1.0f, 0.82521f};
91
92
17.7M
  Vector3 lms;
93
17.7M
  Vector3 lms50;
94
95
17.7M
  Mul3x3Vector(kBradford, w, lms);
96
17.7M
  Mul3x3Vector(kBradford, w50, lms50);
97
98
17.7M
  if (lms[0] == 0 || lms[1] == 0 || lms[2] == 0) {
99
0
    return JXL_FAILURE("Invalid white point");
100
0
  }
101
17.7M
  Matrix3x3 a{{{lms50[0] / lms[0], 0, 0},
102
17.7M
               {0, lms50[1] / lms[1], 0},
103
17.7M
               {0, 0, lms50[2] / lms[2]}}};
104
17.7M
  if (!std::isfinite(a[0][0]) || !std::isfinite(a[1][1]) ||
105
17.7M
      !std::isfinite(a[2][2])) {
106
0
    return JXL_FAILURE("Invalid white point");
107
0
  }
108
109
17.7M
  Matrix3x3 b;
110
17.7M
  Mul3x3Matrix(a, kBradford, b);
111
17.7M
  Mul3x3Matrix(kBradfordInv, b, matrix);
112
113
17.7M
  return true;
114
17.7M
}
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_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_debug_image.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>&)
Unexecuted instantiation: color_encoding_internal.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
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
157
static Status AdaptToXYZD50(float wx, float wy, Matrix3x3& matrix) {
81
157
  bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1);
82
157
  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
157
  Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy};
88
  // 1 / tiny float can still overflow
89
157
  JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2]));
90
157
  Vector3 w50{0.96422f, 1.0f, 0.82521f};
91
92
157
  Vector3 lms;
93
157
  Vector3 lms50;
94
95
157
  Mul3x3Vector(kBradford, w, lms);
96
157
  Mul3x3Vector(kBradford, w50, lms50);
97
98
157
  if (lms[0] == 0 || lms[1] == 0 || lms[2] == 0) {
99
0
    return JXL_FAILURE("Invalid white point");
100
0
  }
101
157
  Matrix3x3 a{{{lms50[0] / lms[0], 0, 0},
102
157
               {0, lms50[1] / lms[1], 0},
103
157
               {0, 0, lms50[2] / lms[2]}}};
104
157
  if (!std::isfinite(a[0][0]) || !std::isfinite(a[1][1]) ||
105
157
      !std::isfinite(a[2][2])) {
106
0
    return JXL_FAILURE("Invalid white point");
107
0
  }
108
109
157
  Matrix3x3 b;
110
157
  Mul3x3Matrix(a, kBradford, b);
111
157
  Mul3x3Matrix(kBradfordInv, b, matrix);
112
113
157
  return true;
114
157
}
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
171k
                                Matrix3x3& matrix) {
119
171k
  Matrix3x3 toXYZ;
120
171k
  JXL_RETURN_IF_ERROR(PrimariesToXYZ(rx, ry, gx, gy, bx, by, wx, wy, toXYZ));
121
171k
  Matrix3x3 d50;
122
171k
  JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, d50));
123
124
171k
  Mul3x3Matrix(d50, toXYZ, matrix);
125
171k
  return true;
126
171k
}
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
170k
                                Matrix3x3& matrix) {
119
170k
  Matrix3x3 toXYZ;
120
170k
  JXL_RETURN_IF_ERROR(PrimariesToXYZ(rx, ry, gx, gy, bx, by, wx, wy, toXYZ));
121
170k
  Matrix3x3 d50;
122
170k
  JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, d50));
123
124
170k
  Mul3x3Matrix(d50, toXYZ, matrix);
125
170k
  return true;
126
170k
}
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_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_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_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>&)
Unexecuted instantiation: color_encoding_internal.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
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
102
                                Matrix3x3& matrix) {
119
102
  Matrix3x3 toXYZ;
120
102
  JXL_RETURN_IF_ERROR(PrimariesToXYZ(rx, ry, gx, gy, bx, by, wx, wy, toXYZ));
121
102
  Matrix3x3 d50;
122
102
  JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, d50));
123
124
102
  Mul3x3Matrix(d50, toXYZ, matrix);
125
102
  return true;
126
102
}
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.4M
                           uint8_t pcslab_out[3]) {
130
17.4M
  Matrix3x3 primaries_XYZ;
131
17.4M
  JXL_RETURN_IF_ERROR(PrimariesToXYZ(
132
17.4M
      c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0],
133
17.4M
      c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1],
134
17.4M
      c.white_point_xy[0], c.white_point_xy[1], primaries_XYZ));
135
17.4M
  const Vector3 luminances = primaries_XYZ[1];
136
17.4M
  Color linear;
137
17.4M
  JxlTransferFunction tf = c.transfer_function;
138
17.4M
  if (tf == JXL_TRANSFER_FUNCTION_PQ) {
139
47.1M
    for (size_t i = 0; i < 3; ++i) {
140
35.3M
      linear[i] = TF_PQ_Base::DisplayFromEncoded(
141
35.3M
          /*display_intensity_target=*/10000.0, in[i]);
142
35.3M
    }
143
11.7M
  } else {
144
22.4M
    for (size_t i = 0; i < 3; ++i) {
145
16.8M
      linear[i] = TF_HLG_Base::DisplayFromEncoded(in[i]);
146
16.8M
    }
147
5.61M
  }
148
17.4M
  if (tf == JXL_TRANSFER_FUNCTION_PQ) {
149
11.7M
    Rec2408ToneMapperBase tone_mapper({0.0f, 10000.0f}, {0.0f, 250.0f},
150
11.7M
                                      luminances);
151
11.7M
    tone_mapper.ToneMap(linear);
152
11.7M
  } else {
153
5.61M
    HlgOOTF_Base ootf(/*source_luminance=*/300, /*target_luminance=*/80,
154
5.61M
                      luminances);
155
5.61M
    ootf.Apply(linear);
156
5.61M
  }
157
17.4M
  GamutMapScalar(linear, luminances,
158
17.4M
                 /*preserve_saturation=*/0.3f);
159
160
17.4M
  Matrix3x3 chad;
161
17.4M
  JXL_RETURN_IF_ERROR(
162
17.4M
      AdaptToXYZD50(c.white_point_xy[0], c.white_point_xy[1], chad));
163
17.4M
  Matrix3x3 to_xyzd50;
164
17.4M
  Mul3x3Matrix(chad, primaries_XYZ, to_xyzd50);
165
166
17.4M
  Vector3 xyz{0, 0, 0};
167
69.6M
  for (size_t xyz_c = 0; xyz_c < 3; ++xyz_c) {
168
208M
    for (size_t rgb_c = 0; rgb_c < 3; ++rgb_c) {
169
156M
      xyz[xyz_c] += linear[rgb_c] * to_xyzd50[xyz_c][rgb_c];
170
156M
    }
171
52.2M
  }
172
173
52.2M
  const auto lab_f = [](const float x) {
174
52.2M
    static constexpr float kDelta = 6. / 29;
175
52.2M
    return x <= kDelta * kDelta * kDelta
176
52.2M
               ? x * (1 / (3 * kDelta * kDelta)) + 4.f / 29
177
52.2M
               : std::cbrt(x);
178
52.2M
  };
encode.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)::$_0::operator()(float) const
Line
Count
Source
173
52.2M
  const auto lab_f = [](const float x) {
174
52.2M
    static constexpr float kDelta = 6. / 29;
175
52.2M
    return x <= kDelta * kDelta * kDelta
176
52.2M
               ? x * (1 / (3 * kDelta * kDelta)) + 4.f / 29
177
52.2M
               : std::cbrt(x);
178
52.2M
  };
Unexecuted instantiation: jxl_cms.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)::$_0::operator()(float) const
Unexecuted instantiation: color_encoding_internal.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)::$_0::operator()(float) const
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.4M
  static constexpr float kXn = 0.964212;
180
17.4M
  static constexpr float kYn = 1;
181
17.4M
  static constexpr float kZn = 0.825188;
182
183
17.4M
  const float f_x = lab_f(xyz[0] / kXn);
184
17.4M
  const float f_y = lab_f(xyz[1] / kYn);
185
17.4M
  const float f_z = lab_f(xyz[2] / kZn);
186
187
17.4M
  pcslab_out[0] = static_cast<uint8_t>(
188
17.4M
      std::lroundf(255.f * Clamp1(1.16f * f_y - .16f, 0.f, 1.f)));
189
17.4M
  pcslab_out[1] = static_cast<uint8_t>(
190
17.4M
      std::lroundf(128.f + Clamp1(500 * (f_x - f_y), -128.f, 127.f)));
191
17.4M
  pcslab_out[2] = static_cast<uint8_t>(
192
17.4M
      std::lroundf(128.f + Clamp1(200 * (f_y - f_z), -128.f, 127.f)));
193
194
17.4M
  return true;
195
17.4M
}
encode.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
Line
Count
Source
129
17.4M
                           uint8_t pcslab_out[3]) {
130
17.4M
  Matrix3x3 primaries_XYZ;
131
17.4M
  JXL_RETURN_IF_ERROR(PrimariesToXYZ(
132
17.4M
      c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0],
133
17.4M
      c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1],
134
17.4M
      c.white_point_xy[0], c.white_point_xy[1], primaries_XYZ));
135
17.4M
  const Vector3 luminances = primaries_XYZ[1];
136
17.4M
  Color linear;
137
17.4M
  JxlTransferFunction tf = c.transfer_function;
138
17.4M
  if (tf == JXL_TRANSFER_FUNCTION_PQ) {
139
47.1M
    for (size_t i = 0; i < 3; ++i) {
140
35.3M
      linear[i] = TF_PQ_Base::DisplayFromEncoded(
141
35.3M
          /*display_intensity_target=*/10000.0, in[i]);
142
35.3M
    }
143
11.7M
  } else {
144
22.4M
    for (size_t i = 0; i < 3; ++i) {
145
16.8M
      linear[i] = TF_HLG_Base::DisplayFromEncoded(in[i]);
146
16.8M
    }
147
5.61M
  }
148
17.4M
  if (tf == JXL_TRANSFER_FUNCTION_PQ) {
149
11.7M
    Rec2408ToneMapperBase tone_mapper({0.0f, 10000.0f}, {0.0f, 250.0f},
150
11.7M
                                      luminances);
151
11.7M
    tone_mapper.ToneMap(linear);
152
11.7M
  } else {
153
5.61M
    HlgOOTF_Base ootf(/*source_luminance=*/300, /*target_luminance=*/80,
154
5.61M
                      luminances);
155
5.61M
    ootf.Apply(linear);
156
5.61M
  }
157
17.4M
  GamutMapScalar(linear, luminances,
158
17.4M
                 /*preserve_saturation=*/0.3f);
159
160
17.4M
  Matrix3x3 chad;
161
17.4M
  JXL_RETURN_IF_ERROR(
162
17.4M
      AdaptToXYZD50(c.white_point_xy[0], c.white_point_xy[1], chad));
163
17.4M
  Matrix3x3 to_xyzd50;
164
17.4M
  Mul3x3Matrix(chad, primaries_XYZ, to_xyzd50);
165
166
17.4M
  Vector3 xyz{0, 0, 0};
167
69.6M
  for (size_t xyz_c = 0; xyz_c < 3; ++xyz_c) {
168
208M
    for (size_t rgb_c = 0; rgb_c < 3; ++rgb_c) {
169
156M
      xyz[xyz_c] += linear[rgb_c] * to_xyzd50[xyz_c][rgb_c];
170
156M
    }
171
52.2M
  }
172
173
17.4M
  const auto lab_f = [](const float x) {
174
17.4M
    static constexpr float kDelta = 6. / 29;
175
17.4M
    return x <= kDelta * kDelta * kDelta
176
17.4M
               ? x * (1 / (3 * kDelta * kDelta)) + 4.f / 29
177
17.4M
               : std::cbrt(x);
178
17.4M
  };
179
17.4M
  static constexpr float kXn = 0.964212;
180
17.4M
  static constexpr float kYn = 1;
181
17.4M
  static constexpr float kZn = 0.825188;
182
183
17.4M
  const float f_x = lab_f(xyz[0] / kXn);
184
17.4M
  const float f_y = lab_f(xyz[1] / kYn);
185
17.4M
  const float f_z = lab_f(xyz[2] / kZn);
186
187
17.4M
  pcslab_out[0] = static_cast<uint8_t>(
188
17.4M
      std::lroundf(255.f * Clamp1(1.16f * f_y - .16f, 0.f, 1.f)));
189
17.4M
  pcslab_out[1] = static_cast<uint8_t>(
190
17.4M
      std::lroundf(128.f + Clamp1(500 * (f_x - f_y), -128.f, 127.f)));
191
17.4M
  pcslab_out[2] = static_cast<uint8_t>(
192
17.4M
      std::lroundf(128.f + Clamp1(200 * (f_y - f_z), -128.f, 127.f)));
193
194
17.4M
  return true;
195
17.4M
}
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_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_debug_image.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*)
Unexecuted instantiation: color_encoding_internal.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)
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
5.07k
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
5.07k
  static constexpr float kPQIntensityTarget = 10000;
202
203
5.07k
  static_assert(N <= 4096, "ICC MFT2 only allows 4K entries");
204
5.07k
  static_assert(tf == ExtraTF::kPQ || tf == ExtraTF::kHLG,
205
5.07k
                "Only PQ/HLG is supported");
206
207
5.07k
  static constexpr Vector3 kLuminances{1.f / 3, 1.f / 3, 1.f / 3};
208
5.07k
  Rec2408ToneMapperBase tone_mapper(
209
5.07k
      {0.0f, kPQIntensityTarget}, {0.0f, kDefaultIntensityTarget}, kLuminances);
210
  // No point using float - LCMS converts to 16-bit for A2B/MFT.
211
5.07k
  std::vector<uint16_t> table(N);
212
330k
  for (uint32_t i = 0; i < N; ++i) {
213
324k
    const float x = static_cast<float>(i) / (N - 1);  // 1.0 at index N - 1.
214
324k
    const double dx = static_cast<double>(x);
215
    // LCMS requires EOTF (e.g. 2.4 exponent).
216
324k
    double y = (tf == ExtraTF::kHLG)
217
324k
                   ? TF_HLG_Base::DisplayFromEncoded(dx)
218
324k
                   : TF_PQ_Base::DisplayFromEncoded(kPQIntensityTarget, dx);
219
324k
    if (tone_map && tf == ExtraTF::kPQ &&
220
324k
        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
324k
    JXL_DASSERT(y >= 0.0);
227
    // Clamp to table range - necessary for HLG.
228
324k
    y = Clamp1(y, 0.0, 1.0);
229
    // 1.0 corresponds to table value 0xFFFF.
230
324k
    table[i] = static_cast<uint16_t>(roundf(y * 65535.0));
231
324k
  }
232
5.07k
  return table;
233
5.07k
}
encode.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Line
Count
Source
198
2.77k
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
2.77k
  static constexpr float kPQIntensityTarget = 10000;
202
203
2.77k
  static_assert(N <= 4096, "ICC MFT2 only allows 4K entries");
204
2.77k
  static_assert(tf == ExtraTF::kPQ || tf == ExtraTF::kHLG,
205
2.77k
                "Only PQ/HLG is supported");
206
207
2.77k
  static constexpr Vector3 kLuminances{1.f / 3, 1.f / 3, 1.f / 3};
208
2.77k
  Rec2408ToneMapperBase tone_mapper(
209
2.77k
      {0.0f, kPQIntensityTarget}, {0.0f, kDefaultIntensityTarget}, kLuminances);
210
  // No point using float - LCMS converts to 16-bit for A2B/MFT.
211
2.77k
  std::vector<uint16_t> table(N);
212
180k
  for (uint32_t i = 0; i < N; ++i) {
213
177k
    const float x = static_cast<float>(i) / (N - 1);  // 1.0 at index N - 1.
214
177k
    const double dx = static_cast<double>(x);
215
    // LCMS requires EOTF (e.g. 2.4 exponent).
216
177k
    double y = (tf == ExtraTF::kHLG)
217
177k
                   ? TF_HLG_Base::DisplayFromEncoded(dx)
218
177k
                   : TF_PQ_Base::DisplayFromEncoded(kPQIntensityTarget, dx);
219
177k
    if (tone_map && tf == ExtraTF::kPQ &&
220
177k
        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
177k
    JXL_DASSERT(y >= 0.0);
227
    // Clamp to table range - necessary for HLG.
228
177k
    y = Clamp1(y, 0.0, 1.0);
229
    // 1.0 corresponds to table value 0xFFFF.
230
177k
    table[i] = static_cast<uint16_t>(roundf(y * 65535.0));
231
177k
  }
232
2.77k
  return table;
233
2.77k
}
encode.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
Line
Count
Source
198
2.30k
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
2.30k
  static constexpr float kPQIntensityTarget = 10000;
202
203
2.30k
  static_assert(N <= 4096, "ICC MFT2 only allows 4K entries");
204
2.30k
  static_assert(tf == ExtraTF::kPQ || tf == ExtraTF::kHLG,
205
2.30k
                "Only PQ/HLG is supported");
206
207
2.30k
  static constexpr Vector3 kLuminances{1.f / 3, 1.f / 3, 1.f / 3};
208
2.30k
  Rec2408ToneMapperBase tone_mapper(
209
2.30k
      {0.0f, kPQIntensityTarget}, {0.0f, kDefaultIntensityTarget}, kLuminances);
210
  // No point using float - LCMS converts to 16-bit for A2B/MFT.
211
2.30k
  std::vector<uint16_t> table(N);
212
149k
  for (uint32_t i = 0; i < N; ++i) {
213
147k
    const float x = static_cast<float>(i) / (N - 1);  // 1.0 at index N - 1.
214
147k
    const double dx = static_cast<double>(x);
215
    // LCMS requires EOTF (e.g. 2.4 exponent).
216
147k
    double y = (tf == ExtraTF::kHLG)
217
147k
                   ? TF_HLG_Base::DisplayFromEncoded(dx)
218
147k
                   : TF_PQ_Base::DisplayFromEncoded(kPQIntensityTarget, dx);
219
147k
    if (tone_map && tf == ExtraTF::kPQ &&
220
147k
        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
147k
    JXL_DASSERT(y >= 0.0);
227
    // Clamp to table range - necessary for HLG.
228
147k
    y = Clamp1(y, 0.0, 1.0);
229
    // 1.0 corresponds to table value 0xFFFF.
230
147k
    table[i] = static_cast<uint16_t>(roundf(y * 65535.0));
231
147k
  }
232
2.30k
  return table;
233
2.30k
}
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_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_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_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)2>(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)
Unexecuted instantiation: color_encoding_internal.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool)
Unexecuted instantiation: color_encoding_internal.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool)
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)2>(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)2>(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
2.91k
static Status CIEXYZFromWhiteCIExy(double wx, double wy, Color& XYZ) {
236
  // Target Y = 1.
237
2.91k
  if (std::abs(wy) < 1e-12) return JXL_FAILURE("Y value is too small");
238
2.91k
  const float factor = 1 / wy;
239
2.91k
  XYZ[0] = wx * factor;
240
2.91k
  XYZ[1] = 1;
241
2.91k
  XYZ[2] = (1 - wx - wy) * factor;
242
2.91k
  return true;
243
2.91k
}
encode.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
Line
Count
Source
235
2.91k
static Status CIEXYZFromWhiteCIExy(double wx, double wy, Color& XYZ) {
236
  // Target Y = 1.
237
2.91k
  if (std::abs(wy) < 1e-12) return JXL_FAILURE("Y value is too small");
238
2.91k
  const float factor = 1 / wy;
239
2.91k
  XYZ[0] = wx * factor;
240
2.91k
  XYZ[1] = 1;
241
2.91k
  XYZ[2] = (1 - wx - wy) * factor;
242
2.91k
  return true;
243
2.91k
}
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_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_debug_image.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>&)
Unexecuted instantiation: color_encoding_internal.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&)
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
357k
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
357k
  JxlTransferFunction tf = encoding.transfer_function;
254
357k
  JxlPrimaries p = encoding.primaries;
255
357k
  JxlWhitePoint wp = encoding.white_point;
256
357k
  return encoding.color_space == JXL_COLOR_SPACE_RGB &&
257
357k
         (tf == JXL_TRANSFER_FUNCTION_PQ || tf == JXL_TRANSFER_FUNCTION_HLG) &&
258
357k
         ((p == JXL_PRIMARIES_P3 &&
259
57.0k
           (wp == JXL_WHITE_POINT_D65 || wp == JXL_WHITE_POINT_DCI)) ||
260
57.0k
          (p != JXL_PRIMARIES_CUSTOM && wp == JXL_WHITE_POINT_D65));
261
357k
}
encode.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Line
Count
Source
249
357k
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
357k
  JxlTransferFunction tf = encoding.transfer_function;
254
357k
  JxlPrimaries p = encoding.primaries;
255
357k
  JxlWhitePoint wp = encoding.white_point;
256
357k
  return encoding.color_space == JXL_COLOR_SPACE_RGB &&
257
357k
         (tf == JXL_TRANSFER_FUNCTION_PQ || tf == JXL_TRANSFER_FUNCTION_HLG) &&
258
357k
         ((p == JXL_PRIMARIES_P3 &&
259
57.0k
           (wp == JXL_WHITE_POINT_D65 || wp == JXL_WHITE_POINT_DCI)) ||
260
57.0k
          (p != JXL_PRIMARIES_CUSTOM && wp == JXL_WHITE_POINT_D65));
261
357k
}
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_dot_dictionary.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
Unexecuted instantiation: enc_debug_image.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&)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::CanToneMap(JxlColorEncoding const&)
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
178k
    JXL_NO_SANITIZE("unsigned-integer-overflow") {
265
178k
  std::vector<uint8_t> data64 = data;
266
178k
  data64.push_back(128);
267
  // Add bytes such that ((size + 8) & 63) == 0.
268
178k
  size_t extra = ((64 - ((data64.size() + 8) & 63)) & 63);
269
178k
  data64.resize(data64.size() + extra, 0);
270
1.60M
  for (uint64_t i = 0; i < 64; i += 8) {
271
1.42M
    data64.push_back(static_cast<uint64_t>(data.size() << 3u) >> i);
272
1.42M
  }
273
274
178k
  static const uint32_t sineparts[64] = {
275
178k
      0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a,
276
178k
      0xa8304613, 0xfd469501, 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be,
277
178k
      0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, 0xf61e2562, 0xc040b340,
278
178k
      0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8,
279
178k
      0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8,
280
178k
      0x676f02d9, 0x8d2a4c8a, 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c,
281
178k
      0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, 0x289b7ec6, 0xeaa127fa,
282
178k
      0xd4ef3085, 0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665,
283
178k
      0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92,
284
178k
      0xffeff47d, 0x85845dd1, 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1,
285
178k
      0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391,
286
178k
  };
287
178k
  static const uint32_t shift[64] = {
288
178k
      7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22,
289
178k
      5, 9,  14, 20, 5, 9,  14, 20, 5, 9,  14, 20, 5, 9,  14, 20,
290
178k
      4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23,
291
178k
      6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21,
292
178k
  };
293
294
178k
  uint32_t a0 = 0x67452301;
295
178k
  uint32_t b0 = 0xefcdab89;
296
178k
  uint32_t c0 = 0x98badcfe;
297
178k
  uint32_t d0 = 0x10325476;
298
299
3.23M
  for (size_t i = 0; i < data64.size(); i += 64) {
300
3.05M
    uint32_t a = a0;
301
3.05M
    uint32_t b = b0;
302
3.05M
    uint32_t c = c0;
303
3.05M
    uint32_t d = d0;
304
3.05M
    uint32_t f;
305
3.05M
    uint32_t g;
306
198M
    for (size_t j = 0; j < 64; j++) {
307
195M
      if (j < 16) {
308
48.8M
        f = (b & c) | ((~b) & d);
309
48.8M
        g = j;
310
146M
      } else if (j < 32) {
311
48.8M
        f = (d & b) | ((~d) & c);
312
48.8M
        g = (5 * j + 1) & 0xf;
313
97.6M
      } else if (j < 48) {
314
48.8M
        f = b ^ c ^ d;
315
48.8M
        g = (3 * j + 5) & 0xf;
316
48.8M
      } else {
317
48.8M
        f = c ^ (b | (~d));
318
48.8M
        g = (7 * j) & 0xf;
319
48.8M
      }
320
195M
      uint32_t dg0 = data64[i + g * 4 + 0];
321
195M
      uint32_t dg1 = data64[i + g * 4 + 1];
322
195M
      uint32_t dg2 = data64[i + g * 4 + 2];
323
195M
      uint32_t dg3 = data64[i + g * 4 + 3];
324
195M
      uint32_t u = dg0 | (dg1 << 8u) | (dg2 << 16u) | (dg3 << 24u);
325
195M
      f += a + sineparts[j] + u;
326
195M
      a = d;
327
195M
      d = c;
328
195M
      c = b;
329
195M
      b += (f << shift[j]) | (f >> (32u - shift[j]));
330
195M
    }
331
3.05M
    a0 += a;
332
3.05M
    b0 += b;
333
3.05M
    c0 += c;
334
3.05M
    d0 += d;
335
3.05M
  }
336
178k
  sum[0] = a0;
337
178k
  sum[1] = a0 >> 8u;
338
178k
  sum[2] = a0 >> 16u;
339
178k
  sum[3] = a0 >> 24u;
340
178k
  sum[4] = b0;
341
178k
  sum[5] = b0 >> 8u;
342
178k
  sum[6] = b0 >> 16u;
343
178k
  sum[7] = b0 >> 24u;
344
178k
  sum[8] = c0;
345
178k
  sum[9] = c0 >> 8u;
346
178k
  sum[10] = c0 >> 16u;
347
178k
  sum[11] = c0 >> 24u;
348
178k
  sum[12] = d0;
349
178k
  sum[13] = d0 >> 8u;
350
178k
  sum[14] = d0 >> 16u;
351
178k
  sum[15] = d0 >> 24u;
352
178k
}
encode.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
Line
Count
Source
264
178k
    JXL_NO_SANITIZE("unsigned-integer-overflow") {
265
178k
  std::vector<uint8_t> data64 = data;
266
178k
  data64.push_back(128);
267
  // Add bytes such that ((size + 8) & 63) == 0.
268
178k
  size_t extra = ((64 - ((data64.size() + 8) & 63)) & 63);
269
178k
  data64.resize(data64.size() + extra, 0);
270
1.60M
  for (uint64_t i = 0; i < 64; i += 8) {
271
1.42M
    data64.push_back(static_cast<uint64_t>(data.size() << 3u) >> i);
272
1.42M
  }
273
274
178k
  static const uint32_t sineparts[64] = {
275
178k
      0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a,
276
178k
      0xa8304613, 0xfd469501, 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be,
277
178k
      0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, 0xf61e2562, 0xc040b340,
278
178k
      0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8,
279
178k
      0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8,
280
178k
      0x676f02d9, 0x8d2a4c8a, 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c,
281
178k
      0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, 0x289b7ec6, 0xeaa127fa,
282
178k
      0xd4ef3085, 0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665,
283
178k
      0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92,
284
178k
      0xffeff47d, 0x85845dd1, 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1,
285
178k
      0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391,
286
178k
  };
287
178k
  static const uint32_t shift[64] = {
288
178k
      7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22,
289
178k
      5, 9,  14, 20, 5, 9,  14, 20, 5, 9,  14, 20, 5, 9,  14, 20,
290
178k
      4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23,
291
178k
      6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21,
292
178k
  };
293
294
178k
  uint32_t a0 = 0x67452301;
295
178k
  uint32_t b0 = 0xefcdab89;
296
178k
  uint32_t c0 = 0x98badcfe;
297
178k
  uint32_t d0 = 0x10325476;
298
299
3.23M
  for (size_t i = 0; i < data64.size(); i += 64) {
300
3.05M
    uint32_t a = a0;
301
3.05M
    uint32_t b = b0;
302
3.05M
    uint32_t c = c0;
303
3.05M
    uint32_t d = d0;
304
3.05M
    uint32_t f;
305
3.05M
    uint32_t g;
306
198M
    for (size_t j = 0; j < 64; j++) {
307
195M
      if (j < 16) {
308
48.8M
        f = (b & c) | ((~b) & d);
309
48.8M
        g = j;
310
146M
      } else if (j < 32) {
311
48.8M
        f = (d & b) | ((~d) & c);
312
48.8M
        g = (5 * j + 1) & 0xf;
313
97.6M
      } else if (j < 48) {
314
48.8M
        f = b ^ c ^ d;
315
48.8M
        g = (3 * j + 5) & 0xf;
316
48.8M
      } else {
317
48.8M
        f = c ^ (b | (~d));
318
48.8M
        g = (7 * j) & 0xf;
319
48.8M
      }
320
195M
      uint32_t dg0 = data64[i + g * 4 + 0];
321
195M
      uint32_t dg1 = data64[i + g * 4 + 1];
322
195M
      uint32_t dg2 = data64[i + g * 4 + 2];
323
195M
      uint32_t dg3 = data64[i + g * 4 + 3];
324
195M
      uint32_t u = dg0 | (dg1 << 8u) | (dg2 << 16u) | (dg3 << 24u);
325
195M
      f += a + sineparts[j] + u;
326
195M
      a = d;
327
195M
      d = c;
328
195M
      c = b;
329
195M
      b += (f << shift[j]) | (f >> (32u - shift[j]));
330
195M
    }
331
3.05M
    a0 += a;
332
3.05M
    b0 += b;
333
3.05M
    c0 += c;
334
3.05M
    d0 += d;
335
3.05M
  }
336
178k
  sum[0] = a0;
337
178k
  sum[1] = a0 >> 8u;
338
178k
  sum[2] = a0 >> 16u;
339
178k
  sum[3] = a0 >> 24u;
340
178k
  sum[4] = b0;
341
178k
  sum[5] = b0 >> 8u;
342
178k
  sum[6] = b0 >> 16u;
343
178k
  sum[7] = b0 >> 24u;
344
178k
  sum[8] = c0;
345
178k
  sum[9] = c0 >> 8u;
346
178k
  sum[10] = c0 >> 16u;
347
178k
  sum[11] = c0 >> 24u;
348
178k
  sum[12] = d0;
349
178k
  sum[13] = d0 >> 8u;
350
178k
  sum[14] = d0 >> 16u;
351
178k
  sum[15] = d0 >> 24u;
352
178k
}
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_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_debug_image.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*)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*)
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
175k
static Status CreateICCChadMatrix(double wx, double wy, Matrix3x3& result) {
355
175k
  Matrix3x3 m;
356
175k
  if (wy == 0) {  // WhitePoint can not be pitch-black.
357
2
    return JXL_FAILURE("Invalid WhitePoint");
358
2
  }
359
175k
  JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, m));
360
175k
  result = m;
361
175k
  return true;
362
175k
}
encode.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
Line
Count
Source
354
175k
static Status CreateICCChadMatrix(double wx, double wy, Matrix3x3& result) {
355
175k
  Matrix3x3 m;
356
175k
  if (wy == 0) {  // WhitePoint can not be pitch-black.
357
2
    return JXL_FAILURE("Invalid WhitePoint");
358
2
  }
359
175k
  JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, m));
360
175k
  result = m;
361
175k
  return true;
362
175k
}
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_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_debug_image.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>&)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
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
170k
                                 Matrix3x3& result) {
368
170k
  Matrix3x3 m;
369
170k
  JXL_RETURN_IF_ERROR(PrimariesToXYZD50(rx, ry, gx, gy, bx, by, wx, wy, m));
370
170k
  result = m;
371
170k
  return true;
372
170k
}
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
170k
                                 Matrix3x3& result) {
368
170k
  Matrix3x3 m;
369
170k
  JXL_RETURN_IF_ERROR(PrimariesToXYZD50(rx, ry, gx, gy, bx, by, wx, wy, m));
370
170k
  result = m;
371
170k
  return true;
372
170k
}
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_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_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_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>&)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&)
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
16.2M
                           std::vector<uint8_t>* icc) {
376
16.2M
  if (icc->size() < pos + 4) icc->resize(pos + 4);
377
16.2M
  (*icc)[pos + 0] = (value >> 24u) & 255;
378
16.2M
  (*icc)[pos + 1] = (value >> 16u) & 255;
379
16.2M
  (*icc)[pos + 2] = (value >> 8u) & 255;
380
16.2M
  (*icc)[pos + 3] = value & 255;
381
16.2M
}
encode.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
375
16.2M
                           std::vector<uint8_t>* icc) {
376
16.2M
  if (icc->size() < pos + 4) icc->resize(pos + 4);
377
16.2M
  (*icc)[pos + 0] = (value >> 24u) & 255;
378
16.2M
  (*icc)[pos + 1] = (value >> 16u) & 255;
379
16.2M
  (*icc)[pos + 2] = (value >> 8u) & 255;
380
16.2M
  (*icc)[pos + 3] = value & 255;
381
16.2M
}
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_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_debug_image.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> >*)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
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
2.04M
                           std::vector<uint8_t>* icc) {
385
2.04M
  if (icc->size() < pos + 2) icc->resize(pos + 2);
386
2.04M
  (*icc)[pos + 0] = (value >> 8u) & 255;
387
2.04M
  (*icc)[pos + 1] = value & 255;
388
2.04M
}
encode.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
384
2.04M
                           std::vector<uint8_t>* icc) {
385
2.04M
  if (icc->size() < pos + 2) icc->resize(pos + 2);
386
2.04M
  (*icc)[pos + 0] = (value >> 8u) & 255;
387
2.04M
  (*icc)[pos + 1] = value & 255;
388
2.04M
}
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_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_debug_image.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> >*)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
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
89.8M
                          std::vector<uint8_t>* icc) {
392
89.8M
  if (icc->size() < pos + 1) icc->resize(pos + 1);
393
89.8M
  (*icc)[pos] = value;
394
89.8M
}
encode.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
391
89.8M
                          std::vector<uint8_t>* icc) {
392
89.8M
  if (icc->size() < pos + 1) icc->resize(pos + 1);
393
89.8M
  (*icc)[pos] = value;
394
89.8M
}
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_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_debug_image.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> >*)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
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
5.20M
                        std::vector<uint8_t>* icc) {
399
5.20M
  if (icc->size() < pos + 4) icc->resize(pos + 4);
400
5.20M
  memcpy(icc->data() + pos, value, 4);
401
5.20M
}
encode.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
398
5.20M
                        std::vector<uint8_t>* icc) {
399
5.20M
  if (icc->size() < pos + 4) icc->resize(pos + 4);
400
5.20M
  memcpy(icc->data() + pos, value, 4);
401
5.20M
}
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_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_debug_image.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> >*)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
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
4.80M
                                 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
4.80M
  bool ok = (-32767.995f <= value) && (value <= 32767.995f);
409
4.80M
  if (!ok) return JXL_FAILURE("ICC value is out of range / NaN");
410
4.80M
  int32_t i = static_cast<int32_t>(std::lround(value * 65536.0f));
411
  // Use two's complement
412
4.80M
  uint32_t u = static_cast<uint32_t>(i);
413
4.80M
  WriteICCUint32(u, pos, icc);
414
4.80M
  return true;
415
4.80M
}
encode.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
404
4.80M
                                 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
4.80M
  bool ok = (-32767.995f <= value) && (value <= 32767.995f);
409
4.80M
  if (!ok) return JXL_FAILURE("ICC value is out of range / NaN");
410
4.80M
  int32_t i = static_cast<int32_t>(std::lround(value * 65536.0f));
411
  // Use two's complement
412
4.80M
  uint32_t u = static_cast<uint32_t>(i);
413
4.80M
  WriteICCUint32(u, pos, icc);
414
4.80M
  return true;
415
4.80M
}
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_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_debug_image.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> >*)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
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
178k
                              std::vector<uint8_t>* header) {
419
  // TODO(lode): choose color management engine name, e.g. "skia" if
420
  // integrated in skia.
421
178k
  static const char* kCmm = "jxl ";
422
423
178k
  header->resize(128, 0);
424
425
178k
  WriteICCUint32(0, 0, header);  // size, correct value filled in at end
426
178k
  WriteICCTag(kCmm, 4, header);
427
178k
  WriteICCUint32(0x04400000u, 8, header);
428
178k
  const char* profile_type =
429
178k
      c.color_space == JXL_COLOR_SPACE_XYB ? "scnr" : "mntr";
430
178k
  WriteICCTag(profile_type, 12, header);
431
178k
  WriteICCTag(c.color_space == JXL_COLOR_SPACE_GRAY ? "GRAY" : "RGB ", 16,
432
178k
              header);
433
178k
  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.8k
    WriteICCTag("Lab ", 20, header);
439
154k
  } else {
440
154k
    WriteICCTag("XYZ ", 20, header);
441
154k
  }
442
443
  // Three uint32_t's date/time encoding.
444
  // TODO(lode): encode actual date and time, this is a placeholder
445
178k
  uint32_t year = 2019;
446
178k
  uint32_t month = 12;
447
178k
  uint32_t day = 1;
448
178k
  uint32_t hour = 0;
449
178k
  uint32_t minute = 0;
450
178k
  uint32_t second = 0;
451
178k
  WriteICCUint16(year, 24, header);
452
178k
  WriteICCUint16(month, 26, header);
453
178k
  WriteICCUint16(day, 28, header);
454
178k
  WriteICCUint16(hour, 30, header);
455
178k
  WriteICCUint16(minute, 32, header);
456
178k
  WriteICCUint16(second, 34, header);
457
458
178k
  WriteICCTag("acsp", 36, header);
459
178k
  WriteICCTag("APPL", 40, header);
460
178k
  WriteICCUint32(0, 44, header);  // flags
461
178k
  WriteICCUint32(0, 48, header);  // device manufacturer
462
178k
  WriteICCUint32(0, 52, header);  // device model
463
178k
  WriteICCUint32(0, 56, header);  // device attributes
464
178k
  WriteICCUint32(0, 60, header);  // device attributes
465
178k
  WriteICCUint32(static_cast<uint32_t>(c.rendering_intent), 64, header);
466
467
  // Mandatory D50 white point of profile connection space
468
178k
  WriteICCUint32(0x0000f6d6, 68, header);
469
178k
  WriteICCUint32(0x00010000, 72, header);
470
178k
  WriteICCUint32(0x0000d32d, 76, header);
471
472
178k
  WriteICCTag(kCmm, 80, header);
473
474
178k
  return true;
475
178k
}
encode.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
418
178k
                              std::vector<uint8_t>* header) {
419
  // TODO(lode): choose color management engine name, e.g. "skia" if
420
  // integrated in skia.
421
178k
  static const char* kCmm = "jxl ";
422
423
178k
  header->resize(128, 0);
424
425
178k
  WriteICCUint32(0, 0, header);  // size, correct value filled in at end
426
178k
  WriteICCTag(kCmm, 4, header);
427
178k
  WriteICCUint32(0x04400000u, 8, header);
428
178k
  const char* profile_type =
429
178k
      c.color_space == JXL_COLOR_SPACE_XYB ? "scnr" : "mntr";
430
178k
  WriteICCTag(profile_type, 12, header);
431
178k
  WriteICCTag(c.color_space == JXL_COLOR_SPACE_GRAY ? "GRAY" : "RGB ", 16,
432
178k
              header);
433
178k
  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.8k
    WriteICCTag("Lab ", 20, header);
439
154k
  } else {
440
154k
    WriteICCTag("XYZ ", 20, header);
441
154k
  }
442
443
  // Three uint32_t's date/time encoding.
444
  // TODO(lode): encode actual date and time, this is a placeholder
445
178k
  uint32_t year = 2019;
446
178k
  uint32_t month = 12;
447
178k
  uint32_t day = 1;
448
178k
  uint32_t hour = 0;
449
178k
  uint32_t minute = 0;
450
178k
  uint32_t second = 0;
451
178k
  WriteICCUint16(year, 24, header);
452
178k
  WriteICCUint16(month, 26, header);
453
178k
  WriteICCUint16(day, 28, header);
454
178k
  WriteICCUint16(hour, 30, header);
455
178k
  WriteICCUint16(minute, 32, header);
456
178k
  WriteICCUint16(second, 34, header);
457
458
178k
  WriteICCTag("acsp", 36, header);
459
178k
  WriteICCTag("APPL", 40, header);
460
178k
  WriteICCUint32(0, 44, header);  // flags
461
178k
  WriteICCUint32(0, 48, header);  // device manufacturer
462
178k
  WriteICCUint32(0, 52, header);  // device model
463
178k
  WriteICCUint32(0, 56, header);  // device attributes
464
178k
  WriteICCUint32(0, 60, header);  // device attributes
465
178k
  WriteICCUint32(static_cast<uint32_t>(c.rendering_intent), 64, header);
466
467
  // Mandatory D50 white point of profile connection space
468
178k
  WriteICCUint32(0x0000f6d6, 68, header);
469
178k
  WriteICCUint32(0x00010000, 72, header);
470
178k
  WriteICCUint32(0x0000d32d, 76, header);
471
472
178k
  WriteICCTag(kCmm, 80, header);
473
474
178k
  return true;
475
178k
}
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_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_debug_image.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> >*)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
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
1.89M
                             std::vector<size_t>* offsets) {
480
1.89M
  WriteICCTag(tag, tagtable->size(), tagtable);
481
  // writing true offset deferred to later
482
1.89M
  WriteICCUint32(0, tagtable->size(), tagtable);
483
1.89M
  offsets->push_back(offset);
484
1.89M
  WriteICCUint32(size, tagtable->size(), tagtable);
485
1.89M
}
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
1.89M
                             std::vector<size_t>* offsets) {
480
1.89M
  WriteICCTag(tag, tagtable->size(), tagtable);
481
  // writing true offset deferred to later
482
1.89M
  WriteICCUint32(0, tagtable->size(), tagtable);
483
1.89M
  offsets->push_back(offset);
484
1.89M
  WriteICCUint32(size, tagtable->size(), tagtable);
485
1.89M
}
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_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_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_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> >*)
Unexecuted instantiation: 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> >*)
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
1.59M
                           size_t* size) {
489
2.32M
  while ((tags->size() & 3) != 0) {
490
728k
    tags->push_back(0);
491
728k
  }
492
1.59M
  *offset += *size;
493
1.59M
  *size = tags->size() - *offset;
494
1.59M
}
encode.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
Line
Count
Source
488
1.59M
                           size_t* size) {
489
2.32M
  while ((tags->size() & 3) != 0) {
490
728k
    tags->push_back(0);
491
728k
  }
492
1.59M
  *offset += *size;
493
1.59M
  *size = tags->size() - *offset;
494
1.59M
}
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_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_debug_image.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*)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*)
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
356k
                             std::vector<uint8_t>* tags) {
500
356k
  WriteICCTag("mluc", tags->size(), tags);
501
356k
  WriteICCUint32(0, tags->size(), tags);
502
356k
  WriteICCUint32(1, tags->size(), tags);
503
356k
  WriteICCUint32(12, tags->size(), tags);
504
356k
  WriteICCTag("enUS", tags->size(), tags);
505
356k
  WriteICCUint32(text.size() * 2, tags->size(), tags);
506
356k
  WriteICCUint32(28, tags->size(), tags);
507
4.03M
  for (char c : text) {
508
4.03M
    tags->push_back(0);  // prepend 0 for UTF-16
509
4.03M
    tags->push_back(c);
510
4.03M
  }
511
356k
}
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
356k
                             std::vector<uint8_t>* tags) {
500
356k
  WriteICCTag("mluc", tags->size(), tags);
501
356k
  WriteICCUint32(0, tags->size(), tags);
502
356k
  WriteICCUint32(1, tags->size(), tags);
503
356k
  WriteICCUint32(12, tags->size(), tags);
504
356k
  WriteICCTag("enUS", tags->size(), tags);
505
356k
  WriteICCUint32(text.size() * 2, tags->size(), tags);
506
356k
  WriteICCUint32(28, tags->size(), tags);
507
4.03M
  for (char c : text) {
508
4.03M
    tags->push_back(0);  // prepend 0 for UTF-16
509
4.03M
    tags->push_back(c);
510
4.03M
  }
511
356k
}
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_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_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_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> >*)
Unexecuted instantiation: 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> >*)
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
691k
static Status CreateICCXYZTag(const Color& xyz, std::vector<uint8_t>* tags) {
514
691k
  WriteICCTag("XYZ ", tags->size(), tags);
515
691k
  WriteICCUint32(0, tags->size(), tags);
516
2.76M
  for (size_t i = 0; i < 3; ++i) {
517
2.07M
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(xyz[i], tags->size(), tags));
518
2.07M
  }
519
691k
  return true;
520
691k
}
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
691k
static Status CreateICCXYZTag(const Color& xyz, std::vector<uint8_t>* tags) {
514
691k
  WriteICCTag("XYZ ", tags->size(), tags);
515
691k
  WriteICCUint32(0, tags->size(), tags);
516
2.76M
  for (size_t i = 0; i < 3; ++i) {
517
2.07M
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(xyz[i], tags->size(), tags));
518
2.07M
  }
519
691k
  return true;
520
691k
}
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_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_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_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> >*)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
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
175k
                               std::vector<uint8_t>* tags) {
524
175k
  WriteICCTag("sf32", tags->size(), tags);
525
175k
  WriteICCUint32(0, tags->size(), tags);
526
701k
  for (size_t j = 0; j < 3; j++) {
527
2.10M
    for (size_t i = 0; i < 3; i++) {
528
1.57M
      JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(chad[j][i], tags->size(), tags));
529
1.57M
    }
530
526k
  }
531
175k
  return true;
532
175k
}
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
175k
                               std::vector<uint8_t>* tags) {
524
175k
  WriteICCTag("sf32", tags->size(), tags);
525
175k
  WriteICCUint32(0, tags->size(), tags);
526
701k
  for (size_t j = 0; j < 3; j++) {
527
2.10M
    for (size_t i = 0; i < 3; i++) {
528
1.57M
      JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(chad[j][i], tags->size(), tags));
529
1.57M
    }
530
526k
  }
531
175k
  return true;
532
175k
}
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_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_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_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> >*)
Unexecuted instantiation: 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> >*)
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
170k
                                  std::vector<size_t>* offsets) {
538
170k
  if (c.color_space != JXL_COLOR_SPACE_RGB) {
539
0
    return;
540
0
  }
541
170k
  uint8_t primaries = 0;
542
170k
  if (c.primaries == JXL_PRIMARIES_P3) {
543
485
    if (c.white_point == JXL_WHITE_POINT_D65) {
544
479
      primaries = 12;
545
479
    } else if (c.white_point == JXL_WHITE_POINT_DCI) {
546
2
      primaries = 11;
547
4
    } else {
548
4
      return;
549
4
    }
550
170k
  } else if (c.primaries != JXL_PRIMARIES_CUSTOM &&
551
170k
             c.white_point == JXL_WHITE_POINT_D65) {
552
167k
    primaries = static_cast<uint8_t>(c.primaries);
553
167k
  } else {
554
3.41k
    return;
555
3.41k
  }
556
167k
  JxlTransferFunction tf = c.transfer_function;
557
167k
  if (tf == JXL_TRANSFER_FUNCTION_UNKNOWN ||
558
167k
      tf == JXL_TRANSFER_FUNCTION_GAMMA) {
559
1.16k
    return;
560
1.16k
  }
561
166k
  WriteICCTag("cicp", tags->size(), tags);
562
166k
  WriteICCUint32(0, tags->size(), tags);
563
166k
  WriteICCUint8(primaries, tags->size(), tags);
564
166k
  WriteICCUint8(static_cast<uint8_t>(tf), tags->size(), tags);
565
  // Matrix
566
166k
  WriteICCUint8(0, tags->size(), tags);
567
  // Full range
568
166k
  WriteICCUint8(1, tags->size(), tags);
569
166k
  FinalizeICCTag(tags, offset, size);
570
166k
  AddToICCTagTable("cicp", *offset, *size, tagtable, offsets);
571
166k
}
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
170k
                                  std::vector<size_t>* offsets) {
538
170k
  if (c.color_space != JXL_COLOR_SPACE_RGB) {
539
0
    return;
540
0
  }
541
170k
  uint8_t primaries = 0;
542
170k
  if (c.primaries == JXL_PRIMARIES_P3) {
543
485
    if (c.white_point == JXL_WHITE_POINT_D65) {
544
479
      primaries = 12;
545
479
    } else if (c.white_point == JXL_WHITE_POINT_DCI) {
546
2
      primaries = 11;
547
4
    } else {
548
4
      return;
549
4
    }
550
170k
  } else if (c.primaries != JXL_PRIMARIES_CUSTOM &&
551
170k
             c.white_point == JXL_WHITE_POINT_D65) {
552
167k
    primaries = static_cast<uint8_t>(c.primaries);
553
167k
  } else {
554
3.41k
    return;
555
3.41k
  }
556
167k
  JxlTransferFunction tf = c.transfer_function;
557
167k
  if (tf == JXL_TRANSFER_FUNCTION_UNKNOWN ||
558
167k
      tf == JXL_TRANSFER_FUNCTION_GAMMA) {
559
1.16k
    return;
560
1.16k
  }
561
166k
  WriteICCTag("cicp", tags->size(), tags);
562
166k
  WriteICCUint32(0, tags->size(), tags);
563
166k
  WriteICCUint8(primaries, tags->size(), tags);
564
166k
  WriteICCUint8(static_cast<uint8_t>(tf), tags->size(), tags);
565
  // Matrix
566
166k
  WriteICCUint8(0, tags->size(), tags);
567
  // Full range
568
166k
  WriteICCUint8(1, tags->size(), tags);
569
166k
  FinalizeICCTag(tags, offset, size);
570
166k
  AddToICCTagTable("cicp", *offset, *size, tagtable, offsets);
571
166k
}
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_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_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_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> >*)
Unexecuted instantiation: 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> >*)
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
5.07k
                                 std::vector<uint8_t>* tags) {
575
5.07k
  size_t pos = tags->size();
576
5.07k
  tags->resize(tags->size() + 12 + curve.size() * 2, 0);
577
5.07k
  WriteICCTag("curv", pos, tags);
578
5.07k
  WriteICCUint32(0, pos + 4, tags);
579
5.07k
  WriteICCUint32(curve.size(), pos + 8, tags);
580
330k
  for (size_t i = 0; i < curve.size(); i++) {
581
324k
    WriteICCUint16(curve[i], pos + 12 + i * 2, tags);
582
324k
  }
583
5.07k
}
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> >*)
Line
Count
Source
574
5.07k
                                 std::vector<uint8_t>* tags) {
575
5.07k
  size_t pos = tags->size();
576
5.07k
  tags->resize(tags->size() + 12 + curve.size() * 2, 0);
577
5.07k
  WriteICCTag("curv", pos, tags);
578
5.07k
  WriteICCUint32(0, pos + 4, tags);
579
5.07k
  WriteICCUint32(curve.size(), pos + 8, tags);
580
330k
  for (size_t i = 0; i < curve.size(); i++) {
581
324k
    WriteICCUint16(curve[i], pos + 12 + i * 2, tags);
582
324k
  }
583
5.07k
}
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_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_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_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> >*)
Unexecuted instantiation: 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> >*)
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
256k
                                   std::vector<uint8_t>* tags) {
589
256k
  WriteICCTag("para", tags->size(), tags);
590
256k
  WriteICCUint32(0, tags->size(), tags);
591
256k
  WriteICCUint16(curve_type, tags->size(), tags);
592
256k
  WriteICCUint16(0, tags->size(), tags);
593
882k
  for (float param : params) {
594
882k
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(param, tags->size(), tags));
595
882k
  }
596
256k
  return true;
597
256k
}
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
256k
                                   std::vector<uint8_t>* tags) {
589
256k
  WriteICCTag("para", tags->size(), tags);
590
256k
  WriteICCUint32(0, tags->size(), tags);
591
256k
  WriteICCUint16(curve_type, tags->size(), tags);
592
256k
  WriteICCUint16(0, tags->size(), tags);
593
882k
  for (float param : params) {
594
882k
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(param, tags->size(), tags));
595
882k
  }
596
256k
  return true;
597
256k
}
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_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_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_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> >*)
Unexecuted instantiation: 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> >*)
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
4.40k
static Status CreateICCLutAtoBTagForXYB(std::vector<uint8_t>* tags) {
600
4.40k
  WriteICCTag("mAB ", tags->size(), tags);
601
  // 4 reserved bytes set to 0
602
4.40k
  WriteICCUint32(0, tags->size(), tags);
603
  // number of input channels
604
4.40k
  WriteICCUint8(3, tags->size(), tags);
605
  // number of output channels
606
4.40k
  WriteICCUint8(3, tags->size(), tags);
607
  // 2 reserved bytes for padding
608
4.40k
  WriteICCUint16(0, tags->size(), tags);
609
  // offset to first B curve
610
4.40k
  WriteICCUint32(32, tags->size(), tags);
611
  // offset to matrix
612
4.40k
  WriteICCUint32(244, tags->size(), tags);
613
  // offset to first M curve
614
4.40k
  WriteICCUint32(148, tags->size(), tags);
615
  // offset to CLUT
616
4.40k
  WriteICCUint32(80, tags->size(), tags);
617
  // offset to first A curve
618
  // (reuse linear B curves)
619
4.40k
  WriteICCUint32(32, tags->size(), tags);
620
621
  // offset = 32
622
  // no-op curves
623
4.40k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
624
4.40k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
625
4.40k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
626
  // offset = 80
627
  // number of grid points for each input channel
628
74.9k
  for (int i = 0; i < 16; ++i) {
629
70.5k
    WriteICCUint8(i < 3 ? 2 : 0, tags->size(), tags);
630
70.5k
  }
631
  // precision = 2
632
4.40k
  WriteICCUint8(2, tags->size(), tags);
633
  // 3 bytes of padding
634
4.40k
  WriteICCUint8(0, tags->size(), tags);
635
4.40k
  WriteICCUint16(0, tags->size(), tags);
636
  // 2*2*2*3 entries of 2 bytes each = 48 bytes
637
4.40k
  const jxl::cms::ColorCube3D& cube = jxl::cms::UnscaledA2BCube();
638
13.2k
  for (size_t ix = 0; ix < 2; ++ix) {
639
26.4k
    for (size_t iy = 0; iy < 2; ++iy) {
640
52.8k
      for (size_t ib = 0; ib < 2; ++ib) {
641
35.2k
        const jxl::cms::ColorCube0D& out_f = cube[ix][iy][ib];
642
141k
        for (int i = 0; i < 3; ++i) {
643
105k
          int32_t val = static_cast<int32_t>(std::lroundf(65535 * out_f[i]));
644
105k
          JXL_DASSERT(val >= 0 && val <= 65535);
645
105k
          WriteICCUint16(val, tags->size(), tags);
646
105k
        }
647
35.2k
      }
648
17.6k
    }
649
8.81k
  }
650
  // offset = 148
651
  // 3 curves with 5 parameters = 3 * (12 + 5 * 4) = 96 bytes
652
17.6k
  for (size_t i = 0; i < 3; ++i) {
653
13.2k
    const float b = -jxl::cms::kXYBOffset[i] -
654
13.2k
                    std::cbrt(jxl::cms::kNegOpsinAbsorbanceBiasRGB[i]);
655
13.2k
    std::vector<float> params = {
656
13.2k
        3,
657
13.2k
        1.0f / jxl::cms::kXYBScale[i],
658
13.2k
        b,
659
13.2k
        0,                                           // unused
660
13.2k
        std::max(0.f, -b * jxl::cms::kXYBScale[i]),  // make skcms happy
661
13.2k
    };
662
13.2k
    JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(params, 3, tags));
663
13.2k
  }
664
  // offset = 244
665
4.40k
  const double matrix[] = {1.5170095, -1.1065225, 0.071623,
666
4.40k
                           -0.050022, 0.5683655,  -0.018344,
667
4.40k
                           -1.387676, 1.1145555,  0.6857255};
668
  // 12 * 4 = 48 bytes
669
39.6k
  for (double v : matrix) {
670
39.6k
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(v, tags->size(), tags));
671
39.6k
  }
672
17.6k
  for (size_t i = 0; i < 3; ++i) {
673
13.2k
    float intercept = 0;
674
52.8k
    for (size_t j = 0; j < 3; ++j) {
675
39.6k
      intercept += matrix[i * 3 + j] * jxl::cms::kNegOpsinAbsorbanceBiasRGB[j];
676
39.6k
    }
677
13.2k
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(intercept, tags->size(), tags));
678
13.2k
  }
679
4.40k
  return true;
680
4.40k
}
encode.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
599
4.40k
static Status CreateICCLutAtoBTagForXYB(std::vector<uint8_t>* tags) {
600
4.40k
  WriteICCTag("mAB ", tags->size(), tags);
601
  // 4 reserved bytes set to 0
602
4.40k
  WriteICCUint32(0, tags->size(), tags);
603
  // number of input channels
604
4.40k
  WriteICCUint8(3, tags->size(), tags);
605
  // number of output channels
606
4.40k
  WriteICCUint8(3, tags->size(), tags);
607
  // 2 reserved bytes for padding
608
4.40k
  WriteICCUint16(0, tags->size(), tags);
609
  // offset to first B curve
610
4.40k
  WriteICCUint32(32, tags->size(), tags);
611
  // offset to matrix
612
4.40k
  WriteICCUint32(244, tags->size(), tags);
613
  // offset to first M curve
614
4.40k
  WriteICCUint32(148, tags->size(), tags);
615
  // offset to CLUT
616
4.40k
  WriteICCUint32(80, tags->size(), tags);
617
  // offset to first A curve
618
  // (reuse linear B curves)
619
4.40k
  WriteICCUint32(32, tags->size(), tags);
620
621
  // offset = 32
622
  // no-op curves
623
4.40k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
624
4.40k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
625
4.40k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
626
  // offset = 80
627
  // number of grid points for each input channel
628
74.9k
  for (int i = 0; i < 16; ++i) {
629
70.5k
    WriteICCUint8(i < 3 ? 2 : 0, tags->size(), tags);
630
70.5k
  }
631
  // precision = 2
632
4.40k
  WriteICCUint8(2, tags->size(), tags);
633
  // 3 bytes of padding
634
4.40k
  WriteICCUint8(0, tags->size(), tags);
635
4.40k
  WriteICCUint16(0, tags->size(), tags);
636
  // 2*2*2*3 entries of 2 bytes each = 48 bytes
637
4.40k
  const jxl::cms::ColorCube3D& cube = jxl::cms::UnscaledA2BCube();
638
13.2k
  for (size_t ix = 0; ix < 2; ++ix) {
639
26.4k
    for (size_t iy = 0; iy < 2; ++iy) {
640
52.8k
      for (size_t ib = 0; ib < 2; ++ib) {
641
35.2k
        const jxl::cms::ColorCube0D& out_f = cube[ix][iy][ib];
642
141k
        for (int i = 0; i < 3; ++i) {
643
105k
          int32_t val = static_cast<int32_t>(std::lroundf(65535 * out_f[i]));
644
105k
          JXL_DASSERT(val >= 0 && val <= 65535);
645
105k
          WriteICCUint16(val, tags->size(), tags);
646
105k
        }
647
35.2k
      }
648
17.6k
    }
649
8.81k
  }
650
  // offset = 148
651
  // 3 curves with 5 parameters = 3 * (12 + 5 * 4) = 96 bytes
652
17.6k
  for (size_t i = 0; i < 3; ++i) {
653
13.2k
    const float b = -jxl::cms::kXYBOffset[i] -
654
13.2k
                    std::cbrt(jxl::cms::kNegOpsinAbsorbanceBiasRGB[i]);
655
13.2k
    std::vector<float> params = {
656
13.2k
        3,
657
13.2k
        1.0f / jxl::cms::kXYBScale[i],
658
13.2k
        b,
659
13.2k
        0,                                           // unused
660
13.2k
        std::max(0.f, -b * jxl::cms::kXYBScale[i]),  // make skcms happy
661
13.2k
    };
662
13.2k
    JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(params, 3, tags));
663
13.2k
  }
664
  // offset = 244
665
4.40k
  const double matrix[] = {1.5170095, -1.1065225, 0.071623,
666
4.40k
                           -0.050022, 0.5683655,  -0.018344,
667
4.40k
                           -1.387676, 1.1145555,  0.6857255};
668
  // 12 * 4 = 48 bytes
669
39.6k
  for (double v : matrix) {
670
39.6k
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(v, tags->size(), tags));
671
39.6k
  }
672
17.6k
  for (size_t i = 0; i < 3; ++i) {
673
13.2k
    float intercept = 0;
674
52.8k
    for (size_t j = 0; j < 3; ++j) {
675
39.6k
      intercept += matrix[i * 3 + j] * jxl::cms::kNegOpsinAbsorbanceBiasRGB[j];
676
39.6k
    }
677
13.2k
    JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(intercept, tags->size(), tags));
678
13.2k
  }
679
4.40k
  return true;
680
4.40k
}
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_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_debug_image.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> >*)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
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.8k
                                        std::vector<uint8_t>* tags) {
684
23.8k
  static constexpr size_t k3DLutDim = 9;
685
23.8k
  WriteICCTag("mft1", tags->size(), tags);
686
  // 4 reserved bytes set to 0
687
23.8k
  WriteICCUint32(0, tags->size(), tags);
688
  // number of input channels
689
23.8k
  WriteICCUint8(3, tags->size(), tags);
690
  // number of output channels
691
23.8k
  WriteICCUint8(3, tags->size(), tags);
692
  // number of CLUT grid points
693
23.8k
  WriteICCUint8(k3DLutDim, tags->size(), tags);
694
  // 1 reserved bytes for padding
695
23.8k
  WriteICCUint8(0, tags->size(), tags);
696
697
  // Matrix (per specification, must be identity if input is not XYZ)
698
95.5k
  for (size_t i = 0; i < 3; ++i) {
699
286k
    for (size_t j = 0; j < 3; ++j) {
700
214k
      JXL_RETURN_IF_ERROR(
701
214k
          WriteICCS15Fixed16(i == j ? 1.f : 0.f, tags->size(), tags));
702
214k
    }
703
71.6k
  }
704
705
  // Input tables
706
95.5k
  for (size_t c = 0; c < 3; ++c) {
707
18.4M
    for (size_t i = 0; i < 256; ++i) {
708
18.3M
      WriteICCUint8(i, tags->size(), tags);
709
18.3M
    }
710
71.6k
  }
711
712
238k
  for (size_t ix = 0; ix < k3DLutDim; ++ix) {
713
2.14M
    for (size_t iy = 0; iy < k3DLutDim; ++iy) {
714
19.3M
      for (size_t ib = 0; ib < k3DLutDim; ++ib) {
715
17.4M
        float f[3] = {ix * (1.0f / (k3DLutDim - 1)),
716
17.4M
                      iy * (1.0f / (k3DLutDim - 1)),
717
17.4M
                      ib * (1.0f / (k3DLutDim - 1))};
718
17.4M
        uint8_t pcslab_out[3];
719
17.4M
        JXL_RETURN_IF_ERROR(ToneMapPixel(color_encoding, f, pcslab_out));
720
52.2M
        for (uint8_t val : pcslab_out) {
721
52.2M
          WriteICCUint8(val, tags->size(), tags);
722
52.2M
        }
723
17.4M
      }
724
1.93M
    }
725
214k
  }
726
727
  // Output tables
728
95.5k
  for (size_t c = 0; c < 3; ++c) {
729
18.4M
    for (size_t i = 0; i < 256; ++i) {
730
18.3M
      WriteICCUint8(i, tags->size(), tags);
731
18.3M
    }
732
71.6k
  }
733
734
23.8k
  return true;
735
23.8k
}
encode.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
683
23.8k
                                        std::vector<uint8_t>* tags) {
684
23.8k
  static constexpr size_t k3DLutDim = 9;
685
23.8k
  WriteICCTag("mft1", tags->size(), tags);
686
  // 4 reserved bytes set to 0
687
23.8k
  WriteICCUint32(0, tags->size(), tags);
688
  // number of input channels
689
23.8k
  WriteICCUint8(3, tags->size(), tags);
690
  // number of output channels
691
23.8k
  WriteICCUint8(3, tags->size(), tags);
692
  // number of CLUT grid points
693
23.8k
  WriteICCUint8(k3DLutDim, tags->size(), tags);
694
  // 1 reserved bytes for padding
695
23.8k
  WriteICCUint8(0, tags->size(), tags);
696
697
  // Matrix (per specification, must be identity if input is not XYZ)
698
95.5k
  for (size_t i = 0; i < 3; ++i) {
699
286k
    for (size_t j = 0; j < 3; ++j) {
700
214k
      JXL_RETURN_IF_ERROR(
701
214k
          WriteICCS15Fixed16(i == j ? 1.f : 0.f, tags->size(), tags));
702
214k
    }
703
71.6k
  }
704
705
  // Input tables
706
95.5k
  for (size_t c = 0; c < 3; ++c) {
707
18.4M
    for (size_t i = 0; i < 256; ++i) {
708
18.3M
      WriteICCUint8(i, tags->size(), tags);
709
18.3M
    }
710
71.6k
  }
711
712
238k
  for (size_t ix = 0; ix < k3DLutDim; ++ix) {
713
2.14M
    for (size_t iy = 0; iy < k3DLutDim; ++iy) {
714
19.3M
      for (size_t ib = 0; ib < k3DLutDim; ++ib) {
715
17.4M
        float f[3] = {ix * (1.0f / (k3DLutDim - 1)),
716
17.4M
                      iy * (1.0f / (k3DLutDim - 1)),
717
17.4M
                      ib * (1.0f / (k3DLutDim - 1))};
718
17.4M
        uint8_t pcslab_out[3];
719
17.4M
        JXL_RETURN_IF_ERROR(ToneMapPixel(color_encoding, f, pcslab_out));
720
52.2M
        for (uint8_t val : pcslab_out) {
721
52.2M
          WriteICCUint8(val, tags->size(), tags);
722
52.2M
        }
723
17.4M
      }
724
1.93M
    }
725
214k
  }
726
727
  // Output tables
728
95.5k
  for (size_t c = 0; c < 3; ++c) {
729
18.4M
    for (size_t i = 0; i < 256; ++i) {
730
18.3M
      WriteICCUint8(i, tags->size(), tags);
731
18.3M
    }
732
71.6k
  }
733
734
23.8k
  return true;
735
23.8k
}
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_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_debug_image.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> >*)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
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
28.2k
static Status CreateICCNoOpBToATag(std::vector<uint8_t>* tags) {
739
28.2k
  WriteICCTag("mBA ", tags->size(), tags);  // notypo
740
  // 4 reserved bytes set to 0
741
28.2k
  WriteICCUint32(0, tags->size(), tags);
742
  // number of input channels
743
28.2k
  WriteICCUint8(3, tags->size(), tags);
744
  // number of output channels
745
28.2k
  WriteICCUint8(3, tags->size(), tags);
746
  // 2 reserved bytes for padding
747
28.2k
  WriteICCUint16(0, tags->size(), tags);
748
  // offset to first B curve
749
28.2k
  WriteICCUint32(32, tags->size(), tags);
750
  // offset to matrix
751
28.2k
  WriteICCUint32(0, tags->size(), tags);
752
  // offset to first M curve
753
28.2k
  WriteICCUint32(0, tags->size(), tags);
754
  // offset to CLUT
755
28.2k
  WriteICCUint32(0, tags->size(), tags);
756
  // offset to first A curve
757
28.2k
  WriteICCUint32(0, tags->size(), tags);
758
759
28.2k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
760
28.2k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
761
28.2k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
762
763
28.2k
  return true;
764
28.2k
}
encode.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
738
28.2k
static Status CreateICCNoOpBToATag(std::vector<uint8_t>* tags) {
739
28.2k
  WriteICCTag("mBA ", tags->size(), tags);  // notypo
740
  // 4 reserved bytes set to 0
741
28.2k
  WriteICCUint32(0, tags->size(), tags);
742
  // number of input channels
743
28.2k
  WriteICCUint8(3, tags->size(), tags);
744
  // number of output channels
745
28.2k
  WriteICCUint8(3, tags->size(), tags);
746
  // 2 reserved bytes for padding
747
28.2k
  WriteICCUint16(0, tags->size(), tags);
748
  // offset to first B curve
749
28.2k
  WriteICCUint32(32, tags->size(), tags);
750
  // offset to matrix
751
28.2k
  WriteICCUint32(0, tags->size(), tags);
752
  // offset to first M curve
753
28.2k
  WriteICCUint32(0, tags->size(), tags);
754
  // offset to CLUT
755
28.2k
  WriteICCUint32(0, tags->size(), tags);
756
  // offset to first A curve
757
28.2k
  WriteICCUint32(0, tags->size(), tags);
758
759
28.2k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
760
28.2k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
761
28.2k
  JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags));
762
763
28.2k
  return true;
764
28.2k
}
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_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_debug_image.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> >*)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
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
177k
static std::string ToString(JxlColorSpace color_space) {
769
177k
  switch (color_space) {
770
170k
    case JXL_COLOR_SPACE_RGB:
771
170k
      return "RGB";
772
2.91k
    case JXL_COLOR_SPACE_GRAY:
773
2.91k
      return "Gra";
774
4.40k
    case JXL_COLOR_SPACE_XYB:
775
4.40k
      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
177k
  }
784
177k
}
encode.cc:jxl::detail::ToString(JxlColorSpace)
Line
Count
Source
768
177k
static std::string ToString(JxlColorSpace color_space) {
769
177k
  switch (color_space) {
770
170k
    case JXL_COLOR_SPACE_RGB:
771
170k
      return "RGB";
772
2.91k
    case JXL_COLOR_SPACE_GRAY:
773
2.91k
      return "Gra";
774
4.40k
    case JXL_COLOR_SPACE_XYB:
775
4.40k
      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
177k
  }
784
177k
}
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_dot_dictionary.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlColorSpace)
Unexecuted instantiation: enc_debug_image.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)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::ToString(JxlColorSpace)
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
170k
static std::string ToString(JxlWhitePoint white_point) {
787
170k
  switch (white_point) {
788
169k
    case JXL_WHITE_POINT_D65:
789
169k
      return "D65";
790
0
    case JXL_WHITE_POINT_CUSTOM:
791
0
      return "Cst";
792
378
    case JXL_WHITE_POINT_E:
793
378
      return "EER";
794
636
    case JXL_WHITE_POINT_DCI:
795
636
      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
170k
  }
802
170k
}
encode.cc:jxl::detail::ToString(JxlWhitePoint)
Line
Count
Source
786
170k
static std::string ToString(JxlWhitePoint white_point) {
787
170k
  switch (white_point) {
788
169k
    case JXL_WHITE_POINT_D65:
789
169k
      return "D65";
790
0
    case JXL_WHITE_POINT_CUSTOM:
791
0
      return "Cst";
792
378
    case JXL_WHITE_POINT_E:
793
378
      return "EER";
794
636
    case JXL_WHITE_POINT_DCI:
795
636
      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
170k
  }
802
170k
}
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_dot_dictionary.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlWhitePoint)
Unexecuted instantiation: enc_debug_image.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)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::ToString(JxlWhitePoint)
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
167k
static std::string ToString(JxlPrimaries primaries) {
805
167k
  switch (primaries) {
806
162k
    case JXL_PRIMARIES_SRGB:
807
162k
      return "SRG";
808
4.16k
    case JXL_PRIMARIES_2100:
809
4.16k
      return "202";
810
475
    case JXL_PRIMARIES_P3:
811
475
      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
167k
  }
819
167k
}
encode.cc:jxl::detail::ToString(JxlPrimaries)
Line
Count
Source
804
167k
static std::string ToString(JxlPrimaries primaries) {
805
167k
  switch (primaries) {
806
162k
    case JXL_PRIMARIES_SRGB:
807
162k
      return "SRG";
808
4.16k
    case JXL_PRIMARIES_2100:
809
4.16k
      return "202";
810
475
    case JXL_PRIMARIES_P3:
811
475
      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
167k
  }
819
167k
}
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_dot_dictionary.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlPrimaries)
Unexecuted instantiation: enc_debug_image.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)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::ToString(JxlPrimaries)
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
171k
static std::string ToString(JxlTransferFunction transfer_function) {
822
171k
  switch (transfer_function) {
823
141k
    case JXL_TRANSFER_FUNCTION_SRGB:
824
141k
      return "SRG";
825
137
    case JXL_TRANSFER_FUNCTION_LINEAR:
826
137
      return "Lin";
827
673
    case JXL_TRANSFER_FUNCTION_709:
828
673
      return "709";
829
18.4k
    case JXL_TRANSFER_FUNCTION_PQ:
830
18.4k
      return "PeQ";
831
10.4k
    case JXL_TRANSFER_FUNCTION_HLG:
832
10.4k
      return "HLG";
833
467
    case JXL_TRANSFER_FUNCTION_DCI:
834
467
      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
171k
  }
846
171k
}
encode.cc:jxl::detail::ToString(JxlTransferFunction)
Line
Count
Source
821
171k
static std::string ToString(JxlTransferFunction transfer_function) {
822
171k
  switch (transfer_function) {
823
141k
    case JXL_TRANSFER_FUNCTION_SRGB:
824
141k
      return "SRG";
825
137
    case JXL_TRANSFER_FUNCTION_LINEAR:
826
137
      return "Lin";
827
673
    case JXL_TRANSFER_FUNCTION_709:
828
673
      return "709";
829
18.4k
    case JXL_TRANSFER_FUNCTION_PQ:
830
18.4k
      return "PeQ";
831
10.4k
    case JXL_TRANSFER_FUNCTION_HLG:
832
10.4k
      return "HLG";
833
467
    case JXL_TRANSFER_FUNCTION_DCI:
834
467
      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
171k
  }
846
171k
}
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_dot_dictionary.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlTransferFunction)
Unexecuted instantiation: enc_debug_image.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)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::ToString(JxlTransferFunction)
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
177k
static std::string ToString(JxlRenderingIntent rendering_intent) {
849
177k
  switch (rendering_intent) {
850
31.5k
    case JXL_RENDERING_INTENT_PERCEPTUAL:
851
31.5k
      return "Per";
852
145k
    case JXL_RENDERING_INTENT_RELATIVE:
853
145k
      return "Rel";
854
262
    case JXL_RENDERING_INTENT_SATURATION:
855
262
      return "Sat";
856
570
    case JXL_RENDERING_INTENT_ABSOLUTE:
857
570
      return "Abs";
858
177k
  }
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
177k
}
encode.cc:jxl::detail::ToString(JxlRenderingIntent)
Line
Count
Source
848
177k
static std::string ToString(JxlRenderingIntent rendering_intent) {
849
177k
  switch (rendering_intent) {
850
31.5k
    case JXL_RENDERING_INTENT_PERCEPTUAL:
851
31.5k
      return "Per";
852
145k
    case JXL_RENDERING_INTENT_RELATIVE:
853
145k
      return "Rel";
854
262
    case JXL_RENDERING_INTENT_SATURATION:
855
262
      return "Sat";
856
570
    case JXL_RENDERING_INTENT_ABSOLUTE:
857
570
      return "Abs";
858
177k
  }
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
177k
}
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_dot_dictionary.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlRenderingIntent)
Unexecuted instantiation: enc_debug_image.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)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::ToString(JxlRenderingIntent)
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
178k
static std::string ColorEncodingDescriptionImpl(const JxlColorEncoding& c) {
866
178k
  if (c.color_space == JXL_COLOR_SPACE_RGB &&
867
178k
      c.white_point == JXL_WHITE_POINT_D65) {
868
167k
    if (c.rendering_intent == JXL_RENDERING_INTENT_PERCEPTUAL &&
869
167k
        c.transfer_function == JXL_TRANSFER_FUNCTION_SRGB) {
870
414
      if (c.primaries == JXL_PRIMARIES_SRGB) return "sRGB";
871
40
      if (c.primaries == JXL_PRIMARIES_P3) return "DisplayP3";
872
40
    }
873
167k
    if (c.rendering_intent == JXL_RENDERING_INTENT_RELATIVE &&
874
167k
        c.primaries == JXL_PRIMARIES_2100) {
875
199
      if (c.transfer_function == JXL_TRANSFER_FUNCTION_PQ) return "Rec2100PQ";
876
129
      if (c.transfer_function == JXL_TRANSFER_FUNCTION_HLG) return "Rec2100HLG";
877
129
    }
878
167k
  }
879
880
177k
  std::string d = ToString(c.color_space);
881
882
177k
  bool explicit_wp_tf = (c.color_space != JXL_COLOR_SPACE_XYB);
883
177k
  if (explicit_wp_tf) {
884
173k
    d += '_';
885
173k
    if (c.white_point == JXL_WHITE_POINT_CUSTOM) {
886
2.96k
      d += jxl::ToString(c.white_point_xy[0]) + ';';
887
2.96k
      d += jxl::ToString(c.white_point_xy[1]);
888
170k
    } else {
889
170k
      d += ToString(c.white_point);
890
170k
    }
891
173k
  }
892
893
177k
  if ((c.color_space != JXL_COLOR_SPACE_GRAY) &&
894
177k
      (c.color_space != JXL_COLOR_SPACE_XYB)) {
895
170k
    d += '_';
896
170k
    if (c.primaries == JXL_PRIMARIES_CUSTOM) {
897
3.03k
      d += jxl::ToString(c.primaries_red_xy[0]) + ';';
898
3.03k
      d += jxl::ToString(c.primaries_red_xy[1]) + ';';
899
3.03k
      d += jxl::ToString(c.primaries_green_xy[0]) + ';';
900
3.03k
      d += jxl::ToString(c.primaries_green_xy[1]) + ';';
901
3.03k
      d += jxl::ToString(c.primaries_blue_xy[0]) + ';';
902
3.03k
      d += jxl::ToString(c.primaries_blue_xy[1]);
903
167k
    } else {
904
167k
      d += ToString(c.primaries);
905
167k
    }
906
170k
  }
907
908
177k
  d += '_';
909
177k
  d += ToString(c.rendering_intent);
910
911
177k
  if (explicit_wp_tf) {
912
173k
    JxlTransferFunction tf = c.transfer_function;
913
173k
    d += '_';
914
173k
    if (tf == JXL_TRANSFER_FUNCTION_GAMMA) {
915
1.66k
      d += 'g';
916
1.66k
      d += jxl::ToString(c.gamma);
917
171k
    } else {
918
171k
      d += ToString(tf);
919
171k
    }
920
173k
  }
921
177k
  return d;
922
178k
}
encode.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Line
Count
Source
865
178k
static std::string ColorEncodingDescriptionImpl(const JxlColorEncoding& c) {
866
178k
  if (c.color_space == JXL_COLOR_SPACE_RGB &&
867
178k
      c.white_point == JXL_WHITE_POINT_D65) {
868
167k
    if (c.rendering_intent == JXL_RENDERING_INTENT_PERCEPTUAL &&
869
167k
        c.transfer_function == JXL_TRANSFER_FUNCTION_SRGB) {
870
414
      if (c.primaries == JXL_PRIMARIES_SRGB) return "sRGB";
871
40
      if (c.primaries == JXL_PRIMARIES_P3) return "DisplayP3";
872
40
    }
873
167k
    if (c.rendering_intent == JXL_RENDERING_INTENT_RELATIVE &&
874
167k
        c.primaries == JXL_PRIMARIES_2100) {
875
199
      if (c.transfer_function == JXL_TRANSFER_FUNCTION_PQ) return "Rec2100PQ";
876
129
      if (c.transfer_function == JXL_TRANSFER_FUNCTION_HLG) return "Rec2100HLG";
877
129
    }
878
167k
  }
879
880
177k
  std::string d = ToString(c.color_space);
881
882
177k
  bool explicit_wp_tf = (c.color_space != JXL_COLOR_SPACE_XYB);
883
177k
  if (explicit_wp_tf) {
884
173k
    d += '_';
885
173k
    if (c.white_point == JXL_WHITE_POINT_CUSTOM) {
886
2.96k
      d += jxl::ToString(c.white_point_xy[0]) + ';';
887
2.96k
      d += jxl::ToString(c.white_point_xy[1]);
888
170k
    } else {
889
170k
      d += ToString(c.white_point);
890
170k
    }
891
173k
  }
892
893
177k
  if ((c.color_space != JXL_COLOR_SPACE_GRAY) &&
894
177k
      (c.color_space != JXL_COLOR_SPACE_XYB)) {
895
170k
    d += '_';
896
170k
    if (c.primaries == JXL_PRIMARIES_CUSTOM) {
897
3.03k
      d += jxl::ToString(c.primaries_red_xy[0]) + ';';
898
3.03k
      d += jxl::ToString(c.primaries_red_xy[1]) + ';';
899
3.03k
      d += jxl::ToString(c.primaries_green_xy[0]) + ';';
900
3.03k
      d += jxl::ToString(c.primaries_green_xy[1]) + ';';
901
3.03k
      d += jxl::ToString(c.primaries_blue_xy[0]) + ';';
902
3.03k
      d += jxl::ToString(c.primaries_blue_xy[1]);
903
167k
    } else {
904
167k
      d += ToString(c.primaries);
905
167k
    }
906
170k
  }
907
908
177k
  d += '_';
909
177k
  d += ToString(c.rendering_intent);
910
911
177k
  if (explicit_wp_tf) {
912
173k
    JxlTransferFunction tf = c.transfer_function;
913
173k
    d += '_';
914
173k
    if (tf == JXL_TRANSFER_FUNCTION_GAMMA) {
915
1.66k
      d += 'g';
916
1.66k
      d += jxl::ToString(c.gamma);
917
171k
    } else {
918
171k
      d += ToString(tf);
919
171k
    }
920
173k
  }
921
177k
  return d;
922
178k
}
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_dot_dictionary.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
Unexecuted instantiation: enc_debug_image.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&)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&)
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
178k
                                     std::vector<uint8_t>* icc) {
926
178k
  std::vector<uint8_t> header;
927
178k
  std::vector<uint8_t> tagtable;
928
178k
  std::vector<uint8_t> tags;
929
178k
  JxlTransferFunction tf = c.transfer_function;
930
178k
  if (c.color_space == JXL_COLOR_SPACE_UNKNOWN ||
931
178k
      tf == JXL_TRANSFER_FUNCTION_UNKNOWN) {
932
0
    return false;  // Not an error
933
0
  }
934
935
178k
  switch (c.color_space) {
936
170k
    case JXL_COLOR_SPACE_RGB:
937
173k
    case JXL_COLOR_SPACE_GRAY:
938
178k
    case JXL_COLOR_SPACE_XYB:
939
178k
      break;  // OK
940
0
    default:
941
0
      return JXL_FAILURE("Invalid CS %u",
942
178k
                         static_cast<unsigned int>(c.color_space));
943
178k
  }
944
945
178k
  if (c.color_space == JXL_COLOR_SPACE_XYB &&
946
178k
      c.rendering_intent != JXL_RENDERING_INTENT_PERCEPTUAL) {
947
2
    return JXL_FAILURE(
948
2
        "Only perceptual rendering intent implemented for XYB "
949
2
        "ICC profile.");
950
2
  }
951
952
178k
  JXL_RETURN_IF_ERROR(CreateICCHeader(c, &header));
953
954
178k
  std::vector<size_t> offsets;
955
  // tag count, deferred to later
956
178k
  WriteICCUint32(0, tagtable.size(), &tagtable);
957
958
178k
  size_t tag_offset = 0;
959
178k
  size_t tag_size = 0;
960
961
178k
  CreateICCMlucTag(ColorEncodingDescriptionImpl(c), &tags);
962
178k
  FinalizeICCTag(&tags, &tag_offset, &tag_size);
963
178k
  AddToICCTagTable("desc", tag_offset, tag_size, &tagtable, &offsets);
964
965
178k
  const std::string copyright = "CC0";
966
178k
  CreateICCMlucTag(copyright, &tags);
967
178k
  FinalizeICCTag(&tags, &tag_offset, &tag_size);
968
178k
  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
178k
  if (c.color_space == JXL_COLOR_SPACE_GRAY) {
972
2.91k
    Color wtpt;
973
2.91k
    JXL_RETURN_IF_ERROR(
974
2.91k
        CIEXYZFromWhiteCIExy(c.white_point_xy[0], c.white_point_xy[1], wtpt));
975
2.91k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(wtpt, &tags));
976
175k
  } else {
977
175k
    Color d50{0.964203, 1.0, 0.824905};
978
175k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(d50, &tags));
979
175k
  }
980
178k
  FinalizeICCTag(&tags, &tag_offset, &tag_size);
981
178k
  AddToICCTagTable("wtpt", tag_offset, tag_size, &tagtable, &offsets);
982
983
178k
  if (c.color_space != JXL_COLOR_SPACE_GRAY) {
984
    // Chromatic adaptation matrix
985
175k
    Matrix3x3 chad;
986
175k
    JXL_RETURN_IF_ERROR(
987
175k
        CreateICCChadMatrix(c.white_point_xy[0], c.white_point_xy[1], chad));
988
989
175k
    JXL_RETURN_IF_ERROR(CreateICCChadTag(chad, &tags));
990
175k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
991
175k
    AddToICCTagTable("chad", tag_offset, tag_size, &tagtable, &offsets);
992
175k
  }
993
994
178k
  if (c.color_space == JXL_COLOR_SPACE_RGB) {
995
170k
    MaybeCreateICCCICPTag(c, &tags, &tag_offset, &tag_size, &tagtable,
996
170k
                          &offsets);
997
998
170k
    Matrix3x3 m;
999
170k
    JXL_RETURN_IF_ERROR(CreateICCRGBMatrix(
1000
170k
        c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0],
1001
170k
        c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1],
1002
170k
        c.white_point_xy[0], c.white_point_xy[1], m));
1003
170k
    Color r{m[0][0], m[1][0], m[2][0]};
1004
170k
    Color g{m[0][1], m[1][1], m[2][1]};
1005
170k
    Color b{m[0][2], m[1][2], m[2][2]};
1006
1007
170k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(r, &tags));
1008
170k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1009
170k
    AddToICCTagTable("rXYZ", tag_offset, tag_size, &tagtable, &offsets);
1010
1011
170k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(g, &tags));
1012
170k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1013
170k
    AddToICCTagTable("gXYZ", tag_offset, tag_size, &tagtable, &offsets);
1014
1015
170k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(b, &tags));
1016
170k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1017
170k
    AddToICCTagTable("bXYZ", tag_offset, tag_size, &tagtable, &offsets);
1018
170k
  }
1019
1020
178k
  if (c.color_space == JXL_COLOR_SPACE_XYB) {
1021
4.40k
    JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForXYB(&tags));
1022
4.40k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1023
4.40k
    AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets);
1024
4.40k
    JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags));
1025
4.40k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1026
4.40k
    AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets);
1027
173k
  } else if (kEnable3DToneMapping && CanToneMap(c)) {
1028
23.8k
    JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForHDR(c, &tags));
1029
23.8k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1030
23.8k
    AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets);
1031
23.8k
    JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags));
1032
23.8k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1033
23.8k
    AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets);
1034
149k
  } else {
1035
149k
    if (tf == JXL_TRANSFER_FUNCTION_GAMMA) {
1036
1.64k
      float gamma = 1.0 / c.gamma;
1037
1.64k
      JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({gamma}, 0, &tags));
1038
148k
    } else if (c.color_space != JXL_COLOR_SPACE_XYB) {
1039
148k
      switch (tf) {
1040
2.77k
        case JXL_TRANSFER_FUNCTION_HLG:
1041
2.77k
          CreateICCCurvCurvTag(
1042
2.77k
              CreateTableCurve<64, ExtraTF::kHLG>(CanToneMap(c)), &tags);
1043
2.77k
          break;
1044
2.30k
        case JXL_TRANSFER_FUNCTION_PQ:
1045
2.30k
          CreateICCCurvCurvTag(
1046
2.30k
              CreateTableCurve<64, ExtraTF::kPQ>(CanToneMap(c)), &tags);
1047
2.30k
          break;
1048
141k
        case JXL_TRANSFER_FUNCTION_SRGB:
1049
141k
          JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(
1050
141k
              {2.4, 1.0 / 1.055, 0.055 / 1.055, 1.0 / 12.92, 0.04045}, 3,
1051
141k
              &tags));
1052
141k
          break;
1053
141k
        case JXL_TRANSFER_FUNCTION_709:
1054
663
          JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(
1055
663
              {1.0 / 0.45, 1.0 / 1.099, 0.099 / 1.099, 1.0 / 4.5, 0.081}, 3,
1056
663
              &tags));
1057
663
          break;
1058
663
        case JXL_TRANSFER_FUNCTION_LINEAR:
1059
137
          JXL_RETURN_IF_ERROR(
1060
137
              CreateICCCurvParaTag({1.0, 1.0, 0.0, 1.0, 0.0}, 3, &tags));
1061
137
          break;
1062
467
        case JXL_TRANSFER_FUNCTION_DCI:
1063
467
          JXL_RETURN_IF_ERROR(
1064
467
              CreateICCCurvParaTag({2.6, 1.0, 0.0, 1.0, 0.0}, 3, &tags));
1065
467
          break;
1066
467
        default:
1067
0
          return JXL_UNREACHABLE("unknown TF %u",
1068
148k
                                 static_cast<unsigned int>(tf));
1069
148k
      }
1070
148k
    }
1071
149k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1072
149k
    if (c.color_space == JXL_COLOR_SPACE_GRAY) {
1073
2.90k
      AddToICCTagTable("kTRC", tag_offset, tag_size, &tagtable, &offsets);
1074
147k
    } else {
1075
147k
      AddToICCTagTable("rTRC", tag_offset, tag_size, &tagtable, &offsets);
1076
147k
      AddToICCTagTable("gTRC", tag_offset, tag_size, &tagtable, &offsets);
1077
147k
      AddToICCTagTable("bTRC", tag_offset, tag_size, &tagtable, &offsets);
1078
147k
    }
1079
149k
  }
1080
1081
  // Tag count
1082
178k
  WriteICCUint32(offsets.size(), 0, &tagtable);
1083
2.06M
  for (size_t i = 0; i < offsets.size(); i++) {
1084
1.88M
    WriteICCUint32(offsets[i] + header.size() + tagtable.size(), 4 + 12 * i + 4,
1085
1.88M
                   &tagtable);
1086
1.88M
  }
1087
1088
  // ICC profile size
1089
178k
  WriteICCUint32(header.size() + tagtable.size() + tags.size(), 0, &header);
1090
1091
178k
  *icc = header;
1092
178k
  Bytes(tagtable).AppendTo(*icc);
1093
178k
  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
178k
  std::vector<uint8_t> icc_sum = *icc;
1100
178k
  if (icc_sum.size() >= 64 + 4) {
1101
178k
    memset(icc_sum.data() + 44, 0, 4);
1102
178k
    memset(icc_sum.data() + 64, 0, 4);
1103
178k
  }
1104
178k
  uint8_t checksum[16];
1105
178k
  detail::ICCComputeMD5(icc_sum, checksum);
1106
1107
178k
  memcpy(icc->data() + 84, checksum, sizeof(checksum));
1108
1109
178k
  return true;
1110
178k
}
encode.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
925
178k
                                     std::vector<uint8_t>* icc) {
926
178k
  std::vector<uint8_t> header;
927
178k
  std::vector<uint8_t> tagtable;
928
178k
  std::vector<uint8_t> tags;
929
178k
  JxlTransferFunction tf = c.transfer_function;
930
178k
  if (c.color_space == JXL_COLOR_SPACE_UNKNOWN ||
931
178k
      tf == JXL_TRANSFER_FUNCTION_UNKNOWN) {
932
0
    return false;  // Not an error
933
0
  }
934
935
178k
  switch (c.color_space) {
936
170k
    case JXL_COLOR_SPACE_RGB:
937
173k
    case JXL_COLOR_SPACE_GRAY:
938
178k
    case JXL_COLOR_SPACE_XYB:
939
178k
      break;  // OK
940
0
    default:
941
0
      return JXL_FAILURE("Invalid CS %u",
942
178k
                         static_cast<unsigned int>(c.color_space));
943
178k
  }
944
945
178k
  if (c.color_space == JXL_COLOR_SPACE_XYB &&
946
178k
      c.rendering_intent != JXL_RENDERING_INTENT_PERCEPTUAL) {
947
2
    return JXL_FAILURE(
948
2
        "Only perceptual rendering intent implemented for XYB "
949
2
        "ICC profile.");
950
2
  }
951
952
178k
  JXL_RETURN_IF_ERROR(CreateICCHeader(c, &header));
953
954
178k
  std::vector<size_t> offsets;
955
  // tag count, deferred to later
956
178k
  WriteICCUint32(0, tagtable.size(), &tagtable);
957
958
178k
  size_t tag_offset = 0;
959
178k
  size_t tag_size = 0;
960
961
178k
  CreateICCMlucTag(ColorEncodingDescriptionImpl(c), &tags);
962
178k
  FinalizeICCTag(&tags, &tag_offset, &tag_size);
963
178k
  AddToICCTagTable("desc", tag_offset, tag_size, &tagtable, &offsets);
964
965
178k
  const std::string copyright = "CC0";
966
178k
  CreateICCMlucTag(copyright, &tags);
967
178k
  FinalizeICCTag(&tags, &tag_offset, &tag_size);
968
178k
  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
178k
  if (c.color_space == JXL_COLOR_SPACE_GRAY) {
972
2.91k
    Color wtpt;
973
2.91k
    JXL_RETURN_IF_ERROR(
974
2.91k
        CIEXYZFromWhiteCIExy(c.white_point_xy[0], c.white_point_xy[1], wtpt));
975
2.91k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(wtpt, &tags));
976
175k
  } else {
977
175k
    Color d50{0.964203, 1.0, 0.824905};
978
175k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(d50, &tags));
979
175k
  }
980
178k
  FinalizeICCTag(&tags, &tag_offset, &tag_size);
981
178k
  AddToICCTagTable("wtpt", tag_offset, tag_size, &tagtable, &offsets);
982
983
178k
  if (c.color_space != JXL_COLOR_SPACE_GRAY) {
984
    // Chromatic adaptation matrix
985
175k
    Matrix3x3 chad;
986
175k
    JXL_RETURN_IF_ERROR(
987
175k
        CreateICCChadMatrix(c.white_point_xy[0], c.white_point_xy[1], chad));
988
989
175k
    JXL_RETURN_IF_ERROR(CreateICCChadTag(chad, &tags));
990
175k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
991
175k
    AddToICCTagTable("chad", tag_offset, tag_size, &tagtable, &offsets);
992
175k
  }
993
994
178k
  if (c.color_space == JXL_COLOR_SPACE_RGB) {
995
170k
    MaybeCreateICCCICPTag(c, &tags, &tag_offset, &tag_size, &tagtable,
996
170k
                          &offsets);
997
998
170k
    Matrix3x3 m;
999
170k
    JXL_RETURN_IF_ERROR(CreateICCRGBMatrix(
1000
170k
        c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0],
1001
170k
        c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1],
1002
170k
        c.white_point_xy[0], c.white_point_xy[1], m));
1003
170k
    Color r{m[0][0], m[1][0], m[2][0]};
1004
170k
    Color g{m[0][1], m[1][1], m[2][1]};
1005
170k
    Color b{m[0][2], m[1][2], m[2][2]};
1006
1007
170k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(r, &tags));
1008
170k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1009
170k
    AddToICCTagTable("rXYZ", tag_offset, tag_size, &tagtable, &offsets);
1010
1011
170k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(g, &tags));
1012
170k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1013
170k
    AddToICCTagTable("gXYZ", tag_offset, tag_size, &tagtable, &offsets);
1014
1015
170k
    JXL_RETURN_IF_ERROR(CreateICCXYZTag(b, &tags));
1016
170k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1017
170k
    AddToICCTagTable("bXYZ", tag_offset, tag_size, &tagtable, &offsets);
1018
170k
  }
1019
1020
178k
  if (c.color_space == JXL_COLOR_SPACE_XYB) {
1021
4.40k
    JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForXYB(&tags));
1022
4.40k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1023
4.40k
    AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets);
1024
4.40k
    JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags));
1025
4.40k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1026
4.40k
    AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets);
1027
173k
  } else if (kEnable3DToneMapping && CanToneMap(c)) {
1028
23.8k
    JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForHDR(c, &tags));
1029
23.8k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1030
23.8k
    AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets);
1031
23.8k
    JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags));
1032
23.8k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1033
23.8k
    AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets);
1034
149k
  } else {
1035
149k
    if (tf == JXL_TRANSFER_FUNCTION_GAMMA) {
1036
1.64k
      float gamma = 1.0 / c.gamma;
1037
1.64k
      JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({gamma}, 0, &tags));
1038
148k
    } else if (c.color_space != JXL_COLOR_SPACE_XYB) {
1039
148k
      switch (tf) {
1040
2.77k
        case JXL_TRANSFER_FUNCTION_HLG:
1041
2.77k
          CreateICCCurvCurvTag(
1042
2.77k
              CreateTableCurve<64, ExtraTF::kHLG>(CanToneMap(c)), &tags);
1043
2.77k
          break;
1044
2.30k
        case JXL_TRANSFER_FUNCTION_PQ:
1045
2.30k
          CreateICCCurvCurvTag(
1046
2.30k
              CreateTableCurve<64, ExtraTF::kPQ>(CanToneMap(c)), &tags);
1047
2.30k
          break;
1048
141k
        case JXL_TRANSFER_FUNCTION_SRGB:
1049
141k
          JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(
1050
141k
              {2.4, 1.0 / 1.055, 0.055 / 1.055, 1.0 / 12.92, 0.04045}, 3,
1051
141k
              &tags));
1052
141k
          break;
1053
141k
        case JXL_TRANSFER_FUNCTION_709:
1054
663
          JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(
1055
663
              {1.0 / 0.45, 1.0 / 1.099, 0.099 / 1.099, 1.0 / 4.5, 0.081}, 3,
1056
663
              &tags));
1057
663
          break;
1058
663
        case JXL_TRANSFER_FUNCTION_LINEAR:
1059
137
          JXL_RETURN_IF_ERROR(
1060
137
              CreateICCCurvParaTag({1.0, 1.0, 0.0, 1.0, 0.0}, 3, &tags));
1061
137
          break;
1062
467
        case JXL_TRANSFER_FUNCTION_DCI:
1063
467
          JXL_RETURN_IF_ERROR(
1064
467
              CreateICCCurvParaTag({2.6, 1.0, 0.0, 1.0, 0.0}, 3, &tags));
1065
467
          break;
1066
467
        default:
1067
0
          return JXL_UNREACHABLE("unknown TF %u",
1068
148k
                                 static_cast<unsigned int>(tf));
1069
148k
      }
1070
148k
    }
1071
149k
    FinalizeICCTag(&tags, &tag_offset, &tag_size);
1072
149k
    if (c.color_space == JXL_COLOR_SPACE_GRAY) {
1073
2.90k
      AddToICCTagTable("kTRC", tag_offset, tag_size, &tagtable, &offsets);
1074
147k
    } else {
1075
147k
      AddToICCTagTable("rTRC", tag_offset, tag_size, &tagtable, &offsets);
1076
147k
      AddToICCTagTable("gTRC", tag_offset, tag_size, &tagtable, &offsets);
1077
147k
      AddToICCTagTable("bTRC", tag_offset, tag_size, &tagtable, &offsets);
1078
147k
    }
1079
149k
  }
1080
1081
  // Tag count
1082
178k
  WriteICCUint32(offsets.size(), 0, &tagtable);
1083
2.06M
  for (size_t i = 0; i < offsets.size(); i++) {
1084
1.88M
    WriteICCUint32(offsets[i] + header.size() + tagtable.size(), 4 + 12 * i + 4,
1085
1.88M
                   &tagtable);
1086
1.88M
  }
1087
1088
  // ICC profile size
1089
178k
  WriteICCUint32(header.size() + tagtable.size() + tags.size(), 0, &header);
1090
1091
178k
  *icc = header;
1092
178k
  Bytes(tagtable).AppendTo(*icc);
1093
178k
  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
178k
  std::vector<uint8_t> icc_sum = *icc;
1100
178k
  if (icc_sum.size() >= 64 + 4) {
1101
178k
    memset(icc_sum.data() + 44, 0, 4);
1102
178k
    memset(icc_sum.data() + 64, 0, 4);
1103
178k
  }
1104
178k
  uint8_t checksum[16];
1105
178k
  detail::ICCComputeMD5(icc_sum, checksum);
1106
1107
178k
  memcpy(icc->data() + 84, checksum, sizeof(checksum));
1108
1109
178k
  return true;
1110
178k
}
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_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_debug_image.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> >*)
Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
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_dot_dictionary.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_detect_dots.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&)
Unexecuted instantiation: enc_debug_image.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
178k
                                                  std::vector<uint8_t>* icc) {
1125
178k
  return detail::MaybeCreateProfileImpl(c, icc);
1126
178k
}
encode.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
Line
Count
Source
1124
178k
                                                  std::vector<uint8_t>* icc) {
1125
178k
  return detail::MaybeCreateProfileImpl(c, icc);
1126
178k
}
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_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_debug_image.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> >*)
Unexecuted instantiation: color_encoding_internal.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)
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_