/src/libjxl/lib/jxl/cms/jxl_cms_internal.h
Line | Count | Source |
1 | | // Copyright (c) the JPEG XL Project Authors. All rights reserved. |
2 | | // |
3 | | // Use of this source code is governed by a BSD-style |
4 | | // license that can be found in the LICENSE file. |
5 | | |
6 | | #ifndef LIB_JXL_CMS_JXL_CMS_INTERNAL_H_ |
7 | | #define LIB_JXL_CMS_JXL_CMS_INTERNAL_H_ |
8 | | |
9 | | // ICC profiles and color space conversions. |
10 | | |
11 | | #include <jxl/color_encoding.h> |
12 | | |
13 | | #include <algorithm> |
14 | | #include <cmath> |
15 | | #include <cstddef> |
16 | | #include <cstdint> |
17 | | #include <cstring> |
18 | | #include <string> |
19 | | #include <vector> |
20 | | |
21 | | #include "lib/jxl/base/common.h" |
22 | | #include "lib/jxl/base/compiler_specific.h" |
23 | | #include "lib/jxl/base/matrix_ops.h" |
24 | | #include "lib/jxl/base/span.h" // Bytes |
25 | | #include "lib/jxl/base/status.h" |
26 | | #include "lib/jxl/cms/opsin_params.h" |
27 | | #include "lib/jxl/cms/tone_mapping.h" |
28 | | #include "lib/jxl/cms/transfer_functions.h" |
29 | | |
30 | | #ifndef JXL_ENABLE_3D_ICC_TONEMAPPING |
31 | | #define JXL_ENABLE_3D_ICC_TONEMAPPING 1 |
32 | | #endif |
33 | | |
34 | | namespace jxl { |
35 | | |
36 | | enum class ExtraTF { |
37 | | kNone, |
38 | | kPQ, |
39 | | kHLG, |
40 | | kSRGB, |
41 | | }; |
42 | | |
43 | | static Status PrimariesToXYZ(float rx, float ry, float gx, float gy, float bx, |
44 | 7.81M | float by, float wx, float wy, Matrix3x3& matrix) { |
45 | 7.81M | bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1); |
46 | 7.81M | 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 | 7.81M | Matrix3x3 primaries{{{rx, gx, bx}, |
53 | 7.81M | {ry, gy, by}, |
54 | 7.81M | {1.0f - rx - ry, 1.0f - gx - gy, 1.0f - bx - by}}}; |
55 | 7.81M | Matrix3x3 primaries_inv; |
56 | 7.81M | primaries_inv = primaries; |
57 | 7.81M | JXL_RETURN_IF_ERROR(Inv3x3Matrix(primaries_inv)); |
58 | | |
59 | 7.81M | Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy}; |
60 | | // 1 / tiny float can still overflow |
61 | 7.81M | JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2])); |
62 | 7.81M | Vector3 xyz; |
63 | 7.81M | Mul3x3Vector(primaries_inv, w, xyz); |
64 | | |
65 | 7.81M | Matrix3x3 a{{{xyz[0], 0, 0}, {0, xyz[1], 0}, {0, 0, xyz[2]}}}; |
66 | | |
67 | 7.81M | Mul3x3Matrix(primaries, a, matrix); |
68 | 7.81M | return true; |
69 | 7.81M | } 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 | 7.80M | float by, float wx, float wy, Matrix3x3& matrix) { | 45 | 7.80M | bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1); | 46 | 7.80M | 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 | 7.80M | Matrix3x3 primaries{{{rx, gx, bx}, | 53 | 7.80M | {ry, gy, by}, | 54 | 7.80M | {1.0f - rx - ry, 1.0f - gx - gy, 1.0f - bx - by}}}; | 55 | 7.80M | Matrix3x3 primaries_inv; | 56 | 7.80M | primaries_inv = primaries; | 57 | 7.80M | JXL_RETURN_IF_ERROR(Inv3x3Matrix(primaries_inv)); | 58 | | | 59 | 7.80M | Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy}; | 60 | | // 1 / tiny float can still overflow | 61 | 7.80M | JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2])); | 62 | 7.80M | Vector3 xyz; | 63 | 7.80M | Mul3x3Vector(primaries_inv, w, xyz); | 64 | | | 65 | 7.80M | Matrix3x3 a{{{xyz[0], 0, 0}, {0, xyz[1], 0}, {0, 0, xyz[2]}}}; | 66 | | | 67 | 7.80M | Mul3x3Matrix(primaries, a, matrix); | 68 | 7.80M | return true; | 69 | 7.80M | } |
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: 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: decode.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_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: quant_weights.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>&) 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_fields.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_group.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_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_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_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_encoding.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: 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 | 8.82k | float by, float wx, float wy, Matrix3x3& matrix) { | 45 | 8.82k | bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1); | 46 | 8.82k | 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 | 8.82k | Matrix3x3 primaries{{{rx, gx, bx}, | 53 | 8.82k | {ry, gy, by}, | 54 | 8.82k | {1.0f - rx - ry, 1.0f - gx - gy, 1.0f - bx - by}}}; | 55 | 8.82k | Matrix3x3 primaries_inv; | 56 | 8.82k | primaries_inv = primaries; | 57 | 8.82k | JXL_RETURN_IF_ERROR(Inv3x3Matrix(primaries_inv)); | 58 | | | 59 | 8.82k | Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy}; | 60 | | // 1 / tiny float can still overflow | 61 | 8.82k | JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2])); | 62 | 8.82k | Vector3 xyz; | 63 | 8.82k | Mul3x3Vector(primaries_inv, w, xyz); | 64 | | | 65 | 8.82k | Matrix3x3 a{{{xyz[0], 0, 0}, {0, xyz[1], 0}, {0, 0, xyz[2]}}}; | 66 | | | 67 | 8.82k | Mul3x3Matrix(primaries, a, matrix); | 68 | 8.82k | return true; | 69 | 8.82k | } |
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: image_bundle.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: 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: 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: 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_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_ans.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_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_debug_image.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: 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: 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: 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: jxl_cms.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 | 12.6M | static Status AdaptToXYZD50(float wx, float wy, Matrix3x3& matrix) { |
81 | 12.6M | bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1); |
82 | 12.6M | if (!ok) { |
83 | | // Out of range values can cause division through zero |
84 | | // further down with the bradford adaptation too. |
85 | 152 | return JXL_FAILURE("Invalid white point"); |
86 | 152 | } |
87 | 12.6M | Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy}; |
88 | | // 1 / tiny float can still overflow |
89 | 12.6M | JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2])); |
90 | 12.6M | Vector3 w50{0.96422f, 1.0f, 0.82521f}; |
91 | | |
92 | 12.6M | Vector3 lms; |
93 | 12.6M | Vector3 lms50; |
94 | | |
95 | 12.6M | Mul3x3Vector(kBradford, w, lms); |
96 | 12.6M | Mul3x3Vector(kBradford, w50, lms50); |
97 | | |
98 | 12.6M | if (lms[0] == 0 || lms[1] == 0 || lms[2] == 0) { |
99 | 0 | return JXL_FAILURE("Invalid white point"); |
100 | 0 | } |
101 | 12.6M | Matrix3x3 a{{{lms50[0] / lms[0], 0, 0}, |
102 | 12.6M | {0, lms50[1] / lms[1], 0}, |
103 | 12.6M | {0, 0, lms50[2] / lms[2]}}}; |
104 | 12.6M | if (!std::isfinite(a[0][0]) || !std::isfinite(a[1][1]) || |
105 | 12.6M | !std::isfinite(a[2][2])) { |
106 | 0 | return JXL_FAILURE("Invalid white point"); |
107 | 0 | } |
108 | | |
109 | 12.6M | Matrix3x3 b; |
110 | 12.6M | Mul3x3Matrix(a, kBradford, b); |
111 | 12.6M | Mul3x3Matrix(kBradfordInv, b, matrix); |
112 | | |
113 | 12.6M | return true; |
114 | 12.6M | } encode.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Line | Count | Source | 80 | 12.6M | static Status AdaptToXYZD50(float wx, float wy, Matrix3x3& matrix) { | 81 | 12.6M | bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1); | 82 | 12.6M | if (!ok) { | 83 | | // Out of range values can cause division through zero | 84 | | // further down with the bradford adaptation too. | 85 | 152 | return JXL_FAILURE("Invalid white point"); | 86 | 152 | } | 87 | 12.6M | Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy}; | 88 | | // 1 / tiny float can still overflow | 89 | 12.6M | JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2])); | 90 | 12.6M | Vector3 w50{0.96422f, 1.0f, 0.82521f}; | 91 | | | 92 | 12.6M | Vector3 lms; | 93 | 12.6M | Vector3 lms50; | 94 | | | 95 | 12.6M | Mul3x3Vector(kBradford, w, lms); | 96 | 12.6M | Mul3x3Vector(kBradford, w50, lms50); | 97 | | | 98 | 12.6M | if (lms[0] == 0 || lms[1] == 0 || lms[2] == 0) { | 99 | 0 | return JXL_FAILURE("Invalid white point"); | 100 | 0 | } | 101 | 12.6M | Matrix3x3 a{{{lms50[0] / lms[0], 0, 0}, | 102 | 12.6M | {0, lms50[1] / lms[1], 0}, | 103 | 12.6M | {0, 0, lms50[2] / lms[2]}}}; | 104 | 12.6M | if (!std::isfinite(a[0][0]) || !std::isfinite(a[1][1]) || | 105 | 12.6M | !std::isfinite(a[2][2])) { | 106 | 0 | return JXL_FAILURE("Invalid white point"); | 107 | 0 | } | 108 | | | 109 | 12.6M | Matrix3x3 b; | 110 | 12.6M | Mul3x3Matrix(a, kBradford, b); | 111 | 12.6M | Mul3x3Matrix(kBradfordInv, b, matrix); | 112 | | | 113 | 12.6M | return true; | 114 | 12.6M | } |
Unexecuted instantiation: enc_jpeg_data.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: decode.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_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: quant_weights.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>&) Unexecuted instantiation: enc_fast_lossless.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_fields.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_group.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_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_progressive_split.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_encoding.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: 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 | 4.58k | static Status AdaptToXYZD50(float wx, float wy, Matrix3x3& matrix) { | 81 | 4.58k | bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1); | 82 | 4.58k | 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 | 4.58k | Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy}; | 88 | | // 1 / tiny float can still overflow | 89 | 4.58k | JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2])); | 90 | 4.58k | Vector3 w50{0.96422f, 1.0f, 0.82521f}; | 91 | | | 92 | 4.58k | Vector3 lms; | 93 | 4.58k | Vector3 lms50; | 94 | | | 95 | 4.58k | Mul3x3Vector(kBradford, w, lms); | 96 | 4.58k | Mul3x3Vector(kBradford, w50, lms50); | 97 | | | 98 | 4.58k | if (lms[0] == 0 || lms[1] == 0 || lms[2] == 0) { | 99 | 0 | return JXL_FAILURE("Invalid white point"); | 100 | 0 | } | 101 | 4.58k | Matrix3x3 a{{{lms50[0] / lms[0], 0, 0}, | 102 | 4.58k | {0, lms50[1] / lms[1], 0}, | 103 | 4.58k | {0, 0, lms50[2] / lms[2]}}}; | 104 | 4.58k | if (!std::isfinite(a[0][0]) || !std::isfinite(a[1][1]) || | 105 | 4.58k | !std::isfinite(a[2][2])) { | 106 | 0 | return JXL_FAILURE("Invalid white point"); | 107 | 0 | } | 108 | | | 109 | 4.58k | Matrix3x3 b; | 110 | 4.58k | Mul3x3Matrix(a, kBradford, b); | 111 | 4.58k | Mul3x3Matrix(kBradfordInv, b, matrix); | 112 | | | 113 | 4.58k | return true; | 114 | 4.58k | } |
Unexecuted instantiation: epf.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: passes_state.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: 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: 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: enc_ac_strategy.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_ans.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_chroma_from_luma.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_debug_image.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: low_memory_render_pipeline.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: enc_detect_dots.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>&) |
115 | | |
116 | | static Status PrimariesToXYZD50(float rx, float ry, float gx, float gy, |
117 | | float bx, float by, float wx, float wy, |
118 | 4.74M | Matrix3x3& matrix) { |
119 | 4.74M | Matrix3x3 toXYZ; |
120 | 4.74M | JXL_RETURN_IF_ERROR(PrimariesToXYZ(rx, ry, gx, gy, bx, by, wx, wy, toXYZ)); |
121 | 4.74M | Matrix3x3 d50; |
122 | 4.74M | JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, d50)); |
123 | | |
124 | 4.74M | Mul3x3Matrix(d50, toXYZ, matrix); |
125 | 4.74M | return true; |
126 | 4.74M | } 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 | 4.73M | Matrix3x3& matrix) { | 119 | 4.73M | Matrix3x3 toXYZ; | 120 | 4.73M | JXL_RETURN_IF_ERROR(PrimariesToXYZ(rx, ry, gx, gy, bx, by, wx, wy, toXYZ)); | 121 | 4.73M | Matrix3x3 d50; | 122 | 4.73M | JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, d50)); | 123 | | | 124 | 4.73M | Mul3x3Matrix(d50, toXYZ, matrix); | 125 | 4.73M | return true; | 126 | 4.73M | } |
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: 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: decode.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_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: quant_weights.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>&) 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_fields.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_group.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_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_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_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_encoding.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: 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 | 4.41k | Matrix3x3& matrix) { | 119 | 4.41k | Matrix3x3 toXYZ; | 120 | 4.41k | JXL_RETURN_IF_ERROR(PrimariesToXYZ(rx, ry, gx, gy, bx, by, wx, wy, toXYZ)); | 121 | 4.41k | Matrix3x3 d50; | 122 | 4.41k | JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, d50)); | 123 | | | 124 | 4.41k | Mul3x3Matrix(d50, toXYZ, matrix); | 125 | 4.41k | return true; | 126 | 4.41k | } |
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: image_bundle.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: 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: 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: 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_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_ans.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_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_debug_image.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: 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: 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: 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: jxl_cms.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 | 3.06M | uint8_t pcslab_out[3]) { |
130 | 3.06M | Matrix3x3 primaries_XYZ; |
131 | 3.06M | JXL_RETURN_IF_ERROR(PrimariesToXYZ( |
132 | 3.06M | c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0], |
133 | 3.06M | c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1], |
134 | 3.06M | c.white_point_xy[0], c.white_point_xy[1], primaries_XYZ)); |
135 | 3.06M | const Vector3 luminances = primaries_XYZ[1]; |
136 | 3.06M | Color linear; |
137 | 3.06M | JxlTransferFunction tf = c.transfer_function; |
138 | 3.06M | if (tf == JXL_TRANSFER_FUNCTION_PQ) { |
139 | 11.8M | for (size_t i = 0; i < 3; ++i) { |
140 | 8.89M | linear[i] = TF_PQ_Base::DisplayFromEncoded( |
141 | 8.89M | /*display_intensity_target=*/10000.0, in[i]); |
142 | 8.89M | } |
143 | 2.96M | } else { |
144 | 402k | for (size_t i = 0; i < 3; ++i) { |
145 | 301k | linear[i] = TF_HLG_Base::DisplayFromEncoded(in[i]); |
146 | 301k | } |
147 | 100k | } |
148 | 3.06M | if (tf == JXL_TRANSFER_FUNCTION_PQ) { |
149 | 2.96M | Rec2408ToneMapperBase tone_mapper({0.0f, 10000.0f}, {0.0f, 250.0f}, |
150 | 2.96M | luminances); |
151 | 2.96M | tone_mapper.ToneMap(linear); |
152 | 2.96M | } else { |
153 | 100k | HlgOOTF_Base ootf(/*source_luminance=*/300, /*target_luminance=*/80, |
154 | 100k | luminances); |
155 | 100k | ootf.Apply(linear); |
156 | 100k | } |
157 | 3.06M | GamutMapScalar(linear, luminances, |
158 | 3.06M | /*preserve_saturation=*/0.3f); |
159 | | |
160 | 3.06M | Matrix3x3 chad; |
161 | 3.06M | JXL_RETURN_IF_ERROR( |
162 | 3.06M | AdaptToXYZD50(c.white_point_xy[0], c.white_point_xy[1], chad)); |
163 | 3.06M | Matrix3x3 to_xyzd50; |
164 | 3.06M | Mul3x3Matrix(chad, primaries_XYZ, to_xyzd50); |
165 | | |
166 | 3.06M | Vector3 xyz{0, 0, 0}; |
167 | 12.2M | for (size_t xyz_c = 0; xyz_c < 3; ++xyz_c) { |
168 | 36.7M | for (size_t rgb_c = 0; rgb_c < 3; ++rgb_c) { |
169 | 27.5M | xyz[xyz_c] += linear[rgb_c] * to_xyzd50[xyz_c][rgb_c]; |
170 | 27.5M | } |
171 | 9.19M | } |
172 | | |
173 | 9.19M | const auto lab_f = [](const float x) { |
174 | 9.19M | static constexpr float kDelta = 6. / 29; |
175 | 9.19M | return x <= kDelta * kDelta * kDelta |
176 | 9.19M | ? x * (1 / (3 * kDelta * kDelta)) + 4.f / 29 |
177 | 9.19M | : std::cbrt(x); |
178 | 9.19M | }; encode.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)::$_0::operator()(float) const Line | Count | Source | 173 | 9.19M | const auto lab_f = [](const float x) { | 174 | 9.19M | static constexpr float kDelta = 6. / 29; | 175 | 9.19M | return x <= kDelta * kDelta * kDelta | 176 | 9.19M | ? x * (1 / (3 * kDelta * kDelta)) + 4.f / 29 | 177 | 9.19M | : std::cbrt(x); | 178 | 9.19M | }; |
Unexecuted instantiation: color_encoding_internal.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 Unexecuted instantiation: dec_cache.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)::$_0::operator()(float) const Unexecuted instantiation: jxl_cms.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)::$_0::operator()(float) const |
179 | 3.06M | static constexpr float kXn = 0.964212; |
180 | 3.06M | static constexpr float kYn = 1; |
181 | 3.06M | static constexpr float kZn = 0.825188; |
182 | | |
183 | 3.06M | const float f_x = lab_f(xyz[0] / kXn); |
184 | 3.06M | const float f_y = lab_f(xyz[1] / kYn); |
185 | 3.06M | const float f_z = lab_f(xyz[2] / kZn); |
186 | | |
187 | 3.06M | pcslab_out[0] = static_cast<uint8_t>( |
188 | 3.06M | std::lroundf(255.f * Clamp1(1.16f * f_y - .16f, 0.f, 1.f))); |
189 | 3.06M | pcslab_out[1] = static_cast<uint8_t>( |
190 | 3.06M | std::lroundf(128.f + Clamp1(500 * (f_x - f_y), -128.f, 127.f))); |
191 | 3.06M | pcslab_out[2] = static_cast<uint8_t>( |
192 | 3.06M | std::lroundf(128.f + Clamp1(200 * (f_y - f_z), -128.f, 127.f))); |
193 | | |
194 | 3.06M | return true; |
195 | 3.06M | } encode.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Line | Count | Source | 129 | 3.06M | uint8_t pcslab_out[3]) { | 130 | 3.06M | Matrix3x3 primaries_XYZ; | 131 | 3.06M | JXL_RETURN_IF_ERROR(PrimariesToXYZ( | 132 | 3.06M | c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0], | 133 | 3.06M | c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1], | 134 | 3.06M | c.white_point_xy[0], c.white_point_xy[1], primaries_XYZ)); | 135 | 3.06M | const Vector3 luminances = primaries_XYZ[1]; | 136 | 3.06M | Color linear; | 137 | 3.06M | JxlTransferFunction tf = c.transfer_function; | 138 | 3.06M | if (tf == JXL_TRANSFER_FUNCTION_PQ) { | 139 | 11.8M | for (size_t i = 0; i < 3; ++i) { | 140 | 8.89M | linear[i] = TF_PQ_Base::DisplayFromEncoded( | 141 | 8.89M | /*display_intensity_target=*/10000.0, in[i]); | 142 | 8.89M | } | 143 | 2.96M | } else { | 144 | 402k | for (size_t i = 0; i < 3; ++i) { | 145 | 301k | linear[i] = TF_HLG_Base::DisplayFromEncoded(in[i]); | 146 | 301k | } | 147 | 100k | } | 148 | 3.06M | if (tf == JXL_TRANSFER_FUNCTION_PQ) { | 149 | 2.96M | Rec2408ToneMapperBase tone_mapper({0.0f, 10000.0f}, {0.0f, 250.0f}, | 150 | 2.96M | luminances); | 151 | 2.96M | tone_mapper.ToneMap(linear); | 152 | 2.96M | } else { | 153 | 100k | HlgOOTF_Base ootf(/*source_luminance=*/300, /*target_luminance=*/80, | 154 | 100k | luminances); | 155 | 100k | ootf.Apply(linear); | 156 | 100k | } | 157 | 3.06M | GamutMapScalar(linear, luminances, | 158 | 3.06M | /*preserve_saturation=*/0.3f); | 159 | | | 160 | 3.06M | Matrix3x3 chad; | 161 | 3.06M | JXL_RETURN_IF_ERROR( | 162 | 3.06M | AdaptToXYZD50(c.white_point_xy[0], c.white_point_xy[1], chad)); | 163 | 3.06M | Matrix3x3 to_xyzd50; | 164 | 3.06M | Mul3x3Matrix(chad, primaries_XYZ, to_xyzd50); | 165 | | | 166 | 3.06M | Vector3 xyz{0, 0, 0}; | 167 | 12.2M | for (size_t xyz_c = 0; xyz_c < 3; ++xyz_c) { | 168 | 36.7M | for (size_t rgb_c = 0; rgb_c < 3; ++rgb_c) { | 169 | 27.5M | xyz[xyz_c] += linear[rgb_c] * to_xyzd50[xyz_c][rgb_c]; | 170 | 27.5M | } | 171 | 9.19M | } | 172 | | | 173 | 3.06M | const auto lab_f = [](const float x) { | 174 | 3.06M | static constexpr float kDelta = 6. / 29; | 175 | 3.06M | return x <= kDelta * kDelta * kDelta | 176 | 3.06M | ? x * (1 / (3 * kDelta * kDelta)) + 4.f / 29 | 177 | 3.06M | : std::cbrt(x); | 178 | 3.06M | }; | 179 | 3.06M | static constexpr float kXn = 0.964212; | 180 | 3.06M | static constexpr float kYn = 1; | 181 | 3.06M | static constexpr float kZn = 0.825188; | 182 | | | 183 | 3.06M | const float f_x = lab_f(xyz[0] / kXn); | 184 | 3.06M | const float f_y = lab_f(xyz[1] / kYn); | 185 | 3.06M | const float f_z = lab_f(xyz[2] / kZn); | 186 | | | 187 | 3.06M | pcslab_out[0] = static_cast<uint8_t>( | 188 | 3.06M | std::lroundf(255.f * Clamp1(1.16f * f_y - .16f, 0.f, 1.f))); | 189 | 3.06M | pcslab_out[1] = static_cast<uint8_t>( | 190 | 3.06M | std::lroundf(128.f + Clamp1(500 * (f_x - f_y), -128.f, 127.f))); | 191 | 3.06M | pcslab_out[2] = static_cast<uint8_t>( | 192 | 3.06M | std::lroundf(128.f + Clamp1(200 * (f_y - f_z), -128.f, 127.f))); | 193 | | | 194 | 3.06M | return true; | 195 | 3.06M | } |
Unexecuted instantiation: enc_jpeg_data.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: decode.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_metadata.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: luminance.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: quant_weights.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: decode_to_jpeg.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_fields.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_group.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_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_progressive_split.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_encoding.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: 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: epf.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: image_bundle.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: passes_state.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: 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: 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: enc_ac_strategy.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_ans.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_chroma_from_luma.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_debug_image.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: blending.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: render_pipeline_stage.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: jxl_cms.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) |
196 | | |
197 | | template <size_t N, ExtraTF tf> |
198 | 1.65k | static std::vector<uint16_t> CreateTableCurve(bool tone_map) { |
199 | | // The generated PQ curve will make room for highlights up to this luminance. |
200 | | // TODO(sboukortt): make this variable? |
201 | 1.65k | static constexpr float kPQIntensityTarget = 10000; |
202 | | |
203 | 1.65k | static_assert(N <= 4096, "ICC MFT2 only allows 4K entries"); |
204 | 1.65k | static_assert(tf == ExtraTF::kPQ || tf == ExtraTF::kHLG, |
205 | 1.65k | "Only PQ/HLG is supported"); |
206 | | |
207 | 1.65k | static constexpr Vector3 kLuminances{1.f / 3, 1.f / 3, 1.f / 3}; |
208 | 1.65k | Rec2408ToneMapperBase tone_mapper( |
209 | 1.65k | {0.0f, kPQIntensityTarget}, {0.0f, kDefaultIntensityTarget}, kLuminances); |
210 | | // No point using float - LCMS converts to 16-bit for A2B/MFT. |
211 | 1.65k | std::vector<uint16_t> table(N); |
212 | 107k | for (uint32_t i = 0; i < N; ++i) { |
213 | 105k | const float x = static_cast<float>(i) / (N - 1); // 1.0 at index N - 1. |
214 | 105k | const double dx = static_cast<double>(x); |
215 | | // LCMS requires EOTF (e.g. 2.4 exponent). |
216 | 105k | double y = (tf == ExtraTF::kHLG) |
217 | 105k | ? TF_HLG_Base::DisplayFromEncoded(dx) |
218 | 105k | : TF_PQ_Base::DisplayFromEncoded(kPQIntensityTarget, dx); |
219 | 105k | if (tone_map && tf == ExtraTF::kPQ && |
220 | 0 | kPQIntensityTarget > kDefaultIntensityTarget) { |
221 | 0 | float l = y * 10000 / kPQIntensityTarget; |
222 | 0 | Color gray{l, l, l}; |
223 | 0 | tone_mapper.ToneMap(gray); |
224 | 0 | y = gray[0]; |
225 | 0 | } |
226 | 105k | JXL_DASSERT(y >= 0.0); |
227 | | // Clamp to table range - necessary for HLG. |
228 | 105k | y = Clamp1(y, 0.0, 1.0); |
229 | | // 1.0 corresponds to table value 0xFFFF. |
230 | 105k | table[i] = static_cast<uint16_t>(roundf(y * 65535.0)); |
231 | 105k | } |
232 | 1.65k | return table; |
233 | 1.65k | } encode.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Line | Count | Source | 198 | 1.46k | static std::vector<uint16_t> CreateTableCurve(bool tone_map) { | 199 | | // The generated PQ curve will make room for highlights up to this luminance. | 200 | | // TODO(sboukortt): make this variable? | 201 | 1.46k | static constexpr float kPQIntensityTarget = 10000; | 202 | | | 203 | 1.46k | static_assert(N <= 4096, "ICC MFT2 only allows 4K entries"); | 204 | 1.46k | static_assert(tf == ExtraTF::kPQ || tf == ExtraTF::kHLG, | 205 | 1.46k | "Only PQ/HLG is supported"); | 206 | | | 207 | 1.46k | static constexpr Vector3 kLuminances{1.f / 3, 1.f / 3, 1.f / 3}; | 208 | 1.46k | Rec2408ToneMapperBase tone_mapper( | 209 | 1.46k | {0.0f, kPQIntensityTarget}, {0.0f, kDefaultIntensityTarget}, kLuminances); | 210 | | // No point using float - LCMS converts to 16-bit for A2B/MFT. | 211 | 1.46k | std::vector<uint16_t> table(N); | 212 | 95.2k | for (uint32_t i = 0; i < N; ++i) { | 213 | 93.7k | const float x = static_cast<float>(i) / (N - 1); // 1.0 at index N - 1. | 214 | 93.7k | const double dx = static_cast<double>(x); | 215 | | // LCMS requires EOTF (e.g. 2.4 exponent). | 216 | 93.7k | double y = (tf == ExtraTF::kHLG) | 217 | 93.7k | ? TF_HLG_Base::DisplayFromEncoded(dx) | 218 | 93.7k | : TF_PQ_Base::DisplayFromEncoded(kPQIntensityTarget, dx); | 219 | 93.7k | if (tone_map && tf == ExtraTF::kPQ && | 220 | 0 | kPQIntensityTarget > kDefaultIntensityTarget) { | 221 | 0 | float l = y * 10000 / kPQIntensityTarget; | 222 | 0 | Color gray{l, l, l}; | 223 | 0 | tone_mapper.ToneMap(gray); | 224 | 0 | y = gray[0]; | 225 | 0 | } | 226 | 93.7k | JXL_DASSERT(y >= 0.0); | 227 | | // Clamp to table range - necessary for HLG. | 228 | 93.7k | y = Clamp1(y, 0.0, 1.0); | 229 | | // 1.0 corresponds to table value 0xFFFF. | 230 | 93.7k | table[i] = static_cast<uint16_t>(roundf(y * 65535.0)); | 231 | 93.7k | } | 232 | 1.46k | return table; | 233 | 1.46k | } |
encode.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Line | Count | Source | 198 | 191 | 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 | 191 | static constexpr float kPQIntensityTarget = 10000; | 202 | | | 203 | 191 | static_assert(N <= 4096, "ICC MFT2 only allows 4K entries"); | 204 | 191 | static_assert(tf == ExtraTF::kPQ || tf == ExtraTF::kHLG, | 205 | 191 | "Only PQ/HLG is supported"); | 206 | | | 207 | 191 | static constexpr Vector3 kLuminances{1.f / 3, 1.f / 3, 1.f / 3}; | 208 | 191 | Rec2408ToneMapperBase tone_mapper( | 209 | 191 | {0.0f, kPQIntensityTarget}, {0.0f, kDefaultIntensityTarget}, kLuminances); | 210 | | // No point using float - LCMS converts to 16-bit for A2B/MFT. | 211 | 191 | std::vector<uint16_t> table(N); | 212 | 12.4k | for (uint32_t i = 0; i < N; ++i) { | 213 | 12.2k | const float x = static_cast<float>(i) / (N - 1); // 1.0 at index N - 1. | 214 | 12.2k | const double dx = static_cast<double>(x); | 215 | | // LCMS requires EOTF (e.g. 2.4 exponent). | 216 | 12.2k | double y = (tf == ExtraTF::kHLG) | 217 | 12.2k | ? TF_HLG_Base::DisplayFromEncoded(dx) | 218 | 12.2k | : TF_PQ_Base::DisplayFromEncoded(kPQIntensityTarget, dx); | 219 | 12.2k | if (tone_map && tf == ExtraTF::kPQ && | 220 | 0 | kPQIntensityTarget > kDefaultIntensityTarget) { | 221 | 0 | float l = y * 10000 / kPQIntensityTarget; | 222 | 0 | Color gray{l, l, l}; | 223 | 0 | tone_mapper.ToneMap(gray); | 224 | 0 | y = gray[0]; | 225 | 0 | } | 226 | 12.2k | JXL_DASSERT(y >= 0.0); | 227 | | // Clamp to table range - necessary for HLG. | 228 | 12.2k | y = Clamp1(y, 0.0, 1.0); | 229 | | // 1.0 corresponds to table value 0xFFFF. | 230 | 12.2k | table[i] = static_cast<uint16_t>(roundf(y * 65535.0)); | 231 | 12.2k | } | 232 | 191 | return table; | 233 | 191 | } |
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: 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: 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: 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_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: 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: 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) 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_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_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_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_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_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_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_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_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: 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: 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: 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: 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: 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: 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: 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: 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: 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_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_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_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_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_debug_image.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_debug_image.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_dot_dictionary.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_dot_dictionary.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_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: 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_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: 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: 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: 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: 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: 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) |
234 | | |
235 | 7.35k | static Status CIEXYZFromWhiteCIExy(double wx, double wy, Color& XYZ) { |
236 | | // Target Y = 1. |
237 | 7.35k | if (std::abs(wy) < 1e-12) return JXL_FAILURE("Y value is too small"); |
238 | 7.34k | const float factor = 1 / wy; |
239 | 7.34k | XYZ[0] = wx * factor; |
240 | 7.34k | XYZ[1] = 1; |
241 | 7.34k | XYZ[2] = (1 - wx - wy) * factor; |
242 | 7.34k | return true; |
243 | 7.35k | } encode.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Line | Count | Source | 235 | 7.35k | static Status CIEXYZFromWhiteCIExy(double wx, double wy, Color& XYZ) { | 236 | | // Target Y = 1. | 237 | 7.35k | if (std::abs(wy) < 1e-12) return JXL_FAILURE("Y value is too small"); | 238 | 7.34k | const float factor = 1 / wy; | 239 | 7.34k | XYZ[0] = wx * factor; | 240 | 7.34k | XYZ[1] = 1; | 241 | 7.34k | XYZ[2] = (1 - wx - wy) * factor; | 242 | 7.34k | return true; | 243 | 7.35k | } |
Unexecuted instantiation: enc_jpeg_data.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: decode.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_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: quant_weights.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>&) Unexecuted instantiation: enc_fast_lossless.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_fields.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_group.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_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_progressive_split.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_encoding.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: 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: epf.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: passes_state.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: 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: 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: enc_ac_strategy.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_ans.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_chroma_from_luma.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_debug_image.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: low_memory_render_pipeline.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: enc_detect_dots.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: jxl_cms.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 | 9.61M | 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 | 9.61M | JxlTransferFunction tf = encoding.transfer_function; |
254 | 9.61M | JxlPrimaries p = encoding.primaries; |
255 | 9.61M | JxlWhitePoint wp = encoding.white_point; |
256 | 9.61M | return encoding.color_space == JXL_COLOR_SPACE_RGB && |
257 | 9.47M | (tf == JXL_TRANSFER_FUNCTION_PQ || tf == JXL_TRANSFER_FUNCTION_HLG) && |
258 | 9.25k | ((p == JXL_PRIMARIES_P3 && |
259 | 312 | (wp == JXL_WHITE_POINT_D65 || wp == JXL_WHITE_POINT_DCI)) || |
260 | 9.14k | (p != JXL_PRIMARIES_CUSTOM && wp == JXL_WHITE_POINT_D65)); |
261 | 9.61M | } encode.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Line | Count | Source | 249 | 9.61M | 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 | 9.61M | JxlTransferFunction tf = encoding.transfer_function; | 254 | 9.61M | JxlPrimaries p = encoding.primaries; | 255 | 9.61M | JxlWhitePoint wp = encoding.white_point; | 256 | 9.61M | return encoding.color_space == JXL_COLOR_SPACE_RGB && | 257 | 9.47M | (tf == JXL_TRANSFER_FUNCTION_PQ || tf == JXL_TRANSFER_FUNCTION_HLG) && | 258 | 9.25k | ((p == JXL_PRIMARIES_P3 && | 259 | 312 | (wp == JXL_WHITE_POINT_D65 || wp == JXL_WHITE_POINT_DCI)) || | 260 | 9.14k | (p != JXL_PRIMARIES_CUSTOM && wp == JXL_WHITE_POINT_D65)); | 261 | 9.61M | } |
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: decode.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: frame_header.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: quant_weights.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_fields.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_frame.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_group.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_heuristics.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_progressive_split.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_encoding.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: 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: epf.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: image_bundle.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: passes_state.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: 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: 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: enc_ac_strategy.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_ans.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_chroma_from_luma.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_external_image.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: blending.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: jxl_cms.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) |
262 | | |
263 | | static void ICCComputeMD5(const std::vector<uint8_t>& data, uint8_t sum[16]) |
264 | 4.86M | JXL_NO_SANITIZE("unsigned-integer-overflow") { |
265 | 4.86M | std::vector<uint8_t> data64 = data; |
266 | 4.86M | data64.push_back(128); |
267 | | // Add bytes such that ((size + 8) & 63) == 0. |
268 | 4.86M | size_t extra = ((64 - ((data64.size() + 8) & 63)) & 63); |
269 | 4.86M | data64.resize(data64.size() + extra, 0); |
270 | 43.8M | for (uint64_t i = 0; i < 64; i += 8) { |
271 | 38.9M | data64.push_back(static_cast<uint64_t>(data.size() << 3u) >> i); |
272 | 38.9M | } |
273 | | |
274 | 4.86M | static const uint32_t sineparts[64] = { |
275 | 4.86M | 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a, |
276 | 4.86M | 0xa8304613, 0xfd469501, 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be, |
277 | 4.86M | 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, 0xf61e2562, 0xc040b340, |
278 | 4.86M | 0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8, |
279 | 4.86M | 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8, |
280 | 4.86M | 0x676f02d9, 0x8d2a4c8a, 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c, |
281 | 4.86M | 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, 0x289b7ec6, 0xeaa127fa, |
282 | 4.86M | 0xd4ef3085, 0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665, |
283 | 4.86M | 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92, |
284 | 4.86M | 0xffeff47d, 0x85845dd1, 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1, |
285 | 4.86M | 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391, |
286 | 4.86M | }; |
287 | 4.86M | static const uint32_t shift[64] = { |
288 | 4.86M | 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, |
289 | 4.86M | 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, |
290 | 4.86M | 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, |
291 | 4.86M | 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, |
292 | 4.86M | }; |
293 | | |
294 | 4.86M | uint32_t a0 = 0x67452301; |
295 | 4.86M | uint32_t b0 = 0xefcdab89; |
296 | 4.86M | uint32_t c0 = 0x98badcfe; |
297 | 4.86M | uint32_t d0 = 0x10325476; |
298 | | |
299 | 49.3M | for (size_t i = 0; i < data64.size(); i += 64) { |
300 | 44.4M | uint32_t a = a0; |
301 | 44.4M | uint32_t b = b0; |
302 | 44.4M | uint32_t c = c0; |
303 | 44.4M | uint32_t d = d0; |
304 | 44.4M | uint32_t f; |
305 | 44.4M | uint32_t g; |
306 | 2.88G | for (size_t j = 0; j < 64; j++) { |
307 | 2.84G | if (j < 16) { |
308 | 710M | f = (b & c) | ((~b) & d); |
309 | 710M | g = j; |
310 | 2.13G | } else if (j < 32) { |
311 | 710M | f = (d & b) | ((~d) & c); |
312 | 710M | g = (5 * j + 1) & 0xf; |
313 | 1.42G | } else if (j < 48) { |
314 | 710M | f = b ^ c ^ d; |
315 | 710M | g = (3 * j + 5) & 0xf; |
316 | 710M | } else { |
317 | 710M | f = c ^ (b | (~d)); |
318 | 710M | g = (7 * j) & 0xf; |
319 | 710M | } |
320 | 2.84G | uint32_t dg0 = data64[i + g * 4 + 0]; |
321 | 2.84G | uint32_t dg1 = data64[i + g * 4 + 1]; |
322 | 2.84G | uint32_t dg2 = data64[i + g * 4 + 2]; |
323 | 2.84G | uint32_t dg3 = data64[i + g * 4 + 3]; |
324 | 2.84G | uint32_t u = dg0 | (dg1 << 8u) | (dg2 << 16u) | (dg3 << 24u); |
325 | 2.84G | f += a + sineparts[j] + u; |
326 | 2.84G | a = d; |
327 | 2.84G | d = c; |
328 | 2.84G | c = b; |
329 | 2.84G | b += (f << shift[j]) | (f >> (32u - shift[j])); |
330 | 2.84G | } |
331 | 44.4M | a0 += a; |
332 | 44.4M | b0 += b; |
333 | 44.4M | c0 += c; |
334 | 44.4M | d0 += d; |
335 | 44.4M | } |
336 | 4.86M | sum[0] = a0; |
337 | 4.86M | sum[1] = a0 >> 8u; |
338 | 4.86M | sum[2] = a0 >> 16u; |
339 | 4.86M | sum[3] = a0 >> 24u; |
340 | 4.86M | sum[4] = b0; |
341 | 4.86M | sum[5] = b0 >> 8u; |
342 | 4.86M | sum[6] = b0 >> 16u; |
343 | 4.86M | sum[7] = b0 >> 24u; |
344 | 4.86M | sum[8] = c0; |
345 | 4.86M | sum[9] = c0 >> 8u; |
346 | 4.86M | sum[10] = c0 >> 16u; |
347 | 4.86M | sum[11] = c0 >> 24u; |
348 | 4.86M | sum[12] = d0; |
349 | 4.86M | sum[13] = d0 >> 8u; |
350 | 4.86M | sum[14] = d0 >> 16u; |
351 | 4.86M | sum[15] = d0 >> 24u; |
352 | 4.86M | } encode.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Line | Count | Source | 264 | 4.86M | JXL_NO_SANITIZE("unsigned-integer-overflow") { | 265 | 4.86M | std::vector<uint8_t> data64 = data; | 266 | 4.86M | data64.push_back(128); | 267 | | // Add bytes such that ((size + 8) & 63) == 0. | 268 | 4.86M | size_t extra = ((64 - ((data64.size() + 8) & 63)) & 63); | 269 | 4.86M | data64.resize(data64.size() + extra, 0); | 270 | 43.8M | for (uint64_t i = 0; i < 64; i += 8) { | 271 | 38.9M | data64.push_back(static_cast<uint64_t>(data.size() << 3u) >> i); | 272 | 38.9M | } | 273 | | | 274 | 4.86M | static const uint32_t sineparts[64] = { | 275 | 4.86M | 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a, | 276 | 4.86M | 0xa8304613, 0xfd469501, 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be, | 277 | 4.86M | 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, 0xf61e2562, 0xc040b340, | 278 | 4.86M | 0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8, | 279 | 4.86M | 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8, | 280 | 4.86M | 0x676f02d9, 0x8d2a4c8a, 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c, | 281 | 4.86M | 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, 0x289b7ec6, 0xeaa127fa, | 282 | 4.86M | 0xd4ef3085, 0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665, | 283 | 4.86M | 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92, | 284 | 4.86M | 0xffeff47d, 0x85845dd1, 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1, | 285 | 4.86M | 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391, | 286 | 4.86M | }; | 287 | 4.86M | static const uint32_t shift[64] = { | 288 | 4.86M | 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, | 289 | 4.86M | 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, | 290 | 4.86M | 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, | 291 | 4.86M | 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, | 292 | 4.86M | }; | 293 | | | 294 | 4.86M | uint32_t a0 = 0x67452301; | 295 | 4.86M | uint32_t b0 = 0xefcdab89; | 296 | 4.86M | uint32_t c0 = 0x98badcfe; | 297 | 4.86M | uint32_t d0 = 0x10325476; | 298 | | | 299 | 49.3M | for (size_t i = 0; i < data64.size(); i += 64) { | 300 | 44.4M | uint32_t a = a0; | 301 | 44.4M | uint32_t b = b0; | 302 | 44.4M | uint32_t c = c0; | 303 | 44.4M | uint32_t d = d0; | 304 | 44.4M | uint32_t f; | 305 | 44.4M | uint32_t g; | 306 | 2.88G | for (size_t j = 0; j < 64; j++) { | 307 | 2.84G | if (j < 16) { | 308 | 710M | f = (b & c) | ((~b) & d); | 309 | 710M | g = j; | 310 | 2.13G | } else if (j < 32) { | 311 | 710M | f = (d & b) | ((~d) & c); | 312 | 710M | g = (5 * j + 1) & 0xf; | 313 | 1.42G | } else if (j < 48) { | 314 | 710M | f = b ^ c ^ d; | 315 | 710M | g = (3 * j + 5) & 0xf; | 316 | 710M | } else { | 317 | 710M | f = c ^ (b | (~d)); | 318 | 710M | g = (7 * j) & 0xf; | 319 | 710M | } | 320 | 2.84G | uint32_t dg0 = data64[i + g * 4 + 0]; | 321 | 2.84G | uint32_t dg1 = data64[i + g * 4 + 1]; | 322 | 2.84G | uint32_t dg2 = data64[i + g * 4 + 2]; | 323 | 2.84G | uint32_t dg3 = data64[i + g * 4 + 3]; | 324 | 2.84G | uint32_t u = dg0 | (dg1 << 8u) | (dg2 << 16u) | (dg3 << 24u); | 325 | 2.84G | f += a + sineparts[j] + u; | 326 | 2.84G | a = d; | 327 | 2.84G | d = c; | 328 | 2.84G | c = b; | 329 | 2.84G | b += (f << shift[j]) | (f >> (32u - shift[j])); | 330 | 2.84G | } | 331 | 44.4M | a0 += a; | 332 | 44.4M | b0 += b; | 333 | 44.4M | c0 += c; | 334 | 44.4M | d0 += d; | 335 | 44.4M | } | 336 | 4.86M | sum[0] = a0; | 337 | 4.86M | sum[1] = a0 >> 8u; | 338 | 4.86M | sum[2] = a0 >> 16u; | 339 | 4.86M | sum[3] = a0 >> 24u; | 340 | 4.86M | sum[4] = b0; | 341 | 4.86M | sum[5] = b0 >> 8u; | 342 | 4.86M | sum[6] = b0 >> 16u; | 343 | 4.86M | sum[7] = b0 >> 24u; | 344 | 4.86M | sum[8] = c0; | 345 | 4.86M | sum[9] = c0 >> 8u; | 346 | 4.86M | sum[10] = c0 >> 16u; | 347 | 4.86M | sum[11] = c0 >> 24u; | 348 | 4.86M | sum[12] = d0; | 349 | 4.86M | sum[13] = d0 >> 8u; | 350 | 4.86M | sum[14] = d0 >> 16u; | 351 | 4.86M | sum[15] = d0 >> 24u; | 352 | 4.86M | } |
Unexecuted instantiation: enc_jpeg_data.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: decode.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_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: quant_weights.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*) 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_fields.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_group.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_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_progressive_split.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_encoding.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: 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: epf.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: passes_state.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: 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: 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: enc_ac_strategy.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_ans.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_chroma_from_luma.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: low_memory_render_pipeline.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: enc_detect_dots.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*) |
353 | | |
354 | 4.86M | static Status CreateICCChadMatrix(double wx, double wy, Matrix3x3& result) { |
355 | 4.86M | Matrix3x3 m; |
356 | 4.86M | if (wy == 0) { // WhitePoint can not be pitch-black. |
357 | 12 | return JXL_FAILURE("Invalid WhitePoint"); |
358 | 12 | } |
359 | 4.86M | JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, m)); |
360 | 4.86M | result = m; |
361 | 4.86M | return true; |
362 | 4.86M | } encode.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Line | Count | Source | 354 | 4.86M | static Status CreateICCChadMatrix(double wx, double wy, Matrix3x3& result) { | 355 | 4.86M | Matrix3x3 m; | 356 | 4.86M | if (wy == 0) { // WhitePoint can not be pitch-black. | 357 | 12 | return JXL_FAILURE("Invalid WhitePoint"); | 358 | 12 | } | 359 | 4.86M | JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, m)); | 360 | 4.86M | result = m; | 361 | 4.86M | return true; | 362 | 4.86M | } |
Unexecuted instantiation: enc_jpeg_data.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: decode.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_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: quant_weights.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>&) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_fields.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_group.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_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_progressive_split.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_encoding.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: 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: epf.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: passes_state.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: 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: 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: enc_ac_strategy.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_ans.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_chroma_from_luma.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: low_memory_render_pipeline.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: enc_detect_dots.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>&) |
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 | 4.73M | Matrix3x3& result) { |
368 | 4.73M | Matrix3x3 m; |
369 | 4.73M | JXL_RETURN_IF_ERROR(PrimariesToXYZD50(rx, ry, gx, gy, bx, by, wx, wy, m)); |
370 | 4.73M | result = m; |
371 | 4.73M | return true; |
372 | 4.73M | } 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 | 4.73M | Matrix3x3& result) { | 368 | 4.73M | Matrix3x3 m; | 369 | 4.73M | JXL_RETURN_IF_ERROR(PrimariesToXYZD50(rx, ry, gx, gy, bx, by, wx, wy, m)); | 370 | 4.73M | result = m; | 371 | 4.73M | return true; | 372 | 4.73M | } |
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: 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: decode.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_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: 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: decode_to_jpeg.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_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_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_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_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_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_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_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_encoding.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: 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: epf.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: 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: 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: 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: 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_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_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_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_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_debug_image.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_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: 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_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: blending.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: 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: 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: jxl_cms.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 | 440M | std::vector<uint8_t>* icc) { |
376 | 440M | if (icc->size() < pos + 4) icc->resize(pos + 4); |
377 | 440M | (*icc)[pos + 0] = (value >> 24u) & 255; |
378 | 440M | (*icc)[pos + 1] = (value >> 16u) & 255; |
379 | 440M | (*icc)[pos + 2] = (value >> 8u) & 255; |
380 | 440M | (*icc)[pos + 3] = value & 255; |
381 | 440M | } encode.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 375 | 440M | std::vector<uint8_t>* icc) { | 376 | 440M | if (icc->size() < pos + 4) icc->resize(pos + 4); | 377 | 440M | (*icc)[pos + 0] = (value >> 24u) & 255; | 378 | 440M | (*icc)[pos + 1] = (value >> 16u) & 255; | 379 | 440M | (*icc)[pos + 2] = (value >> 8u) & 255; | 380 | 440M | (*icc)[pos + 3] = value & 255; | 381 | 440M | } |
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: color_encoding_internal.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: frame_header.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: quant_weights.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> >*) 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_fields.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_group.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_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_progressive_split.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_encoding.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: 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: epf.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: passes_state.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: 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: 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: enc_ac_strategy.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_ans.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_chroma_from_luma.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: low_memory_render_pipeline.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: enc_detect_dots.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> >*) |
382 | | |
383 | | static void WriteICCUint16(uint16_t value, size_t pos, |
384 | 44.4M | std::vector<uint8_t>* icc) { |
385 | 44.4M | if (icc->size() < pos + 2) icc->resize(pos + 2); |
386 | 44.4M | (*icc)[pos + 0] = (value >> 8u) & 255; |
387 | 44.4M | (*icc)[pos + 1] = value & 255; |
388 | 44.4M | } encode.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 384 | 44.4M | std::vector<uint8_t>* icc) { | 385 | 44.4M | if (icc->size() < pos + 2) icc->resize(pos + 2); | 386 | 44.4M | (*icc)[pos + 0] = (value >> 8u) & 255; | 387 | 44.4M | (*icc)[pos + 1] = value & 255; | 388 | 44.4M | } |
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: color_encoding_internal.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: frame_header.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: quant_weights.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> >*) 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_fields.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_group.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_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_progressive_split.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_encoding.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: 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: epf.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: passes_state.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: 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: 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: enc_ac_strategy.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_ans.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_chroma_from_luma.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: low_memory_render_pipeline.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: enc_detect_dots.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> >*) |
389 | | |
390 | | static void WriteICCUint8(uint8_t value, size_t pos, |
391 | 37.3M | std::vector<uint8_t>* icc) { |
392 | 37.3M | if (icc->size() < pos + 1) icc->resize(pos + 1); |
393 | 37.3M | (*icc)[pos] = value; |
394 | 37.3M | } encode.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 391 | 37.3M | std::vector<uint8_t>* icc) { | 392 | 37.3M | if (icc->size() < pos + 1) icc->resize(pos + 1); | 393 | 37.3M | (*icc)[pos] = value; | 394 | 37.3M | } |
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: color_encoding_internal.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: frame_header.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: quant_weights.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> >*) 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_fields.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_group.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_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_progressive_split.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_encoding.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: 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: epf.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: passes_state.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: 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: 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: enc_ac_strategy.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_ans.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_chroma_from_luma.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: low_memory_render_pipeline.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: enc_detect_dots.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> >*) |
395 | | |
396 | | // Writes a 4-character tag |
397 | | static void WriteICCTag(const char* value, size_t pos, |
398 | 141M | std::vector<uint8_t>* icc) { |
399 | 141M | if (icc->size() < pos + 4) icc->resize(pos + 4); |
400 | 141M | memcpy(icc->data() + pos, value, 4); |
401 | 141M | } encode.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 398 | 141M | std::vector<uint8_t>* icc) { | 399 | 141M | if (icc->size() < pos + 4) icc->resize(pos + 4); | 400 | 141M | memcpy(icc->data() + pos, value, 4); | 401 | 141M | } |
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: color_encoding_internal.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: frame_header.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: quant_weights.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> >*) 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_fields.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_group.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_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_progressive_split.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_encoding.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: 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: epf.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: passes_state.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: 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: 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: enc_ac_strategy.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_ans.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_chroma_from_luma.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: low_memory_render_pipeline.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: enc_detect_dots.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> >*) |
402 | | |
403 | | static Status WriteICCS15Fixed16(float value, size_t pos, |
404 | 128M | 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 | 128M | bool ok = (-32767.995f <= value) && (value <= 32767.995f); |
409 | 128M | if (!ok) return JXL_FAILURE("ICC value is out of range / NaN"); |
410 | 128M | int32_t i = static_cast<int32_t>(std::lround(value * 65536.0f)); |
411 | | // Use two's complement |
412 | 128M | uint32_t u = static_cast<uint32_t>(i); |
413 | 128M | WriteICCUint32(u, pos, icc); |
414 | 128M | return true; |
415 | 128M | } encode.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 404 | 128M | 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 | 128M | bool ok = (-32767.995f <= value) && (value <= 32767.995f); | 409 | 128M | if (!ok) return JXL_FAILURE("ICC value is out of range / NaN"); | 410 | 128M | int32_t i = static_cast<int32_t>(std::lround(value * 65536.0f)); | 411 | | // Use two's complement | 412 | 128M | uint32_t u = static_cast<uint32_t>(i); | 413 | 128M | WriteICCUint32(u, pos, icc); | 414 | 128M | return true; | 415 | 128M | } |
Unexecuted instantiation: enc_jpeg_data.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: decode.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_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: quant_weights.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> >*) 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_fields.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_group.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_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_progressive_split.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_encoding.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: 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: epf.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: passes_state.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: 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: 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: enc_ac_strategy.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_ans.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_chroma_from_luma.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: low_memory_render_pipeline.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: enc_detect_dots.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> >*) |
416 | | |
417 | | static Status CreateICCHeader(const JxlColorEncoding& c, |
418 | 4.86M | std::vector<uint8_t>* header) { |
419 | | // TODO(lode): choose color management engine name, e.g. "skia" if |
420 | | // integrated in skia. |
421 | 4.86M | static const char* kCmm = "jxl "; |
422 | | |
423 | 4.86M | header->resize(128, 0); |
424 | | |
425 | 4.86M | WriteICCUint32(0, 0, header); // size, correct value filled in at end |
426 | 4.86M | WriteICCTag(kCmm, 4, header); |
427 | 4.86M | WriteICCUint32(0x04400000u, 8, header); |
428 | 4.86M | const char* profile_type = |
429 | 4.86M | c.color_space == JXL_COLOR_SPACE_XYB ? "scnr" : "mntr"; |
430 | 4.86M | WriteICCTag(profile_type, 12, header); |
431 | 4.86M | WriteICCTag(c.color_space == JXL_COLOR_SPACE_GRAY ? "GRAY" : "RGB ", 16, |
432 | 4.86M | header); |
433 | 4.86M | 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 | 4.20k | WriteICCTag("Lab ", 20, header); |
439 | 4.86M | } else { |
440 | 4.86M | WriteICCTag("XYZ ", 20, header); |
441 | 4.86M | } |
442 | | |
443 | | // Three uint32_t's date/time encoding. |
444 | | // TODO(lode): encode actual date and time, this is a placeholder |
445 | 4.86M | uint32_t year = 2019; |
446 | 4.86M | uint32_t month = 12; |
447 | 4.86M | uint32_t day = 1; |
448 | 4.86M | uint32_t hour = 0; |
449 | 4.86M | uint32_t minute = 0; |
450 | 4.86M | uint32_t second = 0; |
451 | 4.86M | WriteICCUint16(year, 24, header); |
452 | 4.86M | WriteICCUint16(month, 26, header); |
453 | 4.86M | WriteICCUint16(day, 28, header); |
454 | 4.86M | WriteICCUint16(hour, 30, header); |
455 | 4.86M | WriteICCUint16(minute, 32, header); |
456 | 4.86M | WriteICCUint16(second, 34, header); |
457 | | |
458 | 4.86M | WriteICCTag("acsp", 36, header); |
459 | 4.86M | WriteICCTag("APPL", 40, header); |
460 | 4.86M | WriteICCUint32(0, 44, header); // flags |
461 | 4.86M | WriteICCUint32(0, 48, header); // device manufacturer |
462 | 4.86M | WriteICCUint32(0, 52, header); // device model |
463 | 4.86M | WriteICCUint32(0, 56, header); // device attributes |
464 | 4.86M | WriteICCUint32(0, 60, header); // device attributes |
465 | 4.86M | WriteICCUint32(static_cast<uint32_t>(c.rendering_intent), 64, header); |
466 | | |
467 | | // Mandatory D50 white point of profile connection space |
468 | 4.86M | WriteICCUint32(0x0000f6d6, 68, header); |
469 | 4.86M | WriteICCUint32(0x00010000, 72, header); |
470 | 4.86M | WriteICCUint32(0x0000d32d, 76, header); |
471 | | |
472 | 4.86M | WriteICCTag(kCmm, 80, header); |
473 | | |
474 | 4.86M | return true; |
475 | 4.86M | } encode.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 418 | 4.86M | std::vector<uint8_t>* header) { | 419 | | // TODO(lode): choose color management engine name, e.g. "skia" if | 420 | | // integrated in skia. | 421 | 4.86M | static const char* kCmm = "jxl "; | 422 | | | 423 | 4.86M | header->resize(128, 0); | 424 | | | 425 | 4.86M | WriteICCUint32(0, 0, header); // size, correct value filled in at end | 426 | 4.86M | WriteICCTag(kCmm, 4, header); | 427 | 4.86M | WriteICCUint32(0x04400000u, 8, header); | 428 | 4.86M | const char* profile_type = | 429 | 4.86M | c.color_space == JXL_COLOR_SPACE_XYB ? "scnr" : "mntr"; | 430 | 4.86M | WriteICCTag(profile_type, 12, header); | 431 | 4.86M | WriteICCTag(c.color_space == JXL_COLOR_SPACE_GRAY ? "GRAY" : "RGB ", 16, | 432 | 4.86M | header); | 433 | 4.86M | 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 | 4.20k | WriteICCTag("Lab ", 20, header); | 439 | 4.86M | } else { | 440 | 4.86M | WriteICCTag("XYZ ", 20, header); | 441 | 4.86M | } | 442 | | | 443 | | // Three uint32_t's date/time encoding. | 444 | | // TODO(lode): encode actual date and time, this is a placeholder | 445 | 4.86M | uint32_t year = 2019; | 446 | 4.86M | uint32_t month = 12; | 447 | 4.86M | uint32_t day = 1; | 448 | 4.86M | uint32_t hour = 0; | 449 | 4.86M | uint32_t minute = 0; | 450 | 4.86M | uint32_t second = 0; | 451 | 4.86M | WriteICCUint16(year, 24, header); | 452 | 4.86M | WriteICCUint16(month, 26, header); | 453 | 4.86M | WriteICCUint16(day, 28, header); | 454 | 4.86M | WriteICCUint16(hour, 30, header); | 455 | 4.86M | WriteICCUint16(minute, 32, header); | 456 | 4.86M | WriteICCUint16(second, 34, header); | 457 | | | 458 | 4.86M | WriteICCTag("acsp", 36, header); | 459 | 4.86M | WriteICCTag("APPL", 40, header); | 460 | 4.86M | WriteICCUint32(0, 44, header); // flags | 461 | 4.86M | WriteICCUint32(0, 48, header); // device manufacturer | 462 | 4.86M | WriteICCUint32(0, 52, header); // device model | 463 | 4.86M | WriteICCUint32(0, 56, header); // device attributes | 464 | 4.86M | WriteICCUint32(0, 60, header); // device attributes | 465 | 4.86M | WriteICCUint32(static_cast<uint32_t>(c.rendering_intent), 64, header); | 466 | | | 467 | | // Mandatory D50 white point of profile connection space | 468 | 4.86M | WriteICCUint32(0x0000f6d6, 68, header); | 469 | 4.86M | WriteICCUint32(0x00010000, 72, header); | 470 | 4.86M | WriteICCUint32(0x0000d32d, 76, header); | 471 | | | 472 | 4.86M | WriteICCTag(kCmm, 80, header); | 473 | | | 474 | 4.86M | return true; | 475 | 4.86M | } |
Unexecuted instantiation: enc_jpeg_data.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: decode.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_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: quant_weights.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> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fields.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_group.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_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_progressive_split.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_encoding.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: 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: epf.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: passes_state.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: 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: 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: enc_ac_strategy.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_ans.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_chroma_from_luma.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: low_memory_render_pipeline.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: enc_detect_dots.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> >*) |
476 | | |
477 | | static void AddToICCTagTable(const char* tag, size_t offset, size_t size, |
478 | | std::vector<uint8_t>* tagtable, |
479 | 52.8M | std::vector<size_t>* offsets) { |
480 | 52.8M | WriteICCTag(tag, tagtable->size(), tagtable); |
481 | | // writing true offset deferred to later |
482 | 52.8M | WriteICCUint32(0, tagtable->size(), tagtable); |
483 | 52.8M | offsets->push_back(offset); |
484 | 52.8M | WriteICCUint32(size, tagtable->size(), tagtable); |
485 | 52.8M | } 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 | 52.8M | std::vector<size_t>* offsets) { | 480 | 52.8M | WriteICCTag(tag, tagtable->size(), tagtable); | 481 | | // writing true offset deferred to later | 482 | 52.8M | WriteICCUint32(0, tagtable->size(), tagtable); | 483 | 52.8M | offsets->push_back(offset); | 484 | 52.8M | WriteICCUint32(size, tagtable->size(), tagtable); | 485 | 52.8M | } |
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: 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: 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: 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_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: 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: 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> >*) 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_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_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_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_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_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_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_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_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: 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: 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: 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: 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: 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: 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: 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: 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_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_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_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_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_debug_image.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_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: 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_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: 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: 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: 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: 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: 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> >*) |
486 | | |
487 | | static void FinalizeICCTag(std::vector<uint8_t>* tags, size_t* offset, |
488 | 43.4M | size_t* size) { |
489 | 53.4M | while ((tags->size() & 3) != 0) { |
490 | 10.0M | tags->push_back(0); |
491 | 10.0M | } |
492 | 43.4M | *offset += *size; |
493 | 43.4M | *size = tags->size() - *offset; |
494 | 43.4M | } encode.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Line | Count | Source | 488 | 43.4M | size_t* size) { | 489 | 53.4M | while ((tags->size() & 3) != 0) { | 490 | 10.0M | tags->push_back(0); | 491 | 10.0M | } | 492 | 43.4M | *offset += *size; | 493 | 43.4M | *size = tags->size() - *offset; | 494 | 43.4M | } |
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: color_encoding_internal.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: frame_header.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: quant_weights.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*) 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_fields.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_group.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_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_progressive_split.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_encoding.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: 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: epf.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: passes_state.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: 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: 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: enc_ac_strategy.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_ans.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_chroma_from_luma.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: low_memory_render_pipeline.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: enc_detect_dots.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*) |
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 | 9.73M | std::vector<uint8_t>* tags) { |
500 | 9.73M | WriteICCTag("mluc", tags->size(), tags); |
501 | 9.73M | WriteICCUint32(0, tags->size(), tags); |
502 | 9.73M | WriteICCUint32(1, tags->size(), tags); |
503 | 9.73M | WriteICCUint32(12, tags->size(), tags); |
504 | 9.73M | WriteICCTag("enUS", tags->size(), tags); |
505 | 9.73M | WriteICCUint32(text.size() * 2, tags->size(), tags); |
506 | 9.73M | WriteICCUint32(28, tags->size(), tags); |
507 | 34.9M | for (char c : text) { |
508 | 34.9M | tags->push_back(0); // prepend 0 for UTF-16 |
509 | 34.9M | tags->push_back(c); |
510 | 34.9M | } |
511 | 9.73M | } 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 | 9.73M | std::vector<uint8_t>* tags) { | 500 | 9.73M | WriteICCTag("mluc", tags->size(), tags); | 501 | 9.73M | WriteICCUint32(0, tags->size(), tags); | 502 | 9.73M | WriteICCUint32(1, tags->size(), tags); | 503 | 9.73M | WriteICCUint32(12, tags->size(), tags); | 504 | 9.73M | WriteICCTag("enUS", tags->size(), tags); | 505 | 9.73M | WriteICCUint32(text.size() * 2, tags->size(), tags); | 506 | 9.73M | WriteICCUint32(28, tags->size(), tags); | 507 | 34.9M | for (char c : text) { | 508 | 34.9M | tags->push_back(0); // prepend 0 for UTF-16 | 509 | 34.9M | tags->push_back(c); | 510 | 34.9M | } | 511 | 9.73M | } |
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: 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: 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: 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_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: 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: 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> >*) 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_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_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_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_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_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_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_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_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: 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: 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: 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: 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: 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: 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: 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: 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_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_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_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_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_debug_image.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_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: 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_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: 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: 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: 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: 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: 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> >*) |
512 | | |
513 | 19.0M | static Status CreateICCXYZTag(const Color& xyz, std::vector<uint8_t>* tags) { |
514 | 19.0M | WriteICCTag("XYZ ", tags->size(), tags); |
515 | 19.0M | WriteICCUint32(0, tags->size(), tags); |
516 | 76.3M | for (size_t i = 0; i < 3; ++i) { |
517 | 57.2M | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(xyz[i], tags->size(), tags)); |
518 | 57.2M | } |
519 | 19.0M | return true; |
520 | 19.0M | } 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 | 19.0M | static Status CreateICCXYZTag(const Color& xyz, std::vector<uint8_t>* tags) { | 514 | 19.0M | WriteICCTag("XYZ ", tags->size(), tags); | 515 | 19.0M | WriteICCUint32(0, tags->size(), tags); | 516 | 76.3M | for (size_t i = 0; i < 3; ++i) { | 517 | 57.2M | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(xyz[i], tags->size(), tags)); | 518 | 57.2M | } | 519 | 19.0M | return true; | 520 | 19.0M | } |
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: 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: decode.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_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: quant_weights.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> >*) 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_fields.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_group.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_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_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_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_encoding.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: 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: epf.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: passes_state.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: 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: 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: 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_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_ans.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_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_debug_image.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: 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: 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: 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: jxl_cms.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 | 4.86M | std::vector<uint8_t>* tags) { |
524 | 4.86M | WriteICCTag("sf32", tags->size(), tags); |
525 | 4.86M | WriteICCUint32(0, tags->size(), tags); |
526 | 19.4M | for (size_t j = 0; j < 3; j++) { |
527 | 58.3M | for (size_t i = 0; i < 3; i++) { |
528 | 43.7M | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(chad[j][i], tags->size(), tags)); |
529 | 43.7M | } |
530 | 14.5M | } |
531 | 4.86M | return true; |
532 | 4.86M | } 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 | 4.86M | std::vector<uint8_t>* tags) { | 524 | 4.86M | WriteICCTag("sf32", tags->size(), tags); | 525 | 4.86M | WriteICCUint32(0, tags->size(), tags); | 526 | 19.4M | for (size_t j = 0; j < 3; j++) { | 527 | 58.3M | for (size_t i = 0; i < 3; i++) { | 528 | 43.7M | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(chad[j][i], tags->size(), tags)); | 529 | 43.7M | } | 530 | 14.5M | } | 531 | 4.86M | return true; | 532 | 4.86M | } |
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: 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: 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: 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_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: 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: 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> >*) 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_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_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_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_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_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_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_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_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: 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: 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: 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: 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: 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: 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: 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: 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_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_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_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_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_debug_image.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_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: 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_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: 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: 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: 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: 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: 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> >*) |
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 | 4.73M | std::vector<size_t>* offsets) { |
538 | 4.73M | if (c.color_space != JXL_COLOR_SPACE_RGB) { |
539 | 0 | return; |
540 | 0 | } |
541 | 4.73M | uint8_t primaries = 0; |
542 | 4.73M | if (c.primaries == JXL_PRIMARIES_P3) { |
543 | 431 | if (c.white_point == JXL_WHITE_POINT_D65) { |
544 | 279 | primaries = 12; |
545 | 279 | } else if (c.white_point == JXL_WHITE_POINT_DCI) { |
546 | 72 | primaries = 11; |
547 | 80 | } else { |
548 | 80 | return; |
549 | 80 | } |
550 | 4.73M | } else if (c.primaries != JXL_PRIMARIES_CUSTOM && |
551 | 4.73M | c.white_point == JXL_WHITE_POINT_D65) { |
552 | 4.72M | primaries = static_cast<uint8_t>(c.primaries); |
553 | 4.72M | } else { |
554 | 10.6k | return; |
555 | 10.6k | } |
556 | 4.72M | JxlTransferFunction tf = c.transfer_function; |
557 | 4.72M | if (tf == JXL_TRANSFER_FUNCTION_UNKNOWN || |
558 | 4.72M | tf == JXL_TRANSFER_FUNCTION_GAMMA) { |
559 | 564 | return; |
560 | 564 | } |
561 | 4.72M | WriteICCTag("cicp", tags->size(), tags); |
562 | 4.72M | WriteICCUint32(0, tags->size(), tags); |
563 | 4.72M | WriteICCUint8(primaries, tags->size(), tags); |
564 | 4.72M | WriteICCUint8(static_cast<uint8_t>(tf), tags->size(), tags); |
565 | | // Matrix |
566 | 4.72M | WriteICCUint8(0, tags->size(), tags); |
567 | | // Full range |
568 | 4.72M | WriteICCUint8(1, tags->size(), tags); |
569 | 4.72M | FinalizeICCTag(tags, offset, size); |
570 | 4.72M | AddToICCTagTable("cicp", *offset, *size, tagtable, offsets); |
571 | 4.72M | } 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 | 4.73M | std::vector<size_t>* offsets) { | 538 | 4.73M | if (c.color_space != JXL_COLOR_SPACE_RGB) { | 539 | 0 | return; | 540 | 0 | } | 541 | 4.73M | uint8_t primaries = 0; | 542 | 4.73M | if (c.primaries == JXL_PRIMARIES_P3) { | 543 | 431 | if (c.white_point == JXL_WHITE_POINT_D65) { | 544 | 279 | primaries = 12; | 545 | 279 | } else if (c.white_point == JXL_WHITE_POINT_DCI) { | 546 | 72 | primaries = 11; | 547 | 80 | } else { | 548 | 80 | return; | 549 | 80 | } | 550 | 4.73M | } else if (c.primaries != JXL_PRIMARIES_CUSTOM && | 551 | 4.73M | c.white_point == JXL_WHITE_POINT_D65) { | 552 | 4.72M | primaries = static_cast<uint8_t>(c.primaries); | 553 | 4.72M | } else { | 554 | 10.6k | return; | 555 | 10.6k | } | 556 | 4.72M | JxlTransferFunction tf = c.transfer_function; | 557 | 4.72M | if (tf == JXL_TRANSFER_FUNCTION_UNKNOWN || | 558 | 4.72M | tf == JXL_TRANSFER_FUNCTION_GAMMA) { | 559 | 564 | return; | 560 | 564 | } | 561 | 4.72M | WriteICCTag("cicp", tags->size(), tags); | 562 | 4.72M | WriteICCUint32(0, tags->size(), tags); | 563 | 4.72M | WriteICCUint8(primaries, tags->size(), tags); | 564 | 4.72M | WriteICCUint8(static_cast<uint8_t>(tf), tags->size(), tags); | 565 | | // Matrix | 566 | 4.72M | WriteICCUint8(0, tags->size(), tags); | 567 | | // Full range | 568 | 4.72M | WriteICCUint8(1, tags->size(), tags); | 569 | 4.72M | FinalizeICCTag(tags, offset, size); | 570 | 4.72M | AddToICCTagTable("cicp", *offset, *size, tagtable, offsets); | 571 | 4.72M | } |
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: 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: 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: 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_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: 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: 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> >*) 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_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_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_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_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_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_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_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_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: 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: 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: 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: 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: 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: 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: 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: 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_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_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_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_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_debug_image.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_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: 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_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: 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: 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: 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: 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: 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> >*) |
572 | | |
573 | | static void CreateICCCurvCurvTag(const std::vector<uint16_t>& curve, |
574 | 1.65k | std::vector<uint8_t>* tags) { |
575 | 1.65k | size_t pos = tags->size(); |
576 | 1.65k | tags->resize(tags->size() + 12 + curve.size() * 2, 0); |
577 | 1.65k | WriteICCTag("curv", pos, tags); |
578 | 1.65k | WriteICCUint32(0, pos + 4, tags); |
579 | 1.65k | WriteICCUint32(curve.size(), pos + 8, tags); |
580 | 107k | for (size_t i = 0; i < curve.size(); i++) { |
581 | 105k | WriteICCUint16(curve[i], pos + 12 + i * 2, tags); |
582 | 105k | } |
583 | 1.65k | } 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 | 1.65k | std::vector<uint8_t>* tags) { | 575 | 1.65k | size_t pos = tags->size(); | 576 | 1.65k | tags->resize(tags->size() + 12 + curve.size() * 2, 0); | 577 | 1.65k | WriteICCTag("curv", pos, tags); | 578 | 1.65k | WriteICCUint32(0, pos + 4, tags); | 579 | 1.65k | WriteICCUint32(curve.size(), pos + 8, tags); | 580 | 107k | for (size_t i = 0; i < curve.size(); i++) { | 581 | 105k | WriteICCUint16(curve[i], pos + 12 + i * 2, tags); | 582 | 105k | } | 583 | 1.65k | } |
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: 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: 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: 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_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: 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: 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> >*) 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_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_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_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_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_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_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_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_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: 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: 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: 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: 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: 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: 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: 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: 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_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_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_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_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_debug_image.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_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: 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_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: 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: 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: 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: 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: 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> >*) |
584 | | |
585 | | // Writes 12 + 4*params.size() bytes |
586 | | static Status CreateICCCurvParaTag(const std::vector<float>& params, |
587 | | size_t curve_type, |
588 | 5.87M | std::vector<uint8_t>* tags) { |
589 | 5.87M | WriteICCTag("para", tags->size(), tags); |
590 | 5.87M | WriteICCUint32(0, tags->size(), tags); |
591 | 5.87M | WriteICCUint16(curve_type, tags->size(), tags); |
592 | 5.87M | WriteICCUint16(0, tags->size(), tags); |
593 | 26.3M | for (float param : params) { |
594 | 26.3M | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(param, tags->size(), tags)); |
595 | 26.3M | } |
596 | 5.87M | return true; |
597 | 5.87M | } 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 | 5.87M | std::vector<uint8_t>* tags) { | 589 | 5.87M | WriteICCTag("para", tags->size(), tags); | 590 | 5.87M | WriteICCUint32(0, tags->size(), tags); | 591 | 5.87M | WriteICCUint16(curve_type, tags->size(), tags); | 592 | 5.87M | WriteICCUint16(0, tags->size(), tags); | 593 | 26.3M | for (float param : params) { | 594 | 26.3M | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(param, tags->size(), tags)); | 595 | 26.3M | } | 596 | 5.87M | return true; | 597 | 5.87M | } |
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: 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: 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: 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_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: 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: 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> >*) 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_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_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_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_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_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_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_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_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: 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: 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: 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: 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: 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: 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: 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: 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_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_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_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_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_debug_image.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_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: 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_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: 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: 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: 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: 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: 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> >*) |
598 | | |
599 | 125k | static Status CreateICCLutAtoBTagForXYB(std::vector<uint8_t>* tags) { |
600 | 125k | WriteICCTag("mAB ", tags->size(), tags); |
601 | | // 4 reserved bytes set to 0 |
602 | 125k | WriteICCUint32(0, tags->size(), tags); |
603 | | // number of input channels |
604 | 125k | WriteICCUint8(3, tags->size(), tags); |
605 | | // number of output channels |
606 | 125k | WriteICCUint8(3, tags->size(), tags); |
607 | | // 2 reserved bytes for padding |
608 | 125k | WriteICCUint16(0, tags->size(), tags); |
609 | | // offset to first B curve |
610 | 125k | WriteICCUint32(32, tags->size(), tags); |
611 | | // offset to matrix |
612 | 125k | WriteICCUint32(244, tags->size(), tags); |
613 | | // offset to first M curve |
614 | 125k | WriteICCUint32(148, tags->size(), tags); |
615 | | // offset to CLUT |
616 | 125k | WriteICCUint32(80, tags->size(), tags); |
617 | | // offset to first A curve |
618 | | // (reuse linear B curves) |
619 | 125k | WriteICCUint32(32, tags->size(), tags); |
620 | | |
621 | | // offset = 32 |
622 | | // no-op curves |
623 | 125k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); |
624 | 125k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); |
625 | 125k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); |
626 | | // offset = 80 |
627 | | // number of grid points for each input channel |
628 | 2.12M | for (int i = 0; i < 16; ++i) { |
629 | 2.00M | WriteICCUint8(i < 3 ? 2 : 0, tags->size(), tags); |
630 | 2.00M | } |
631 | | // precision = 2 |
632 | 125k | WriteICCUint8(2, tags->size(), tags); |
633 | | // 3 bytes of padding |
634 | 125k | WriteICCUint8(0, tags->size(), tags); |
635 | 125k | WriteICCUint16(0, tags->size(), tags); |
636 | | // 2*2*2*3 entries of 2 bytes each = 48 bytes |
637 | 125k | const jxl::cms::ColorCube3D& cube = jxl::cms::UnscaledA2BCube(); |
638 | 375k | for (size_t ix = 0; ix < 2; ++ix) { |
639 | 751k | for (size_t iy = 0; iy < 2; ++iy) { |
640 | 1.50M | for (size_t ib = 0; ib < 2; ++ib) { |
641 | 1.00M | const jxl::cms::ColorCube0D& out_f = cube[ix][iy][ib]; |
642 | 4.00M | for (int i = 0; i < 3; ++i) { |
643 | 3.00M | int32_t val = static_cast<int32_t>(std::lroundf(65535 * out_f[i])); |
644 | 3.00M | JXL_DASSERT(val >= 0 && val <= 65535); |
645 | 3.00M | WriteICCUint16(val, tags->size(), tags); |
646 | 3.00M | } |
647 | 1.00M | } |
648 | 500k | } |
649 | 250k | } |
650 | | // offset = 148 |
651 | | // 3 curves with 5 parameters = 3 * (12 + 5 * 4) = 96 bytes |
652 | 500k | for (size_t i = 0; i < 3; ++i) { |
653 | 375k | const float b = -jxl::cms::kXYBOffset[i] - |
654 | 375k | std::cbrt(jxl::cms::kNegOpsinAbsorbanceBiasRGB[i]); |
655 | 375k | std::vector<float> params = { |
656 | 375k | 3, |
657 | 375k | 1.0f / jxl::cms::kXYBScale[i], |
658 | 375k | b, |
659 | 375k | 0, // unused |
660 | 375k | std::max(0.f, -b * jxl::cms::kXYBScale[i]), // make skcms happy |
661 | 375k | }; |
662 | 375k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(params, 3, tags)); |
663 | 375k | } |
664 | | // offset = 244 |
665 | 125k | const double matrix[] = {1.5170095, -1.1065225, 0.071623, |
666 | 125k | -0.050022, 0.5683655, -0.018344, |
667 | 125k | -1.387676, 1.1145555, 0.6857255}; |
668 | | // 12 * 4 = 48 bytes |
669 | 1.12M | for (double v : matrix) { |
670 | 1.12M | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(v, tags->size(), tags)); |
671 | 1.12M | } |
672 | 500k | for (size_t i = 0; i < 3; ++i) { |
673 | 375k | float intercept = 0; |
674 | 1.50M | for (size_t j = 0; j < 3; ++j) { |
675 | 1.12M | intercept += matrix[i * 3 + j] * jxl::cms::kNegOpsinAbsorbanceBiasRGB[j]; |
676 | 1.12M | } |
677 | 375k | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(intercept, tags->size(), tags)); |
678 | 375k | } |
679 | 125k | return true; |
680 | 125k | } encode.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 599 | 125k | static Status CreateICCLutAtoBTagForXYB(std::vector<uint8_t>* tags) { | 600 | 125k | WriteICCTag("mAB ", tags->size(), tags); | 601 | | // 4 reserved bytes set to 0 | 602 | 125k | WriteICCUint32(0, tags->size(), tags); | 603 | | // number of input channels | 604 | 125k | WriteICCUint8(3, tags->size(), tags); | 605 | | // number of output channels | 606 | 125k | WriteICCUint8(3, tags->size(), tags); | 607 | | // 2 reserved bytes for padding | 608 | 125k | WriteICCUint16(0, tags->size(), tags); | 609 | | // offset to first B curve | 610 | 125k | WriteICCUint32(32, tags->size(), tags); | 611 | | // offset to matrix | 612 | 125k | WriteICCUint32(244, tags->size(), tags); | 613 | | // offset to first M curve | 614 | 125k | WriteICCUint32(148, tags->size(), tags); | 615 | | // offset to CLUT | 616 | 125k | WriteICCUint32(80, tags->size(), tags); | 617 | | // offset to first A curve | 618 | | // (reuse linear B curves) | 619 | 125k | WriteICCUint32(32, tags->size(), tags); | 620 | | | 621 | | // offset = 32 | 622 | | // no-op curves | 623 | 125k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); | 624 | 125k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); | 625 | 125k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); | 626 | | // offset = 80 | 627 | | // number of grid points for each input channel | 628 | 2.12M | for (int i = 0; i < 16; ++i) { | 629 | 2.00M | WriteICCUint8(i < 3 ? 2 : 0, tags->size(), tags); | 630 | 2.00M | } | 631 | | // precision = 2 | 632 | 125k | WriteICCUint8(2, tags->size(), tags); | 633 | | // 3 bytes of padding | 634 | 125k | WriteICCUint8(0, tags->size(), tags); | 635 | 125k | WriteICCUint16(0, tags->size(), tags); | 636 | | // 2*2*2*3 entries of 2 bytes each = 48 bytes | 637 | 125k | const jxl::cms::ColorCube3D& cube = jxl::cms::UnscaledA2BCube(); | 638 | 375k | for (size_t ix = 0; ix < 2; ++ix) { | 639 | 751k | for (size_t iy = 0; iy < 2; ++iy) { | 640 | 1.50M | for (size_t ib = 0; ib < 2; ++ib) { | 641 | 1.00M | const jxl::cms::ColorCube0D& out_f = cube[ix][iy][ib]; | 642 | 4.00M | for (int i = 0; i < 3; ++i) { | 643 | 3.00M | int32_t val = static_cast<int32_t>(std::lroundf(65535 * out_f[i])); | 644 | 3.00M | JXL_DASSERT(val >= 0 && val <= 65535); | 645 | 3.00M | WriteICCUint16(val, tags->size(), tags); | 646 | 3.00M | } | 647 | 1.00M | } | 648 | 500k | } | 649 | 250k | } | 650 | | // offset = 148 | 651 | | // 3 curves with 5 parameters = 3 * (12 + 5 * 4) = 96 bytes | 652 | 500k | for (size_t i = 0; i < 3; ++i) { | 653 | 375k | const float b = -jxl::cms::kXYBOffset[i] - | 654 | 375k | std::cbrt(jxl::cms::kNegOpsinAbsorbanceBiasRGB[i]); | 655 | 375k | std::vector<float> params = { | 656 | 375k | 3, | 657 | 375k | 1.0f / jxl::cms::kXYBScale[i], | 658 | 375k | b, | 659 | 375k | 0, // unused | 660 | 375k | std::max(0.f, -b * jxl::cms::kXYBScale[i]), // make skcms happy | 661 | 375k | }; | 662 | 375k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(params, 3, tags)); | 663 | 375k | } | 664 | | // offset = 244 | 665 | 125k | const double matrix[] = {1.5170095, -1.1065225, 0.071623, | 666 | 125k | -0.050022, 0.5683655, -0.018344, | 667 | 125k | -1.387676, 1.1145555, 0.6857255}; | 668 | | // 12 * 4 = 48 bytes | 669 | 1.12M | for (double v : matrix) { | 670 | 1.12M | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(v, tags->size(), tags)); | 671 | 1.12M | } | 672 | 500k | for (size_t i = 0; i < 3; ++i) { | 673 | 375k | float intercept = 0; | 674 | 1.50M | for (size_t j = 0; j < 3; ++j) { | 675 | 1.12M | intercept += matrix[i * 3 + j] * jxl::cms::kNegOpsinAbsorbanceBiasRGB[j]; | 676 | 1.12M | } | 677 | 375k | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(intercept, tags->size(), tags)); | 678 | 375k | } | 679 | 125k | return true; | 680 | 125k | } |
Unexecuted instantiation: enc_jpeg_data.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: decode.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_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: quant_weights.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> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.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_heuristics.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_progressive_split.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_encoding.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: 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: epf.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: passes_state.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: 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: 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: enc_ac_strategy.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_ans.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_chroma_from_luma.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: low_memory_render_pipeline.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: enc_detect_dots.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> >*) |
681 | | |
682 | | static Status CreateICCLutAtoBTagForHDR(JxlColorEncoding color_encoding, |
683 | 4.20k | std::vector<uint8_t>* tags) { |
684 | 4.20k | static constexpr size_t k3DLutDim = 9; |
685 | 4.20k | WriteICCTag("mft1", tags->size(), tags); |
686 | | // 4 reserved bytes set to 0 |
687 | 4.20k | WriteICCUint32(0, tags->size(), tags); |
688 | | // number of input channels |
689 | 4.20k | WriteICCUint8(3, tags->size(), tags); |
690 | | // number of output channels |
691 | 4.20k | WriteICCUint8(3, tags->size(), tags); |
692 | | // number of CLUT grid points |
693 | 4.20k | WriteICCUint8(k3DLutDim, tags->size(), tags); |
694 | | // 1 reserved bytes for padding |
695 | 4.20k | WriteICCUint8(0, tags->size(), tags); |
696 | | |
697 | | // Matrix (per specification, must be identity if input is not XYZ) |
698 | 16.8k | for (size_t i = 0; i < 3; ++i) { |
699 | 50.4k | for (size_t j = 0; j < 3; ++j) { |
700 | 37.8k | JXL_RETURN_IF_ERROR( |
701 | 37.8k | WriteICCS15Fixed16(i == j ? 1.f : 0.f, tags->size(), tags)); |
702 | 37.8k | } |
703 | 12.6k | } |
704 | | |
705 | | // Input tables |
706 | 16.8k | for (size_t c = 0; c < 3; ++c) { |
707 | 3.24M | for (size_t i = 0; i < 256; ++i) { |
708 | 3.22M | WriteICCUint8(i, tags->size(), tags); |
709 | 3.22M | } |
710 | 12.6k | } |
711 | | |
712 | 42.0k | for (size_t ix = 0; ix < k3DLutDim; ++ix) { |
713 | 378k | for (size_t iy = 0; iy < k3DLutDim; ++iy) { |
714 | 3.40M | for (size_t ib = 0; ib < k3DLutDim; ++ib) { |
715 | 3.06M | float f[3] = {ix * (1.0f / (k3DLutDim - 1)), |
716 | 3.06M | iy * (1.0f / (k3DLutDim - 1)), |
717 | 3.06M | ib * (1.0f / (k3DLutDim - 1))}; |
718 | 3.06M | uint8_t pcslab_out[3]; |
719 | 3.06M | JXL_RETURN_IF_ERROR(ToneMapPixel(color_encoding, f, pcslab_out)); |
720 | 9.19M | for (uint8_t val : pcslab_out) { |
721 | 9.19M | WriteICCUint8(val, tags->size(), tags); |
722 | 9.19M | } |
723 | 3.06M | } |
724 | 340k | } |
725 | 37.8k | } |
726 | | |
727 | | // Output tables |
728 | 16.8k | for (size_t c = 0; c < 3; ++c) { |
729 | 3.24M | for (size_t i = 0; i < 256; ++i) { |
730 | 3.22M | WriteICCUint8(i, tags->size(), tags); |
731 | 3.22M | } |
732 | 12.6k | } |
733 | | |
734 | 4.20k | return true; |
735 | 4.20k | } encode.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 683 | 4.20k | std::vector<uint8_t>* tags) { | 684 | 4.20k | static constexpr size_t k3DLutDim = 9; | 685 | 4.20k | WriteICCTag("mft1", tags->size(), tags); | 686 | | // 4 reserved bytes set to 0 | 687 | 4.20k | WriteICCUint32(0, tags->size(), tags); | 688 | | // number of input channels | 689 | 4.20k | WriteICCUint8(3, tags->size(), tags); | 690 | | // number of output channels | 691 | 4.20k | WriteICCUint8(3, tags->size(), tags); | 692 | | // number of CLUT grid points | 693 | 4.20k | WriteICCUint8(k3DLutDim, tags->size(), tags); | 694 | | // 1 reserved bytes for padding | 695 | 4.20k | WriteICCUint8(0, tags->size(), tags); | 696 | | | 697 | | // Matrix (per specification, must be identity if input is not XYZ) | 698 | 16.8k | for (size_t i = 0; i < 3; ++i) { | 699 | 50.4k | for (size_t j = 0; j < 3; ++j) { | 700 | 37.8k | JXL_RETURN_IF_ERROR( | 701 | 37.8k | WriteICCS15Fixed16(i == j ? 1.f : 0.f, tags->size(), tags)); | 702 | 37.8k | } | 703 | 12.6k | } | 704 | | | 705 | | // Input tables | 706 | 16.8k | for (size_t c = 0; c < 3; ++c) { | 707 | 3.24M | for (size_t i = 0; i < 256; ++i) { | 708 | 3.22M | WriteICCUint8(i, tags->size(), tags); | 709 | 3.22M | } | 710 | 12.6k | } | 711 | | | 712 | 42.0k | for (size_t ix = 0; ix < k3DLutDim; ++ix) { | 713 | 378k | for (size_t iy = 0; iy < k3DLutDim; ++iy) { | 714 | 3.40M | for (size_t ib = 0; ib < k3DLutDim; ++ib) { | 715 | 3.06M | float f[3] = {ix * (1.0f / (k3DLutDim - 1)), | 716 | 3.06M | iy * (1.0f / (k3DLutDim - 1)), | 717 | 3.06M | ib * (1.0f / (k3DLutDim - 1))}; | 718 | 3.06M | uint8_t pcslab_out[3]; | 719 | 3.06M | JXL_RETURN_IF_ERROR(ToneMapPixel(color_encoding, f, pcslab_out)); | 720 | 9.19M | for (uint8_t val : pcslab_out) { | 721 | 9.19M | WriteICCUint8(val, tags->size(), tags); | 722 | 9.19M | } | 723 | 3.06M | } | 724 | 340k | } | 725 | 37.8k | } | 726 | | | 727 | | // Output tables | 728 | 16.8k | for (size_t c = 0; c < 3; ++c) { | 729 | 3.24M | for (size_t i = 0; i < 256; ++i) { | 730 | 3.22M | WriteICCUint8(i, tags->size(), tags); | 731 | 3.22M | } | 732 | 12.6k | } | 733 | | | 734 | 4.20k | return true; | 735 | 4.20k | } |
Unexecuted instantiation: enc_jpeg_data.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: decode.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_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: quant_weights.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> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.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_heuristics.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_progressive_split.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_encoding.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: 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: epf.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: passes_state.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: 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: 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: enc_ac_strategy.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_ans.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_chroma_from_luma.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: low_memory_render_pipeline.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: enc_detect_dots.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> >*) |
736 | | |
737 | | // Some software (Apple Safari, Preview) requires this. |
738 | 129k | static Status CreateICCNoOpBToATag(std::vector<uint8_t>* tags) { |
739 | 129k | WriteICCTag("mBA ", tags->size(), tags); // notypo |
740 | | // 4 reserved bytes set to 0 |
741 | 129k | WriteICCUint32(0, tags->size(), tags); |
742 | | // number of input channels |
743 | 129k | WriteICCUint8(3, tags->size(), tags); |
744 | | // number of output channels |
745 | 129k | WriteICCUint8(3, tags->size(), tags); |
746 | | // 2 reserved bytes for padding |
747 | 129k | WriteICCUint16(0, tags->size(), tags); |
748 | | // offset to first B curve |
749 | 129k | WriteICCUint32(32, tags->size(), tags); |
750 | | // offset to matrix |
751 | 129k | WriteICCUint32(0, tags->size(), tags); |
752 | | // offset to first M curve |
753 | 129k | WriteICCUint32(0, tags->size(), tags); |
754 | | // offset to CLUT |
755 | 129k | WriteICCUint32(0, tags->size(), tags); |
756 | | // offset to first A curve |
757 | 129k | WriteICCUint32(0, tags->size(), tags); |
758 | | |
759 | 129k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); |
760 | 129k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); |
761 | 129k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); |
762 | | |
763 | 129k | return true; |
764 | 129k | } encode.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 738 | 129k | static Status CreateICCNoOpBToATag(std::vector<uint8_t>* tags) { | 739 | 129k | WriteICCTag("mBA ", tags->size(), tags); // notypo | 740 | | // 4 reserved bytes set to 0 | 741 | 129k | WriteICCUint32(0, tags->size(), tags); | 742 | | // number of input channels | 743 | 129k | WriteICCUint8(3, tags->size(), tags); | 744 | | // number of output channels | 745 | 129k | WriteICCUint8(3, tags->size(), tags); | 746 | | // 2 reserved bytes for padding | 747 | 129k | WriteICCUint16(0, tags->size(), tags); | 748 | | // offset to first B curve | 749 | 129k | WriteICCUint32(32, tags->size(), tags); | 750 | | // offset to matrix | 751 | 129k | WriteICCUint32(0, tags->size(), tags); | 752 | | // offset to first M curve | 753 | 129k | WriteICCUint32(0, tags->size(), tags); | 754 | | // offset to CLUT | 755 | 129k | WriteICCUint32(0, tags->size(), tags); | 756 | | // offset to first A curve | 757 | 129k | WriteICCUint32(0, tags->size(), tags); | 758 | | | 759 | 129k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); | 760 | 129k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); | 761 | 129k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); | 762 | | | 763 | 129k | return true; | 764 | 129k | } |
Unexecuted instantiation: enc_jpeg_data.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: decode.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_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: quant_weights.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> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.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_heuristics.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_progressive_split.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_encoding.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: 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: epf.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: passes_state.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: 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: 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: enc_ac_strategy.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_ans.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_chroma_from_luma.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: low_memory_render_pipeline.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: enc_detect_dots.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> >*) |
765 | | |
766 | | // These strings are baked into Description - do not change. |
767 | | |
768 | 149k | static std::string ToString(JxlColorSpace color_space) { |
769 | 149k | switch (color_space) { |
770 | 17.0k | case JXL_COLOR_SPACE_RGB: |
771 | 17.0k | return "RGB"; |
772 | 7.35k | case JXL_COLOR_SPACE_GRAY: |
773 | 7.35k | return "Gra"; |
774 | 125k | case JXL_COLOR_SPACE_XYB: |
775 | 125k | 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 | 149k | } |
784 | 149k | } encode.cc:jxl::detail::ToString(JxlColorSpace) Line | Count | Source | 768 | 149k | static std::string ToString(JxlColorSpace color_space) { | 769 | 149k | switch (color_space) { | 770 | 17.0k | case JXL_COLOR_SPACE_RGB: | 771 | 17.0k | return "RGB"; | 772 | 7.35k | case JXL_COLOR_SPACE_GRAY: | 773 | 7.35k | return "Gra"; | 774 | 125k | case JXL_COLOR_SPACE_XYB: | 775 | 125k | 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 | 149k | } | 784 | 149k | } |
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: decode.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: frame_header.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: image_metadata.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: luminance.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: quant_weights.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_fields.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_frame.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_group.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_heuristics.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_progressive_split.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_encoding.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: 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: epf.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: image_bundle.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: passes_state.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: 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: 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: enc_ac_strategy.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_ans.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_chroma_from_luma.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_external_image.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: blending.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: jxl_cms.cc:jxl::detail::ToString(JxlColorSpace) |
785 | | |
786 | 22.8k | static std::string ToString(JxlWhitePoint white_point) { |
787 | 22.8k | switch (white_point) { |
788 | 10.0k | case JXL_WHITE_POINT_D65: |
789 | 10.0k | return "D65"; |
790 | 0 | case JXL_WHITE_POINT_CUSTOM: |
791 | 0 | return "Cst"; |
792 | 12.0k | case JXL_WHITE_POINT_E: |
793 | 12.0k | return "EER"; |
794 | 803 | case JXL_WHITE_POINT_DCI: |
795 | 803 | 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 | 22.8k | } |
802 | 22.8k | } encode.cc:jxl::detail::ToString(JxlWhitePoint) Line | Count | Source | 786 | 22.8k | static std::string ToString(JxlWhitePoint white_point) { | 787 | 22.8k | switch (white_point) { | 788 | 10.0k | case JXL_WHITE_POINT_D65: | 789 | 10.0k | return "D65"; | 790 | 0 | case JXL_WHITE_POINT_CUSTOM: | 791 | 0 | return "Cst"; | 792 | 12.0k | case JXL_WHITE_POINT_E: | 793 | 12.0k | return "EER"; | 794 | 803 | case JXL_WHITE_POINT_DCI: | 795 | 803 | 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 | 22.8k | } | 802 | 22.8k | } |
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: decode.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: frame_header.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: image_metadata.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: luminance.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: quant_weights.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_fields.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_frame.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_group.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_heuristics.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_progressive_split.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_encoding.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: 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: epf.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: image_bundle.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: passes_state.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: 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: 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: enc_ac_strategy.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_ans.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_chroma_from_luma.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_external_image.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: blending.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: jxl_cms.cc:jxl::detail::ToString(JxlWhitePoint) |
803 | | |
804 | 15.3k | static std::string ToString(JxlPrimaries primaries) { |
805 | 15.3k | switch (primaries) { |
806 | 14.0k | case JXL_PRIMARIES_SRGB: |
807 | 14.0k | return "SRG"; |
808 | 892 | case JXL_PRIMARIES_2100: |
809 | 892 | return "202"; |
810 | 424 | case JXL_PRIMARIES_P3: |
811 | 424 | 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 | 15.3k | } |
819 | 15.3k | } encode.cc:jxl::detail::ToString(JxlPrimaries) Line | Count | Source | 804 | 15.3k | static std::string ToString(JxlPrimaries primaries) { | 805 | 15.3k | switch (primaries) { | 806 | 14.0k | case JXL_PRIMARIES_SRGB: | 807 | 14.0k | return "SRG"; | 808 | 892 | case JXL_PRIMARIES_2100: | 809 | 892 | return "202"; | 810 | 424 | case JXL_PRIMARIES_P3: | 811 | 424 | 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 | 15.3k | } | 819 | 15.3k | } |
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: decode.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: frame_header.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: image_metadata.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: luminance.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: quant_weights.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_fields.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_frame.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_group.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_heuristics.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_progressive_split.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_encoding.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: 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: epf.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: image_bundle.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: passes_state.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: 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: 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: enc_ac_strategy.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_ans.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_chroma_from_luma.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_external_image.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: blending.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: jxl_cms.cc:jxl::detail::ToString(JxlPrimaries) |
820 | | |
821 | 16.8k | static std::string ToString(JxlTransferFunction transfer_function) { |
822 | 16.8k | switch (transfer_function) { |
823 | 290 | case JXL_TRANSFER_FUNCTION_SRGB: |
824 | 290 | return "SRG"; |
825 | 169 | case JXL_TRANSFER_FUNCTION_LINEAR: |
826 | 169 | return "Lin"; |
827 | 10.6k | case JXL_TRANSFER_FUNCTION_709: |
828 | 10.6k | return "709"; |
829 | 4.01k | case JXL_TRANSFER_FUNCTION_PQ: |
830 | 4.01k | return "PeQ"; |
831 | 1.59k | case JXL_TRANSFER_FUNCTION_HLG: |
832 | 1.59k | return "HLG"; |
833 | 79 | case JXL_TRANSFER_FUNCTION_DCI: |
834 | 79 | 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 | 16.8k | } |
846 | 16.8k | } encode.cc:jxl::detail::ToString(JxlTransferFunction) Line | Count | Source | 821 | 16.8k | static std::string ToString(JxlTransferFunction transfer_function) { | 822 | 16.8k | switch (transfer_function) { | 823 | 290 | case JXL_TRANSFER_FUNCTION_SRGB: | 824 | 290 | return "SRG"; | 825 | 169 | case JXL_TRANSFER_FUNCTION_LINEAR: | 826 | 169 | return "Lin"; | 827 | 10.6k | case JXL_TRANSFER_FUNCTION_709: | 828 | 10.6k | return "709"; | 829 | 4.01k | case JXL_TRANSFER_FUNCTION_PQ: | 830 | 4.01k | return "PeQ"; | 831 | 1.59k | case JXL_TRANSFER_FUNCTION_HLG: | 832 | 1.59k | return "HLG"; | 833 | 79 | case JXL_TRANSFER_FUNCTION_DCI: | 834 | 79 | 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 | 16.8k | } | 846 | 16.8k | } |
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: decode.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: frame_header.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: image_metadata.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: luminance.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: quant_weights.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_fields.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_frame.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_group.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_heuristics.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_progressive_split.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_encoding.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: 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: epf.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: image_bundle.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: passes_state.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: 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: 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: enc_ac_strategy.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_ans.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_chroma_from_luma.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_external_image.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: blending.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: jxl_cms.cc:jxl::detail::ToString(JxlTransferFunction) |
847 | | |
848 | 149k | static std::string ToString(JxlRenderingIntent rendering_intent) { |
849 | 149k | switch (rendering_intent) { |
850 | 142k | case JXL_RENDERING_INTENT_PERCEPTUAL: |
851 | 142k | return "Per"; |
852 | 5.78k | case JXL_RENDERING_INTENT_RELATIVE: |
853 | 5.78k | return "Rel"; |
854 | 241 | case JXL_RENDERING_INTENT_SATURATION: |
855 | 241 | return "Sat"; |
856 | 1.39k | case JXL_RENDERING_INTENT_ABSOLUTE: |
857 | 1.39k | return "Abs"; |
858 | 149k | } |
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 | 0 | } encode.cc:jxl::detail::ToString(JxlRenderingIntent) Line | Count | Source | 848 | 149k | static std::string ToString(JxlRenderingIntent rendering_intent) { | 849 | 149k | switch (rendering_intent) { | 850 | 142k | case JXL_RENDERING_INTENT_PERCEPTUAL: | 851 | 142k | return "Per"; | 852 | 5.78k | case JXL_RENDERING_INTENT_RELATIVE: | 853 | 5.78k | return "Rel"; | 854 | 241 | case JXL_RENDERING_INTENT_SATURATION: | 855 | 241 | return "Sat"; | 856 | 1.39k | case JXL_RENDERING_INTENT_ABSOLUTE: | 857 | 1.39k | return "Abs"; | 858 | 149k | } | 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 | 0 | } |
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: decode.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: frame_header.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: image_metadata.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: luminance.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: quant_weights.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_fields.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_frame.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_group.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_heuristics.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_progressive_split.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_encoding.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: 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: epf.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: image_bundle.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: passes_state.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: 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: 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: enc_ac_strategy.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_ans.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_chroma_from_luma.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_external_image.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: blending.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: jxl_cms.cc:jxl::detail::ToString(JxlRenderingIntent) |
864 | | |
865 | 2.53k | static inline bool CloseEnough(double a, double b) { |
866 | 2.53k | return std::abs(a - b) < 3e-5; |
867 | 2.53k | } encode.cc:jxl::detail::CloseEnough(double, double) Line | Count | Source | 865 | 2.53k | static inline bool CloseEnough(double a, double b) { | 866 | 2.53k | return std::abs(a - b) < 3e-5; | 867 | 2.53k | } |
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: decode.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: frame_header.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: image_metadata.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: luminance.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: quant_weights.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_fields.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_frame.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_group.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_modular.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_xyb.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_encoding.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: compressed_dc.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: dec_cache.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: dec_external_image.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: dec_frame.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: dec_group.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: dec_modular.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: dec_noise.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: dec_xyb.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: epf.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: image_bundle.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: passes_state.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: render_pipeline.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: stage_blending.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: stage_cms.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: stage_epf.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: stage_noise.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: stage_patches.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: stage_splines.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: stage_spot.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: stage_write.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: stage_xyb.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_ans.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_cache.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_external_image.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: blending.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: jxl_cms.cc:jxl::detail::CloseEnough(double, double) |
868 | | |
869 | | static std::string ColorEncodingDescriptionImpl(const JxlColorEncoding& c, |
870 | 4.86M | bool uniquename) { |
871 | | // Return short names for the most common color spaces. |
872 | | // These names are returned regardless of rendering intent, and also there is |
873 | | // some tolerance regarding primaries and transfer function, so different |
874 | | // ColorEncodings can return the same short name. |
875 | 4.86M | if (c.color_space == JXL_COLOR_SPACE_RGB && !uniquename) { |
876 | 4.73M | if (c.white_point == JXL_WHITE_POINT_D65) { |
877 | 4.72M | if (c.transfer_function == JXL_TRANSFER_FUNCTION_SRGB) { |
878 | 4.72M | if (c.primaries == JXL_PRIMARIES_SRGB) return "sRGB"; |
879 | 91 | if (c.primaries == JXL_PRIMARIES_P3) return "DisplayP3"; |
880 | 91 | } |
881 | 7.79k | if (c.primaries == JXL_PRIMARIES_2100) { |
882 | 369 | if (c.transfer_function == JXL_TRANSFER_FUNCTION_PQ) return "Rec2100PQ"; |
883 | 125 | if (c.transfer_function == JXL_TRANSFER_FUNCTION_HLG) |
884 | 12 | return "Rec2100HLG"; |
885 | 125 | } |
886 | | |
887 | 7.53k | if (c.primaries == JXL_PRIMARIES_CUSTOM && |
888 | 1.43k | CloseEnough(c.primaries_red_xy[0], 0.6400) && |
889 | 0 | CloseEnough(c.primaries_red_xy[1], 0.3300) && |
890 | 0 | CloseEnough(c.primaries_green_xy[0], 0.2100) && |
891 | 0 | CloseEnough(c.primaries_green_xy[1], 0.7100) && |
892 | 0 | CloseEnough(c.primaries_blue_xy[0], 0.1500) && |
893 | 0 | CloseEnough(c.primaries_blue_xy[1], 0.0600) && |
894 | 0 | c.transfer_function == JXL_TRANSFER_FUNCTION_GAMMA && |
895 | 0 | CloseEnough(c.gamma, 256.0 / 563.0)) { |
896 | 0 | return "Adobe98"; |
897 | 0 | } |
898 | 7.53k | } |
899 | | |
900 | | // Apple's ROMM profile: |
901 | | // White point: Red: Green: Blue: |
902 | | // 0.345669;0.358502 0.734698;0.265298 0.159585;0.840432 0.036650;0.000126 |
903 | | // Adobe's ProPhoto profile: |
904 | | // 0.345705;0.358540 0.734699;0.265302 0.159600;0.840399 0.036597;0.000106 |
905 | | // CSS definition of prophoto-rgb: |
906 | | // (https://drafts.csswg.org/css-color-4/#predefined-prophoto-rgb) |
907 | | // 0.345700;0.358500 0.734699;0.265301 0.159597;0.840403 0.036598;0.000105 |
908 | 17.0k | if (c.white_point == JXL_WHITE_POINT_CUSTOM && |
909 | 1.10k | CloseEnough(c.white_point_xy[0], 0.345669) && |
910 | 0 | CloseEnough(c.white_point_xy[1], 0.358496) && |
911 | 0 | c.primaries == JXL_PRIMARIES_CUSTOM && |
912 | 0 | CloseEnough(c.primaries_red_xy[0], 0.734699) && |
913 | 0 | CloseEnough(c.primaries_red_xy[1], 0.265301) && |
914 | 0 | CloseEnough(c.primaries_green_xy[0], 0.159597) && |
915 | 0 | CloseEnough(c.primaries_green_xy[1], 0.840403) && |
916 | 0 | CloseEnough(c.primaries_blue_xy[0], 0.036598) && |
917 | 0 | CloseEnough(c.primaries_blue_xy[1], 0.000105) && |
918 | | // Adobe's ProPhoto profile uses a simple gamma curve (g0.555315) |
919 | | // Others have a small linear segment near black |
920 | 0 | c.transfer_function == JXL_TRANSFER_FUNCTION_GAMMA && |
921 | 0 | CloseEnough(c.gamma, 1.0 / 1.8)) { |
922 | 0 | return "ProPhoto"; |
923 | 0 | } |
924 | 17.0k | } |
925 | | |
926 | 149k | std::string d = ToString(c.color_space); |
927 | | |
928 | 149k | bool explicit_wp_tf = (c.color_space != JXL_COLOR_SPACE_XYB); |
929 | 149k | if (explicit_wp_tf) { |
930 | 24.4k | d += '_'; |
931 | 24.4k | if (c.white_point == JXL_WHITE_POINT_CUSTOM) { |
932 | 1.59k | d += jxl::ToString(c.white_point_xy[0]) + ';'; |
933 | 1.59k | d += jxl::ToString(c.white_point_xy[1]); |
934 | 22.8k | } else { |
935 | 22.8k | d += ToString(c.white_point); |
936 | 22.8k | } |
937 | 24.4k | } |
938 | | |
939 | 149k | if ((c.color_space != JXL_COLOR_SPACE_GRAY) && |
940 | 142k | (c.color_space != JXL_COLOR_SPACE_XYB)) { |
941 | 17.0k | d += '_'; |
942 | 17.0k | if (c.primaries == JXL_PRIMARIES_CUSTOM) { |
943 | 1.68k | d += jxl::ToString(c.primaries_red_xy[0]) + ';'; |
944 | 1.68k | d += jxl::ToString(c.primaries_red_xy[1]) + ';'; |
945 | 1.68k | d += jxl::ToString(c.primaries_green_xy[0]) + ';'; |
946 | 1.68k | d += jxl::ToString(c.primaries_green_xy[1]) + ';'; |
947 | 1.68k | d += jxl::ToString(c.primaries_blue_xy[0]) + ';'; |
948 | 1.68k | d += jxl::ToString(c.primaries_blue_xy[1]); |
949 | 15.3k | } else { |
950 | 15.3k | d += ToString(c.primaries); |
951 | 15.3k | } |
952 | 17.0k | } |
953 | | |
954 | 149k | d += '_'; |
955 | 149k | d += ToString(c.rendering_intent); |
956 | | |
957 | 149k | if (explicit_wp_tf) { |
958 | 24.4k | JxlTransferFunction tf = c.transfer_function; |
959 | 24.4k | d += '_'; |
960 | 24.4k | if (tf == JXL_TRANSFER_FUNCTION_GAMMA) { |
961 | 7.57k | d += 'g'; |
962 | 7.57k | d += jxl::ToString(c.gamma); |
963 | 16.8k | } else { |
964 | 16.8k | d += ToString(tf); |
965 | 16.8k | } |
966 | 24.4k | } |
967 | 149k | return d; |
968 | 4.86M | } encode.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Line | Count | Source | 870 | 4.86M | bool uniquename) { | 871 | | // Return short names for the most common color spaces. | 872 | | // These names are returned regardless of rendering intent, and also there is | 873 | | // some tolerance regarding primaries and transfer function, so different | 874 | | // ColorEncodings can return the same short name. | 875 | 4.86M | if (c.color_space == JXL_COLOR_SPACE_RGB && !uniquename) { | 876 | 4.73M | if (c.white_point == JXL_WHITE_POINT_D65) { | 877 | 4.72M | if (c.transfer_function == JXL_TRANSFER_FUNCTION_SRGB) { | 878 | 4.72M | if (c.primaries == JXL_PRIMARIES_SRGB) return "sRGB"; | 879 | 91 | if (c.primaries == JXL_PRIMARIES_P3) return "DisplayP3"; | 880 | 91 | } | 881 | 7.79k | if (c.primaries == JXL_PRIMARIES_2100) { | 882 | 369 | if (c.transfer_function == JXL_TRANSFER_FUNCTION_PQ) return "Rec2100PQ"; | 883 | 125 | if (c.transfer_function == JXL_TRANSFER_FUNCTION_HLG) | 884 | 12 | return "Rec2100HLG"; | 885 | 125 | } | 886 | | | 887 | 7.53k | if (c.primaries == JXL_PRIMARIES_CUSTOM && | 888 | 1.43k | CloseEnough(c.primaries_red_xy[0], 0.6400) && | 889 | 0 | CloseEnough(c.primaries_red_xy[1], 0.3300) && | 890 | 0 | CloseEnough(c.primaries_green_xy[0], 0.2100) && | 891 | 0 | CloseEnough(c.primaries_green_xy[1], 0.7100) && | 892 | 0 | CloseEnough(c.primaries_blue_xy[0], 0.1500) && | 893 | 0 | CloseEnough(c.primaries_blue_xy[1], 0.0600) && | 894 | 0 | c.transfer_function == JXL_TRANSFER_FUNCTION_GAMMA && | 895 | 0 | CloseEnough(c.gamma, 256.0 / 563.0)) { | 896 | 0 | return "Adobe98"; | 897 | 0 | } | 898 | 7.53k | } | 899 | | | 900 | | // Apple's ROMM profile: | 901 | | // White point: Red: Green: Blue: | 902 | | // 0.345669;0.358502 0.734698;0.265298 0.159585;0.840432 0.036650;0.000126 | 903 | | // Adobe's ProPhoto profile: | 904 | | // 0.345705;0.358540 0.734699;0.265302 0.159600;0.840399 0.036597;0.000106 | 905 | | // CSS definition of prophoto-rgb: | 906 | | // (https://drafts.csswg.org/css-color-4/#predefined-prophoto-rgb) | 907 | | // 0.345700;0.358500 0.734699;0.265301 0.159597;0.840403 0.036598;0.000105 | 908 | 17.0k | if (c.white_point == JXL_WHITE_POINT_CUSTOM && | 909 | 1.10k | CloseEnough(c.white_point_xy[0], 0.345669) && | 910 | 0 | CloseEnough(c.white_point_xy[1], 0.358496) && | 911 | 0 | c.primaries == JXL_PRIMARIES_CUSTOM && | 912 | 0 | CloseEnough(c.primaries_red_xy[0], 0.734699) && | 913 | 0 | CloseEnough(c.primaries_red_xy[1], 0.265301) && | 914 | 0 | CloseEnough(c.primaries_green_xy[0], 0.159597) && | 915 | 0 | CloseEnough(c.primaries_green_xy[1], 0.840403) && | 916 | 0 | CloseEnough(c.primaries_blue_xy[0], 0.036598) && | 917 | 0 | CloseEnough(c.primaries_blue_xy[1], 0.000105) && | 918 | | // Adobe's ProPhoto profile uses a simple gamma curve (g0.555315) | 919 | | // Others have a small linear segment near black | 920 | 0 | c.transfer_function == JXL_TRANSFER_FUNCTION_GAMMA && | 921 | 0 | CloseEnough(c.gamma, 1.0 / 1.8)) { | 922 | 0 | return "ProPhoto"; | 923 | 0 | } | 924 | 17.0k | } | 925 | | | 926 | 149k | std::string d = ToString(c.color_space); | 927 | | | 928 | 149k | bool explicit_wp_tf = (c.color_space != JXL_COLOR_SPACE_XYB); | 929 | 149k | if (explicit_wp_tf) { | 930 | 24.4k | d += '_'; | 931 | 24.4k | if (c.white_point == JXL_WHITE_POINT_CUSTOM) { | 932 | 1.59k | d += jxl::ToString(c.white_point_xy[0]) + ';'; | 933 | 1.59k | d += jxl::ToString(c.white_point_xy[1]); | 934 | 22.8k | } else { | 935 | 22.8k | d += ToString(c.white_point); | 936 | 22.8k | } | 937 | 24.4k | } | 938 | | | 939 | 149k | if ((c.color_space != JXL_COLOR_SPACE_GRAY) && | 940 | 142k | (c.color_space != JXL_COLOR_SPACE_XYB)) { | 941 | 17.0k | d += '_'; | 942 | 17.0k | if (c.primaries == JXL_PRIMARIES_CUSTOM) { | 943 | 1.68k | d += jxl::ToString(c.primaries_red_xy[0]) + ';'; | 944 | 1.68k | d += jxl::ToString(c.primaries_red_xy[1]) + ';'; | 945 | 1.68k | d += jxl::ToString(c.primaries_green_xy[0]) + ';'; | 946 | 1.68k | d += jxl::ToString(c.primaries_green_xy[1]) + ';'; | 947 | 1.68k | d += jxl::ToString(c.primaries_blue_xy[0]) + ';'; | 948 | 1.68k | d += jxl::ToString(c.primaries_blue_xy[1]); | 949 | 15.3k | } else { | 950 | 15.3k | d += ToString(c.primaries); | 951 | 15.3k | } | 952 | 17.0k | } | 953 | | | 954 | 149k | d += '_'; | 955 | 149k | d += ToString(c.rendering_intent); | 956 | | | 957 | 149k | if (explicit_wp_tf) { | 958 | 24.4k | JxlTransferFunction tf = c.transfer_function; | 959 | 24.4k | d += '_'; | 960 | 24.4k | if (tf == JXL_TRANSFER_FUNCTION_GAMMA) { | 961 | 7.57k | d += 'g'; | 962 | 7.57k | d += jxl::ToString(c.gamma); | 963 | 16.8k | } else { | 964 | 16.8k | d += ToString(tf); | 965 | 16.8k | } | 966 | 24.4k | } | 967 | 149k | return d; | 968 | 4.86M | } |
Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: color_encoding_internal.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: decode.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: frame_header.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: image_metadata.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: luminance.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: quant_weights.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_fields.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_frame.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_group.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_modular.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_xyb.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_encoding.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: compressed_dc.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: dec_cache.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: dec_external_image.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: dec_frame.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: dec_group.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: dec_modular.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: dec_noise.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: dec_xyb.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: epf.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: image_bundle.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: passes_state.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: render_pipeline.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_blending.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_cms.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_epf.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_noise.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_patches.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_splines.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_spot.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_write.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_xyb.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_ans.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_cache.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_external_image.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: blending.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: jxl_cms.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) |
969 | | |
970 | | static Status MaybeCreateProfileImpl(const JxlColorEncoding& c, |
971 | 4.87M | std::vector<uint8_t>* icc) { |
972 | 4.87M | std::vector<uint8_t> header; |
973 | 4.87M | std::vector<uint8_t> tagtable; |
974 | 4.87M | std::vector<uint8_t> tags; |
975 | 4.87M | JxlTransferFunction tf = c.transfer_function; |
976 | 4.87M | if (c.color_space == JXL_COLOR_SPACE_UNKNOWN || |
977 | 4.87M | tf == JXL_TRANSFER_FUNCTION_UNKNOWN) { |
978 | 0 | return false; // Not an error |
979 | 0 | } |
980 | | |
981 | 4.87M | switch (c.color_space) { |
982 | 4.73M | case JXL_COLOR_SPACE_RGB: |
983 | 4.74M | case JXL_COLOR_SPACE_GRAY: |
984 | 4.87M | case JXL_COLOR_SPACE_XYB: |
985 | 4.87M | break; // OK |
986 | 0 | default: |
987 | 0 | return JXL_FAILURE("Invalid CS %u", |
988 | 4.87M | static_cast<unsigned int>(c.color_space)); |
989 | 4.87M | } |
990 | | |
991 | 4.87M | if (c.color_space == JXL_COLOR_SPACE_XYB && |
992 | 125k | c.rendering_intent != JXL_RENDERING_INTENT_PERCEPTUAL) { |
993 | 550 | return JXL_FAILURE( |
994 | 550 | "Only perceptual rendering intent implemented for XYB " |
995 | 550 | "ICC profile."); |
996 | 550 | } |
997 | | |
998 | 4.86M | JXL_RETURN_IF_ERROR(CreateICCHeader(c, &header)); |
999 | | |
1000 | 4.86M | std::vector<size_t> offsets; |
1001 | | // tag count, deferred to later |
1002 | 4.86M | WriteICCUint32(0, tagtable.size(), &tagtable); |
1003 | | |
1004 | 4.86M | size_t tag_offset = 0; |
1005 | 4.86M | size_t tag_size = 0; |
1006 | | |
1007 | 4.86M | CreateICCMlucTag(ColorEncodingDescriptionImpl(c, false), &tags); |
1008 | 4.86M | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1009 | 4.86M | AddToICCTagTable("desc", tag_offset, tag_size, &tagtable, &offsets); |
1010 | | |
1011 | 4.86M | const std::string copyright = "CC0"; |
1012 | 4.86M | CreateICCMlucTag(copyright, &tags); |
1013 | 4.86M | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1014 | 4.86M | AddToICCTagTable("cprt", tag_offset, tag_size, &tagtable, &offsets); |
1015 | | |
1016 | | // TODO(eustas): isn't it the other way round: gray image has d50 WhitePoint? |
1017 | 4.86M | if (c.color_space == JXL_COLOR_SPACE_GRAY) { |
1018 | 7.35k | Color wtpt; |
1019 | 7.35k | JXL_RETURN_IF_ERROR( |
1020 | 7.35k | CIEXYZFromWhiteCIExy(c.white_point_xy[0], c.white_point_xy[1], wtpt)); |
1021 | 7.34k | JXL_RETURN_IF_ERROR(CreateICCXYZTag(wtpt, &tags)); |
1022 | 4.86M | } else { |
1023 | 4.86M | Color d50{0.964203, 1.0, 0.824905}; |
1024 | 4.86M | JXL_RETURN_IF_ERROR(CreateICCXYZTag(d50, &tags)); |
1025 | 4.86M | } |
1026 | 4.86M | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1027 | 4.86M | AddToICCTagTable("wtpt", tag_offset, tag_size, &tagtable, &offsets); |
1028 | | |
1029 | 4.86M | if (c.color_space != JXL_COLOR_SPACE_GRAY) { |
1030 | | // Chromatic adaptation matrix |
1031 | 4.86M | Matrix3x3 chad; |
1032 | 4.86M | JXL_RETURN_IF_ERROR( |
1033 | 4.86M | CreateICCChadMatrix(c.white_point_xy[0], c.white_point_xy[1], chad)); |
1034 | | |
1035 | 4.86M | JXL_RETURN_IF_ERROR(CreateICCChadTag(chad, &tags)); |
1036 | 4.86M | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1037 | 4.86M | AddToICCTagTable("chad", tag_offset, tag_size, &tagtable, &offsets); |
1038 | 4.86M | } |
1039 | | |
1040 | 4.86M | if (c.color_space == JXL_COLOR_SPACE_RGB) { |
1041 | 4.73M | MaybeCreateICCCICPTag(c, &tags, &tag_offset, &tag_size, &tagtable, |
1042 | 4.73M | &offsets); |
1043 | | |
1044 | 4.73M | Matrix3x3 m; |
1045 | 4.73M | JXL_RETURN_IF_ERROR(CreateICCRGBMatrix( |
1046 | 4.73M | c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0], |
1047 | 4.73M | c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1], |
1048 | 4.73M | c.white_point_xy[0], c.white_point_xy[1], m)); |
1049 | 4.73M | Color r{m[0][0], m[1][0], m[2][0]}; |
1050 | 4.73M | Color g{m[0][1], m[1][1], m[2][1]}; |
1051 | 4.73M | Color b{m[0][2], m[1][2], m[2][2]}; |
1052 | | |
1053 | 4.73M | JXL_RETURN_IF_ERROR(CreateICCXYZTag(r, &tags)); |
1054 | 4.73M | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1055 | 4.73M | AddToICCTagTable("rXYZ", tag_offset, tag_size, &tagtable, &offsets); |
1056 | | |
1057 | 4.73M | JXL_RETURN_IF_ERROR(CreateICCXYZTag(g, &tags)); |
1058 | 4.73M | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1059 | 4.73M | AddToICCTagTable("gXYZ", tag_offset, tag_size, &tagtable, &offsets); |
1060 | | |
1061 | 4.73M | JXL_RETURN_IF_ERROR(CreateICCXYZTag(b, &tags)); |
1062 | 4.73M | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1063 | 4.73M | AddToICCTagTable("bXYZ", tag_offset, tag_size, &tagtable, &offsets); |
1064 | 4.73M | } |
1065 | | |
1066 | 4.86M | if (c.color_space == JXL_COLOR_SPACE_XYB) { |
1067 | 125k | JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForXYB(&tags)); |
1068 | 125k | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1069 | 125k | AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets); |
1070 | 125k | JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags)); |
1071 | 125k | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1072 | 125k | AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets); |
1073 | 4.74M | } else if (kEnable3DToneMapping && CanToneMap(c)) { |
1074 | 4.20k | JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForHDR(c, &tags)); |
1075 | 4.20k | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1076 | 4.20k | AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets); |
1077 | 4.20k | JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags)); |
1078 | 4.20k | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1079 | 4.20k | AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets); |
1080 | 4.74M | } else { |
1081 | 4.74M | if (tf == JXL_TRANSFER_FUNCTION_GAMMA) { |
1082 | 7.43k | float gamma = 1.0 / c.gamma; |
1083 | 7.43k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({gamma}, 0, &tags)); |
1084 | 4.73M | } else if (c.color_space != JXL_COLOR_SPACE_XYB) { |
1085 | 4.73M | switch (tf) { |
1086 | 1.46k | case JXL_TRANSFER_FUNCTION_HLG: |
1087 | 1.46k | CreateICCCurvCurvTag( |
1088 | 1.46k | CreateTableCurve<64, ExtraTF::kHLG>(CanToneMap(c)), &tags); |
1089 | 1.46k | break; |
1090 | 191 | case JXL_TRANSFER_FUNCTION_PQ: |
1091 | 191 | CreateICCCurvCurvTag( |
1092 | 191 | CreateTableCurve<64, ExtraTF::kPQ>(CanToneMap(c)), &tags); |
1093 | 191 | break; |
1094 | 4.72M | case JXL_TRANSFER_FUNCTION_SRGB: |
1095 | 4.72M | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag( |
1096 | 4.72M | {2.4, 1.0 / 1.055, 0.055 / 1.055, 1.0 / 12.92, 0.04045}, 3, |
1097 | 4.72M | &tags)); |
1098 | 4.72M | break; |
1099 | 4.72M | case JXL_TRANSFER_FUNCTION_709: |
1100 | 10.6k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag( |
1101 | 10.6k | {1.0 / 0.45, 1.0 / 1.099, 0.099 / 1.099, 1.0 / 4.5, 0.081}, 3, |
1102 | 10.6k | &tags)); |
1103 | 10.6k | break; |
1104 | 10.6k | case JXL_TRANSFER_FUNCTION_LINEAR: |
1105 | 167 | JXL_RETURN_IF_ERROR( |
1106 | 167 | CreateICCCurvParaTag({1.0, 1.0, 0.0, 1.0, 0.0}, 3, &tags)); |
1107 | 167 | break; |
1108 | 167 | case JXL_TRANSFER_FUNCTION_DCI: |
1109 | 75 | JXL_RETURN_IF_ERROR( |
1110 | 75 | CreateICCCurvParaTag({2.6, 1.0, 0.0, 1.0, 0.0}, 3, &tags)); |
1111 | 75 | break; |
1112 | 75 | default: |
1113 | 4.73M | return JXL_UNREACHABLE("unknown TF %u", |
1114 | 4.73M | static_cast<unsigned int>(tf)); |
1115 | 4.73M | } |
1116 | 4.73M | } |
1117 | 4.74M | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1118 | 4.74M | if (c.color_space == JXL_COLOR_SPACE_GRAY) { |
1119 | 7.33k | AddToICCTagTable("kTRC", tag_offset, tag_size, &tagtable, &offsets); |
1120 | 4.73M | } else { |
1121 | 4.73M | AddToICCTagTable("rTRC", tag_offset, tag_size, &tagtable, &offsets); |
1122 | 4.73M | AddToICCTagTable("gTRC", tag_offset, tag_size, &tagtable, &offsets); |
1123 | 4.73M | AddToICCTagTable("bTRC", tag_offset, tag_size, &tagtable, &offsets); |
1124 | 4.73M | } |
1125 | 4.74M | } |
1126 | | |
1127 | | // Tag count |
1128 | 4.86M | WriteICCUint32(offsets.size(), 0, &tagtable); |
1129 | 57.7M | for (size_t i = 0; i < offsets.size(); i++) { |
1130 | 52.8M | WriteICCUint32(offsets[i] + header.size() + tagtable.size(), 4 + 12 * i + 4, |
1131 | 52.8M | &tagtable); |
1132 | 52.8M | } |
1133 | | |
1134 | | // ICC profile size |
1135 | 4.86M | WriteICCUint32(header.size() + tagtable.size() + tags.size(), 0, &header); |
1136 | | |
1137 | 4.86M | *icc = header; |
1138 | 4.86M | Bytes(tagtable).AppendTo(*icc); |
1139 | 4.86M | Bytes(tags).AppendTo(*icc); |
1140 | | |
1141 | | // The MD5 checksum must be computed on the profile with profile flags, |
1142 | | // rendering intent, and region of the checksum itself, set to 0. |
1143 | | // TODO(lode): manually verify with a reliable tool that this creates correct |
1144 | | // signature (profile id) for ICC profiles. |
1145 | 4.86M | std::vector<uint8_t> icc_sum = *icc; |
1146 | 4.86M | if (icc_sum.size() >= 64 + 4) { |
1147 | 4.86M | memset(icc_sum.data() + 44, 0, 4); |
1148 | 4.86M | memset(icc_sum.data() + 64, 0, 4); |
1149 | 4.86M | } |
1150 | 4.86M | uint8_t checksum[16]; |
1151 | 4.86M | detail::ICCComputeMD5(icc_sum, checksum); |
1152 | | |
1153 | 4.86M | memcpy(icc->data() + 84, checksum, sizeof(checksum)); |
1154 | | |
1155 | 4.86M | return true; |
1156 | 4.86M | } encode.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 971 | 4.87M | std::vector<uint8_t>* icc) { | 972 | 4.87M | std::vector<uint8_t> header; | 973 | 4.87M | std::vector<uint8_t> tagtable; | 974 | 4.87M | std::vector<uint8_t> tags; | 975 | 4.87M | JxlTransferFunction tf = c.transfer_function; | 976 | 4.87M | if (c.color_space == JXL_COLOR_SPACE_UNKNOWN || | 977 | 4.87M | tf == JXL_TRANSFER_FUNCTION_UNKNOWN) { | 978 | 0 | return false; // Not an error | 979 | 0 | } | 980 | | | 981 | 4.87M | switch (c.color_space) { | 982 | 4.73M | case JXL_COLOR_SPACE_RGB: | 983 | 4.74M | case JXL_COLOR_SPACE_GRAY: | 984 | 4.87M | case JXL_COLOR_SPACE_XYB: | 985 | 4.87M | break; // OK | 986 | 0 | default: | 987 | 0 | return JXL_FAILURE("Invalid CS %u", | 988 | 4.87M | static_cast<unsigned int>(c.color_space)); | 989 | 4.87M | } | 990 | | | 991 | 4.87M | if (c.color_space == JXL_COLOR_SPACE_XYB && | 992 | 125k | c.rendering_intent != JXL_RENDERING_INTENT_PERCEPTUAL) { | 993 | 550 | return JXL_FAILURE( | 994 | 550 | "Only perceptual rendering intent implemented for XYB " | 995 | 550 | "ICC profile."); | 996 | 550 | } | 997 | | | 998 | 4.86M | JXL_RETURN_IF_ERROR(CreateICCHeader(c, &header)); | 999 | | | 1000 | 4.86M | std::vector<size_t> offsets; | 1001 | | // tag count, deferred to later | 1002 | 4.86M | WriteICCUint32(0, tagtable.size(), &tagtable); | 1003 | | | 1004 | 4.86M | size_t tag_offset = 0; | 1005 | 4.86M | size_t tag_size = 0; | 1006 | | | 1007 | 4.86M | CreateICCMlucTag(ColorEncodingDescriptionImpl(c, false), &tags); | 1008 | 4.86M | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1009 | 4.86M | AddToICCTagTable("desc", tag_offset, tag_size, &tagtable, &offsets); | 1010 | | | 1011 | 4.86M | const std::string copyright = "CC0"; | 1012 | 4.86M | CreateICCMlucTag(copyright, &tags); | 1013 | 4.86M | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1014 | 4.86M | AddToICCTagTable("cprt", tag_offset, tag_size, &tagtable, &offsets); | 1015 | | | 1016 | | // TODO(eustas): isn't it the other way round: gray image has d50 WhitePoint? | 1017 | 4.86M | if (c.color_space == JXL_COLOR_SPACE_GRAY) { | 1018 | 7.35k | Color wtpt; | 1019 | 7.35k | JXL_RETURN_IF_ERROR( | 1020 | 7.35k | CIEXYZFromWhiteCIExy(c.white_point_xy[0], c.white_point_xy[1], wtpt)); | 1021 | 7.34k | JXL_RETURN_IF_ERROR(CreateICCXYZTag(wtpt, &tags)); | 1022 | 4.86M | } else { | 1023 | 4.86M | Color d50{0.964203, 1.0, 0.824905}; | 1024 | 4.86M | JXL_RETURN_IF_ERROR(CreateICCXYZTag(d50, &tags)); | 1025 | 4.86M | } | 1026 | 4.86M | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1027 | 4.86M | AddToICCTagTable("wtpt", tag_offset, tag_size, &tagtable, &offsets); | 1028 | | | 1029 | 4.86M | if (c.color_space != JXL_COLOR_SPACE_GRAY) { | 1030 | | // Chromatic adaptation matrix | 1031 | 4.86M | Matrix3x3 chad; | 1032 | 4.86M | JXL_RETURN_IF_ERROR( | 1033 | 4.86M | CreateICCChadMatrix(c.white_point_xy[0], c.white_point_xy[1], chad)); | 1034 | | | 1035 | 4.86M | JXL_RETURN_IF_ERROR(CreateICCChadTag(chad, &tags)); | 1036 | 4.86M | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1037 | 4.86M | AddToICCTagTable("chad", tag_offset, tag_size, &tagtable, &offsets); | 1038 | 4.86M | } | 1039 | | | 1040 | 4.86M | if (c.color_space == JXL_COLOR_SPACE_RGB) { | 1041 | 4.73M | MaybeCreateICCCICPTag(c, &tags, &tag_offset, &tag_size, &tagtable, | 1042 | 4.73M | &offsets); | 1043 | | | 1044 | 4.73M | Matrix3x3 m; | 1045 | 4.73M | JXL_RETURN_IF_ERROR(CreateICCRGBMatrix( | 1046 | 4.73M | c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0], | 1047 | 4.73M | c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1], | 1048 | 4.73M | c.white_point_xy[0], c.white_point_xy[1], m)); | 1049 | 4.73M | Color r{m[0][0], m[1][0], m[2][0]}; | 1050 | 4.73M | Color g{m[0][1], m[1][1], m[2][1]}; | 1051 | 4.73M | Color b{m[0][2], m[1][2], m[2][2]}; | 1052 | | | 1053 | 4.73M | JXL_RETURN_IF_ERROR(CreateICCXYZTag(r, &tags)); | 1054 | 4.73M | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1055 | 4.73M | AddToICCTagTable("rXYZ", tag_offset, tag_size, &tagtable, &offsets); | 1056 | | | 1057 | 4.73M | JXL_RETURN_IF_ERROR(CreateICCXYZTag(g, &tags)); | 1058 | 4.73M | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1059 | 4.73M | AddToICCTagTable("gXYZ", tag_offset, tag_size, &tagtable, &offsets); | 1060 | | | 1061 | 4.73M | JXL_RETURN_IF_ERROR(CreateICCXYZTag(b, &tags)); | 1062 | 4.73M | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1063 | 4.73M | AddToICCTagTable("bXYZ", tag_offset, tag_size, &tagtable, &offsets); | 1064 | 4.73M | } | 1065 | | | 1066 | 4.86M | if (c.color_space == JXL_COLOR_SPACE_XYB) { | 1067 | 125k | JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForXYB(&tags)); | 1068 | 125k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1069 | 125k | AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets); | 1070 | 125k | JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags)); | 1071 | 125k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1072 | 125k | AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets); | 1073 | 4.74M | } else if (kEnable3DToneMapping && CanToneMap(c)) { | 1074 | 4.20k | JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForHDR(c, &tags)); | 1075 | 4.20k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1076 | 4.20k | AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets); | 1077 | 4.20k | JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags)); | 1078 | 4.20k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1079 | 4.20k | AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets); | 1080 | 4.74M | } else { | 1081 | 4.74M | if (tf == JXL_TRANSFER_FUNCTION_GAMMA) { | 1082 | 7.43k | float gamma = 1.0 / c.gamma; | 1083 | 7.43k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({gamma}, 0, &tags)); | 1084 | 4.73M | } else if (c.color_space != JXL_COLOR_SPACE_XYB) { | 1085 | 4.73M | switch (tf) { | 1086 | 1.46k | case JXL_TRANSFER_FUNCTION_HLG: | 1087 | 1.46k | CreateICCCurvCurvTag( | 1088 | 1.46k | CreateTableCurve<64, ExtraTF::kHLG>(CanToneMap(c)), &tags); | 1089 | 1.46k | break; | 1090 | 191 | case JXL_TRANSFER_FUNCTION_PQ: | 1091 | 191 | CreateICCCurvCurvTag( | 1092 | 191 | CreateTableCurve<64, ExtraTF::kPQ>(CanToneMap(c)), &tags); | 1093 | 191 | break; | 1094 | 4.72M | case JXL_TRANSFER_FUNCTION_SRGB: | 1095 | 4.72M | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag( | 1096 | 4.72M | {2.4, 1.0 / 1.055, 0.055 / 1.055, 1.0 / 12.92, 0.04045}, 3, | 1097 | 4.72M | &tags)); | 1098 | 4.72M | break; | 1099 | 4.72M | case JXL_TRANSFER_FUNCTION_709: | 1100 | 10.6k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag( | 1101 | 10.6k | {1.0 / 0.45, 1.0 / 1.099, 0.099 / 1.099, 1.0 / 4.5, 0.081}, 3, | 1102 | 10.6k | &tags)); | 1103 | 10.6k | break; | 1104 | 10.6k | case JXL_TRANSFER_FUNCTION_LINEAR: | 1105 | 167 | JXL_RETURN_IF_ERROR( | 1106 | 167 | CreateICCCurvParaTag({1.0, 1.0, 0.0, 1.0, 0.0}, 3, &tags)); | 1107 | 167 | break; | 1108 | 167 | case JXL_TRANSFER_FUNCTION_DCI: | 1109 | 75 | JXL_RETURN_IF_ERROR( | 1110 | 75 | CreateICCCurvParaTag({2.6, 1.0, 0.0, 1.0, 0.0}, 3, &tags)); | 1111 | 75 | break; | 1112 | 75 | default: | 1113 | 4.73M | return JXL_UNREACHABLE("unknown TF %u", | 1114 | 4.73M | static_cast<unsigned int>(tf)); | 1115 | 4.73M | } | 1116 | 4.73M | } | 1117 | 4.74M | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1118 | 4.74M | if (c.color_space == JXL_COLOR_SPACE_GRAY) { | 1119 | 7.33k | AddToICCTagTable("kTRC", tag_offset, tag_size, &tagtable, &offsets); | 1120 | 4.73M | } else { | 1121 | 4.73M | AddToICCTagTable("rTRC", tag_offset, tag_size, &tagtable, &offsets); | 1122 | 4.73M | AddToICCTagTable("gTRC", tag_offset, tag_size, &tagtable, &offsets); | 1123 | 4.73M | AddToICCTagTable("bTRC", tag_offset, tag_size, &tagtable, &offsets); | 1124 | 4.73M | } | 1125 | 4.74M | } | 1126 | | | 1127 | | // Tag count | 1128 | 4.86M | WriteICCUint32(offsets.size(), 0, &tagtable); | 1129 | 57.7M | for (size_t i = 0; i < offsets.size(); i++) { | 1130 | 52.8M | WriteICCUint32(offsets[i] + header.size() + tagtable.size(), 4 + 12 * i + 4, | 1131 | 52.8M | &tagtable); | 1132 | 52.8M | } | 1133 | | | 1134 | | // ICC profile size | 1135 | 4.86M | WriteICCUint32(header.size() + tagtable.size() + tags.size(), 0, &header); | 1136 | | | 1137 | 4.86M | *icc = header; | 1138 | 4.86M | Bytes(tagtable).AppendTo(*icc); | 1139 | 4.86M | Bytes(tags).AppendTo(*icc); | 1140 | | | 1141 | | // The MD5 checksum must be computed on the profile with profile flags, | 1142 | | // rendering intent, and region of the checksum itself, set to 0. | 1143 | | // TODO(lode): manually verify with a reliable tool that this creates correct | 1144 | | // signature (profile id) for ICC profiles. | 1145 | 4.86M | std::vector<uint8_t> icc_sum = *icc; | 1146 | 4.86M | if (icc_sum.size() >= 64 + 4) { | 1147 | 4.86M | memset(icc_sum.data() + 44, 0, 4); | 1148 | 4.86M | memset(icc_sum.data() + 64, 0, 4); | 1149 | 4.86M | } | 1150 | 4.86M | uint8_t checksum[16]; | 1151 | 4.86M | detail::ICCComputeMD5(icc_sum, checksum); | 1152 | | | 1153 | 4.86M | memcpy(icc->data() + 84, checksum, sizeof(checksum)); | 1154 | | | 1155 | 4.86M | return true; | 1156 | 4.86M | } |
Unexecuted instantiation: enc_jpeg_data.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: decode.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_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: quant_weights.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> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fields.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_group.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_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_progressive_split.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_encoding.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: 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: epf.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: passes_state.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: 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: 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: enc_ac_strategy.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_ans.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_chroma_from_luma.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: low_memory_render_pipeline.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: enc_detect_dots.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> >*) |
1157 | | |
1158 | | } // namespace detail |
1159 | | |
1160 | | // Returns a representation of the ColorEncoding fields (not icc). |
1161 | | // Example description: "RGB_D65_SRG_Rel_Lin" |
1162 | | static JXL_MAYBE_UNUSED std::string ColorEncodingDescription( |
1163 | 0 | const JxlColorEncoding& c, bool uniquename = true) { |
1164 | 0 | return detail::ColorEncodingDescriptionImpl(c, uniquename); |
1165 | 0 | } Unexecuted instantiation: encode.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_jpeg_data.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: color_encoding_internal.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: decode.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: frame_header.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: image_metadata.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: luminance.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: quant_weights.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: decode_to_jpeg.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_fast_lossless.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_fields.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_frame.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_group.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_heuristics.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_modular.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_progressive_split.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_quant_weights.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_xyb.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_encoding.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: compressed_dc.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: dec_cache.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: dec_external_image.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: dec_frame.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: dec_group.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: dec_modular.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: dec_noise.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: dec_xyb.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: epf.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: image_bundle.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: passes_state.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: render_pipeline.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: simple_render_pipeline.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_blending.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_cms.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_epf.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_from_linear.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_gaborish.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_noise.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_patches.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_splines.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_spot.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_to_linear.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_tone_mapping.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_upsampling.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_write.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_xyb.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: stage_ycbcr.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_ac_strategy.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_ans.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_cache.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_debug_image.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_entropy_coder.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_external_image.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_image_bundle.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: blending.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: render_pipeline_stage.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_detect_dots.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: jxl_cms.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) |
1166 | | |
1167 | | // NOTE: for XYB colorspace, the created profile can be used to transform a |
1168 | | // *scaled* XYB image (created by ScaleXYB()) to another colorspace. |
1169 | | static JXL_MAYBE_UNUSED Status MaybeCreateProfile(const JxlColorEncoding& c, |
1170 | 4.87M | std::vector<uint8_t>* icc) { |
1171 | 4.87M | return detail::MaybeCreateProfileImpl(c, icc); |
1172 | 4.87M | } encode.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 1170 | 4.87M | std::vector<uint8_t>* icc) { | 1171 | 4.87M | return detail::MaybeCreateProfileImpl(c, icc); | 1172 | 4.87M | } |
Unexecuted instantiation: enc_jpeg_data.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: decode.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_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: quant_weights.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> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fields.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_group.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_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_progressive_split.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_encoding.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: 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: epf.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: passes_state.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: 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: 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: enc_ac_strategy.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_ans.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_chroma_from_luma.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.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_image_bundle.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: low_memory_render_pipeline.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: enc_detect_dots.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> >*) |
1173 | | |
1174 | | } // namespace jxl |
1175 | | |
1176 | | #endif // LIB_JXL_CMS_JXL_CMS_INTERNAL_H_ |