/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 | 398k | float by, float wx, float wy, Matrix3x3& matrix) { |
45 | 398k | bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1); |
46 | 398k | 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 | 398k | Matrix3x3 primaries{{{rx, gx, bx}, |
53 | 398k | {ry, gy, by}, |
54 | 398k | {1.0f - rx - ry, 1.0f - gx - gy, 1.0f - bx - by}}}; |
55 | 398k | Matrix3x3 primaries_inv; |
56 | 398k | primaries_inv = primaries; |
57 | 398k | JXL_RETURN_IF_ERROR(Inv3x3Matrix(primaries_inv)); |
58 | | |
59 | 398k | Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy}; |
60 | | // 1 / tiny float can still overflow |
61 | 398k | JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2])); |
62 | 398k | Vector3 xyz; |
63 | 398k | Mul3x3Vector(primaries_inv, w, xyz); |
64 | | |
65 | 398k | Matrix3x3 a{{{xyz[0], 0, 0}, {0, xyz[1], 0}, {0, 0, xyz[2]}}}; |
66 | | |
67 | 398k | Mul3x3Matrix(primaries, a, matrix); |
68 | 398k | return true; |
69 | 398k | } encode.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Line | Count | Source | 44 | 2.76k | float by, float wx, float wy, Matrix3x3& matrix) { | 45 | 2.76k | bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1); | 46 | 2.76k | if (!ok) { | 47 | 0 | return JXL_FAILURE("Invalid white point"); | 48 | 0 | } | 49 | | // TODO(lode): also require rx, ry, gx, gy, bx, to be in range 0-1? ICC | 50 | | // profiles in theory forbid negative XYZ values, but in practice the ACES P0 | 51 | | // color space uses a negative y for the blue primary. | 52 | 2.76k | Matrix3x3 primaries{{{rx, gx, bx}, | 53 | 2.76k | {ry, gy, by}, | 54 | 2.76k | {1.0f - rx - ry, 1.0f - gx - gy, 1.0f - bx - by}}}; | 55 | 2.76k | Matrix3x3 primaries_inv; | 56 | 2.76k | primaries_inv = primaries; | 57 | 2.76k | JXL_RETURN_IF_ERROR(Inv3x3Matrix(primaries_inv)); | 58 | | | 59 | 2.76k | Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy}; | 60 | | // 1 / tiny float can still overflow | 61 | 2.76k | JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2])); | 62 | 2.76k | Vector3 xyz; | 63 | 2.76k | Mul3x3Vector(primaries_inv, w, xyz); | 64 | | | 65 | 2.76k | Matrix3x3 a{{{xyz[0], 0, 0}, {0, xyz[1], 0}, {0, 0, xyz[2]}}}; | 66 | | | 67 | 2.76k | Mul3x3Matrix(primaries, a, matrix); | 68 | 2.76k | return true; | 69 | 2.76k | } |
Unexecuted instantiation: enc_fields.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_ans.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_fast_lossless.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_frame.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_modular.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_debug_image.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_detect_dots.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_quant_weights.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_xyb.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_image_bundle.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_external_image.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_heuristics.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_cache.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_group.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_progressive_split.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_ac_strategy.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_entropy_coder.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: jxl_cms.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_jpeg_data.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_encoding.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) color_encoding_internal.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Line | Count | Source | 44 | 395k | float by, float wx, float wy, Matrix3x3& matrix) { | 45 | 395k | bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1); | 46 | 395k | 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 | 395k | Matrix3x3 primaries{{{rx, gx, bx}, | 53 | 395k | {ry, gy, by}, | 54 | 395k | {1.0f - rx - ry, 1.0f - gx - gy, 1.0f - bx - by}}}; | 55 | 395k | Matrix3x3 primaries_inv; | 56 | 395k | primaries_inv = primaries; | 57 | 395k | JXL_RETURN_IF_ERROR(Inv3x3Matrix(primaries_inv)); | 58 | | | 59 | 395k | Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy}; | 60 | | // 1 / tiny float can still overflow | 61 | 395k | JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2])); | 62 | 395k | Vector3 xyz; | 63 | 395k | Mul3x3Vector(primaries_inv, w, xyz); | 64 | | | 65 | 395k | Matrix3x3 a{{{xyz[0], 0, 0}, {0, xyz[1], 0}, {0, 0, xyz[2]}}}; | 66 | | | 67 | 395k | Mul3x3Matrix(primaries, a, matrix); | 68 | 395k | return true; | 69 | 395k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_cache.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: blending.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_external_image.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_frame.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_group.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_modular.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_noise.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) dec_xyb.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Line | Count | Source | 44 | 376 | float by, float wx, float wy, Matrix3x3& matrix) { | 45 | 376 | bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1); | 46 | 376 | 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 | 376 | Matrix3x3 primaries{{{rx, gx, bx}, | 53 | 376 | {ry, gy, by}, | 54 | 376 | {1.0f - rx - ry, 1.0f - gx - gy, 1.0f - bx - by}}}; | 55 | 376 | Matrix3x3 primaries_inv; | 56 | 376 | primaries_inv = primaries; | 57 | 376 | JXL_RETURN_IF_ERROR(Inv3x3Matrix(primaries_inv)); | 58 | | | 59 | 376 | Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy}; | 60 | | // 1 / tiny float can still overflow | 61 | 376 | JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2])); | 62 | 376 | Vector3 xyz; | 63 | 376 | Mul3x3Vector(primaries_inv, w, xyz); | 64 | | | 65 | 376 | Matrix3x3 a{{{xyz[0], 0, 0}, {0, xyz[1], 0}, {0, 0, xyz[2]}}}; | 66 | | | 67 | 376 | Mul3x3Matrix(primaries, a, matrix); | 68 | 376 | return true; | 69 | 376 | } |
Unexecuted instantiation: decode.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: epf.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: frame_header.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: image_bundle.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: image_metadata.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: luminance.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: passes_state.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: quant_weights.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: render_pipeline.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: simple_render_pipeline.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_blending.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: render_pipeline_stage.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_cms.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_epf.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_from_linear.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_gaborish.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_noise.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_patches.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_splines.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_spot.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_to_linear.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_tone_mapping.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_upsampling.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_write.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_xyb.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_ycbcr.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: decode_to_jpeg.cc:jxl::PrimariesToXYZ(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) |
70 | | |
71 | | /* Chromatic adaptation matrices*/ |
72 | | constexpr Matrix3x3 kBradford{{{0.8951f, 0.2664f, -0.1614f}, |
73 | | {-0.7502f, 1.7135f, 0.0367f}, |
74 | | {0.0389f, -0.0685f, 1.0296f}}}; |
75 | | constexpr Matrix3x3 kBradfordInv{{{0.9869929f, -0.1470543f, 0.1599627f}, |
76 | | {0.4323053f, 0.5183603f, 0.0492912f}, |
77 | | {-0.0085287f, 0.0400428f, 0.9684867f}}}; |
78 | | |
79 | | // Adapts white point x, y to D50 |
80 | 777k | static Status AdaptToXYZD50(float wx, float wy, Matrix3x3& matrix) { |
81 | 777k | bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1); |
82 | 777k | if (!ok) { |
83 | | // Out of range values can cause division through zero |
84 | | // further down with the bradford adaptation too. |
85 | 16 | return JXL_FAILURE("Invalid white point"); |
86 | 16 | } |
87 | 777k | Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy}; |
88 | | // 1 / tiny float can still overflow |
89 | 777k | JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2])); |
90 | 777k | Vector3 w50{0.96422f, 1.0f, 0.82521f}; |
91 | | |
92 | 777k | Vector3 lms; |
93 | 777k | Vector3 lms50; |
94 | | |
95 | 777k | Mul3x3Vector(kBradford, w, lms); |
96 | 777k | Mul3x3Vector(kBradford, w50, lms50); |
97 | | |
98 | 777k | if (lms[0] == 0 || lms[1] == 0 || lms[2] == 0) { |
99 | 0 | return JXL_FAILURE("Invalid white point"); |
100 | 0 | } |
101 | 777k | Matrix3x3 a{{{lms50[0] / lms[0], 0, 0}, |
102 | 777k | {0, lms50[1] / lms[1], 0}, |
103 | 777k | {0, 0, lms50[2] / lms[2]}}}; |
104 | 777k | if (!std::isfinite(a[0][0]) || !std::isfinite(a[1][1]) || |
105 | 777k | !std::isfinite(a[2][2])) { |
106 | 0 | return JXL_FAILURE("Invalid white point"); |
107 | 0 | } |
108 | | |
109 | 777k | Matrix3x3 b; |
110 | 777k | Mul3x3Matrix(a, kBradford, b); |
111 | 777k | Mul3x3Matrix(kBradfordInv, b, matrix); |
112 | | |
113 | 777k | return true; |
114 | 777k | } encode.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Line | Count | Source | 80 | 5.53k | static Status AdaptToXYZD50(float wx, float wy, Matrix3x3& matrix) { | 81 | 5.53k | bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1); | 82 | 5.53k | if (!ok) { | 83 | | // Out of range values can cause division through zero | 84 | | // further down with the bradford adaptation too. | 85 | 0 | return JXL_FAILURE("Invalid white point"); | 86 | 0 | } | 87 | 5.53k | Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy}; | 88 | | // 1 / tiny float can still overflow | 89 | 5.53k | JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2])); | 90 | 5.53k | Vector3 w50{0.96422f, 1.0f, 0.82521f}; | 91 | | | 92 | 5.53k | Vector3 lms; | 93 | 5.53k | Vector3 lms50; | 94 | | | 95 | 5.53k | Mul3x3Vector(kBradford, w, lms); | 96 | 5.53k | Mul3x3Vector(kBradford, w50, lms50); | 97 | | | 98 | 5.53k | if (lms[0] == 0 || lms[1] == 0 || lms[2] == 0) { | 99 | 0 | return JXL_FAILURE("Invalid white point"); | 100 | 0 | } | 101 | 5.53k | Matrix3x3 a{{{lms50[0] / lms[0], 0, 0}, | 102 | 5.53k | {0, lms50[1] / lms[1], 0}, | 103 | 5.53k | {0, 0, lms50[2] / lms[2]}}}; | 104 | 5.53k | if (!std::isfinite(a[0][0]) || !std::isfinite(a[1][1]) || | 105 | 5.53k | !std::isfinite(a[2][2])) { | 106 | 0 | return JXL_FAILURE("Invalid white point"); | 107 | 0 | } | 108 | | | 109 | 5.53k | Matrix3x3 b; | 110 | 5.53k | Mul3x3Matrix(a, kBradford, b); | 111 | 5.53k | Mul3x3Matrix(kBradfordInv, b, matrix); | 112 | | | 113 | 5.53k | return true; | 114 | 5.53k | } |
Unexecuted instantiation: enc_fields.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_ans.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_fast_lossless.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_frame.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_modular.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_debug_image.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_detect_dots.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_quant_weights.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_xyb.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_image_bundle.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_external_image.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_heuristics.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_cache.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_group.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_progressive_split.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_ac_strategy.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_entropy_coder.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: jxl_cms.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_jpeg_data.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_encoding.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) color_encoding_internal.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Line | Count | Source | 80 | 771k | static Status AdaptToXYZD50(float wx, float wy, Matrix3x3& matrix) { | 81 | 771k | bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1); | 82 | 771k | if (!ok) { | 83 | | // Out of range values can cause division through zero | 84 | | // further down with the bradford adaptation too. | 85 | 16 | return JXL_FAILURE("Invalid white point"); | 86 | 16 | } | 87 | 771k | Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy}; | 88 | | // 1 / tiny float can still overflow | 89 | 771k | JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2])); | 90 | 771k | Vector3 w50{0.96422f, 1.0f, 0.82521f}; | 91 | | | 92 | 771k | Vector3 lms; | 93 | 771k | Vector3 lms50; | 94 | | | 95 | 771k | Mul3x3Vector(kBradford, w, lms); | 96 | 771k | Mul3x3Vector(kBradford, w50, lms50); | 97 | | | 98 | 771k | if (lms[0] == 0 || lms[1] == 0 || lms[2] == 0) { | 99 | 0 | return JXL_FAILURE("Invalid white point"); | 100 | 0 | } | 101 | 771k | Matrix3x3 a{{{lms50[0] / lms[0], 0, 0}, | 102 | 771k | {0, lms50[1] / lms[1], 0}, | 103 | 771k | {0, 0, lms50[2] / lms[2]}}}; | 104 | 771k | if (!std::isfinite(a[0][0]) || !std::isfinite(a[1][1]) || | 105 | 771k | !std::isfinite(a[2][2])) { | 106 | 0 | return JXL_FAILURE("Invalid white point"); | 107 | 0 | } | 108 | | | 109 | 771k | Matrix3x3 b; | 110 | 771k | Mul3x3Matrix(a, kBradford, b); | 111 | 771k | Mul3x3Matrix(kBradfordInv, b, matrix); | 112 | | | 113 | 771k | return true; | 114 | 771k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_cache.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: blending.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_external_image.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_frame.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_group.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_modular.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_noise.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) dec_xyb.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Line | Count | Source | 80 | 334 | static Status AdaptToXYZD50(float wx, float wy, Matrix3x3& matrix) { | 81 | 334 | bool ok = (wx >= 0) && (wx <= 1) && (wy > 0) && (wy <= 1); | 82 | 334 | 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 | 334 | Vector3 w{wx / wy, 1.0f, (1.0f - wx - wy) / wy}; | 88 | | // 1 / tiny float can still overflow | 89 | 334 | JXL_RETURN_IF_ERROR(std::isfinite(w[0]) && std::isfinite(w[2])); | 90 | 334 | Vector3 w50{0.96422f, 1.0f, 0.82521f}; | 91 | | | 92 | 334 | Vector3 lms; | 93 | 334 | Vector3 lms50; | 94 | | | 95 | 334 | Mul3x3Vector(kBradford, w, lms); | 96 | 334 | Mul3x3Vector(kBradford, w50, lms50); | 97 | | | 98 | 334 | if (lms[0] == 0 || lms[1] == 0 || lms[2] == 0) { | 99 | 0 | return JXL_FAILURE("Invalid white point"); | 100 | 0 | } | 101 | 334 | Matrix3x3 a{{{lms50[0] / lms[0], 0, 0}, | 102 | 334 | {0, lms50[1] / lms[1], 0}, | 103 | 334 | {0, 0, lms50[2] / lms[2]}}}; | 104 | 334 | if (!std::isfinite(a[0][0]) || !std::isfinite(a[1][1]) || | 105 | 334 | !std::isfinite(a[2][2])) { | 106 | 0 | return JXL_FAILURE("Invalid white point"); | 107 | 0 | } | 108 | | | 109 | 334 | Matrix3x3 b; | 110 | 334 | Mul3x3Matrix(a, kBradford, b); | 111 | 334 | Mul3x3Matrix(kBradfordInv, b, matrix); | 112 | | | 113 | 334 | return true; | 114 | 334 | } |
Unexecuted instantiation: decode.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: epf.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: frame_header.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: image_bundle.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: image_metadata.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: luminance.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: passes_state.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: quant_weights.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: render_pipeline.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: simple_render_pipeline.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_blending.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: render_pipeline_stage.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_cms.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_epf.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_from_linear.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_gaborish.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_noise.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_patches.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_splines.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_spot.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_to_linear.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_tone_mapping.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_upsampling.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_write.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_xyb.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_ycbcr.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: decode_to_jpeg.cc:jxl::AdaptToXYZD50(float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) |
115 | | |
116 | | static Status PrimariesToXYZD50(float rx, float ry, float gx, float gy, |
117 | | float bx, float by, float wx, float wy, |
118 | 379k | Matrix3x3& matrix) { |
119 | 379k | Matrix3x3 toXYZ; |
120 | 379k | JXL_RETURN_IF_ERROR(PrimariesToXYZ(rx, ry, gx, gy, bx, by, wx, wy, toXYZ)); |
121 | 379k | Matrix3x3 d50; |
122 | 379k | JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, d50)); |
123 | | |
124 | 379k | Mul3x3Matrix(d50, toXYZ, matrix); |
125 | 379k | return true; |
126 | 379k | } encode.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Line | Count | Source | 118 | 2.76k | Matrix3x3& matrix) { | 119 | 2.76k | Matrix3x3 toXYZ; | 120 | 2.76k | JXL_RETURN_IF_ERROR(PrimariesToXYZ(rx, ry, gx, gy, bx, by, wx, wy, toXYZ)); | 121 | 2.76k | Matrix3x3 d50; | 122 | 2.76k | JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, d50)); | 123 | | | 124 | 2.76k | Mul3x3Matrix(d50, toXYZ, matrix); | 125 | 2.76k | return true; | 126 | 2.76k | } |
Unexecuted instantiation: enc_fields.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_ans.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_fast_lossless.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_frame.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_modular.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_debug_image.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_detect_dots.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_quant_weights.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_xyb.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_image_bundle.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_external_image.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_heuristics.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_cache.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_group.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_progressive_split.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_ac_strategy.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_entropy_coder.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: jxl_cms.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_jpeg_data.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_encoding.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) color_encoding_internal.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Line | Count | Source | 118 | 376k | Matrix3x3& matrix) { | 119 | 376k | Matrix3x3 toXYZ; | 120 | 376k | JXL_RETURN_IF_ERROR(PrimariesToXYZ(rx, ry, gx, gy, bx, by, wx, wy, toXYZ)); | 121 | 376k | Matrix3x3 d50; | 122 | 376k | JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, d50)); | 123 | | | 124 | 376k | Mul3x3Matrix(d50, toXYZ, matrix); | 125 | 376k | return true; | 126 | 376k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_cache.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: blending.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_external_image.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_frame.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_group.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_modular.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_noise.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) dec_xyb.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Line | Count | Source | 118 | 188 | Matrix3x3& matrix) { | 119 | 188 | Matrix3x3 toXYZ; | 120 | 188 | JXL_RETURN_IF_ERROR(PrimariesToXYZ(rx, ry, gx, gy, bx, by, wx, wy, toXYZ)); | 121 | 188 | Matrix3x3 d50; | 122 | 188 | JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, d50)); | 123 | | | 124 | 188 | Mul3x3Matrix(d50, toXYZ, matrix); | 125 | 188 | return true; | 126 | 188 | } |
Unexecuted instantiation: decode.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: epf.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: frame_header.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: image_bundle.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: image_metadata.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: luminance.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: passes_state.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: quant_weights.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: render_pipeline.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: simple_render_pipeline.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_blending.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: render_pipeline_stage.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_cms.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_epf.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_from_linear.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_gaborish.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_noise.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_patches.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_splines.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_spot.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_to_linear.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_tone_mapping.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_upsampling.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_write.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_xyb.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_ycbcr.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: decode_to_jpeg.cc:jxl::PrimariesToXYZD50(float, float, float, float, float, float, float, float, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) |
127 | | |
128 | | static Status ToneMapPixel(const JxlColorEncoding& c, const float in[3], |
129 | 18.9k | uint8_t pcslab_out[3]) { |
130 | 18.9k | Matrix3x3 primaries_XYZ; |
131 | 18.9k | JXL_RETURN_IF_ERROR(PrimariesToXYZ( |
132 | 18.9k | c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0], |
133 | 18.9k | c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1], |
134 | 18.9k | c.white_point_xy[0], c.white_point_xy[1], primaries_XYZ)); |
135 | 18.9k | const Vector3 luminances = primaries_XYZ[1]; |
136 | 18.9k | Color linear; |
137 | 18.9k | JxlTransferFunction tf = c.transfer_function; |
138 | 18.9k | if (tf == JXL_TRANSFER_FUNCTION_PQ) { |
139 | 29.1k | for (size_t i = 0; i < 3; ++i) { |
140 | 21.8k | linear[i] = TF_PQ_Base::DisplayFromEncoded( |
141 | 21.8k | /*display_intensity_target=*/10000.0, in[i]); |
142 | 21.8k | } |
143 | 11.6k | } else { |
144 | 46.6k | for (size_t i = 0; i < 3; ++i) { |
145 | 34.9k | linear[i] = TF_HLG_Base::DisplayFromEncoded(in[i]); |
146 | 34.9k | } |
147 | 11.6k | } |
148 | 18.9k | if (tf == JXL_TRANSFER_FUNCTION_PQ) { |
149 | 7.29k | Rec2408ToneMapperBase tone_mapper({0.0f, 10000.0f}, {0.0f, 250.0f}, |
150 | 7.29k | luminances); |
151 | 7.29k | tone_mapper.ToneMap(linear); |
152 | 11.6k | } else { |
153 | 11.6k | HlgOOTF_Base ootf(/*source_luminance=*/300, /*target_luminance=*/80, |
154 | 11.6k | luminances); |
155 | 11.6k | ootf.Apply(linear); |
156 | 11.6k | } |
157 | 18.9k | GamutMapScalar(linear, luminances, |
158 | 18.9k | /*preserve_saturation=*/0.3f); |
159 | | |
160 | 18.9k | Matrix3x3 chad; |
161 | 18.9k | JXL_RETURN_IF_ERROR( |
162 | 18.9k | AdaptToXYZD50(c.white_point_xy[0], c.white_point_xy[1], chad)); |
163 | 18.9k | Matrix3x3 to_xyzd50; |
164 | 18.9k | Mul3x3Matrix(chad, primaries_XYZ, to_xyzd50); |
165 | | |
166 | 18.9k | Vector3 xyz{0, 0, 0}; |
167 | 75.8k | for (size_t xyz_c = 0; xyz_c < 3; ++xyz_c) { |
168 | 227k | for (size_t rgb_c = 0; rgb_c < 3; ++rgb_c) { |
169 | 170k | xyz[xyz_c] += linear[rgb_c] * to_xyzd50[xyz_c][rgb_c]; |
170 | 170k | } |
171 | 56.8k | } |
172 | | |
173 | 56.8k | const auto lab_f = [](const float x) { |
174 | 56.8k | static constexpr float kDelta = 6. / 29; |
175 | 56.8k | return x <= kDelta * kDelta * kDelta |
176 | 56.8k | ? x * (1 / (3 * kDelta * kDelta)) + 4.f / 29 |
177 | 56.8k | : std::cbrt(x); |
178 | 56.8k | }; Unexecuted instantiation: encode.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)::$_0::operator()(float) const Unexecuted instantiation: jxl_cms.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)::$_0::operator()(float) const color_encoding_internal.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)::$_0::operator()(float) const Line | Count | Source | 173 | 56.8k | const auto lab_f = [](const float x) { | 174 | 56.8k | static constexpr float kDelta = 6. / 29; | 175 | 56.8k | return x <= kDelta * kDelta * kDelta | 176 | 56.8k | ? x * (1 / (3 * kDelta * kDelta)) + 4.f / 29 | 177 | 56.8k | : std::cbrt(x); | 178 | 56.8k | }; |
Unexecuted instantiation: dec_cache.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)::$_0::operator()(float) const Unexecuted instantiation: decode.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*)::$_0::operator()(float) const |
179 | 18.9k | static constexpr float kXn = 0.964212; |
180 | 18.9k | static constexpr float kYn = 1; |
181 | 18.9k | static constexpr float kZn = 0.825188; |
182 | | |
183 | 18.9k | const float f_x = lab_f(xyz[0] / kXn); |
184 | 18.9k | const float f_y = lab_f(xyz[1] / kYn); |
185 | 18.9k | const float f_z = lab_f(xyz[2] / kZn); |
186 | | |
187 | 18.9k | pcslab_out[0] = static_cast<uint8_t>( |
188 | 18.9k | std::lroundf(255.f * Clamp1(1.16f * f_y - .16f, 0.f, 1.f))); |
189 | 18.9k | pcslab_out[1] = static_cast<uint8_t>( |
190 | 18.9k | std::lroundf(128.f + Clamp1(500 * (f_x - f_y), -128.f, 127.f))); |
191 | 18.9k | pcslab_out[2] = static_cast<uint8_t>( |
192 | 18.9k | std::lroundf(128.f + Clamp1(200 * (f_y - f_z), -128.f, 127.f))); |
193 | | |
194 | 18.9k | return true; |
195 | 18.9k | } Unexecuted instantiation: encode.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_fields.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_ans.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_frame.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_modular.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_debug_image.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_detect_dots.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_quant_weights.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_xyb.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_image_bundle.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_external_image.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_heuristics.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_cache.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_group.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_progressive_split.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: jxl_cms.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: enc_encoding.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) color_encoding_internal.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Line | Count | Source | 129 | 18.9k | uint8_t pcslab_out[3]) { | 130 | 18.9k | Matrix3x3 primaries_XYZ; | 131 | 18.9k | JXL_RETURN_IF_ERROR(PrimariesToXYZ( | 132 | 18.9k | c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0], | 133 | 18.9k | c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1], | 134 | 18.9k | c.white_point_xy[0], c.white_point_xy[1], primaries_XYZ)); | 135 | 18.9k | const Vector3 luminances = primaries_XYZ[1]; | 136 | 18.9k | Color linear; | 137 | 18.9k | JxlTransferFunction tf = c.transfer_function; | 138 | 18.9k | if (tf == JXL_TRANSFER_FUNCTION_PQ) { | 139 | 29.1k | for (size_t i = 0; i < 3; ++i) { | 140 | 21.8k | linear[i] = TF_PQ_Base::DisplayFromEncoded( | 141 | 21.8k | /*display_intensity_target=*/10000.0, in[i]); | 142 | 21.8k | } | 143 | 11.6k | } else { | 144 | 46.6k | for (size_t i = 0; i < 3; ++i) { | 145 | 34.9k | linear[i] = TF_HLG_Base::DisplayFromEncoded(in[i]); | 146 | 34.9k | } | 147 | 11.6k | } | 148 | 18.9k | if (tf == JXL_TRANSFER_FUNCTION_PQ) { | 149 | 7.29k | Rec2408ToneMapperBase tone_mapper({0.0f, 10000.0f}, {0.0f, 250.0f}, | 150 | 7.29k | luminances); | 151 | 7.29k | tone_mapper.ToneMap(linear); | 152 | 11.6k | } else { | 153 | 11.6k | HlgOOTF_Base ootf(/*source_luminance=*/300, /*target_luminance=*/80, | 154 | 11.6k | luminances); | 155 | 11.6k | ootf.Apply(linear); | 156 | 11.6k | } | 157 | 18.9k | GamutMapScalar(linear, luminances, | 158 | 18.9k | /*preserve_saturation=*/0.3f); | 159 | | | 160 | 18.9k | Matrix3x3 chad; | 161 | 18.9k | JXL_RETURN_IF_ERROR( | 162 | 18.9k | AdaptToXYZD50(c.white_point_xy[0], c.white_point_xy[1], chad)); | 163 | 18.9k | Matrix3x3 to_xyzd50; | 164 | 18.9k | Mul3x3Matrix(chad, primaries_XYZ, to_xyzd50); | 165 | | | 166 | 18.9k | Vector3 xyz{0, 0, 0}; | 167 | 75.8k | for (size_t xyz_c = 0; xyz_c < 3; ++xyz_c) { | 168 | 227k | for (size_t rgb_c = 0; rgb_c < 3; ++rgb_c) { | 169 | 170k | xyz[xyz_c] += linear[rgb_c] * to_xyzd50[xyz_c][rgb_c]; | 170 | 170k | } | 171 | 56.8k | } | 172 | | | 173 | 18.9k | const auto lab_f = [](const float x) { | 174 | 18.9k | static constexpr float kDelta = 6. / 29; | 175 | 18.9k | return x <= kDelta * kDelta * kDelta | 176 | 18.9k | ? x * (1 / (3 * kDelta * kDelta)) + 4.f / 29 | 177 | 18.9k | : std::cbrt(x); | 178 | 18.9k | }; | 179 | 18.9k | static constexpr float kXn = 0.964212; | 180 | 18.9k | static constexpr float kYn = 1; | 181 | 18.9k | static constexpr float kZn = 0.825188; | 182 | | | 183 | 18.9k | const float f_x = lab_f(xyz[0] / kXn); | 184 | 18.9k | const float f_y = lab_f(xyz[1] / kYn); | 185 | 18.9k | const float f_z = lab_f(xyz[2] / kZn); | 186 | | | 187 | 18.9k | pcslab_out[0] = static_cast<uint8_t>( | 188 | 18.9k | std::lroundf(255.f * Clamp1(1.16f * f_y - .16f, 0.f, 1.f))); | 189 | 18.9k | pcslab_out[1] = static_cast<uint8_t>( | 190 | 18.9k | std::lroundf(128.f + Clamp1(500 * (f_x - f_y), -128.f, 127.f))); | 191 | 18.9k | pcslab_out[2] = static_cast<uint8_t>( | 192 | 18.9k | std::lroundf(128.f + Clamp1(200 * (f_y - f_z), -128.f, 127.f))); | 193 | | | 194 | 18.9k | return true; | 195 | 18.9k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: dec_cache.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: blending.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: dec_external_image.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: dec_frame.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: dec_group.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: dec_modular.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: dec_noise.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: dec_xyb.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: decode.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: epf.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: frame_header.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: image_bundle.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: image_metadata.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: luminance.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: passes_state.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: quant_weights.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: render_pipeline.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: stage_blending.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: stage_cms.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: stage_epf.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: stage_from_linear.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: stage_gaborish.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: stage_noise.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: stage_patches.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: stage_splines.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: stage_spot.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: stage_to_linear.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: stage_upsampling.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: stage_write.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: stage_xyb.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: stage_ycbcr.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::ToneMapPixel(JxlColorEncoding const&, float const*, unsigned char*) |
196 | | |
197 | | template <size_t N, ExtraTF tf> |
198 | 240 | 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 | 240 | static constexpr float kPQIntensityTarget = 10000; |
202 | | |
203 | 240 | static_assert(N <= 4096, "ICC MFT2 only allows 4K entries"); |
204 | 240 | static_assert(tf == ExtraTF::kPQ || tf == ExtraTF::kHLG, |
205 | 240 | "Only PQ/HLG is supported"); |
206 | | |
207 | 240 | static constexpr Vector3 kLuminances{1.f / 3, 1.f / 3, 1.f / 3}; |
208 | 240 | Rec2408ToneMapperBase tone_mapper( |
209 | 240 | {0.0f, kPQIntensityTarget}, {0.0f, kDefaultIntensityTarget}, kLuminances); |
210 | | // No point using float - LCMS converts to 16-bit for A2B/MFT. |
211 | 240 | std::vector<uint16_t> table(N); |
212 | 15.6k | for (uint32_t i = 0; i < N; ++i) { |
213 | 15.3k | const float x = static_cast<float>(i) / (N - 1); // 1.0 at index N - 1. |
214 | 15.3k | const double dx = static_cast<double>(x); |
215 | | // LCMS requires EOTF (e.g. 2.4 exponent). |
216 | 15.3k | double y = (tf == ExtraTF::kHLG) |
217 | 15.3k | ? TF_HLG_Base::DisplayFromEncoded(dx) |
218 | 15.3k | : TF_PQ_Base::DisplayFromEncoded(kPQIntensityTarget, dx); |
219 | 15.3k | 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 | 15.3k | JXL_DASSERT(y >= 0.0); |
227 | | // Clamp to table range - necessary for HLG. |
228 | 15.3k | y = Clamp1(y, 0.0, 1.0); |
229 | | // 1.0 corresponds to table value 0xFFFF. |
230 | 15.3k | table[i] = static_cast<uint16_t>(roundf(y * 65535.0)); |
231 | 15.3k | } |
232 | 240 | return table; |
233 | 240 | } Unexecuted instantiation: encode.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_fields.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_fields.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_ans.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_ans.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_fast_lossless.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_fast_lossless.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_frame.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_frame.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_modular.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_modular.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_patch_dictionary.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_patch_dictionary.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_debug_image.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_debug_image.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_dot_dictionary.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_dot_dictionary.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_detect_dots.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_detect_dots.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_quant_weights.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_quant_weights.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_xyb.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_xyb.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_image_bundle.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_image_bundle.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_external_image.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_external_image.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_heuristics.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_heuristics.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_adaptive_quantization.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_adaptive_quantization.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_butteraugli_comparator.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_butteraugli_comparator.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_cache.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_cache.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_group.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_group.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_progressive_split.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_progressive_split.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_chroma_from_luma.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_chroma_from_luma.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_ac_strategy.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_ac_strategy.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_entropy_coder.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_entropy_coder.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: jxl_cms.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_jpeg_data.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_jpeg_data.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: enc_encoding.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: enc_encoding.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) color_encoding_internal.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Line | Count | Source | 198 | 126 | 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 | 126 | static constexpr float kPQIntensityTarget = 10000; | 202 | | | 203 | 126 | static_assert(N <= 4096, "ICC MFT2 only allows 4K entries"); | 204 | 126 | static_assert(tf == ExtraTF::kPQ || tf == ExtraTF::kHLG, | 205 | 126 | "Only PQ/HLG is supported"); | 206 | | | 207 | 126 | static constexpr Vector3 kLuminances{1.f / 3, 1.f / 3, 1.f / 3}; | 208 | 126 | Rec2408ToneMapperBase tone_mapper( | 209 | 126 | {0.0f, kPQIntensityTarget}, {0.0f, kDefaultIntensityTarget}, kLuminances); | 210 | | // No point using float - LCMS converts to 16-bit for A2B/MFT. | 211 | 126 | std::vector<uint16_t> table(N); | 212 | 8.19k | for (uint32_t i = 0; i < N; ++i) { | 213 | 8.06k | const float x = static_cast<float>(i) / (N - 1); // 1.0 at index N - 1. | 214 | 8.06k | const double dx = static_cast<double>(x); | 215 | | // LCMS requires EOTF (e.g. 2.4 exponent). | 216 | 8.06k | double y = (tf == ExtraTF::kHLG) | 217 | 8.06k | ? TF_HLG_Base::DisplayFromEncoded(dx) | 218 | 8.06k | : TF_PQ_Base::DisplayFromEncoded(kPQIntensityTarget, dx); | 219 | 8.06k | 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 | 8.06k | JXL_DASSERT(y >= 0.0); | 227 | | // Clamp to table range - necessary for HLG. | 228 | 8.06k | y = Clamp1(y, 0.0, 1.0); | 229 | | // 1.0 corresponds to table value 0xFFFF. | 230 | 8.06k | table[i] = static_cast<uint16_t>(roundf(y * 65535.0)); | 231 | 8.06k | } | 232 | 126 | return table; | 233 | 126 | } |
color_encoding_internal.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Line | Count | Source | 198 | 114 | 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 | 114 | static constexpr float kPQIntensityTarget = 10000; | 202 | | | 203 | 114 | static_assert(N <= 4096, "ICC MFT2 only allows 4K entries"); | 204 | 114 | static_assert(tf == ExtraTF::kPQ || tf == ExtraTF::kHLG, | 205 | 114 | "Only PQ/HLG is supported"); | 206 | | | 207 | 114 | static constexpr Vector3 kLuminances{1.f / 3, 1.f / 3, 1.f / 3}; | 208 | 114 | Rec2408ToneMapperBase tone_mapper( | 209 | 114 | {0.0f, kPQIntensityTarget}, {0.0f, kDefaultIntensityTarget}, kLuminances); | 210 | | // No point using float - LCMS converts to 16-bit for A2B/MFT. | 211 | 114 | std::vector<uint16_t> table(N); | 212 | 7.41k | for (uint32_t i = 0; i < N; ++i) { | 213 | 7.29k | const float x = static_cast<float>(i) / (N - 1); // 1.0 at index N - 1. | 214 | 7.29k | const double dx = static_cast<double>(x); | 215 | | // LCMS requires EOTF (e.g. 2.4 exponent). | 216 | 7.29k | double y = (tf == ExtraTF::kHLG) | 217 | 7.29k | ? TF_HLG_Base::DisplayFromEncoded(dx) | 218 | 7.29k | : TF_PQ_Base::DisplayFromEncoded(kPQIntensityTarget, dx); | 219 | 7.29k | 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 | 7.29k | JXL_DASSERT(y >= 0.0); | 227 | | // Clamp to table range - necessary for HLG. | 228 | 7.29k | y = Clamp1(y, 0.0, 1.0); | 229 | | // 1.0 corresponds to table value 0xFFFF. | 230 | 7.29k | table[i] = static_cast<uint16_t>(roundf(y * 65535.0)); | 231 | 7.29k | } | 232 | 114 | return table; | 233 | 114 | } |
Unexecuted instantiation: compressed_dc.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: compressed_dc.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: dec_cache.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: blending.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: blending.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: dec_external_image.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: dec_external_image.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: dec_frame.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: dec_frame.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: dec_group.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: dec_group.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: dec_modular.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: dec_modular.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: dec_noise.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: dec_noise.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: dec_patch_dictionary.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: dec_patch_dictionary.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: dec_xyb.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: dec_xyb.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: decode.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: epf.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: epf.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: frame_header.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: frame_header.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: image_bundle.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: image_bundle.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: image_metadata.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: image_metadata.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: luminance.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: luminance.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: passes_state.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: passes_state.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: quant_weights.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: quant_weights.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: render_pipeline.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: render_pipeline.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: low_memory_render_pipeline.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: low_memory_render_pipeline.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: simple_render_pipeline.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: simple_render_pipeline.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: stage_blending.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: stage_blending.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: render_pipeline_stage.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: render_pipeline_stage.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: stage_chroma_upsampling.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: stage_chroma_upsampling.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: stage_cms.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: stage_cms.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: stage_epf.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: stage_epf.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: stage_from_linear.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: stage_from_linear.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: stage_gaborish.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: stage_gaborish.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: stage_noise.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: stage_noise.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: stage_patches.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: stage_patches.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: stage_splines.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: stage_splines.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: stage_spot.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: stage_spot.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: stage_to_linear.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: stage_to_linear.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: stage_tone_mapping.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: stage_tone_mapping.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: stage_upsampling.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: stage_upsampling.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: stage_write.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: stage_write.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: stage_xyb.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: stage_xyb.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: stage_ycbcr.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: stage_ycbcr.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) Unexecuted instantiation: decode_to_jpeg.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)2>(bool) Unexecuted instantiation: decode_to_jpeg.cc:std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > jxl::CreateTableCurve<64ul, (jxl::ExtraTF)1>(bool) |
234 | | |
235 | 1.68k | static Status CIEXYZFromWhiteCIExy(double wx, double wy, Color& XYZ) { |
236 | | // Target Y = 1. |
237 | 1.68k | if (std::abs(wy) < 1e-12) return JXL_FAILURE("Y value is too small"); |
238 | 1.68k | const float factor = 1 / wy; |
239 | 1.68k | XYZ[0] = wx * factor; |
240 | 1.68k | XYZ[1] = 1; |
241 | 1.68k | XYZ[2] = (1 - wx - wy) * factor; |
242 | 1.68k | return true; |
243 | 1.68k | } encode.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Line | Count | Source | 235 | 185 | static Status CIEXYZFromWhiteCIExy(double wx, double wy, Color& XYZ) { | 236 | | // Target Y = 1. | 237 | 185 | if (std::abs(wy) < 1e-12) return JXL_FAILURE("Y value is too small"); | 238 | 185 | const float factor = 1 / wy; | 239 | 185 | XYZ[0] = wx * factor; | 240 | 185 | XYZ[1] = 1; | 241 | 185 | XYZ[2] = (1 - wx - wy) * factor; | 242 | 185 | return true; | 243 | 185 | } |
Unexecuted instantiation: enc_fields.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_ans.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_fast_lossless.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_frame.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_modular.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_debug_image.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_detect_dots.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_quant_weights.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_xyb.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_image_bundle.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_external_image.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_heuristics.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_cache.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_group.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_progressive_split.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_ac_strategy.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_entropy_coder.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: jxl_cms.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_jpeg_data.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: enc_encoding.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) color_encoding_internal.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Line | Count | Source | 235 | 1.50k | static Status CIEXYZFromWhiteCIExy(double wx, double wy, Color& XYZ) { | 236 | | // Target Y = 1. | 237 | 1.50k | if (std::abs(wy) < 1e-12) return JXL_FAILURE("Y value is too small"); | 238 | 1.50k | const float factor = 1 / wy; | 239 | 1.50k | XYZ[0] = wx * factor; | 240 | 1.50k | XYZ[1] = 1; | 241 | 1.50k | XYZ[2] = (1 - wx - wy) * factor; | 242 | 1.50k | return true; | 243 | 1.50k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: dec_cache.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: blending.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: dec_external_image.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: dec_frame.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: dec_group.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: dec_modular.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: dec_noise.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: dec_xyb.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: decode.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: epf.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: frame_header.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: image_bundle.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: image_metadata.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: luminance.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: passes_state.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: quant_weights.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: render_pipeline.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: simple_render_pipeline.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: stage_blending.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: render_pipeline_stage.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: stage_cms.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: stage_epf.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: stage_from_linear.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: stage_gaborish.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: stage_noise.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: stage_patches.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: stage_splines.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: stage_spot.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: stage_to_linear.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: stage_tone_mapping.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: stage_upsampling.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: stage_write.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: stage_xyb.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: stage_ycbcr.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) Unexecuted instantiation: decode_to_jpeg.cc:jxl::CIEXYZFromWhiteCIExy(double, double, std::__1::array<float, 3ul>&) |
244 | | |
245 | | namespace detail { |
246 | | |
247 | | constexpr bool kEnable3DToneMapping = JXL_ENABLE_3D_ICC_TONEMAPPING; |
248 | | |
249 | 762k | 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 | 762k | JxlTransferFunction tf = encoding.transfer_function; |
254 | 762k | JxlPrimaries p = encoding.primaries; |
255 | 762k | JxlWhitePoint wp = encoding.white_point; |
256 | 762k | return encoding.color_space == JXL_COLOR_SPACE_RGB && |
257 | 758k | (tf == JXL_TRANSFER_FUNCTION_PQ || tf == JXL_TRANSFER_FUNCTION_HLG) && |
258 | 606 | ((p == JXL_PRIMARIES_P3 && |
259 | 26 | (wp == JXL_WHITE_POINT_D65 || wp == JXL_WHITE_POINT_DCI)) || |
260 | 586 | (p != JXL_PRIMARIES_CUSTOM && wp == JXL_WHITE_POINT_D65)); |
261 | 762k | } encode.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Line | Count | Source | 249 | 5.90k | 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 | 5.90k | JxlTransferFunction tf = encoding.transfer_function; | 254 | 5.90k | JxlPrimaries p = encoding.primaries; | 255 | 5.90k | JxlWhitePoint wp = encoding.white_point; | 256 | 5.90k | return encoding.color_space == JXL_COLOR_SPACE_RGB && | 257 | 5.53k | (tf == JXL_TRANSFER_FUNCTION_PQ || tf == JXL_TRANSFER_FUNCTION_HLG) && | 258 | 0 | ((p == JXL_PRIMARIES_P3 && | 259 | 0 | (wp == JXL_WHITE_POINT_D65 || wp == JXL_WHITE_POINT_DCI)) || | 260 | 0 | (p != JXL_PRIMARIES_CUSTOM && wp == JXL_WHITE_POINT_D65)); | 261 | 5.90k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_ans.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_frame.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_modular.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_xyb.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_external_image.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_cache.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_group.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: jxl_cms.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: enc_encoding.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) color_encoding_internal.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Line | Count | Source | 249 | 756k | 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 | 756k | JxlTransferFunction tf = encoding.transfer_function; | 254 | 756k | JxlPrimaries p = encoding.primaries; | 255 | 756k | JxlWhitePoint wp = encoding.white_point; | 256 | 756k | return encoding.color_space == JXL_COLOR_SPACE_RGB && | 257 | 753k | (tf == JXL_TRANSFER_FUNCTION_PQ || tf == JXL_TRANSFER_FUNCTION_HLG) && | 258 | 606 | ((p == JXL_PRIMARIES_P3 && | 259 | 26 | (wp == JXL_WHITE_POINT_D65 || wp == JXL_WHITE_POINT_DCI)) || | 260 | 586 | (p != JXL_PRIMARIES_CUSTOM && wp == JXL_WHITE_POINT_D65)); | 261 | 756k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: dec_cache.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: blending.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: dec_external_image.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: dec_frame.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: dec_group.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: dec_modular.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: dec_noise.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: dec_xyb.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: decode.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: epf.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: frame_header.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: image_bundle.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: image_metadata.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: luminance.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: passes_state.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: quant_weights.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: render_pipeline.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: stage_blending.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: stage_cms.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: stage_epf.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: stage_noise.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: stage_patches.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: stage_splines.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: stage_spot.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: stage_write.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: stage_xyb.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CanToneMap(JxlColorEncoding const&) |
262 | | |
263 | | static void ICCComputeMD5(const std::vector<uint8_t>& data, uint8_t sum[16]) |
264 | 380k | JXL_NO_SANITIZE("unsigned-integer-overflow") { |
265 | 380k | std::vector<uint8_t> data64 = data; |
266 | 380k | data64.push_back(128); |
267 | | // Add bytes such that ((size + 8) & 63) == 0. |
268 | 380k | size_t extra = ((64 - ((data64.size() + 8) & 63)) & 63); |
269 | 380k | data64.resize(data64.size() + extra, 0); |
270 | 3.42M | for (uint64_t i = 0; i < 64; i += 8) { |
271 | 3.04M | data64.push_back(static_cast<uint64_t>(data.size() << 3u) >> i); |
272 | 3.04M | } |
273 | | |
274 | 380k | static const uint32_t sineparts[64] = { |
275 | 380k | 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a, |
276 | 380k | 0xa8304613, 0xfd469501, 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be, |
277 | 380k | 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, 0xf61e2562, 0xc040b340, |
278 | 380k | 0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8, |
279 | 380k | 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8, |
280 | 380k | 0x676f02d9, 0x8d2a4c8a, 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c, |
281 | 380k | 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, 0x289b7ec6, 0xeaa127fa, |
282 | 380k | 0xd4ef3085, 0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665, |
283 | 380k | 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92, |
284 | 380k | 0xffeff47d, 0x85845dd1, 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1, |
285 | 380k | 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391, |
286 | 380k | }; |
287 | 380k | static const uint32_t shift[64] = { |
288 | 380k | 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, |
289 | 380k | 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, |
290 | 380k | 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, |
291 | 380k | 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, |
292 | 380k | }; |
293 | | |
294 | 380k | uint32_t a0 = 0x67452301; |
295 | 380k | uint32_t b0 = 0xefcdab89; |
296 | 380k | uint32_t c0 = 0x98badcfe; |
297 | 380k | uint32_t d0 = 0x10325476; |
298 | | |
299 | 3.80M | for (size_t i = 0; i < data64.size(); i += 64) { |
300 | 3.42M | uint32_t a = a0; |
301 | 3.42M | uint32_t b = b0; |
302 | 3.42M | uint32_t c = c0; |
303 | 3.42M | uint32_t d = d0; |
304 | 3.42M | uint32_t f; |
305 | 3.42M | uint32_t g; |
306 | 222M | for (size_t j = 0; j < 64; j++) { |
307 | 219M | if (j < 16) { |
308 | 54.8M | f = (b & c) | ((~b) & d); |
309 | 54.8M | g = j; |
310 | 164M | } else if (j < 32) { |
311 | 54.8M | f = (d & b) | ((~d) & c); |
312 | 54.8M | g = (5 * j + 1) & 0xf; |
313 | 109M | } else if (j < 48) { |
314 | 54.8M | f = b ^ c ^ d; |
315 | 54.8M | g = (3 * j + 5) & 0xf; |
316 | 54.8M | } else { |
317 | 54.8M | f = c ^ (b | (~d)); |
318 | 54.8M | g = (7 * j) & 0xf; |
319 | 54.8M | } |
320 | 219M | uint32_t dg0 = data64[i + g * 4 + 0]; |
321 | 219M | uint32_t dg1 = data64[i + g * 4 + 1]; |
322 | 219M | uint32_t dg2 = data64[i + g * 4 + 2]; |
323 | 219M | uint32_t dg3 = data64[i + g * 4 + 3]; |
324 | 219M | uint32_t u = dg0 | (dg1 << 8u) | (dg2 << 16u) | (dg3 << 24u); |
325 | 219M | f += a + sineparts[j] + u; |
326 | 219M | a = d; |
327 | 219M | d = c; |
328 | 219M | c = b; |
329 | 219M | b += (f << shift[j]) | (f >> (32u - shift[j])); |
330 | 219M | } |
331 | 3.42M | a0 += a; |
332 | 3.42M | b0 += b; |
333 | 3.42M | c0 += c; |
334 | 3.42M | d0 += d; |
335 | 3.42M | } |
336 | 380k | sum[0] = a0; |
337 | 380k | sum[1] = a0 >> 8u; |
338 | 380k | sum[2] = a0 >> 16u; |
339 | 380k | sum[3] = a0 >> 24u; |
340 | 380k | sum[4] = b0; |
341 | 380k | sum[5] = b0 >> 8u; |
342 | 380k | sum[6] = b0 >> 16u; |
343 | 380k | sum[7] = b0 >> 24u; |
344 | 380k | sum[8] = c0; |
345 | 380k | sum[9] = c0 >> 8u; |
346 | 380k | sum[10] = c0 >> 16u; |
347 | 380k | sum[11] = c0 >> 24u; |
348 | 380k | sum[12] = d0; |
349 | 380k | sum[13] = d0 >> 8u; |
350 | 380k | sum[14] = d0 >> 16u; |
351 | 380k | sum[15] = d0 >> 24u; |
352 | 380k | } encode.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Line | Count | Source | 264 | 2.95k | JXL_NO_SANITIZE("unsigned-integer-overflow") { | 265 | 2.95k | std::vector<uint8_t> data64 = data; | 266 | 2.95k | data64.push_back(128); | 267 | | // Add bytes such that ((size + 8) & 63) == 0. | 268 | 2.95k | size_t extra = ((64 - ((data64.size() + 8) & 63)) & 63); | 269 | 2.95k | data64.resize(data64.size() + extra, 0); | 270 | 26.5k | for (uint64_t i = 0; i < 64; i += 8) { | 271 | 23.6k | data64.push_back(static_cast<uint64_t>(data.size() << 3u) >> i); | 272 | 23.6k | } | 273 | | | 274 | 2.95k | static const uint32_t sineparts[64] = { | 275 | 2.95k | 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a, | 276 | 2.95k | 0xa8304613, 0xfd469501, 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be, | 277 | 2.95k | 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, 0xf61e2562, 0xc040b340, | 278 | 2.95k | 0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8, | 279 | 2.95k | 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8, | 280 | 2.95k | 0x676f02d9, 0x8d2a4c8a, 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c, | 281 | 2.95k | 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, 0x289b7ec6, 0xeaa127fa, | 282 | 2.95k | 0xd4ef3085, 0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665, | 283 | 2.95k | 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92, | 284 | 2.95k | 0xffeff47d, 0x85845dd1, 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1, | 285 | 2.95k | 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391, | 286 | 2.95k | }; | 287 | 2.95k | static const uint32_t shift[64] = { | 288 | 2.95k | 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, | 289 | 2.95k | 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, | 290 | 2.95k | 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, | 291 | 2.95k | 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, | 292 | 2.95k | }; | 293 | | | 294 | 2.95k | uint32_t a0 = 0x67452301; | 295 | 2.95k | uint32_t b0 = 0xefcdab89; | 296 | 2.95k | uint32_t c0 = 0x98badcfe; | 297 | 2.95k | uint32_t d0 = 0x10325476; | 298 | | | 299 | 28.9k | for (size_t i = 0; i < data64.size(); i += 64) { | 300 | 26.0k | uint32_t a = a0; | 301 | 26.0k | uint32_t b = b0; | 302 | 26.0k | uint32_t c = c0; | 303 | 26.0k | uint32_t d = d0; | 304 | 26.0k | uint32_t f; | 305 | 26.0k | uint32_t g; | 306 | 1.69M | for (size_t j = 0; j < 64; j++) { | 307 | 1.66M | if (j < 16) { | 308 | 416k | f = (b & c) | ((~b) & d); | 309 | 416k | g = j; | 310 | 1.24M | } else if (j < 32) { | 311 | 416k | f = (d & b) | ((~d) & c); | 312 | 416k | g = (5 * j + 1) & 0xf; | 313 | 832k | } else if (j < 48) { | 314 | 416k | f = b ^ c ^ d; | 315 | 416k | g = (3 * j + 5) & 0xf; | 316 | 416k | } else { | 317 | 416k | f = c ^ (b | (~d)); | 318 | 416k | g = (7 * j) & 0xf; | 319 | 416k | } | 320 | 1.66M | uint32_t dg0 = data64[i + g * 4 + 0]; | 321 | 1.66M | uint32_t dg1 = data64[i + g * 4 + 1]; | 322 | 1.66M | uint32_t dg2 = data64[i + g * 4 + 2]; | 323 | 1.66M | uint32_t dg3 = data64[i + g * 4 + 3]; | 324 | 1.66M | uint32_t u = dg0 | (dg1 << 8u) | (dg2 << 16u) | (dg3 << 24u); | 325 | 1.66M | f += a + sineparts[j] + u; | 326 | 1.66M | a = d; | 327 | 1.66M | d = c; | 328 | 1.66M | c = b; | 329 | 1.66M | b += (f << shift[j]) | (f >> (32u - shift[j])); | 330 | 1.66M | } | 331 | 26.0k | a0 += a; | 332 | 26.0k | b0 += b; | 333 | 26.0k | c0 += c; | 334 | 26.0k | d0 += d; | 335 | 26.0k | } | 336 | 2.95k | sum[0] = a0; | 337 | 2.95k | sum[1] = a0 >> 8u; | 338 | 2.95k | sum[2] = a0 >> 16u; | 339 | 2.95k | sum[3] = a0 >> 24u; | 340 | 2.95k | sum[4] = b0; | 341 | 2.95k | sum[5] = b0 >> 8u; | 342 | 2.95k | sum[6] = b0 >> 16u; | 343 | 2.95k | sum[7] = b0 >> 24u; | 344 | 2.95k | sum[8] = c0; | 345 | 2.95k | sum[9] = c0 >> 8u; | 346 | 2.95k | sum[10] = c0 >> 16u; | 347 | 2.95k | sum[11] = c0 >> 24u; | 348 | 2.95k | sum[12] = d0; | 349 | 2.95k | sum[13] = d0 >> 8u; | 350 | 2.95k | sum[14] = d0 >> 16u; | 351 | 2.95k | sum[15] = d0 >> 24u; | 352 | 2.95k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_ans.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_frame.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_modular.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_cache.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_group.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) color_encoding_internal.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Line | Count | Source | 264 | 377k | JXL_NO_SANITIZE("unsigned-integer-overflow") { | 265 | 377k | std::vector<uint8_t> data64 = data; | 266 | 377k | data64.push_back(128); | 267 | | // Add bytes such that ((size + 8) & 63) == 0. | 268 | 377k | size_t extra = ((64 - ((data64.size() + 8) & 63)) & 63); | 269 | 377k | data64.resize(data64.size() + extra, 0); | 270 | 3.40M | for (uint64_t i = 0; i < 64; i += 8) { | 271 | 3.02M | data64.push_back(static_cast<uint64_t>(data.size() << 3u) >> i); | 272 | 3.02M | } | 273 | | | 274 | 377k | static const uint32_t sineparts[64] = { | 275 | 377k | 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a, | 276 | 377k | 0xa8304613, 0xfd469501, 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be, | 277 | 377k | 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, 0xf61e2562, 0xc040b340, | 278 | 377k | 0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8, | 279 | 377k | 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8, | 280 | 377k | 0x676f02d9, 0x8d2a4c8a, 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c, | 281 | 377k | 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, 0x289b7ec6, 0xeaa127fa, | 282 | 377k | 0xd4ef3085, 0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665, | 283 | 377k | 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92, | 284 | 377k | 0xffeff47d, 0x85845dd1, 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1, | 285 | 377k | 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391, | 286 | 377k | }; | 287 | 377k | static const uint32_t shift[64] = { | 288 | 377k | 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, | 289 | 377k | 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, | 290 | 377k | 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, | 291 | 377k | 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, | 292 | 377k | }; | 293 | | | 294 | 377k | uint32_t a0 = 0x67452301; | 295 | 377k | uint32_t b0 = 0xefcdab89; | 296 | 377k | uint32_t c0 = 0x98badcfe; | 297 | 377k | uint32_t d0 = 0x10325476; | 298 | | | 299 | 3.77M | for (size_t i = 0; i < data64.size(); i += 64) { | 300 | 3.40M | uint32_t a = a0; | 301 | 3.40M | uint32_t b = b0; | 302 | 3.40M | uint32_t c = c0; | 303 | 3.40M | uint32_t d = d0; | 304 | 3.40M | uint32_t f; | 305 | 3.40M | uint32_t g; | 306 | 221M | for (size_t j = 0; j < 64; j++) { | 307 | 217M | if (j < 16) { | 308 | 54.4M | f = (b & c) | ((~b) & d); | 309 | 54.4M | g = j; | 310 | 163M | } else if (j < 32) { | 311 | 54.4M | f = (d & b) | ((~d) & c); | 312 | 54.4M | g = (5 * j + 1) & 0xf; | 313 | 108M | } else if (j < 48) { | 314 | 54.4M | f = b ^ c ^ d; | 315 | 54.4M | g = (3 * j + 5) & 0xf; | 316 | 54.4M | } else { | 317 | 54.4M | f = c ^ (b | (~d)); | 318 | 54.4M | g = (7 * j) & 0xf; | 319 | 54.4M | } | 320 | 217M | uint32_t dg0 = data64[i + g * 4 + 0]; | 321 | 217M | uint32_t dg1 = data64[i + g * 4 + 1]; | 322 | 217M | uint32_t dg2 = data64[i + g * 4 + 2]; | 323 | 217M | uint32_t dg3 = data64[i + g * 4 + 3]; | 324 | 217M | uint32_t u = dg0 | (dg1 << 8u) | (dg2 << 16u) | (dg3 << 24u); | 325 | 217M | f += a + sineparts[j] + u; | 326 | 217M | a = d; | 327 | 217M | d = c; | 328 | 217M | c = b; | 329 | 217M | b += (f << shift[j]) | (f >> (32u - shift[j])); | 330 | 217M | } | 331 | 3.40M | a0 += a; | 332 | 3.40M | b0 += b; | 333 | 3.40M | c0 += c; | 334 | 3.40M | d0 += d; | 335 | 3.40M | } | 336 | 377k | sum[0] = a0; | 337 | 377k | sum[1] = a0 >> 8u; | 338 | 377k | sum[2] = a0 >> 16u; | 339 | 377k | sum[3] = a0 >> 24u; | 340 | 377k | sum[4] = b0; | 341 | 377k | sum[5] = b0 >> 8u; | 342 | 377k | sum[6] = b0 >> 16u; | 343 | 377k | sum[7] = b0 >> 24u; | 344 | 377k | sum[8] = c0; | 345 | 377k | sum[9] = c0 >> 8u; | 346 | 377k | sum[10] = c0 >> 16u; | 347 | 377k | sum[11] = c0 >> 24u; | 348 | 377k | sum[12] = d0; | 349 | 377k | sum[13] = d0 >> 8u; | 350 | 377k | sum[14] = d0 >> 16u; | 351 | 377k | sum[15] = d0 >> 24u; | 352 | 377k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: dec_cache.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: blending.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: dec_frame.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: dec_group.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: dec_modular.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: dec_noise.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: decode.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: epf.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: frame_header.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: image_bundle.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: image_metadata.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: luminance.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: passes_state.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: quant_weights.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: stage_blending.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: stage_cms.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: stage_epf.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: stage_noise.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: stage_patches.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: stage_splines.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: stage_spot.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: stage_write.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ICCComputeMD5(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned char*) |
353 | | |
354 | 379k | static Status CreateICCChadMatrix(double wx, double wy, Matrix3x3& result) { |
355 | 379k | Matrix3x3 m; |
356 | 379k | if (wy == 0) { // WhitePoint can not be pitch-black. |
357 | 4 | return JXL_FAILURE("Invalid WhitePoint"); |
358 | 4 | } |
359 | 379k | JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, m)); |
360 | 379k | result = m; |
361 | 379k | return true; |
362 | 379k | } encode.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Line | Count | Source | 354 | 2.76k | static Status CreateICCChadMatrix(double wx, double wy, Matrix3x3& result) { | 355 | 2.76k | Matrix3x3 m; | 356 | 2.76k | if (wy == 0) { // WhitePoint can not be pitch-black. | 357 | 0 | return JXL_FAILURE("Invalid WhitePoint"); | 358 | 0 | } | 359 | 2.76k | JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, m)); | 360 | 2.76k | result = m; | 361 | 2.76k | return true; | 362 | 2.76k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) color_encoding_internal.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Line | Count | Source | 354 | 376k | static Status CreateICCChadMatrix(double wx, double wy, Matrix3x3& result) { | 355 | 376k | Matrix3x3 m; | 356 | 376k | if (wy == 0) { // WhitePoint can not be pitch-black. | 357 | 4 | return JXL_FAILURE("Invalid WhitePoint"); | 358 | 4 | } | 359 | 376k | JXL_RETURN_IF_ERROR(AdaptToXYZD50(wx, wy, m)); | 360 | 376k | result = m; | 361 | 376k | return true; | 362 | 376k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: blending.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: decode.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: epf.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCChadMatrix(double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) |
363 | | |
364 | | // Creates RGB to XYZ matrix given RGB primaries and white point in xy. |
365 | | static Status CreateICCRGBMatrix(double rx, double ry, double gx, double gy, |
366 | | double bx, double by, double wx, double wy, |
367 | 379k | Matrix3x3& result) { |
368 | 379k | Matrix3x3 m; |
369 | 379k | JXL_RETURN_IF_ERROR(PrimariesToXYZD50(rx, ry, gx, gy, bx, by, wx, wy, m)); |
370 | 379k | result = m; |
371 | 379k | return true; |
372 | 379k | } encode.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Line | Count | Source | 367 | 2.76k | Matrix3x3& result) { | 368 | 2.76k | Matrix3x3 m; | 369 | 2.76k | JXL_RETURN_IF_ERROR(PrimariesToXYZD50(rx, ry, gx, gy, bx, by, wx, wy, m)); | 370 | 2.76k | result = m; | 371 | 2.76k | return true; | 372 | 2.76k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) color_encoding_internal.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Line | Count | Source | 367 | 376k | Matrix3x3& result) { | 368 | 376k | Matrix3x3 m; | 369 | 376k | JXL_RETURN_IF_ERROR(PrimariesToXYZD50(rx, ry, gx, gy, bx, by, wx, wy, m)); | 370 | 376k | result = m; | 371 | 376k | return true; | 372 | 376k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: blending.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: decode.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: epf.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCRGBMatrix(double, double, double, double, double, double, double, double, std::__1::array<std::__1::array<float, 3ul>, 3ul>&) |
373 | | |
374 | | static void WriteICCUint32(uint32_t value, size_t pos, |
375 | 34.2M | std::vector<uint8_t>* icc) { |
376 | 34.2M | if (icc->size() < pos + 4) icc->resize(pos + 4); |
377 | 34.2M | (*icc)[pos + 0] = (value >> 24u) & 255; |
378 | 34.2M | (*icc)[pos + 1] = (value >> 16u) & 255; |
379 | 34.2M | (*icc)[pos + 2] = (value >> 8u) & 255; |
380 | 34.2M | (*icc)[pos + 3] = value & 255; |
381 | 34.2M | } encode.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 375 | 257k | std::vector<uint8_t>* icc) { | 376 | 257k | if (icc->size() < pos + 4) icc->resize(pos + 4); | 377 | 257k | (*icc)[pos + 0] = (value >> 24u) & 255; | 378 | 257k | (*icc)[pos + 1] = (value >> 16u) & 255; | 379 | 257k | (*icc)[pos + 2] = (value >> 8u) & 255; | 380 | 257k | (*icc)[pos + 3] = value & 255; | 381 | 257k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ans.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_modular.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_cache.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_group.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) color_encoding_internal.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 375 | 33.9M | std::vector<uint8_t>* icc) { | 376 | 33.9M | if (icc->size() < pos + 4) icc->resize(pos + 4); | 377 | 33.9M | (*icc)[pos + 0] = (value >> 24u) & 255; | 378 | 33.9M | (*icc)[pos + 1] = (value >> 16u) & 255; | 379 | 33.9M | (*icc)[pos + 2] = (value >> 8u) & 255; | 380 | 33.9M | (*icc)[pos + 3] = value & 255; | 381 | 33.9M | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_cache.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: blending.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_frame.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_group.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_modular.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_noise.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: epf.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: frame_header.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_bundle.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_metadata.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: luminance.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: passes_state.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: quant_weights.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_blending.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_cms.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_epf.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_noise.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_patches.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_splines.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_spot.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_write.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::WriteICCUint32(unsigned int, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) |
382 | | |
383 | | static void WriteICCUint16(uint16_t value, size_t pos, |
384 | 3.06M | std::vector<uint8_t>* icc) { |
385 | 3.06M | if (icc->size() < pos + 2) icc->resize(pos + 2); |
386 | 3.06M | (*icc)[pos + 0] = (value >> 8u) & 255; |
387 | 3.06M | (*icc)[pos + 1] = value & 255; |
388 | 3.06M | } encode.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 384 | 23.6k | std::vector<uint8_t>* icc) { | 385 | 23.6k | if (icc->size() < pos + 2) icc->resize(pos + 2); | 386 | 23.6k | (*icc)[pos + 0] = (value >> 8u) & 255; | 387 | 23.6k | (*icc)[pos + 1] = value & 255; | 388 | 23.6k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ans.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_modular.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_cache.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_group.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) color_encoding_internal.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 384 | 3.04M | std::vector<uint8_t>* icc) { | 385 | 3.04M | if (icc->size() < pos + 2) icc->resize(pos + 2); | 386 | 3.04M | (*icc)[pos + 0] = (value >> 8u) & 255; | 387 | 3.04M | (*icc)[pos + 1] = value & 255; | 388 | 3.04M | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_cache.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: blending.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_frame.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_group.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_modular.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_noise.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: epf.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: frame_header.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_bundle.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_metadata.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: luminance.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: passes_state.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: quant_weights.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_blending.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_cms.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_epf.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_noise.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_patches.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_splines.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_spot.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_write.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::WriteICCUint16(unsigned short, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) |
389 | | |
390 | | static void WriteICCUint8(uint8_t value, size_t pos, |
391 | 1.61M | std::vector<uint8_t>* icc) { |
392 | 1.61M | if (icc->size() < pos + 1) icc->resize(pos + 1); |
393 | 1.61M | (*icc)[pos] = value; |
394 | 1.61M | } encode.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 391 | 11.0k | std::vector<uint8_t>* icc) { | 392 | 11.0k | if (icc->size() < pos + 1) icc->resize(pos + 1); | 393 | 11.0k | (*icc)[pos] = value; | 394 | 11.0k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ans.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_modular.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_cache.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_group.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) color_encoding_internal.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 391 | 1.60M | std::vector<uint8_t>* icc) { | 392 | 1.60M | if (icc->size() < pos + 1) icc->resize(pos + 1); | 393 | 1.60M | (*icc)[pos] = value; | 394 | 1.60M | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_cache.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: blending.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_frame.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_group.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_modular.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_noise.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: epf.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: frame_header.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_bundle.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_metadata.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: luminance.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: passes_state.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: quant_weights.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_blending.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_cms.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_epf.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_noise.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_patches.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_splines.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_spot.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_write.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::WriteICCUint8(unsigned char, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) |
395 | | |
396 | | // Writes a 4-character tag |
397 | | static void WriteICCTag(const char* value, size_t pos, |
398 | 11.0M | std::vector<uint8_t>* icc) { |
399 | 11.0M | if (icc->size() < pos + 4) icc->resize(pos + 4); |
400 | 11.0M | memcpy(icc->data() + pos, value, 4); |
401 | 11.0M | } encode.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 398 | 83.4k | std::vector<uint8_t>* icc) { | 399 | 83.4k | if (icc->size() < pos + 4) icc->resize(pos + 4); | 400 | 83.4k | memcpy(icc->data() + pos, value, 4); | 401 | 83.4k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ans.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_modular.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_cache.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_group.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) color_encoding_internal.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 398 | 10.9M | std::vector<uint8_t>* icc) { | 399 | 10.9M | if (icc->size() < pos + 4) icc->resize(pos + 4); | 400 | 10.9M | memcpy(icc->data() + pos, value, 4); | 401 | 10.9M | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_cache.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: blending.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_frame.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_group.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_modular.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_noise.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: epf.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: frame_header.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_bundle.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_metadata.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: luminance.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: passes_state.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: quant_weights.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_blending.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_cms.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_epf.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_noise.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_patches.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_splines.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_spot.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_write.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::WriteICCTag(char const*, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) |
402 | | |
403 | | static Status WriteICCS15Fixed16(float value, size_t pos, |
404 | 9.87M | 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 | 9.87M | bool ok = (-32767.995f <= value) && (value <= 32767.995f); |
409 | 9.87M | if (!ok) return JXL_FAILURE("ICC value is out of range / NaN"); |
410 | 9.87M | int32_t i = static_cast<int32_t>(std::lround(value * 65536.0f)); |
411 | | // Use two's complement |
412 | 9.87M | uint32_t u = static_cast<uint32_t>(i); |
413 | 9.87M | WriteICCUint32(u, pos, icc); |
414 | 9.87M | return true; |
415 | 9.87M | } encode.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 404 | 73.4k | 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 | 73.4k | bool ok = (-32767.995f <= value) && (value <= 32767.995f); | 409 | 73.4k | if (!ok) return JXL_FAILURE("ICC value is out of range / NaN"); | 410 | 73.4k | int32_t i = static_cast<int32_t>(std::lround(value * 65536.0f)); | 411 | | // Use two's complement | 412 | 73.4k | uint32_t u = static_cast<uint32_t>(i); | 413 | 73.4k | WriteICCUint32(u, pos, icc); | 414 | 73.4k | return true; | 415 | 73.4k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ans.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_modular.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_cache.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_group.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) color_encoding_internal.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 404 | 9.80M | std::vector<uint8_t>* icc) { | 405 | | // "nextafterf" for 32768.0f towards zero are: | 406 | | // 32767.998046875, 32767.99609375, 32767.994140625 | 407 | | // Even the first value works well,... | 408 | 9.80M | bool ok = (-32767.995f <= value) && (value <= 32767.995f); | 409 | 9.80M | if (!ok) return JXL_FAILURE("ICC value is out of range / NaN"); | 410 | 9.80M | int32_t i = static_cast<int32_t>(std::lround(value * 65536.0f)); | 411 | | // Use two's complement | 412 | 9.80M | uint32_t u = static_cast<uint32_t>(i); | 413 | 9.80M | WriteICCUint32(u, pos, icc); | 414 | 9.80M | return true; | 415 | 9.80M | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_cache.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: blending.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_frame.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_group.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_modular.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_noise.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: epf.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: frame_header.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_bundle.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_metadata.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: luminance.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: passes_state.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: quant_weights.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_blending.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_cms.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_epf.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_noise.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_patches.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_splines.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_spot.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_write.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::WriteICCS15Fixed16(float, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) |
416 | | |
417 | | static Status CreateICCHeader(const JxlColorEncoding& c, |
418 | 380k | std::vector<uint8_t>* header) { |
419 | | // TODO(lode): choose color management engine name, e.g. "skia" if |
420 | | // integrated in skia. |
421 | 380k | static const char* kCmm = "jxl "; |
422 | | |
423 | 380k | header->resize(128, 0); |
424 | | |
425 | 380k | WriteICCUint32(0, 0, header); // size, correct value filled in at end |
426 | 380k | WriteICCTag(kCmm, 4, header); |
427 | 380k | WriteICCUint32(0x04400000u, 8, header); |
428 | 380k | const char* profile_type = |
429 | 380k | c.color_space == JXL_COLOR_SPACE_XYB ? "scnr" : "mntr"; |
430 | 380k | WriteICCTag(profile_type, 12, header); |
431 | 380k | WriteICCTag(c.color_space == JXL_COLOR_SPACE_GRAY ? "GRAY" : "RGB ", 16, |
432 | 380k | header); |
433 | 380k | 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 | 26 | WriteICCTag("Lab ", 20, header); |
439 | 380k | } else { |
440 | 380k | WriteICCTag("XYZ ", 20, header); |
441 | 380k | } |
442 | | |
443 | | // Three uint32_t's date/time encoding. |
444 | | // TODO(lode): encode actual date and time, this is a placeholder |
445 | 380k | uint32_t year = 2019; |
446 | 380k | uint32_t month = 12; |
447 | 380k | uint32_t day = 1; |
448 | 380k | uint32_t hour = 0; |
449 | 380k | uint32_t minute = 0; |
450 | 380k | uint32_t second = 0; |
451 | 380k | WriteICCUint16(year, 24, header); |
452 | 380k | WriteICCUint16(month, 26, header); |
453 | 380k | WriteICCUint16(day, 28, header); |
454 | 380k | WriteICCUint16(hour, 30, header); |
455 | 380k | WriteICCUint16(minute, 32, header); |
456 | 380k | WriteICCUint16(second, 34, header); |
457 | | |
458 | 380k | WriteICCTag("acsp", 36, header); |
459 | 380k | WriteICCTag("APPL", 40, header); |
460 | 380k | WriteICCUint32(0, 44, header); // flags |
461 | 380k | WriteICCUint32(0, 48, header); // device manufacturer |
462 | 380k | WriteICCUint32(0, 52, header); // device model |
463 | 380k | WriteICCUint32(0, 56, header); // device attributes |
464 | 380k | WriteICCUint32(0, 60, header); // device attributes |
465 | 380k | WriteICCUint32(static_cast<uint32_t>(c.rendering_intent), 64, header); |
466 | | |
467 | | // Mandatory D50 white point of profile connection space |
468 | 380k | WriteICCUint32(0x0000f6d6, 68, header); |
469 | 380k | WriteICCUint32(0x00010000, 72, header); |
470 | 380k | WriteICCUint32(0x0000d32d, 76, header); |
471 | | |
472 | 380k | WriteICCTag(kCmm, 80, header); |
473 | | |
474 | 380k | return true; |
475 | 380k | } encode.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 418 | 2.95k | std::vector<uint8_t>* header) { | 419 | | // TODO(lode): choose color management engine name, e.g. "skia" if | 420 | | // integrated in skia. | 421 | 2.95k | static const char* kCmm = "jxl "; | 422 | | | 423 | 2.95k | header->resize(128, 0); | 424 | | | 425 | 2.95k | WriteICCUint32(0, 0, header); // size, correct value filled in at end | 426 | 2.95k | WriteICCTag(kCmm, 4, header); | 427 | 2.95k | WriteICCUint32(0x04400000u, 8, header); | 428 | 2.95k | const char* profile_type = | 429 | 2.95k | c.color_space == JXL_COLOR_SPACE_XYB ? "scnr" : "mntr"; | 430 | 2.95k | WriteICCTag(profile_type, 12, header); | 431 | 2.95k | WriteICCTag(c.color_space == JXL_COLOR_SPACE_GRAY ? "GRAY" : "RGB ", 16, | 432 | 2.95k | header); | 433 | 2.95k | if (kEnable3DToneMapping && CanToneMap(c)) { | 434 | | // We are going to use a 3D LUT for tone mapping, which will be more compact | 435 | | // with an 8-bit LUT to CIELAB than with a 16-bit LUT to XYZ. 8-bit XYZ | 436 | | // would not be viable due to XYZ being linear, whereas it is fine with | 437 | | // CIELAB's ~cube root. | 438 | 0 | WriteICCTag("Lab ", 20, header); | 439 | 2.95k | } else { | 440 | 2.95k | WriteICCTag("XYZ ", 20, header); | 441 | 2.95k | } | 442 | | | 443 | | // Three uint32_t's date/time encoding. | 444 | | // TODO(lode): encode actual date and time, this is a placeholder | 445 | 2.95k | uint32_t year = 2019; | 446 | 2.95k | uint32_t month = 12; | 447 | 2.95k | uint32_t day = 1; | 448 | 2.95k | uint32_t hour = 0; | 449 | 2.95k | uint32_t minute = 0; | 450 | 2.95k | uint32_t second = 0; | 451 | 2.95k | WriteICCUint16(year, 24, header); | 452 | 2.95k | WriteICCUint16(month, 26, header); | 453 | 2.95k | WriteICCUint16(day, 28, header); | 454 | 2.95k | WriteICCUint16(hour, 30, header); | 455 | 2.95k | WriteICCUint16(minute, 32, header); | 456 | 2.95k | WriteICCUint16(second, 34, header); | 457 | | | 458 | 2.95k | WriteICCTag("acsp", 36, header); | 459 | 2.95k | WriteICCTag("APPL", 40, header); | 460 | 2.95k | WriteICCUint32(0, 44, header); // flags | 461 | 2.95k | WriteICCUint32(0, 48, header); // device manufacturer | 462 | 2.95k | WriteICCUint32(0, 52, header); // device model | 463 | 2.95k | WriteICCUint32(0, 56, header); // device attributes | 464 | 2.95k | WriteICCUint32(0, 60, header); // device attributes | 465 | 2.95k | WriteICCUint32(static_cast<uint32_t>(c.rendering_intent), 64, header); | 466 | | | 467 | | // Mandatory D50 white point of profile connection space | 468 | 2.95k | WriteICCUint32(0x0000f6d6, 68, header); | 469 | 2.95k | WriteICCUint32(0x00010000, 72, header); | 470 | 2.95k | WriteICCUint32(0x0000d32d, 76, header); | 471 | | | 472 | 2.95k | WriteICCTag(kCmm, 80, header); | 473 | | | 474 | 2.95k | return true; | 475 | 2.95k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) color_encoding_internal.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 418 | 378k | std::vector<uint8_t>* header) { | 419 | | // TODO(lode): choose color management engine name, e.g. "skia" if | 420 | | // integrated in skia. | 421 | 378k | static const char* kCmm = "jxl "; | 422 | | | 423 | 378k | header->resize(128, 0); | 424 | | | 425 | 378k | WriteICCUint32(0, 0, header); // size, correct value filled in at end | 426 | 378k | WriteICCTag(kCmm, 4, header); | 427 | 378k | WriteICCUint32(0x04400000u, 8, header); | 428 | 378k | const char* profile_type = | 429 | 378k | c.color_space == JXL_COLOR_SPACE_XYB ? "scnr" : "mntr"; | 430 | 378k | WriteICCTag(profile_type, 12, header); | 431 | 378k | WriteICCTag(c.color_space == JXL_COLOR_SPACE_GRAY ? "GRAY" : "RGB ", 16, | 432 | 378k | header); | 433 | 378k | 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 | 26 | WriteICCTag("Lab ", 20, header); | 439 | 378k | } else { | 440 | 378k | WriteICCTag("XYZ ", 20, header); | 441 | 378k | } | 442 | | | 443 | | // Three uint32_t's date/time encoding. | 444 | | // TODO(lode): encode actual date and time, this is a placeholder | 445 | 378k | uint32_t year = 2019; | 446 | 378k | uint32_t month = 12; | 447 | 378k | uint32_t day = 1; | 448 | 378k | uint32_t hour = 0; | 449 | 378k | uint32_t minute = 0; | 450 | 378k | uint32_t second = 0; | 451 | 378k | WriteICCUint16(year, 24, header); | 452 | 378k | WriteICCUint16(month, 26, header); | 453 | 378k | WriteICCUint16(day, 28, header); | 454 | 378k | WriteICCUint16(hour, 30, header); | 455 | 378k | WriteICCUint16(minute, 32, header); | 456 | 378k | WriteICCUint16(second, 34, header); | 457 | | | 458 | 378k | WriteICCTag("acsp", 36, header); | 459 | 378k | WriteICCTag("APPL", 40, header); | 460 | 378k | WriteICCUint32(0, 44, header); // flags | 461 | 378k | WriteICCUint32(0, 48, header); // device manufacturer | 462 | 378k | WriteICCUint32(0, 52, header); // device model | 463 | 378k | WriteICCUint32(0, 56, header); // device attributes | 464 | 378k | WriteICCUint32(0, 60, header); // device attributes | 465 | 378k | WriteICCUint32(static_cast<uint32_t>(c.rendering_intent), 64, header); | 466 | | | 467 | | // Mandatory D50 white point of profile connection space | 468 | 378k | WriteICCUint32(0x0000f6d6, 68, header); | 469 | 378k | WriteICCUint32(0x00010000, 72, header); | 470 | 378k | WriteICCUint32(0x0000d32d, 76, header); | 471 | | | 472 | 378k | WriteICCTag(kCmm, 80, header); | 473 | | | 474 | 378k | return true; | 475 | 378k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: blending.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: epf.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCHeader(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) |
476 | | |
477 | | static void AddToICCTagTable(const char* tag, size_t offset, size_t size, |
478 | | std::vector<uint8_t>* tagtable, |
479 | 4.17M | std::vector<size_t>* offsets) { |
480 | 4.17M | WriteICCTag(tag, tagtable->size(), tagtable); |
481 | | // writing true offset deferred to later |
482 | 4.17M | WriteICCUint32(0, tagtable->size(), tagtable); |
483 | 4.17M | offsets->push_back(offset); |
484 | 4.17M | WriteICCUint32(size, tagtable->size(), tagtable); |
485 | 4.17M | } 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 | 31.1k | std::vector<size_t>* offsets) { | 480 | 31.1k | WriteICCTag(tag, tagtable->size(), tagtable); | 481 | | // writing true offset deferred to later | 482 | 31.1k | WriteICCUint32(0, tagtable->size(), tagtable); | 483 | 31.1k | offsets->push_back(offset); | 484 | 31.1k | WriteICCUint32(size, tagtable->size(), tagtable); | 485 | 31.1k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_ans.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_frame.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_modular.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_cache.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_group.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) color_encoding_internal.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Line | Count | Source | 479 | 4.14M | std::vector<size_t>* offsets) { | 480 | 4.14M | WriteICCTag(tag, tagtable->size(), tagtable); | 481 | | // writing true offset deferred to later | 482 | 4.14M | WriteICCUint32(0, tagtable->size(), tagtable); | 483 | 4.14M | offsets->push_back(offset); | 484 | 4.14M | WriteICCUint32(size, tagtable->size(), tagtable); | 485 | 4.14M | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: dec_cache.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: blending.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: dec_frame.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: dec_group.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: dec_modular.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: dec_noise.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: decode.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: epf.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: frame_header.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: image_bundle.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: image_metadata.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: luminance.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: passes_state.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: quant_weights.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_blending.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_cms.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_epf.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_noise.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_patches.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_splines.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_spot.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_write.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::AddToICCTagTable(char const*, unsigned long, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) |
486 | | |
487 | | static void FinalizeICCTag(std::vector<uint8_t>* tags, size_t* offset, |
488 | 3.41M | size_t* size) { |
489 | 4.18M | while ((tags->size() & 3) != 0) { |
490 | 765k | tags->push_back(0); |
491 | 765k | } |
492 | 3.41M | *offset += *size; |
493 | 3.41M | *size = tags->size() - *offset; |
494 | 3.41M | } encode.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Line | Count | Source | 488 | 25.6k | size_t* size) { | 489 | 31.9k | while ((tags->size() & 3) != 0) { | 490 | 6.29k | tags->push_back(0); | 491 | 6.29k | } | 492 | 25.6k | *offset += *size; | 493 | 25.6k | *size = tags->size() - *offset; | 494 | 25.6k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_ans.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_frame.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_modular.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_cache.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_group.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) color_encoding_internal.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Line | Count | Source | 488 | 3.39M | size_t* size) { | 489 | 4.15M | while ((tags->size() & 3) != 0) { | 490 | 759k | tags->push_back(0); | 491 | 759k | } | 492 | 3.39M | *offset += *size; | 493 | 3.39M | *size = tags->size() - *offset; | 494 | 3.39M | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: dec_cache.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: blending.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: dec_frame.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: dec_group.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: dec_modular.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: dec_noise.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: decode.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: epf.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: frame_header.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: image_bundle.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: image_metadata.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: luminance.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: passes_state.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: quant_weights.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: stage_blending.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: stage_cms.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: stage_epf.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: stage_noise.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: stage_patches.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: stage_splines.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: stage_spot.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: stage_write.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::FinalizeICCTag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*) |
495 | | |
496 | | // The input text must be ASCII, writing other characters to UTF-16 is not |
497 | | // implemented. |
498 | | static void CreateICCMlucTag(const std::string& text, |
499 | 761k | std::vector<uint8_t>* tags) { |
500 | 761k | WriteICCTag("mluc", tags->size(), tags); |
501 | 761k | WriteICCUint32(0, tags->size(), tags); |
502 | 761k | WriteICCUint32(1, tags->size(), tags); |
503 | 761k | WriteICCUint32(12, tags->size(), tags); |
504 | 761k | WriteICCTag("enUS", tags->size(), tags); |
505 | 761k | WriteICCUint32(text.size() * 2, tags->size(), tags); |
506 | 761k | WriteICCUint32(28, tags->size(), tags); |
507 | 2.71M | for (char c : text) { |
508 | 2.71M | tags->push_back(0); // prepend 0 for UTF-16 |
509 | 2.71M | tags->push_back(c); |
510 | 2.71M | } |
511 | 761k | } 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 | 5.90k | std::vector<uint8_t>* tags) { | 500 | 5.90k | WriteICCTag("mluc", tags->size(), tags); | 501 | 5.90k | WriteICCUint32(0, tags->size(), tags); | 502 | 5.90k | WriteICCUint32(1, tags->size(), tags); | 503 | 5.90k | WriteICCUint32(12, tags->size(), tags); | 504 | 5.90k | WriteICCTag("enUS", tags->size(), tags); | 505 | 5.90k | WriteICCUint32(text.size() * 2, tags->size(), tags); | 506 | 5.90k | WriteICCUint32(28, tags->size(), tags); | 507 | 22.8k | for (char c : text) { | 508 | 22.8k | tags->push_back(0); // prepend 0 for UTF-16 | 509 | 22.8k | tags->push_back(c); | 510 | 22.8k | } | 511 | 5.90k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) color_encoding_internal.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 499 | 756k | std::vector<uint8_t>* tags) { | 500 | 756k | WriteICCTag("mluc", tags->size(), tags); | 501 | 756k | WriteICCUint32(0, tags->size(), tags); | 502 | 756k | WriteICCUint32(1, tags->size(), tags); | 503 | 756k | WriteICCUint32(12, tags->size(), tags); | 504 | 756k | WriteICCTag("enUS", tags->size(), tags); | 505 | 756k | WriteICCUint32(text.size() * 2, tags->size(), tags); | 506 | 756k | WriteICCUint32(28, tags->size(), tags); | 507 | 2.69M | for (char c : text) { | 508 | 2.69M | tags->push_back(0); // prepend 0 for UTF-16 | 509 | 2.69M | tags->push_back(c); | 510 | 2.69M | } | 511 | 756k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: blending.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: epf.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCMlucTag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) |
512 | | |
513 | 1.51M | static Status CreateICCXYZTag(const Color& xyz, std::vector<uint8_t>* tags) { |
514 | 1.51M | WriteICCTag("XYZ ", tags->size(), tags); |
515 | 1.51M | WriteICCUint32(0, tags->size(), tags); |
516 | 6.07M | for (size_t i = 0; i < 3; ++i) { |
517 | 4.55M | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(xyz[i], tags->size(), tags)); |
518 | 4.55M | } |
519 | 1.51M | return true; |
520 | 1.51M | } 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 | 11.2k | static Status CreateICCXYZTag(const Color& xyz, std::vector<uint8_t>* tags) { | 514 | 11.2k | WriteICCTag("XYZ ", tags->size(), tags); | 515 | 11.2k | WriteICCUint32(0, tags->size(), tags); | 516 | 45.0k | for (size_t i = 0; i < 3; ++i) { | 517 | 33.7k | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(xyz[i], tags->size(), tags)); | 518 | 33.7k | } | 519 | 11.2k | return true; | 520 | 11.2k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) color_encoding_internal.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 513 | 1.50M | static Status CreateICCXYZTag(const Color& xyz, std::vector<uint8_t>* tags) { | 514 | 1.50M | WriteICCTag("XYZ ", tags->size(), tags); | 515 | 1.50M | WriteICCUint32(0, tags->size(), tags); | 516 | 6.02M | for (size_t i = 0; i < 3; ++i) { | 517 | 4.52M | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(xyz[i], tags->size(), tags)); | 518 | 4.52M | } | 519 | 1.50M | return true; | 520 | 1.50M | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: blending.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: epf.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCXYZTag(std::__1::array<float, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) |
521 | | |
522 | | static Status CreateICCChadTag(const Matrix3x3& chad, |
523 | 379k | std::vector<uint8_t>* tags) { |
524 | 379k | WriteICCTag("sf32", tags->size(), tags); |
525 | 379k | WriteICCUint32(0, tags->size(), tags); |
526 | 1.51M | for (size_t j = 0; j < 3; j++) { |
527 | 4.55M | for (size_t i = 0; i < 3; i++) { |
528 | 3.41M | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(chad[j][i], tags->size(), tags)); |
529 | 3.41M | } |
530 | 1.13M | } |
531 | 379k | return true; |
532 | 379k | } encode.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 523 | 2.76k | std::vector<uint8_t>* tags) { | 524 | 2.76k | WriteICCTag("sf32", tags->size(), tags); | 525 | 2.76k | WriteICCUint32(0, tags->size(), tags); | 526 | 11.0k | for (size_t j = 0; j < 3; j++) { | 527 | 33.2k | for (size_t i = 0; i < 3; i++) { | 528 | 24.9k | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(chad[j][i], tags->size(), tags)); | 529 | 24.9k | } | 530 | 8.30k | } | 531 | 2.76k | return true; | 532 | 2.76k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) color_encoding_internal.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 523 | 376k | std::vector<uint8_t>* tags) { | 524 | 376k | WriteICCTag("sf32", tags->size(), tags); | 525 | 376k | WriteICCUint32(0, tags->size(), tags); | 526 | 1.50M | for (size_t j = 0; j < 3; j++) { | 527 | 4.51M | for (size_t i = 0; i < 3; i++) { | 528 | 3.38M | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(chad[j][i], tags->size(), tags)); | 529 | 3.38M | } | 530 | 1.12M | } | 531 | 376k | return true; | 532 | 376k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: blending.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: epf.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCChadTag(std::__1::array<std::__1::array<float, 3ul>, 3ul> const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) |
533 | | |
534 | | static void MaybeCreateICCCICPTag(const JxlColorEncoding& c, |
535 | | std::vector<uint8_t>* tags, size_t* offset, |
536 | | size_t* size, std::vector<uint8_t>* tagtable, |
537 | 379k | std::vector<size_t>* offsets) { |
538 | 379k | if (c.color_space != JXL_COLOR_SPACE_RGB) { |
539 | 0 | return; |
540 | 0 | } |
541 | 379k | uint8_t primaries = 0; |
542 | 379k | if (c.primaries == JXL_PRIMARIES_P3) { |
543 | 28 | if (c.white_point == JXL_WHITE_POINT_D65) { |
544 | 14 | primaries = 12; |
545 | 14 | } else if (c.white_point == JXL_WHITE_POINT_DCI) { |
546 | 6 | primaries = 11; |
547 | 8 | } else { |
548 | 8 | return; |
549 | 8 | } |
550 | 379k | } else if (c.primaries != JXL_PRIMARIES_CUSTOM && |
551 | 378k | c.white_point == JXL_WHITE_POINT_D65) { |
552 | 378k | primaries = static_cast<uint8_t>(c.primaries); |
553 | 378k | } else { |
554 | 446 | return; |
555 | 446 | } |
556 | 378k | JxlTransferFunction tf = c.transfer_function; |
557 | 378k | if (tf == JXL_TRANSFER_FUNCTION_UNKNOWN || |
558 | 378k | tf == JXL_TRANSFER_FUNCTION_GAMMA) { |
559 | 46 | return; |
560 | 46 | } |
561 | 378k | WriteICCTag("cicp", tags->size(), tags); |
562 | 378k | WriteICCUint32(0, tags->size(), tags); |
563 | 378k | WriteICCUint8(primaries, tags->size(), tags); |
564 | 378k | WriteICCUint8(static_cast<uint8_t>(tf), tags->size(), tags); |
565 | | // Matrix |
566 | 378k | WriteICCUint8(0, tags->size(), tags); |
567 | | // Full range |
568 | 378k | WriteICCUint8(1, tags->size(), tags); |
569 | 378k | FinalizeICCTag(tags, offset, size); |
570 | 378k | AddToICCTagTable("cicp", *offset, *size, tagtable, offsets); |
571 | 378k | } encode.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Line | Count | Source | 537 | 2.76k | std::vector<size_t>* offsets) { | 538 | 2.76k | if (c.color_space != JXL_COLOR_SPACE_RGB) { | 539 | 0 | return; | 540 | 0 | } | 541 | 2.76k | uint8_t primaries = 0; | 542 | 2.76k | if (c.primaries == JXL_PRIMARIES_P3) { | 543 | 0 | if (c.white_point == JXL_WHITE_POINT_D65) { | 544 | 0 | primaries = 12; | 545 | 0 | } else if (c.white_point == JXL_WHITE_POINT_DCI) { | 546 | 0 | primaries = 11; | 547 | 0 | } else { | 548 | 0 | return; | 549 | 0 | } | 550 | 2.76k | } else if (c.primaries != JXL_PRIMARIES_CUSTOM && | 551 | 2.76k | c.white_point == JXL_WHITE_POINT_D65) { | 552 | 2.76k | primaries = static_cast<uint8_t>(c.primaries); | 553 | 2.76k | } else { | 554 | 0 | return; | 555 | 0 | } | 556 | 2.76k | JxlTransferFunction tf = c.transfer_function; | 557 | 2.76k | if (tf == JXL_TRANSFER_FUNCTION_UNKNOWN || | 558 | 2.76k | tf == JXL_TRANSFER_FUNCTION_GAMMA) { | 559 | 0 | return; | 560 | 0 | } | 561 | 2.76k | WriteICCTag("cicp", tags->size(), tags); | 562 | 2.76k | WriteICCUint32(0, tags->size(), tags); | 563 | 2.76k | WriteICCUint8(primaries, tags->size(), tags); | 564 | 2.76k | WriteICCUint8(static_cast<uint8_t>(tf), tags->size(), tags); | 565 | | // Matrix | 566 | 2.76k | WriteICCUint8(0, tags->size(), tags); | 567 | | // Full range | 568 | 2.76k | WriteICCUint8(1, tags->size(), tags); | 569 | 2.76k | FinalizeICCTag(tags, offset, size); | 570 | 2.76k | AddToICCTagTable("cicp", *offset, *size, tagtable, offsets); | 571 | 2.76k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_ans.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_frame.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_modular.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_cache.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_group.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) color_encoding_internal.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Line | Count | Source | 537 | 376k | std::vector<size_t>* offsets) { | 538 | 376k | if (c.color_space != JXL_COLOR_SPACE_RGB) { | 539 | 0 | return; | 540 | 0 | } | 541 | 376k | uint8_t primaries = 0; | 542 | 376k | if (c.primaries == JXL_PRIMARIES_P3) { | 543 | 28 | if (c.white_point == JXL_WHITE_POINT_D65) { | 544 | 14 | primaries = 12; | 545 | 14 | } else if (c.white_point == JXL_WHITE_POINT_DCI) { | 546 | 6 | primaries = 11; | 547 | 8 | } else { | 548 | 8 | return; | 549 | 8 | } | 550 | 376k | } else if (c.primaries != JXL_PRIMARIES_CUSTOM && | 551 | 376k | c.white_point == JXL_WHITE_POINT_D65) { | 552 | 375k | primaries = static_cast<uint8_t>(c.primaries); | 553 | 375k | } else { | 554 | 446 | return; | 555 | 446 | } | 556 | 375k | JxlTransferFunction tf = c.transfer_function; | 557 | 375k | if (tf == JXL_TRANSFER_FUNCTION_UNKNOWN || | 558 | 375k | tf == JXL_TRANSFER_FUNCTION_GAMMA) { | 559 | 46 | return; | 560 | 46 | } | 561 | 375k | WriteICCTag("cicp", tags->size(), tags); | 562 | 375k | WriteICCUint32(0, tags->size(), tags); | 563 | 375k | WriteICCUint8(primaries, tags->size(), tags); | 564 | 375k | WriteICCUint8(static_cast<uint8_t>(tf), tags->size(), tags); | 565 | | // Matrix | 566 | 375k | WriteICCUint8(0, tags->size(), tags); | 567 | | // Full range | 568 | 375k | WriteICCUint8(1, tags->size(), tags); | 569 | 375k | FinalizeICCTag(tags, offset, size); | 570 | 375k | AddToICCTagTable("cicp", *offset, *size, tagtable, offsets); | 571 | 375k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: dec_cache.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: blending.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: dec_frame.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: dec_group.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: dec_modular.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: dec_noise.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: decode.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: epf.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: frame_header.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: image_bundle.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: image_metadata.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: luminance.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: passes_state.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: quant_weights.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_blending.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_cms.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_epf.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_noise.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_patches.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_splines.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_spot.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_write.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::MaybeCreateICCCICPTag(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, unsigned long*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*) |
572 | | |
573 | | static void CreateICCCurvCurvTag(const std::vector<uint16_t>& curve, |
574 | 240 | std::vector<uint8_t>* tags) { |
575 | 240 | size_t pos = tags->size(); |
576 | 240 | tags->resize(tags->size() + 12 + curve.size() * 2, 0); |
577 | 240 | WriteICCTag("curv", pos, tags); |
578 | 240 | WriteICCUint32(0, pos + 4, tags); |
579 | 240 | WriteICCUint32(curve.size(), pos + 8, tags); |
580 | 15.6k | for (size_t i = 0; i < curve.size(); i++) { |
581 | 15.3k | WriteICCUint16(curve[i], pos + 12 + i * 2, tags); |
582 | 15.3k | } |
583 | 240 | } Unexecuted instantiation: encode.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) color_encoding_internal.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 574 | 240 | std::vector<uint8_t>* tags) { | 575 | 240 | size_t pos = tags->size(); | 576 | 240 | tags->resize(tags->size() + 12 + curve.size() * 2, 0); | 577 | 240 | WriteICCTag("curv", pos, tags); | 578 | 240 | WriteICCUint32(0, pos + 4, tags); | 579 | 240 | WriteICCUint32(curve.size(), pos + 8, tags); | 580 | 15.6k | for (size_t i = 0; i < curve.size(); i++) { | 581 | 15.3k | WriteICCUint16(curve[i], pos + 12 + i * 2, tags); | 582 | 15.3k | } | 583 | 240 | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: blending.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: epf.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCCurvCurvTag(std::__1::vector<unsigned short, std::__1::allocator<unsigned short> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) |
584 | | |
585 | | // Writes 12 + 4*params.size() bytes |
586 | | static Status CreateICCCurvParaTag(const std::vector<float>& params, |
587 | | size_t curve_type, |
588 | 381k | std::vector<uint8_t>* tags) { |
589 | 381k | WriteICCTag("para", tags->size(), tags); |
590 | 381k | WriteICCUint32(0, tags->size(), tags); |
591 | 381k | WriteICCUint16(curve_type, tags->size(), tags); |
592 | 381k | WriteICCUint16(0, tags->size(), tags); |
593 | 1.90M | for (float param : params) { |
594 | 1.90M | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(param, tags->size(), tags)); |
595 | 1.90M | } |
596 | 381k | return true; |
597 | 381k | } 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 | 2.95k | std::vector<uint8_t>* tags) { | 589 | 2.95k | WriteICCTag("para", tags->size(), tags); | 590 | 2.95k | WriteICCUint32(0, tags->size(), tags); | 591 | 2.95k | WriteICCUint16(curve_type, tags->size(), tags); | 592 | 2.95k | WriteICCUint16(0, tags->size(), tags); | 593 | 14.7k | for (float param : params) { | 594 | 14.7k | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(param, tags->size(), tags)); | 595 | 14.7k | } | 596 | 2.95k | return true; | 597 | 2.95k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) color_encoding_internal.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 588 | 378k | std::vector<uint8_t>* tags) { | 589 | 378k | WriteICCTag("para", tags->size(), tags); | 590 | 378k | WriteICCUint32(0, tags->size(), tags); | 591 | 378k | WriteICCUint16(curve_type, tags->size(), tags); | 592 | 378k | WriteICCUint16(0, tags->size(), tags); | 593 | 1.88M | for (float param : params) { | 594 | 1.88M | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(param, tags->size(), tags)); | 595 | 1.88M | } | 596 | 378k | return true; | 597 | 378k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: blending.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: epf.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCCurvParaTag(std::__1::vector<float, std::__1::allocator<float> > const&, unsigned long, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) |
598 | | |
599 | 85 | static Status CreateICCLutAtoBTagForXYB(std::vector<uint8_t>* tags) { |
600 | 85 | WriteICCTag("mAB ", tags->size(), tags); |
601 | | // 4 reserved bytes set to 0 |
602 | 85 | WriteICCUint32(0, tags->size(), tags); |
603 | | // number of input channels |
604 | 85 | WriteICCUint8(3, tags->size(), tags); |
605 | | // number of output channels |
606 | 85 | WriteICCUint8(3, tags->size(), tags); |
607 | | // 2 reserved bytes for padding |
608 | 85 | WriteICCUint16(0, tags->size(), tags); |
609 | | // offset to first B curve |
610 | 85 | WriteICCUint32(32, tags->size(), tags); |
611 | | // offset to matrix |
612 | 85 | WriteICCUint32(244, tags->size(), tags); |
613 | | // offset to first M curve |
614 | 85 | WriteICCUint32(148, tags->size(), tags); |
615 | | // offset to CLUT |
616 | 85 | WriteICCUint32(80, tags->size(), tags); |
617 | | // offset to first A curve |
618 | | // (reuse linear B curves) |
619 | 85 | WriteICCUint32(32, tags->size(), tags); |
620 | | |
621 | | // offset = 32 |
622 | | // no-op curves |
623 | 85 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); |
624 | 85 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); |
625 | 85 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); |
626 | | // offset = 80 |
627 | | // number of grid points for each input channel |
628 | 1.44k | for (int i = 0; i < 16; ++i) { |
629 | 1.36k | WriteICCUint8(i < 3 ? 2 : 0, tags->size(), tags); |
630 | 1.36k | } |
631 | | // precision = 2 |
632 | 85 | WriteICCUint8(2, tags->size(), tags); |
633 | | // 3 bytes of padding |
634 | 85 | WriteICCUint8(0, tags->size(), tags); |
635 | 85 | WriteICCUint16(0, tags->size(), tags); |
636 | | // 2*2*2*3 entries of 2 bytes each = 48 bytes |
637 | 85 | const jxl::cms::ColorCube3D& cube = jxl::cms::UnscaledA2BCube(); |
638 | 255 | for (size_t ix = 0; ix < 2; ++ix) { |
639 | 510 | for (size_t iy = 0; iy < 2; ++iy) { |
640 | 1.02k | for (size_t ib = 0; ib < 2; ++ib) { |
641 | 680 | const jxl::cms::ColorCube0D& out_f = cube[ix][iy][ib]; |
642 | 2.72k | for (int i = 0; i < 3; ++i) { |
643 | 2.04k | int32_t val = static_cast<int32_t>(std::lroundf(65535 * out_f[i])); |
644 | 2.04k | JXL_DASSERT(val >= 0 && val <= 65535); |
645 | 2.04k | WriteICCUint16(val, tags->size(), tags); |
646 | 2.04k | } |
647 | 680 | } |
648 | 340 | } |
649 | 170 | } |
650 | | // offset = 148 |
651 | | // 3 curves with 5 parameters = 3 * (12 + 5 * 4) = 96 bytes |
652 | 340 | for (size_t i = 0; i < 3; ++i) { |
653 | 255 | const float b = -jxl::cms::kXYBOffset[i] - |
654 | 255 | std::cbrt(jxl::cms::kNegOpsinAbsorbanceBiasRGB[i]); |
655 | 255 | std::vector<float> params = { |
656 | 255 | 3, |
657 | 255 | 1.0f / jxl::cms::kXYBScale[i], |
658 | 255 | b, |
659 | 255 | 0, // unused |
660 | 255 | std::max(0.f, -b * jxl::cms::kXYBScale[i]), // make skcms happy |
661 | 255 | }; |
662 | 255 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(params, 3, tags)); |
663 | 255 | } |
664 | | // offset = 244 |
665 | 85 | const double matrix[] = {1.5170095, -1.1065225, 0.071623, |
666 | 85 | -0.050022, 0.5683655, -0.018344, |
667 | 85 | -1.387676, 1.1145555, 0.6857255}; |
668 | | // 12 * 4 = 48 bytes |
669 | 765 | for (double v : matrix) { |
670 | 765 | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(v, tags->size(), tags)); |
671 | 765 | } |
672 | 340 | for (size_t i = 0; i < 3; ++i) { |
673 | 255 | float intercept = 0; |
674 | 1.02k | for (size_t j = 0; j < 3; ++j) { |
675 | 765 | intercept += matrix[i * 3 + j] * jxl::cms::kNegOpsinAbsorbanceBiasRGB[j]; |
676 | 765 | } |
677 | 255 | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(intercept, tags->size(), tags)); |
678 | 255 | } |
679 | 85 | return true; |
680 | 85 | } Unexecuted instantiation: encode.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) color_encoding_internal.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 599 | 85 | static Status CreateICCLutAtoBTagForXYB(std::vector<uint8_t>* tags) { | 600 | 85 | WriteICCTag("mAB ", tags->size(), tags); | 601 | | // 4 reserved bytes set to 0 | 602 | 85 | WriteICCUint32(0, tags->size(), tags); | 603 | | // number of input channels | 604 | 85 | WriteICCUint8(3, tags->size(), tags); | 605 | | // number of output channels | 606 | 85 | WriteICCUint8(3, tags->size(), tags); | 607 | | // 2 reserved bytes for padding | 608 | 85 | WriteICCUint16(0, tags->size(), tags); | 609 | | // offset to first B curve | 610 | 85 | WriteICCUint32(32, tags->size(), tags); | 611 | | // offset to matrix | 612 | 85 | WriteICCUint32(244, tags->size(), tags); | 613 | | // offset to first M curve | 614 | 85 | WriteICCUint32(148, tags->size(), tags); | 615 | | // offset to CLUT | 616 | 85 | WriteICCUint32(80, tags->size(), tags); | 617 | | // offset to first A curve | 618 | | // (reuse linear B curves) | 619 | 85 | WriteICCUint32(32, tags->size(), tags); | 620 | | | 621 | | // offset = 32 | 622 | | // no-op curves | 623 | 85 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); | 624 | 85 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); | 625 | 85 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); | 626 | | // offset = 80 | 627 | | // number of grid points for each input channel | 628 | 1.44k | for (int i = 0; i < 16; ++i) { | 629 | 1.36k | WriteICCUint8(i < 3 ? 2 : 0, tags->size(), tags); | 630 | 1.36k | } | 631 | | // precision = 2 | 632 | 85 | WriteICCUint8(2, tags->size(), tags); | 633 | | // 3 bytes of padding | 634 | 85 | WriteICCUint8(0, tags->size(), tags); | 635 | 85 | WriteICCUint16(0, tags->size(), tags); | 636 | | // 2*2*2*3 entries of 2 bytes each = 48 bytes | 637 | 85 | const jxl::cms::ColorCube3D& cube = jxl::cms::UnscaledA2BCube(); | 638 | 255 | for (size_t ix = 0; ix < 2; ++ix) { | 639 | 510 | for (size_t iy = 0; iy < 2; ++iy) { | 640 | 1.02k | for (size_t ib = 0; ib < 2; ++ib) { | 641 | 680 | const jxl::cms::ColorCube0D& out_f = cube[ix][iy][ib]; | 642 | 2.72k | for (int i = 0; i < 3; ++i) { | 643 | 2.04k | int32_t val = static_cast<int32_t>(std::lroundf(65535 * out_f[i])); | 644 | 2.04k | JXL_DASSERT(val >= 0 && val <= 65535); | 645 | 2.04k | WriteICCUint16(val, tags->size(), tags); | 646 | 2.04k | } | 647 | 680 | } | 648 | 340 | } | 649 | 170 | } | 650 | | // offset = 148 | 651 | | // 3 curves with 5 parameters = 3 * (12 + 5 * 4) = 96 bytes | 652 | 340 | for (size_t i = 0; i < 3; ++i) { | 653 | 255 | const float b = -jxl::cms::kXYBOffset[i] - | 654 | 255 | std::cbrt(jxl::cms::kNegOpsinAbsorbanceBiasRGB[i]); | 655 | 255 | std::vector<float> params = { | 656 | 255 | 3, | 657 | 255 | 1.0f / jxl::cms::kXYBScale[i], | 658 | 255 | b, | 659 | 255 | 0, // unused | 660 | 255 | std::max(0.f, -b * jxl::cms::kXYBScale[i]), // make skcms happy | 661 | 255 | }; | 662 | 255 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag(params, 3, tags)); | 663 | 255 | } | 664 | | // offset = 244 | 665 | 85 | const double matrix[] = {1.5170095, -1.1065225, 0.071623, | 666 | 85 | -0.050022, 0.5683655, -0.018344, | 667 | 85 | -1.387676, 1.1145555, 0.6857255}; | 668 | | // 12 * 4 = 48 bytes | 669 | 765 | for (double v : matrix) { | 670 | 765 | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(v, tags->size(), tags)); | 671 | 765 | } | 672 | 340 | for (size_t i = 0; i < 3; ++i) { | 673 | 255 | float intercept = 0; | 674 | 1.02k | for (size_t j = 0; j < 3; ++j) { | 675 | 765 | intercept += matrix[i * 3 + j] * jxl::cms::kNegOpsinAbsorbanceBiasRGB[j]; | 676 | 765 | } | 677 | 255 | JXL_RETURN_IF_ERROR(WriteICCS15Fixed16(intercept, tags->size(), tags)); | 678 | 255 | } | 679 | 85 | return true; | 680 | 85 | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: blending.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: epf.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCLutAtoBTagForXYB(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) |
681 | | |
682 | | static Status CreateICCLutAtoBTagForHDR(JxlColorEncoding color_encoding, |
683 | 26 | std::vector<uint8_t>* tags) { |
684 | 26 | static constexpr size_t k3DLutDim = 9; |
685 | 26 | WriteICCTag("mft1", tags->size(), tags); |
686 | | // 4 reserved bytes set to 0 |
687 | 26 | WriteICCUint32(0, tags->size(), tags); |
688 | | // number of input channels |
689 | 26 | WriteICCUint8(3, tags->size(), tags); |
690 | | // number of output channels |
691 | 26 | WriteICCUint8(3, tags->size(), tags); |
692 | | // number of CLUT grid points |
693 | 26 | WriteICCUint8(k3DLutDim, tags->size(), tags); |
694 | | // 1 reserved bytes for padding |
695 | 26 | WriteICCUint8(0, tags->size(), tags); |
696 | | |
697 | | // Matrix (per specification, must be identity if input is not XYZ) |
698 | 104 | for (size_t i = 0; i < 3; ++i) { |
699 | 312 | for (size_t j = 0; j < 3; ++j) { |
700 | 234 | JXL_RETURN_IF_ERROR( |
701 | 234 | WriteICCS15Fixed16(i == j ? 1.f : 0.f, tags->size(), tags)); |
702 | 234 | } |
703 | 78 | } |
704 | | |
705 | | // Input tables |
706 | 104 | for (size_t c = 0; c < 3; ++c) { |
707 | 20.0k | for (size_t i = 0; i < 256; ++i) { |
708 | 19.9k | WriteICCUint8(i, tags->size(), tags); |
709 | 19.9k | } |
710 | 78 | } |
711 | | |
712 | 260 | for (size_t ix = 0; ix < k3DLutDim; ++ix) { |
713 | 2.34k | for (size_t iy = 0; iy < k3DLutDim; ++iy) { |
714 | 21.0k | for (size_t ib = 0; ib < k3DLutDim; ++ib) { |
715 | 18.9k | float f[3] = {ix * (1.0f / (k3DLutDim - 1)), |
716 | 18.9k | iy * (1.0f / (k3DLutDim - 1)), |
717 | 18.9k | ib * (1.0f / (k3DLutDim - 1))}; |
718 | 18.9k | uint8_t pcslab_out[3]; |
719 | 18.9k | JXL_RETURN_IF_ERROR(ToneMapPixel(color_encoding, f, pcslab_out)); |
720 | 56.8k | for (uint8_t val : pcslab_out) { |
721 | 56.8k | WriteICCUint8(val, tags->size(), tags); |
722 | 56.8k | } |
723 | 18.9k | } |
724 | 2.10k | } |
725 | 234 | } |
726 | | |
727 | | // Output tables |
728 | 104 | for (size_t c = 0; c < 3; ++c) { |
729 | 20.0k | for (size_t i = 0; i < 256; ++i) { |
730 | 19.9k | WriteICCUint8(i, tags->size(), tags); |
731 | 19.9k | } |
732 | 78 | } |
733 | | |
734 | 26 | return true; |
735 | 26 | } Unexecuted instantiation: encode.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) color_encoding_internal.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 683 | 26 | std::vector<uint8_t>* tags) { | 684 | 26 | static constexpr size_t k3DLutDim = 9; | 685 | 26 | WriteICCTag("mft1", tags->size(), tags); | 686 | | // 4 reserved bytes set to 0 | 687 | 26 | WriteICCUint32(0, tags->size(), tags); | 688 | | // number of input channels | 689 | 26 | WriteICCUint8(3, tags->size(), tags); | 690 | | // number of output channels | 691 | 26 | WriteICCUint8(3, tags->size(), tags); | 692 | | // number of CLUT grid points | 693 | 26 | WriteICCUint8(k3DLutDim, tags->size(), tags); | 694 | | // 1 reserved bytes for padding | 695 | 26 | WriteICCUint8(0, tags->size(), tags); | 696 | | | 697 | | // Matrix (per specification, must be identity if input is not XYZ) | 698 | 104 | for (size_t i = 0; i < 3; ++i) { | 699 | 312 | for (size_t j = 0; j < 3; ++j) { | 700 | 234 | JXL_RETURN_IF_ERROR( | 701 | 234 | WriteICCS15Fixed16(i == j ? 1.f : 0.f, tags->size(), tags)); | 702 | 234 | } | 703 | 78 | } | 704 | | | 705 | | // Input tables | 706 | 104 | for (size_t c = 0; c < 3; ++c) { | 707 | 20.0k | for (size_t i = 0; i < 256; ++i) { | 708 | 19.9k | WriteICCUint8(i, tags->size(), tags); | 709 | 19.9k | } | 710 | 78 | } | 711 | | | 712 | 260 | for (size_t ix = 0; ix < k3DLutDim; ++ix) { | 713 | 2.34k | for (size_t iy = 0; iy < k3DLutDim; ++iy) { | 714 | 21.0k | for (size_t ib = 0; ib < k3DLutDim; ++ib) { | 715 | 18.9k | float f[3] = {ix * (1.0f / (k3DLutDim - 1)), | 716 | 18.9k | iy * (1.0f / (k3DLutDim - 1)), | 717 | 18.9k | ib * (1.0f / (k3DLutDim - 1))}; | 718 | 18.9k | uint8_t pcslab_out[3]; | 719 | 18.9k | JXL_RETURN_IF_ERROR(ToneMapPixel(color_encoding, f, pcslab_out)); | 720 | 56.8k | for (uint8_t val : pcslab_out) { | 721 | 56.8k | WriteICCUint8(val, tags->size(), tags); | 722 | 56.8k | } | 723 | 18.9k | } | 724 | 2.10k | } | 725 | 234 | } | 726 | | | 727 | | // Output tables | 728 | 104 | for (size_t c = 0; c < 3; ++c) { | 729 | 20.0k | for (size_t i = 0; i < 256; ++i) { | 730 | 19.9k | WriteICCUint8(i, tags->size(), tags); | 731 | 19.9k | } | 732 | 78 | } | 733 | | | 734 | 26 | return true; | 735 | 26 | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: blending.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: epf.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCLutAtoBTagForHDR(JxlColorEncoding, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) |
736 | | |
737 | | // Some software (Apple Safari, Preview) requires this. |
738 | 111 | static Status CreateICCNoOpBToATag(std::vector<uint8_t>* tags) { |
739 | 111 | WriteICCTag("mBA ", tags->size(), tags); // notypo |
740 | | // 4 reserved bytes set to 0 |
741 | 111 | WriteICCUint32(0, tags->size(), tags); |
742 | | // number of input channels |
743 | 111 | WriteICCUint8(3, tags->size(), tags); |
744 | | // number of output channels |
745 | 111 | WriteICCUint8(3, tags->size(), tags); |
746 | | // 2 reserved bytes for padding |
747 | 111 | WriteICCUint16(0, tags->size(), tags); |
748 | | // offset to first B curve |
749 | 111 | WriteICCUint32(32, tags->size(), tags); |
750 | | // offset to matrix |
751 | 111 | WriteICCUint32(0, tags->size(), tags); |
752 | | // offset to first M curve |
753 | 111 | WriteICCUint32(0, tags->size(), tags); |
754 | | // offset to CLUT |
755 | 111 | WriteICCUint32(0, tags->size(), tags); |
756 | | // offset to first A curve |
757 | 111 | WriteICCUint32(0, tags->size(), tags); |
758 | | |
759 | 111 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); |
760 | 111 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); |
761 | 111 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); |
762 | | |
763 | 111 | return true; |
764 | 111 | } Unexecuted instantiation: encode.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fields.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ans.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_modular.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_cache.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_group.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) color_encoding_internal.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 738 | 111 | static Status CreateICCNoOpBToATag(std::vector<uint8_t>* tags) { | 739 | 111 | WriteICCTag("mBA ", tags->size(), tags); // notypo | 740 | | // 4 reserved bytes set to 0 | 741 | 111 | WriteICCUint32(0, tags->size(), tags); | 742 | | // number of input channels | 743 | 111 | WriteICCUint8(3, tags->size(), tags); | 744 | | // number of output channels | 745 | 111 | WriteICCUint8(3, tags->size(), tags); | 746 | | // 2 reserved bytes for padding | 747 | 111 | WriteICCUint16(0, tags->size(), tags); | 748 | | // offset to first B curve | 749 | 111 | WriteICCUint32(32, tags->size(), tags); | 750 | | // offset to matrix | 751 | 111 | WriteICCUint32(0, tags->size(), tags); | 752 | | // offset to first M curve | 753 | 111 | WriteICCUint32(0, tags->size(), tags); | 754 | | // offset to CLUT | 755 | 111 | WriteICCUint32(0, tags->size(), tags); | 756 | | // offset to first A curve | 757 | 111 | WriteICCUint32(0, tags->size(), tags); | 758 | | | 759 | 111 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); | 760 | 111 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); | 761 | 111 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({1.0f}, 0, tags)); | 762 | | | 763 | 111 | return true; | 764 | 111 | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_cache.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: blending.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_frame.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_group.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_modular.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_noise.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: epf.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: frame_header.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_bundle.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_metadata.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: luminance.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: passes_state.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: quant_weights.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_blending.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_cms.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_epf.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_noise.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_patches.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_splines.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_spot.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_write.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::CreateICCNoOpBToATag(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) |
765 | | |
766 | | // These strings are baked into Description - do not change. |
767 | | |
768 | 2.37k | static std::string ToString(JxlColorSpace color_space) { |
769 | 2.37k | switch (color_space) { |
770 | 602 | case JXL_COLOR_SPACE_RGB: |
771 | 602 | return "RGB"; |
772 | 1.68k | case JXL_COLOR_SPACE_GRAY: |
773 | 1.68k | return "Gra"; |
774 | 85 | case JXL_COLOR_SPACE_XYB: |
775 | 85 | 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 | 2.37k | } |
784 | 2.37k | } encode.cc:jxl::detail::ToString(JxlColorSpace) Line | Count | Source | 768 | 192 | static std::string ToString(JxlColorSpace color_space) { | 769 | 192 | switch (color_space) { | 770 | 7 | case JXL_COLOR_SPACE_RGB: | 771 | 7 | return "RGB"; | 772 | 185 | case JXL_COLOR_SPACE_GRAY: | 773 | 185 | return "Gra"; | 774 | 0 | case JXL_COLOR_SPACE_XYB: | 775 | 0 | return "XYB"; | 776 | 0 | case JXL_COLOR_SPACE_UNKNOWN: | 777 | 0 | return "CS?"; | 778 | 0 | default: | 779 | | // Should not happen - visitor fails if enum is invalid. | 780 | 0 | JXL_DEBUG_ABORT("Invalid ColorSpace %u", | 781 | 0 | static_cast<uint32_t>(color_space)); | 782 | 0 | return "Invalid"; | 783 | 192 | } | 784 | 192 | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_ans.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_frame.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_modular.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_xyb.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_external_image.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_cache.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_group.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: jxl_cms.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: enc_encoding.cc:jxl::detail::ToString(JxlColorSpace) color_encoding_internal.cc:jxl::detail::ToString(JxlColorSpace) Line | Count | Source | 768 | 2.18k | static std::string ToString(JxlColorSpace color_space) { | 769 | 2.18k | switch (color_space) { | 770 | 595 | case JXL_COLOR_SPACE_RGB: | 771 | 595 | return "RGB"; | 772 | 1.50k | case JXL_COLOR_SPACE_GRAY: | 773 | 1.50k | return "Gra"; | 774 | 85 | case JXL_COLOR_SPACE_XYB: | 775 | 85 | 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 | 2.18k | } | 784 | 2.18k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: dec_cache.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: blending.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: dec_external_image.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: dec_frame.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: dec_group.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: dec_modular.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: dec_noise.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: dec_xyb.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: decode.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: epf.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: frame_header.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: image_bundle.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: image_metadata.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: luminance.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: passes_state.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: quant_weights.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: render_pipeline.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: stage_blending.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: stage_cms.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: stage_epf.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: stage_noise.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: stage_patches.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: stage_splines.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: stage_spot.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: stage_write.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: stage_xyb.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::ToString(JxlColorSpace) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ToString(JxlColorSpace) |
785 | | |
786 | 1.87k | static std::string ToString(JxlWhitePoint white_point) { |
787 | 1.87k | switch (white_point) { |
788 | 1.72k | case JXL_WHITE_POINT_D65: |
789 | 1.72k | return "D65"; |
790 | 0 | case JXL_WHITE_POINT_CUSTOM: |
791 | 0 | return "Cst"; |
792 | 84 | case JXL_WHITE_POINT_E: |
793 | 84 | return "EER"; |
794 | 66 | case JXL_WHITE_POINT_DCI: |
795 | 66 | 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 | 1.87k | } |
802 | 1.87k | } encode.cc:jxl::detail::ToString(JxlWhitePoint) Line | Count | Source | 786 | 192 | static std::string ToString(JxlWhitePoint white_point) { | 787 | 192 | switch (white_point) { | 788 | 192 | case JXL_WHITE_POINT_D65: | 789 | 192 | return "D65"; | 790 | 0 | case JXL_WHITE_POINT_CUSTOM: | 791 | 0 | return "Cst"; | 792 | 0 | case JXL_WHITE_POINT_E: | 793 | 0 | return "EER"; | 794 | 0 | case JXL_WHITE_POINT_DCI: | 795 | 0 | return "DCI"; | 796 | 0 | default: | 797 | | // Should not happen - visitor fails if enum is invalid. | 798 | 0 | JXL_DEBUG_ABORT("Invalid WhitePoint %u", | 799 | 0 | static_cast<uint32_t>(white_point)); | 800 | 0 | return "Invalid"; | 801 | 192 | } | 802 | 192 | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_ans.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_frame.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_modular.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_xyb.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_external_image.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_cache.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_group.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: jxl_cms.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: enc_encoding.cc:jxl::detail::ToString(JxlWhitePoint) color_encoding_internal.cc:jxl::detail::ToString(JxlWhitePoint) Line | Count | Source | 786 | 1.67k | static std::string ToString(JxlWhitePoint white_point) { | 787 | 1.67k | switch (white_point) { | 788 | 1.52k | case JXL_WHITE_POINT_D65: | 789 | 1.52k | return "D65"; | 790 | 0 | case JXL_WHITE_POINT_CUSTOM: | 791 | 0 | return "Cst"; | 792 | 84 | case JXL_WHITE_POINT_E: | 793 | 84 | return "EER"; | 794 | 66 | case JXL_WHITE_POINT_DCI: | 795 | 66 | 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 | 1.67k | } | 802 | 1.67k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: dec_cache.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: blending.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: dec_external_image.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: dec_frame.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: dec_group.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: dec_modular.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: dec_noise.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: dec_xyb.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: decode.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: epf.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: frame_header.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: image_bundle.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: image_metadata.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: luminance.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: passes_state.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: quant_weights.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: render_pipeline.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: stage_blending.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: stage_cms.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: stage_epf.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: stage_noise.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: stage_patches.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: stage_splines.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: stage_spot.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: stage_write.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: stage_xyb.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::ToString(JxlWhitePoint) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ToString(JxlWhitePoint) |
803 | | |
804 | 252 | static std::string ToString(JxlPrimaries primaries) { |
805 | 252 | switch (primaries) { |
806 | 214 | case JXL_PRIMARIES_SRGB: |
807 | 214 | return "SRG"; |
808 | 14 | case JXL_PRIMARIES_2100: |
809 | 14 | return "202"; |
810 | 24 | case JXL_PRIMARIES_P3: |
811 | 24 | 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 | 252 | } |
819 | 252 | } encode.cc:jxl::detail::ToString(JxlPrimaries) Line | Count | Source | 804 | 7 | static std::string ToString(JxlPrimaries primaries) { | 805 | 7 | switch (primaries) { | 806 | 7 | case JXL_PRIMARIES_SRGB: | 807 | 7 | return "SRG"; | 808 | 0 | case JXL_PRIMARIES_2100: | 809 | 0 | return "202"; | 810 | 0 | case JXL_PRIMARIES_P3: | 811 | 0 | return "DCI"; | 812 | 0 | case JXL_PRIMARIES_CUSTOM: | 813 | 0 | return "Cst"; | 814 | 0 | default: | 815 | | // Should not happen - visitor fails if enum is invalid. | 816 | 0 | JXL_DEBUG_ABORT("Invalid Primaries %u", static_cast<uint32_t>(primaries)); | 817 | 0 | return "Invalid"; | 818 | 7 | } | 819 | 7 | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_ans.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_frame.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_modular.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_xyb.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_external_image.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_cache.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_group.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: jxl_cms.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: enc_encoding.cc:jxl::detail::ToString(JxlPrimaries) color_encoding_internal.cc:jxl::detail::ToString(JxlPrimaries) Line | Count | Source | 804 | 245 | static std::string ToString(JxlPrimaries primaries) { | 805 | 245 | switch (primaries) { | 806 | 207 | case JXL_PRIMARIES_SRGB: | 807 | 207 | return "SRG"; | 808 | 14 | case JXL_PRIMARIES_2100: | 809 | 14 | return "202"; | 810 | 24 | case JXL_PRIMARIES_P3: | 811 | 24 | 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 | 245 | } | 819 | 245 | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: dec_cache.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: blending.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: dec_external_image.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: dec_frame.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: dec_group.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: dec_modular.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: dec_noise.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: dec_xyb.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: decode.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: epf.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: frame_header.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: image_bundle.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: image_metadata.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: luminance.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: passes_state.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: quant_weights.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: render_pipeline.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: stage_blending.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: stage_cms.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: stage_epf.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: stage_noise.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: stage_patches.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: stage_splines.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: stage_spot.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: stage_write.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: stage_xyb.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::ToString(JxlPrimaries) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ToString(JxlPrimaries) |
820 | | |
821 | 1.89k | static std::string ToString(JxlTransferFunction transfer_function) { |
822 | 1.89k | switch (transfer_function) { |
823 | 1.06k | case JXL_TRANSFER_FUNCTION_SRGB: |
824 | 1.06k | return "SRG"; |
825 | 145 | case JXL_TRANSFER_FUNCTION_LINEAR: |
826 | 145 | return "Lin"; |
827 | 367 | case JXL_TRANSFER_FUNCTION_709: |
828 | 367 | return "709"; |
829 | 128 | case JXL_TRANSFER_FUNCTION_PQ: |
830 | 128 | return "PeQ"; |
831 | 140 | case JXL_TRANSFER_FUNCTION_HLG: |
832 | 140 | return "HLG"; |
833 | 54 | case JXL_TRANSFER_FUNCTION_DCI: |
834 | 54 | 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 | 1.89k | } |
846 | 1.89k | } encode.cc:jxl::detail::ToString(JxlTransferFunction) Line | Count | Source | 821 | 192 | static std::string ToString(JxlTransferFunction transfer_function) { | 822 | 192 | switch (transfer_function) { | 823 | 183 | case JXL_TRANSFER_FUNCTION_SRGB: | 824 | 183 | return "SRG"; | 825 | 9 | case JXL_TRANSFER_FUNCTION_LINEAR: | 826 | 9 | return "Lin"; | 827 | 0 | case JXL_TRANSFER_FUNCTION_709: | 828 | 0 | return "709"; | 829 | 0 | case JXL_TRANSFER_FUNCTION_PQ: | 830 | 0 | return "PeQ"; | 831 | 0 | case JXL_TRANSFER_FUNCTION_HLG: | 832 | 0 | return "HLG"; | 833 | 0 | case JXL_TRANSFER_FUNCTION_DCI: | 834 | 0 | return "DCI"; | 835 | 0 | case JXL_TRANSFER_FUNCTION_UNKNOWN: | 836 | 0 | return "TF?"; | 837 | 0 | case JXL_TRANSFER_FUNCTION_GAMMA: | 838 | 0 | JXL_DEBUG_ABORT("Invalid TransferFunction: gamma"); | 839 | 0 | return "Invalid"; | 840 | 0 | default: | 841 | | // Should not happen - visitor fails if enum is invalid. | 842 | 0 | JXL_DEBUG_ABORT("Invalid TransferFunction %u", | 843 | 0 | static_cast<uint32_t>(transfer_function)); | 844 | 0 | return "Invalid"; | 845 | 192 | } | 846 | 192 | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_ans.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_frame.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_modular.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_xyb.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_external_image.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_cache.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_group.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: jxl_cms.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: enc_encoding.cc:jxl::detail::ToString(JxlTransferFunction) color_encoding_internal.cc:jxl::detail::ToString(JxlTransferFunction) Line | Count | Source | 821 | 1.70k | static std::string ToString(JxlTransferFunction transfer_function) { | 822 | 1.70k | switch (transfer_function) { | 823 | 880 | case JXL_TRANSFER_FUNCTION_SRGB: | 824 | 880 | return "SRG"; | 825 | 136 | case JXL_TRANSFER_FUNCTION_LINEAR: | 826 | 136 | return "Lin"; | 827 | 367 | case JXL_TRANSFER_FUNCTION_709: | 828 | 367 | return "709"; | 829 | 128 | case JXL_TRANSFER_FUNCTION_PQ: | 830 | 128 | return "PeQ"; | 831 | 140 | case JXL_TRANSFER_FUNCTION_HLG: | 832 | 140 | return "HLG"; | 833 | 54 | case JXL_TRANSFER_FUNCTION_DCI: | 834 | 54 | 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 | 1.70k | } | 846 | 1.70k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: dec_cache.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: blending.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: dec_external_image.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: dec_frame.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: dec_group.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: dec_modular.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: dec_noise.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: dec_xyb.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: decode.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: epf.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: frame_header.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: image_bundle.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: image_metadata.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: luminance.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: passes_state.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: quant_weights.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: render_pipeline.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: stage_blending.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: stage_cms.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: stage_epf.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: stage_noise.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: stage_patches.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: stage_splines.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: stage_spot.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: stage_write.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: stage_xyb.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::ToString(JxlTransferFunction) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ToString(JxlTransferFunction) |
847 | | |
848 | 2.37k | static std::string ToString(JxlRenderingIntent rendering_intent) { |
849 | 2.37k | switch (rendering_intent) { |
850 | 959 | case JXL_RENDERING_INTENT_PERCEPTUAL: |
851 | 959 | return "Per"; |
852 | 1.36k | case JXL_RENDERING_INTENT_RELATIVE: |
853 | 1.36k | return "Rel"; |
854 | 26 | case JXL_RENDERING_INTENT_SATURATION: |
855 | 26 | return "Sat"; |
856 | 22 | case JXL_RENDERING_INTENT_ABSOLUTE: |
857 | 22 | return "Abs"; |
858 | 2.37k | } |
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 | 2.37k | } encode.cc:jxl::detail::ToString(JxlRenderingIntent) Line | Count | Source | 848 | 192 | static std::string ToString(JxlRenderingIntent rendering_intent) { | 849 | 192 | switch (rendering_intent) { | 850 | 0 | case JXL_RENDERING_INTENT_PERCEPTUAL: | 851 | 0 | return "Per"; | 852 | 192 | case JXL_RENDERING_INTENT_RELATIVE: | 853 | 192 | return "Rel"; | 854 | 0 | case JXL_RENDERING_INTENT_SATURATION: | 855 | 0 | return "Sat"; | 856 | 0 | case JXL_RENDERING_INTENT_ABSOLUTE: | 857 | 0 | return "Abs"; | 858 | 192 | } | 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 | 192 | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_ans.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_frame.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_modular.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_xyb.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_external_image.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_cache.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_group.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: jxl_cms.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: enc_encoding.cc:jxl::detail::ToString(JxlRenderingIntent) color_encoding_internal.cc:jxl::detail::ToString(JxlRenderingIntent) Line | Count | Source | 848 | 2.18k | static std::string ToString(JxlRenderingIntent rendering_intent) { | 849 | 2.18k | switch (rendering_intent) { | 850 | 959 | case JXL_RENDERING_INTENT_PERCEPTUAL: | 851 | 959 | return "Per"; | 852 | 1.17k | case JXL_RENDERING_INTENT_RELATIVE: | 853 | 1.17k | return "Rel"; | 854 | 26 | case JXL_RENDERING_INTENT_SATURATION: | 855 | 26 | return "Sat"; | 856 | 22 | case JXL_RENDERING_INTENT_ABSOLUTE: | 857 | 22 | return "Abs"; | 858 | 2.18k | } | 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 | 2.18k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: dec_cache.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: blending.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: dec_external_image.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: dec_frame.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: dec_group.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: dec_modular.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: dec_noise.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: dec_xyb.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: decode.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: epf.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: frame_header.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: image_bundle.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: image_metadata.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: luminance.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: passes_state.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: quant_weights.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: render_pipeline.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: stage_blending.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: stage_cms.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: stage_epf.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: stage_noise.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: stage_patches.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: stage_splines.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: stage_spot.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: stage_write.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: stage_xyb.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::ToString(JxlRenderingIntent) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::ToString(JxlRenderingIntent) |
864 | | |
865 | 414 | static inline bool CloseEnough(double a, double b) { |
866 | 414 | return std::abs(a - b) < 3e-5; |
867 | 414 | } Unexecuted instantiation: encode.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_fields.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_ans.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_frame.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_debug_image.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_detect_dots.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_image_bundle.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_external_image.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_adaptive_quantization.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_group.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: jxl_cms.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: enc_encoding.cc:jxl::detail::CloseEnough(double, double) color_encoding_internal.cc:jxl::detail::CloseEnough(double, double) Line | Count | Source | 865 | 414 | static inline bool CloseEnough(double a, double b) { | 866 | 414 | return std::abs(a - b) < 3e-5; | 867 | 414 | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: dec_cache.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: blending.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: decode.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: epf.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: frame_header.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: image_bundle.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: passes_state.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: quant_weights.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: render_pipeline.cc:jxl::detail::CloseEnough(double, double) Unexecuted instantiation: low_memory_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: render_pipeline_stage.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: decode_to_jpeg.cc:jxl::detail::CloseEnough(double, double) |
868 | | |
869 | | static std::string ColorEncodingDescriptionImpl(const JxlColorEncoding& c, |
870 | 380k | 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 | 380k | if (c.color_space == JXL_COLOR_SPACE_RGB && !uniquename) { |
876 | 379k | if (c.white_point == JXL_WHITE_POINT_D65) { |
877 | 379k | if (c.transfer_function == JXL_TRANSFER_FUNCTION_SRGB) { |
878 | 378k | if (c.primaries == JXL_PRIMARIES_SRGB) return "sRGB"; |
879 | 8 | if (c.primaries == JXL_PRIMARIES_P3) return "DisplayP3"; |
880 | 8 | } |
881 | 444 | if (c.primaries == JXL_PRIMARIES_2100) { |
882 | 16 | if (c.transfer_function == JXL_TRANSFER_FUNCTION_PQ) return "Rec2100PQ"; |
883 | 16 | if (c.transfer_function == JXL_TRANSFER_FUNCTION_HLG) |
884 | 6 | return "Rec2100HLG"; |
885 | 16 | } |
886 | | |
887 | 438 | if (c.primaries == JXL_PRIMARIES_CUSTOM && |
888 | 316 | 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 | 438 | } |
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 | 602 | if (c.white_point == JXL_WHITE_POINT_CUSTOM && |
909 | 98 | 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 | 602 | } |
925 | | |
926 | 2.37k | std::string d = ToString(c.color_space); |
927 | | |
928 | 2.37k | bool explicit_wp_tf = (c.color_space != JXL_COLOR_SPACE_XYB); |
929 | 2.37k | if (explicit_wp_tf) { |
930 | 2.29k | d += '_'; |
931 | 2.29k | if (c.white_point == JXL_WHITE_POINT_CUSTOM) { |
932 | 420 | d += jxl::ToString(c.white_point_xy[0]) + ';'; |
933 | 420 | d += jxl::ToString(c.white_point_xy[1]); |
934 | 1.87k | } else { |
935 | 1.87k | d += ToString(c.white_point); |
936 | 1.87k | } |
937 | 2.29k | } |
938 | | |
939 | 2.37k | if ((c.color_space != JXL_COLOR_SPACE_GRAY) && |
940 | 687 | (c.color_space != JXL_COLOR_SPACE_XYB)) { |
941 | 602 | d += '_'; |
942 | 602 | if (c.primaries == JXL_PRIMARIES_CUSTOM) { |
943 | 350 | d += jxl::ToString(c.primaries_red_xy[0]) + ';'; |
944 | 350 | d += jxl::ToString(c.primaries_red_xy[1]) + ';'; |
945 | 350 | d += jxl::ToString(c.primaries_green_xy[0]) + ';'; |
946 | 350 | d += jxl::ToString(c.primaries_green_xy[1]) + ';'; |
947 | 350 | d += jxl::ToString(c.primaries_blue_xy[0]) + ';'; |
948 | 350 | d += jxl::ToString(c.primaries_blue_xy[1]); |
949 | 350 | } else { |
950 | 252 | d += ToString(c.primaries); |
951 | 252 | } |
952 | 602 | } |
953 | | |
954 | 2.37k | d += '_'; |
955 | 2.37k | d += ToString(c.rendering_intent); |
956 | | |
957 | 2.37k | if (explicit_wp_tf) { |
958 | 2.29k | JxlTransferFunction tf = c.transfer_function; |
959 | 2.29k | d += '_'; |
960 | 2.29k | if (tf == JXL_TRANSFER_FUNCTION_GAMMA) { |
961 | 394 | d += 'g'; |
962 | 394 | d += jxl::ToString(c.gamma); |
963 | 1.89k | } else { |
964 | 1.89k | d += ToString(tf); |
965 | 1.89k | } |
966 | 2.29k | } |
967 | 2.37k | return d; |
968 | 380k | } encode.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Line | Count | Source | 870 | 2.95k | 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 | 2.95k | if (c.color_space == JXL_COLOR_SPACE_RGB && !uniquename) { | 876 | 2.76k | if (c.white_point == JXL_WHITE_POINT_D65) { | 877 | 2.76k | if (c.transfer_function == JXL_TRANSFER_FUNCTION_SRGB) { | 878 | 2.76k | if (c.primaries == JXL_PRIMARIES_SRGB) return "sRGB"; | 879 | 0 | if (c.primaries == JXL_PRIMARIES_P3) return "DisplayP3"; | 880 | 0 | } | 881 | 7 | if (c.primaries == JXL_PRIMARIES_2100) { | 882 | 0 | if (c.transfer_function == JXL_TRANSFER_FUNCTION_PQ) return "Rec2100PQ"; | 883 | 0 | if (c.transfer_function == JXL_TRANSFER_FUNCTION_HLG) | 884 | 0 | return "Rec2100HLG"; | 885 | 0 | } | 886 | | | 887 | 7 | if (c.primaries == JXL_PRIMARIES_CUSTOM && | 888 | 0 | 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 | } | 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 | 7 | if (c.white_point == JXL_WHITE_POINT_CUSTOM && | 909 | 0 | 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 | 7 | } | 925 | | | 926 | 192 | std::string d = ToString(c.color_space); | 927 | | | 928 | 192 | bool explicit_wp_tf = (c.color_space != JXL_COLOR_SPACE_XYB); | 929 | 192 | if (explicit_wp_tf) { | 930 | 192 | d += '_'; | 931 | 192 | if (c.white_point == JXL_WHITE_POINT_CUSTOM) { | 932 | 0 | d += jxl::ToString(c.white_point_xy[0]) + ';'; | 933 | 0 | d += jxl::ToString(c.white_point_xy[1]); | 934 | 192 | } else { | 935 | 192 | d += ToString(c.white_point); | 936 | 192 | } | 937 | 192 | } | 938 | | | 939 | 192 | if ((c.color_space != JXL_COLOR_SPACE_GRAY) && | 940 | 7 | (c.color_space != JXL_COLOR_SPACE_XYB)) { | 941 | 7 | d += '_'; | 942 | 7 | if (c.primaries == JXL_PRIMARIES_CUSTOM) { | 943 | 0 | d += jxl::ToString(c.primaries_red_xy[0]) + ';'; | 944 | 0 | d += jxl::ToString(c.primaries_red_xy[1]) + ';'; | 945 | 0 | d += jxl::ToString(c.primaries_green_xy[0]) + ';'; | 946 | 0 | d += jxl::ToString(c.primaries_green_xy[1]) + ';'; | 947 | 0 | d += jxl::ToString(c.primaries_blue_xy[0]) + ';'; | 948 | 0 | d += jxl::ToString(c.primaries_blue_xy[1]); | 949 | 7 | } else { | 950 | 7 | d += ToString(c.primaries); | 951 | 7 | } | 952 | 7 | } | 953 | | | 954 | 192 | d += '_'; | 955 | 192 | d += ToString(c.rendering_intent); | 956 | | | 957 | 192 | if (explicit_wp_tf) { | 958 | 192 | JxlTransferFunction tf = c.transfer_function; | 959 | 192 | d += '_'; | 960 | 192 | if (tf == JXL_TRANSFER_FUNCTION_GAMMA) { | 961 | 0 | d += 'g'; | 962 | 0 | d += jxl::ToString(c.gamma); | 963 | 192 | } else { | 964 | 192 | d += ToString(tf); | 965 | 192 | } | 966 | 192 | } | 967 | 192 | return d; | 968 | 2.95k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_ans.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_frame.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_debug_image.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_detect_dots.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_image_bundle.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_external_image.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_adaptive_quantization.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_group.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: jxl_cms.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_encoding.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) color_encoding_internal.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Line | Count | Source | 870 | 378k | 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 | 378k | if (c.color_space == JXL_COLOR_SPACE_RGB && !uniquename) { | 876 | 376k | if (c.white_point == JXL_WHITE_POINT_D65) { | 877 | 376k | if (c.transfer_function == JXL_TRANSFER_FUNCTION_SRGB) { | 878 | 375k | if (c.primaries == JXL_PRIMARIES_SRGB) return "sRGB"; | 879 | 8 | if (c.primaries == JXL_PRIMARIES_P3) return "DisplayP3"; | 880 | 8 | } | 881 | 437 | if (c.primaries == JXL_PRIMARIES_2100) { | 882 | 16 | if (c.transfer_function == JXL_TRANSFER_FUNCTION_PQ) return "Rec2100PQ"; | 883 | 16 | if (c.transfer_function == JXL_TRANSFER_FUNCTION_HLG) | 884 | 6 | return "Rec2100HLG"; | 885 | 16 | } | 886 | | | 887 | 431 | if (c.primaries == JXL_PRIMARIES_CUSTOM && | 888 | 316 | 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 | 431 | } | 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 | 595 | if (c.white_point == JXL_WHITE_POINT_CUSTOM && | 909 | 98 | 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 | 595 | } | 925 | | | 926 | 2.18k | std::string d = ToString(c.color_space); | 927 | | | 928 | 2.18k | bool explicit_wp_tf = (c.color_space != JXL_COLOR_SPACE_XYB); | 929 | 2.18k | if (explicit_wp_tf) { | 930 | 2.09k | d += '_'; | 931 | 2.09k | if (c.white_point == JXL_WHITE_POINT_CUSTOM) { | 932 | 420 | d += jxl::ToString(c.white_point_xy[0]) + ';'; | 933 | 420 | d += jxl::ToString(c.white_point_xy[1]); | 934 | 1.67k | } else { | 935 | 1.67k | d += ToString(c.white_point); | 936 | 1.67k | } | 937 | 2.09k | } | 938 | | | 939 | 2.18k | if ((c.color_space != JXL_COLOR_SPACE_GRAY) && | 940 | 680 | (c.color_space != JXL_COLOR_SPACE_XYB)) { | 941 | 595 | d += '_'; | 942 | 595 | if (c.primaries == JXL_PRIMARIES_CUSTOM) { | 943 | 350 | d += jxl::ToString(c.primaries_red_xy[0]) + ';'; | 944 | 350 | d += jxl::ToString(c.primaries_red_xy[1]) + ';'; | 945 | 350 | d += jxl::ToString(c.primaries_green_xy[0]) + ';'; | 946 | 350 | d += jxl::ToString(c.primaries_green_xy[1]) + ';'; | 947 | 350 | d += jxl::ToString(c.primaries_blue_xy[0]) + ';'; | 948 | 350 | d += jxl::ToString(c.primaries_blue_xy[1]); | 949 | 350 | } else { | 950 | 245 | d += ToString(c.primaries); | 951 | 245 | } | 952 | 595 | } | 953 | | | 954 | 2.18k | d += '_'; | 955 | 2.18k | d += ToString(c.rendering_intent); | 956 | | | 957 | 2.18k | if (explicit_wp_tf) { | 958 | 2.09k | JxlTransferFunction tf = c.transfer_function; | 959 | 2.09k | d += '_'; | 960 | 2.09k | if (tf == JXL_TRANSFER_FUNCTION_GAMMA) { | 961 | 394 | d += 'g'; | 962 | 394 | d += jxl::ToString(c.gamma); | 963 | 1.70k | } else { | 964 | 1.70k | d += ToString(tf); | 965 | 1.70k | } | 966 | 2.09k | } | 967 | 2.18k | return d; | 968 | 378k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: dec_cache.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: blending.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: decode.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: epf.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: frame_header.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: image_bundle.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: passes_state.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: quant_weights.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: render_pipeline.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) Unexecuted instantiation: low_memory_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: render_pipeline_stage.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: decode_to_jpeg.cc:jxl::detail::ColorEncodingDescriptionImpl(JxlColorEncoding const&, bool) |
969 | | |
970 | | static Status MaybeCreateProfileImpl(const JxlColorEncoding& c, |
971 | 380k | std::vector<uint8_t>* icc) { |
972 | 380k | std::vector<uint8_t> header; |
973 | 380k | std::vector<uint8_t> tagtable; |
974 | 380k | std::vector<uint8_t> tags; |
975 | 380k | JxlTransferFunction tf = c.transfer_function; |
976 | 380k | if (c.color_space == JXL_COLOR_SPACE_UNKNOWN || |
977 | 380k | tf == JXL_TRANSFER_FUNCTION_UNKNOWN) { |
978 | 0 | return false; // Not an error |
979 | 0 | } |
980 | | |
981 | 380k | switch (c.color_space) { |
982 | 379k | case JXL_COLOR_SPACE_RGB: |
983 | 380k | case JXL_COLOR_SPACE_GRAY: |
984 | 380k | case JXL_COLOR_SPACE_XYB: |
985 | 380k | break; // OK |
986 | 0 | default: |
987 | 0 | return JXL_FAILURE("Invalid CS %u", |
988 | 380k | static_cast<unsigned int>(c.color_space)); |
989 | 380k | } |
990 | | |
991 | 380k | if (c.color_space == JXL_COLOR_SPACE_XYB && |
992 | 89 | c.rendering_intent != JXL_RENDERING_INTENT_PERCEPTUAL) { |
993 | 4 | return JXL_FAILURE( |
994 | 4 | "Only perceptual rendering intent implemented for XYB " |
995 | 4 | "ICC profile."); |
996 | 4 | } |
997 | | |
998 | 380k | JXL_RETURN_IF_ERROR(CreateICCHeader(c, &header)); |
999 | | |
1000 | 380k | std::vector<size_t> offsets; |
1001 | | // tag count, deferred to later |
1002 | 380k | WriteICCUint32(0, tagtable.size(), &tagtable); |
1003 | | |
1004 | 380k | size_t tag_offset = 0; |
1005 | 380k | size_t tag_size = 0; |
1006 | | |
1007 | 380k | CreateICCMlucTag(ColorEncodingDescriptionImpl(c, false), &tags); |
1008 | 380k | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1009 | 380k | AddToICCTagTable("desc", tag_offset, tag_size, &tagtable, &offsets); |
1010 | | |
1011 | 380k | const std::string copyright = "CC0"; |
1012 | 380k | CreateICCMlucTag(copyright, &tags); |
1013 | 380k | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1014 | 380k | 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 | 380k | if (c.color_space == JXL_COLOR_SPACE_GRAY) { |
1018 | 1.68k | Color wtpt; |
1019 | 1.68k | JXL_RETURN_IF_ERROR( |
1020 | 1.68k | CIEXYZFromWhiteCIExy(c.white_point_xy[0], c.white_point_xy[1], wtpt)); |
1021 | 1.68k | JXL_RETURN_IF_ERROR(CreateICCXYZTag(wtpt, &tags)); |
1022 | 379k | } else { |
1023 | 379k | Color d50{0.964203, 1.0, 0.824905}; |
1024 | 379k | JXL_RETURN_IF_ERROR(CreateICCXYZTag(d50, &tags)); |
1025 | 379k | } |
1026 | 380k | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1027 | 380k | AddToICCTagTable("wtpt", tag_offset, tag_size, &tagtable, &offsets); |
1028 | | |
1029 | 380k | if (c.color_space != JXL_COLOR_SPACE_GRAY) { |
1030 | | // Chromatic adaptation matrix |
1031 | 379k | Matrix3x3 chad; |
1032 | 379k | JXL_RETURN_IF_ERROR( |
1033 | 379k | CreateICCChadMatrix(c.white_point_xy[0], c.white_point_xy[1], chad)); |
1034 | | |
1035 | 379k | JXL_RETURN_IF_ERROR(CreateICCChadTag(chad, &tags)); |
1036 | 379k | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1037 | 379k | AddToICCTagTable("chad", tag_offset, tag_size, &tagtable, &offsets); |
1038 | 379k | } |
1039 | | |
1040 | 380k | if (c.color_space == JXL_COLOR_SPACE_RGB) { |
1041 | 379k | MaybeCreateICCCICPTag(c, &tags, &tag_offset, &tag_size, &tagtable, |
1042 | 379k | &offsets); |
1043 | | |
1044 | 379k | Matrix3x3 m; |
1045 | 379k | JXL_RETURN_IF_ERROR(CreateICCRGBMatrix( |
1046 | 379k | c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0], |
1047 | 379k | c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1], |
1048 | 379k | c.white_point_xy[0], c.white_point_xy[1], m)); |
1049 | 379k | Color r{m[0][0], m[1][0], m[2][0]}; |
1050 | 379k | Color g{m[0][1], m[1][1], m[2][1]}; |
1051 | 379k | Color b{m[0][2], m[1][2], m[2][2]}; |
1052 | | |
1053 | 379k | JXL_RETURN_IF_ERROR(CreateICCXYZTag(r, &tags)); |
1054 | 379k | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1055 | 379k | AddToICCTagTable("rXYZ", tag_offset, tag_size, &tagtable, &offsets); |
1056 | | |
1057 | 379k | JXL_RETURN_IF_ERROR(CreateICCXYZTag(g, &tags)); |
1058 | 379k | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1059 | 379k | AddToICCTagTable("gXYZ", tag_offset, tag_size, &tagtable, &offsets); |
1060 | | |
1061 | 379k | JXL_RETURN_IF_ERROR(CreateICCXYZTag(b, &tags)); |
1062 | 379k | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1063 | 379k | AddToICCTagTable("bXYZ", tag_offset, tag_size, &tagtable, &offsets); |
1064 | 379k | } |
1065 | | |
1066 | 380k | if (c.color_space == JXL_COLOR_SPACE_XYB) { |
1067 | 85 | JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForXYB(&tags)); |
1068 | 85 | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1069 | 85 | AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets); |
1070 | 85 | JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags)); |
1071 | 85 | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1072 | 85 | AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets); |
1073 | 380k | } else if (kEnable3DToneMapping && CanToneMap(c)) { |
1074 | 26 | JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForHDR(c, &tags)); |
1075 | 26 | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1076 | 26 | AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets); |
1077 | 26 | JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags)); |
1078 | 26 | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1079 | 26 | AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets); |
1080 | 380k | } else { |
1081 | 380k | if (tf == JXL_TRANSFER_FUNCTION_GAMMA) { |
1082 | 384 | float gamma = 1.0 / c.gamma; |
1083 | 384 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({gamma}, 0, &tags)); |
1084 | 380k | } else if (c.color_space != JXL_COLOR_SPACE_XYB) { |
1085 | 380k | switch (tf) { |
1086 | 126 | case JXL_TRANSFER_FUNCTION_HLG: |
1087 | 126 | CreateICCCurvCurvTag( |
1088 | 126 | CreateTableCurve<64, ExtraTF::kHLG>(CanToneMap(c)), &tags); |
1089 | 126 | break; |
1090 | 114 | case JXL_TRANSFER_FUNCTION_PQ: |
1091 | 114 | CreateICCCurvCurvTag( |
1092 | 114 | CreateTableCurve<64, ExtraTF::kPQ>(CanToneMap(c)), &tags); |
1093 | 114 | break; |
1094 | 379k | case JXL_TRANSFER_FUNCTION_SRGB: |
1095 | 379k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag( |
1096 | 379k | {2.4, 1.0 / 1.055, 0.055 / 1.055, 1.0 / 12.92, 0.04045}, 3, |
1097 | 379k | &tags)); |
1098 | 379k | break; |
1099 | 379k | case JXL_TRANSFER_FUNCTION_709: |
1100 | 339 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag( |
1101 | 339 | {1.0 / 0.45, 1.0 / 1.099, 0.099 / 1.099, 1.0 / 4.5, 0.081}, 3, |
1102 | 339 | &tags)); |
1103 | 339 | break; |
1104 | 339 | case JXL_TRANSFER_FUNCTION_LINEAR: |
1105 | 145 | JXL_RETURN_IF_ERROR( |
1106 | 145 | CreateICCCurvParaTag({1.0, 1.0, 0.0, 1.0, 0.0}, 3, &tags)); |
1107 | 145 | break; |
1108 | 145 | case JXL_TRANSFER_FUNCTION_DCI: |
1109 | 54 | JXL_RETURN_IF_ERROR( |
1110 | 54 | CreateICCCurvParaTag({2.6, 1.0, 0.0, 1.0, 0.0}, 3, &tags)); |
1111 | 54 | break; |
1112 | 54 | default: |
1113 | 0 | return JXL_UNREACHABLE("unknown TF %u", |
1114 | 380k | static_cast<unsigned int>(tf)); |
1115 | 380k | } |
1116 | 380k | } |
1117 | 380k | FinalizeICCTag(&tags, &tag_offset, &tag_size); |
1118 | 380k | if (c.color_space == JXL_COLOR_SPACE_GRAY) { |
1119 | 1.67k | AddToICCTagTable("kTRC", tag_offset, tag_size, &tagtable, &offsets); |
1120 | 379k | } else { |
1121 | 379k | AddToICCTagTable("rTRC", tag_offset, tag_size, &tagtable, &offsets); |
1122 | 379k | AddToICCTagTable("gTRC", tag_offset, tag_size, &tagtable, &offsets); |
1123 | 379k | AddToICCTagTable("bTRC", tag_offset, tag_size, &tagtable, &offsets); |
1124 | 379k | } |
1125 | 380k | } |
1126 | | |
1127 | | // Tag count |
1128 | 380k | WriteICCUint32(offsets.size(), 0, &tagtable); |
1129 | 4.55M | for (size_t i = 0; i < offsets.size(); i++) { |
1130 | 4.17M | WriteICCUint32(offsets[i] + header.size() + tagtable.size(), 4 + 12 * i + 4, |
1131 | 4.17M | &tagtable); |
1132 | 4.17M | } |
1133 | | |
1134 | | // ICC profile size |
1135 | 380k | WriteICCUint32(header.size() + tagtable.size() + tags.size(), 0, &header); |
1136 | | |
1137 | 380k | *icc = header; |
1138 | 380k | Bytes(tagtable).AppendTo(*icc); |
1139 | 380k | 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 | 380k | std::vector<uint8_t> icc_sum = *icc; |
1146 | 380k | if (icc_sum.size() >= 64 + 4) { |
1147 | 380k | memset(icc_sum.data() + 44, 0, 4); |
1148 | 380k | memset(icc_sum.data() + 64, 0, 4); |
1149 | 380k | } |
1150 | 380k | uint8_t checksum[16]; |
1151 | 380k | detail::ICCComputeMD5(icc_sum, checksum); |
1152 | | |
1153 | 380k | memcpy(icc->data() + 84, checksum, sizeof(checksum)); |
1154 | | |
1155 | 380k | return true; |
1156 | 380k | } encode.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 971 | 2.95k | std::vector<uint8_t>* icc) { | 972 | 2.95k | std::vector<uint8_t> header; | 973 | 2.95k | std::vector<uint8_t> tagtable; | 974 | 2.95k | std::vector<uint8_t> tags; | 975 | 2.95k | JxlTransferFunction tf = c.transfer_function; | 976 | 2.95k | if (c.color_space == JXL_COLOR_SPACE_UNKNOWN || | 977 | 2.95k | tf == JXL_TRANSFER_FUNCTION_UNKNOWN) { | 978 | 0 | return false; // Not an error | 979 | 0 | } | 980 | | | 981 | 2.95k | switch (c.color_space) { | 982 | 2.76k | case JXL_COLOR_SPACE_RGB: | 983 | 2.95k | case JXL_COLOR_SPACE_GRAY: | 984 | 2.95k | case JXL_COLOR_SPACE_XYB: | 985 | 2.95k | break; // OK | 986 | 0 | default: | 987 | 0 | return JXL_FAILURE("Invalid CS %u", | 988 | 2.95k | static_cast<unsigned int>(c.color_space)); | 989 | 2.95k | } | 990 | | | 991 | 2.95k | if (c.color_space == JXL_COLOR_SPACE_XYB && | 992 | 0 | c.rendering_intent != JXL_RENDERING_INTENT_PERCEPTUAL) { | 993 | 0 | return JXL_FAILURE( | 994 | 0 | "Only perceptual rendering intent implemented for XYB " | 995 | 0 | "ICC profile."); | 996 | 0 | } | 997 | | | 998 | 2.95k | JXL_RETURN_IF_ERROR(CreateICCHeader(c, &header)); | 999 | | | 1000 | 2.95k | std::vector<size_t> offsets; | 1001 | | // tag count, deferred to later | 1002 | 2.95k | WriteICCUint32(0, tagtable.size(), &tagtable); | 1003 | | | 1004 | 2.95k | size_t tag_offset = 0; | 1005 | 2.95k | size_t tag_size = 0; | 1006 | | | 1007 | 2.95k | CreateICCMlucTag(ColorEncodingDescriptionImpl(c, false), &tags); | 1008 | 2.95k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1009 | 2.95k | AddToICCTagTable("desc", tag_offset, tag_size, &tagtable, &offsets); | 1010 | | | 1011 | 2.95k | const std::string copyright = "CC0"; | 1012 | 2.95k | CreateICCMlucTag(copyright, &tags); | 1013 | 2.95k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1014 | 2.95k | 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 | 2.95k | if (c.color_space == JXL_COLOR_SPACE_GRAY) { | 1018 | 185 | Color wtpt; | 1019 | 185 | JXL_RETURN_IF_ERROR( | 1020 | 185 | CIEXYZFromWhiteCIExy(c.white_point_xy[0], c.white_point_xy[1], wtpt)); | 1021 | 185 | JXL_RETURN_IF_ERROR(CreateICCXYZTag(wtpt, &tags)); | 1022 | 2.76k | } else { | 1023 | 2.76k | Color d50{0.964203, 1.0, 0.824905}; | 1024 | 2.76k | JXL_RETURN_IF_ERROR(CreateICCXYZTag(d50, &tags)); | 1025 | 2.76k | } | 1026 | 2.95k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1027 | 2.95k | AddToICCTagTable("wtpt", tag_offset, tag_size, &tagtable, &offsets); | 1028 | | | 1029 | 2.95k | if (c.color_space != JXL_COLOR_SPACE_GRAY) { | 1030 | | // Chromatic adaptation matrix | 1031 | 2.76k | Matrix3x3 chad; | 1032 | 2.76k | JXL_RETURN_IF_ERROR( | 1033 | 2.76k | CreateICCChadMatrix(c.white_point_xy[0], c.white_point_xy[1], chad)); | 1034 | | | 1035 | 2.76k | JXL_RETURN_IF_ERROR(CreateICCChadTag(chad, &tags)); | 1036 | 2.76k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1037 | 2.76k | AddToICCTagTable("chad", tag_offset, tag_size, &tagtable, &offsets); | 1038 | 2.76k | } | 1039 | | | 1040 | 2.95k | if (c.color_space == JXL_COLOR_SPACE_RGB) { | 1041 | 2.76k | MaybeCreateICCCICPTag(c, &tags, &tag_offset, &tag_size, &tagtable, | 1042 | 2.76k | &offsets); | 1043 | | | 1044 | 2.76k | Matrix3x3 m; | 1045 | 2.76k | JXL_RETURN_IF_ERROR(CreateICCRGBMatrix( | 1046 | 2.76k | c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0], | 1047 | 2.76k | c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1], | 1048 | 2.76k | c.white_point_xy[0], c.white_point_xy[1], m)); | 1049 | 2.76k | Color r{m[0][0], m[1][0], m[2][0]}; | 1050 | 2.76k | Color g{m[0][1], m[1][1], m[2][1]}; | 1051 | 2.76k | Color b{m[0][2], m[1][2], m[2][2]}; | 1052 | | | 1053 | 2.76k | JXL_RETURN_IF_ERROR(CreateICCXYZTag(r, &tags)); | 1054 | 2.76k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1055 | 2.76k | AddToICCTagTable("rXYZ", tag_offset, tag_size, &tagtable, &offsets); | 1056 | | | 1057 | 2.76k | JXL_RETURN_IF_ERROR(CreateICCXYZTag(g, &tags)); | 1058 | 2.76k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1059 | 2.76k | AddToICCTagTable("gXYZ", tag_offset, tag_size, &tagtable, &offsets); | 1060 | | | 1061 | 2.76k | JXL_RETURN_IF_ERROR(CreateICCXYZTag(b, &tags)); | 1062 | 2.76k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1063 | 2.76k | AddToICCTagTable("bXYZ", tag_offset, tag_size, &tagtable, &offsets); | 1064 | 2.76k | } | 1065 | | | 1066 | 2.95k | if (c.color_space == JXL_COLOR_SPACE_XYB) { | 1067 | 0 | JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForXYB(&tags)); | 1068 | 0 | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1069 | 0 | AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets); | 1070 | 0 | JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags)); | 1071 | 0 | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1072 | 0 | AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets); | 1073 | 2.95k | } else if (kEnable3DToneMapping && CanToneMap(c)) { | 1074 | 0 | JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForHDR(c, &tags)); | 1075 | 0 | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1076 | 0 | AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets); | 1077 | 0 | JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags)); | 1078 | 0 | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1079 | 0 | AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets); | 1080 | 2.95k | } else { | 1081 | 2.95k | if (tf == JXL_TRANSFER_FUNCTION_GAMMA) { | 1082 | 0 | float gamma = 1.0 / c.gamma; | 1083 | 0 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({gamma}, 0, &tags)); | 1084 | 2.95k | } else if (c.color_space != JXL_COLOR_SPACE_XYB) { | 1085 | 2.95k | switch (tf) { | 1086 | 0 | case JXL_TRANSFER_FUNCTION_HLG: | 1087 | 0 | CreateICCCurvCurvTag( | 1088 | 0 | CreateTableCurve<64, ExtraTF::kHLG>(CanToneMap(c)), &tags); | 1089 | 0 | break; | 1090 | 0 | case JXL_TRANSFER_FUNCTION_PQ: | 1091 | 0 | CreateICCCurvCurvTag( | 1092 | 0 | CreateTableCurve<64, ExtraTF::kPQ>(CanToneMap(c)), &tags); | 1093 | 0 | break; | 1094 | 2.94k | case JXL_TRANSFER_FUNCTION_SRGB: | 1095 | 2.94k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag( | 1096 | 2.94k | {2.4, 1.0 / 1.055, 0.055 / 1.055, 1.0 / 12.92, 0.04045}, 3, | 1097 | 2.94k | &tags)); | 1098 | 2.94k | break; | 1099 | 2.94k | case JXL_TRANSFER_FUNCTION_709: | 1100 | 0 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag( | 1101 | 0 | {1.0 / 0.45, 1.0 / 1.099, 0.099 / 1.099, 1.0 / 4.5, 0.081}, 3, | 1102 | 0 | &tags)); | 1103 | 0 | break; | 1104 | 9 | case JXL_TRANSFER_FUNCTION_LINEAR: | 1105 | 9 | JXL_RETURN_IF_ERROR( | 1106 | 9 | CreateICCCurvParaTag({1.0, 1.0, 0.0, 1.0, 0.0}, 3, &tags)); | 1107 | 9 | break; | 1108 | 9 | case JXL_TRANSFER_FUNCTION_DCI: | 1109 | 0 | JXL_RETURN_IF_ERROR( | 1110 | 0 | CreateICCCurvParaTag({2.6, 1.0, 0.0, 1.0, 0.0}, 3, &tags)); | 1111 | 0 | break; | 1112 | 0 | default: | 1113 | 0 | return JXL_UNREACHABLE("unknown TF %u", | 1114 | 2.95k | static_cast<unsigned int>(tf)); | 1115 | 2.95k | } | 1116 | 2.95k | } | 1117 | 2.95k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1118 | 2.95k | if (c.color_space == JXL_COLOR_SPACE_GRAY) { | 1119 | 185 | AddToICCTagTable("kTRC", tag_offset, tag_size, &tagtable, &offsets); | 1120 | 2.76k | } else { | 1121 | 2.76k | AddToICCTagTable("rTRC", tag_offset, tag_size, &tagtable, &offsets); | 1122 | 2.76k | AddToICCTagTable("gTRC", tag_offset, tag_size, &tagtable, &offsets); | 1123 | 2.76k | AddToICCTagTable("bTRC", tag_offset, tag_size, &tagtable, &offsets); | 1124 | 2.76k | } | 1125 | 2.95k | } | 1126 | | | 1127 | | // Tag count | 1128 | 2.95k | WriteICCUint32(offsets.size(), 0, &tagtable); | 1129 | 34.1k | for (size_t i = 0; i < offsets.size(); i++) { | 1130 | 31.1k | WriteICCUint32(offsets[i] + header.size() + tagtable.size(), 4 + 12 * i + 4, | 1131 | 31.1k | &tagtable); | 1132 | 31.1k | } | 1133 | | | 1134 | | // ICC profile size | 1135 | 2.95k | WriteICCUint32(header.size() + tagtable.size() + tags.size(), 0, &header); | 1136 | | | 1137 | 2.95k | *icc = header; | 1138 | 2.95k | Bytes(tagtable).AppendTo(*icc); | 1139 | 2.95k | 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 | 2.95k | std::vector<uint8_t> icc_sum = *icc; | 1146 | 2.95k | if (icc_sum.size() >= 64 + 4) { | 1147 | 2.95k | memset(icc_sum.data() + 44, 0, 4); | 1148 | 2.95k | memset(icc_sum.data() + 64, 0, 4); | 1149 | 2.95k | } | 1150 | 2.95k | uint8_t checksum[16]; | 1151 | 2.95k | detail::ICCComputeMD5(icc_sum, checksum); | 1152 | | | 1153 | 2.95k | memcpy(icc->data() + 84, checksum, sizeof(checksum)); | 1154 | | | 1155 | 2.95k | return true; | 1156 | 2.95k | } |
Unexecuted instantiation: enc_fields.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ans.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_modular.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_xyb.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_external_image.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_cache.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_group.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: jxl_cms.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_encoding.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) color_encoding_internal.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 971 | 378k | std::vector<uint8_t>* icc) { | 972 | 378k | std::vector<uint8_t> header; | 973 | 378k | std::vector<uint8_t> tagtable; | 974 | 378k | std::vector<uint8_t> tags; | 975 | 378k | JxlTransferFunction tf = c.transfer_function; | 976 | 378k | if (c.color_space == JXL_COLOR_SPACE_UNKNOWN || | 977 | 378k | tf == JXL_TRANSFER_FUNCTION_UNKNOWN) { | 978 | 0 | return false; // Not an error | 979 | 0 | } | 980 | | | 981 | 378k | switch (c.color_space) { | 982 | 376k | case JXL_COLOR_SPACE_RGB: | 983 | 377k | case JXL_COLOR_SPACE_GRAY: | 984 | 378k | case JXL_COLOR_SPACE_XYB: | 985 | 378k | break; // OK | 986 | 0 | default: | 987 | 0 | return JXL_FAILURE("Invalid CS %u", | 988 | 378k | static_cast<unsigned int>(c.color_space)); | 989 | 378k | } | 990 | | | 991 | 378k | if (c.color_space == JXL_COLOR_SPACE_XYB && | 992 | 89 | c.rendering_intent != JXL_RENDERING_INTENT_PERCEPTUAL) { | 993 | 4 | return JXL_FAILURE( | 994 | 4 | "Only perceptual rendering intent implemented for XYB " | 995 | 4 | "ICC profile."); | 996 | 4 | } | 997 | | | 998 | 378k | JXL_RETURN_IF_ERROR(CreateICCHeader(c, &header)); | 999 | | | 1000 | 378k | std::vector<size_t> offsets; | 1001 | | // tag count, deferred to later | 1002 | 378k | WriteICCUint32(0, tagtable.size(), &tagtable); | 1003 | | | 1004 | 378k | size_t tag_offset = 0; | 1005 | 378k | size_t tag_size = 0; | 1006 | | | 1007 | 378k | CreateICCMlucTag(ColorEncodingDescriptionImpl(c, false), &tags); | 1008 | 378k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1009 | 378k | AddToICCTagTable("desc", tag_offset, tag_size, &tagtable, &offsets); | 1010 | | | 1011 | 378k | const std::string copyright = "CC0"; | 1012 | 378k | CreateICCMlucTag(copyright, &tags); | 1013 | 378k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1014 | 378k | 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 | 378k | if (c.color_space == JXL_COLOR_SPACE_GRAY) { | 1018 | 1.50k | Color wtpt; | 1019 | 1.50k | JXL_RETURN_IF_ERROR( | 1020 | 1.50k | CIEXYZFromWhiteCIExy(c.white_point_xy[0], c.white_point_xy[1], wtpt)); | 1021 | 1.50k | JXL_RETURN_IF_ERROR(CreateICCXYZTag(wtpt, &tags)); | 1022 | 376k | } else { | 1023 | 376k | Color d50{0.964203, 1.0, 0.824905}; | 1024 | 376k | JXL_RETURN_IF_ERROR(CreateICCXYZTag(d50, &tags)); | 1025 | 376k | } | 1026 | 378k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1027 | 378k | AddToICCTagTable("wtpt", tag_offset, tag_size, &tagtable, &offsets); | 1028 | | | 1029 | 378k | if (c.color_space != JXL_COLOR_SPACE_GRAY) { | 1030 | | // Chromatic adaptation matrix | 1031 | 376k | Matrix3x3 chad; | 1032 | 376k | JXL_RETURN_IF_ERROR( | 1033 | 376k | CreateICCChadMatrix(c.white_point_xy[0], c.white_point_xy[1], chad)); | 1034 | | | 1035 | 376k | JXL_RETURN_IF_ERROR(CreateICCChadTag(chad, &tags)); | 1036 | 376k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1037 | 376k | AddToICCTagTable("chad", tag_offset, tag_size, &tagtable, &offsets); | 1038 | 376k | } | 1039 | | | 1040 | 378k | if (c.color_space == JXL_COLOR_SPACE_RGB) { | 1041 | 376k | MaybeCreateICCCICPTag(c, &tags, &tag_offset, &tag_size, &tagtable, | 1042 | 376k | &offsets); | 1043 | | | 1044 | 376k | Matrix3x3 m; | 1045 | 376k | JXL_RETURN_IF_ERROR(CreateICCRGBMatrix( | 1046 | 376k | c.primaries_red_xy[0], c.primaries_red_xy[1], c.primaries_green_xy[0], | 1047 | 376k | c.primaries_green_xy[1], c.primaries_blue_xy[0], c.primaries_blue_xy[1], | 1048 | 376k | c.white_point_xy[0], c.white_point_xy[1], m)); | 1049 | 376k | Color r{m[0][0], m[1][0], m[2][0]}; | 1050 | 376k | Color g{m[0][1], m[1][1], m[2][1]}; | 1051 | 376k | Color b{m[0][2], m[1][2], m[2][2]}; | 1052 | | | 1053 | 376k | JXL_RETURN_IF_ERROR(CreateICCXYZTag(r, &tags)); | 1054 | 376k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1055 | 376k | AddToICCTagTable("rXYZ", tag_offset, tag_size, &tagtable, &offsets); | 1056 | | | 1057 | 376k | JXL_RETURN_IF_ERROR(CreateICCXYZTag(g, &tags)); | 1058 | 376k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1059 | 376k | AddToICCTagTable("gXYZ", tag_offset, tag_size, &tagtable, &offsets); | 1060 | | | 1061 | 376k | JXL_RETURN_IF_ERROR(CreateICCXYZTag(b, &tags)); | 1062 | 376k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1063 | 376k | AddToICCTagTable("bXYZ", tag_offset, tag_size, &tagtable, &offsets); | 1064 | 376k | } | 1065 | | | 1066 | 377k | if (c.color_space == JXL_COLOR_SPACE_XYB) { | 1067 | 85 | JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForXYB(&tags)); | 1068 | 85 | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1069 | 85 | AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets); | 1070 | 85 | JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags)); | 1071 | 85 | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1072 | 85 | AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets); | 1073 | 377k | } else if (kEnable3DToneMapping && CanToneMap(c)) { | 1074 | 26 | JXL_RETURN_IF_ERROR(CreateICCLutAtoBTagForHDR(c, &tags)); | 1075 | 26 | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1076 | 26 | AddToICCTagTable("A2B0", tag_offset, tag_size, &tagtable, &offsets); | 1077 | 26 | JXL_RETURN_IF_ERROR(CreateICCNoOpBToATag(&tags)); | 1078 | 26 | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1079 | 26 | AddToICCTagTable("B2A0", tag_offset, tag_size, &tagtable, &offsets); | 1080 | 377k | } else { | 1081 | 377k | if (tf == JXL_TRANSFER_FUNCTION_GAMMA) { | 1082 | 384 | float gamma = 1.0 / c.gamma; | 1083 | 384 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag({gamma}, 0, &tags)); | 1084 | 377k | } else if (c.color_space != JXL_COLOR_SPACE_XYB) { | 1085 | 377k | switch (tf) { | 1086 | 126 | case JXL_TRANSFER_FUNCTION_HLG: | 1087 | 126 | CreateICCCurvCurvTag( | 1088 | 126 | CreateTableCurve<64, ExtraTF::kHLG>(CanToneMap(c)), &tags); | 1089 | 126 | break; | 1090 | 114 | case JXL_TRANSFER_FUNCTION_PQ: | 1091 | 114 | CreateICCCurvCurvTag( | 1092 | 114 | CreateTableCurve<64, ExtraTF::kPQ>(CanToneMap(c)), &tags); | 1093 | 114 | break; | 1094 | 376k | case JXL_TRANSFER_FUNCTION_SRGB: | 1095 | 376k | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag( | 1096 | 376k | {2.4, 1.0 / 1.055, 0.055 / 1.055, 1.0 / 12.92, 0.04045}, 3, | 1097 | 376k | &tags)); | 1098 | 376k | break; | 1099 | 376k | case JXL_TRANSFER_FUNCTION_709: | 1100 | 339 | JXL_RETURN_IF_ERROR(CreateICCCurvParaTag( | 1101 | 339 | {1.0 / 0.45, 1.0 / 1.099, 0.099 / 1.099, 1.0 / 4.5, 0.081}, 3, | 1102 | 339 | &tags)); | 1103 | 339 | break; | 1104 | 339 | case JXL_TRANSFER_FUNCTION_LINEAR: | 1105 | 136 | JXL_RETURN_IF_ERROR( | 1106 | 136 | CreateICCCurvParaTag({1.0, 1.0, 0.0, 1.0, 0.0}, 3, &tags)); | 1107 | 136 | break; | 1108 | 136 | case JXL_TRANSFER_FUNCTION_DCI: | 1109 | 54 | JXL_RETURN_IF_ERROR( | 1110 | 54 | CreateICCCurvParaTag({2.6, 1.0, 0.0, 1.0, 0.0}, 3, &tags)); | 1111 | 54 | break; | 1112 | 54 | default: | 1113 | 0 | return JXL_UNREACHABLE("unknown TF %u", | 1114 | 377k | static_cast<unsigned int>(tf)); | 1115 | 377k | } | 1116 | 377k | } | 1117 | 377k | FinalizeICCTag(&tags, &tag_offset, &tag_size); | 1118 | 377k | if (c.color_space == JXL_COLOR_SPACE_GRAY) { | 1119 | 1.49k | AddToICCTagTable("kTRC", tag_offset, tag_size, &tagtable, &offsets); | 1120 | 376k | } else { | 1121 | 376k | AddToICCTagTable("rTRC", tag_offset, tag_size, &tagtable, &offsets); | 1122 | 376k | AddToICCTagTable("gTRC", tag_offset, tag_size, &tagtable, &offsets); | 1123 | 376k | AddToICCTagTable("bTRC", tag_offset, tag_size, &tagtable, &offsets); | 1124 | 376k | } | 1125 | 377k | } | 1126 | | | 1127 | | // Tag count | 1128 | 377k | WriteICCUint32(offsets.size(), 0, &tagtable); | 1129 | 4.52M | for (size_t i = 0; i < offsets.size(); i++) { | 1130 | 4.14M | WriteICCUint32(offsets[i] + header.size() + tagtable.size(), 4 + 12 * i + 4, | 1131 | 4.14M | &tagtable); | 1132 | 4.14M | } | 1133 | | | 1134 | | // ICC profile size | 1135 | 377k | WriteICCUint32(header.size() + tagtable.size() + tags.size(), 0, &header); | 1136 | | | 1137 | 377k | *icc = header; | 1138 | 377k | Bytes(tagtable).AppendTo(*icc); | 1139 | 377k | 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 | 377k | std::vector<uint8_t> icc_sum = *icc; | 1146 | 377k | if (icc_sum.size() >= 64 + 4) { | 1147 | 377k | memset(icc_sum.data() + 44, 0, 4); | 1148 | 377k | memset(icc_sum.data() + 64, 0, 4); | 1149 | 377k | } | 1150 | 377k | uint8_t checksum[16]; | 1151 | 377k | detail::ICCComputeMD5(icc_sum, checksum); | 1152 | | | 1153 | 377k | memcpy(icc->data() + 84, checksum, sizeof(checksum)); | 1154 | | | 1155 | 377k | return true; | 1156 | 377k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_cache.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: blending.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_external_image.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_frame.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_group.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_modular.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_noise.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_xyb.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: epf.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: frame_header.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_bundle.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_metadata.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: luminance.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: passes_state.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: quant_weights.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_blending.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_cms.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_epf.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_noise.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_patches.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_splines.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_spot.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_write.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_xyb.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::detail::MaybeCreateProfileImpl(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) |
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_fields.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_ans.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_fast_lossless.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_frame.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_debug_image.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_detect_dots.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_image_bundle.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_external_image.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_heuristics.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_adaptive_quantization.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_group.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_progressive_split.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_ac_strategy.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_entropy_coder.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: jxl_cms.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_jpeg_data.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: enc_encoding.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: color_encoding_internal.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: blending.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: decode.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: epf.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: frame_header.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: image_bundle.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: passes_state.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: quant_weights.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: render_pipeline.cc:jxl::ColorEncodingDescription(JxlColorEncoding const&, bool) Unexecuted instantiation: low_memory_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: render_pipeline_stage.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: decode_to_jpeg.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 | 380k | std::vector<uint8_t>* icc) { |
1171 | 380k | return detail::MaybeCreateProfileImpl(c, icc); |
1172 | 380k | } encode.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 1170 | 2.95k | std::vector<uint8_t>* icc) { | 1171 | 2.95k | return detail::MaybeCreateProfileImpl(c, icc); | 1172 | 2.95k | } |
Unexecuted instantiation: enc_fields.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ans.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_fast_lossless.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_frame.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_modular.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_debug_image.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_detect_dots.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_quant_weights.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_xyb.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_image_bundle.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_external_image.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_heuristics.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_cache.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_group.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_progressive_split.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_ac_strategy.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_entropy_coder.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: jxl_cms.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_jpeg_data.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: enc_encoding.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) color_encoding_internal.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Line | Count | Source | 1170 | 378k | std::vector<uint8_t>* icc) { | 1171 | 378k | return detail::MaybeCreateProfileImpl(c, icc); | 1172 | 378k | } |
Unexecuted instantiation: compressed_dc.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_cache.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: blending.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_external_image.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_frame.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_group.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_modular.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_noise.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: dec_xyb.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: epf.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: frame_header.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_bundle.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: image_metadata.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: luminance.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: passes_state.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: quant_weights.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: simple_render_pipeline.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_blending.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: render_pipeline_stage.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_cms.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_epf.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_from_linear.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_gaborish.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_noise.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_patches.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_splines.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_spot.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_to_linear.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_tone_mapping.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_upsampling.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_write.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_xyb.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: stage_ycbcr.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) Unexecuted instantiation: decode_to_jpeg.cc:jxl::MaybeCreateProfile(JxlColorEncoding const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) |
1173 | | |
1174 | | } // namespace jxl |
1175 | | |
1176 | | #endif // LIB_JXL_CMS_JXL_CMS_INTERNAL_H_ |