Coverage Report

Created: 2026-04-01 07:49

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libjxl/lib/jxl/field_encodings.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_FIELD_ENCODINGS_H_
7
#define LIB_JXL_FIELD_ENCODINGS_H_
8
9
// Constants needed to encode/decode fields; avoids including the full fields.h.
10
11
#include <cstddef>
12
#include <cstdint>
13
#include <hwy/base.h>
14
#include <vector>
15
16
#include "lib/jxl/base/bits.h"
17
#include "lib/jxl/base/compiler_specific.h"
18
#include "lib/jxl/base/status.h"
19
20
namespace jxl {
21
22
// Macro to define the Fields' derived class Name when compiling with debug
23
// names.
24
#if (JXL_IS_DEBUG_BUILD)
25
#define JXL_FIELDS_NAME(X) \
26
0
  const char* Name() const override { return #X; }
Unexecuted instantiation: jxl::Customxy::Name() const
Unexecuted instantiation: jxl::CustomTransferFunction::Name() const
Unexecuted instantiation: jxl::ColorEncoding::Name() const
Unexecuted instantiation: jxl::LZ77Params::Name() const
Unexecuted instantiation: jxl::SizeHeader::Name() const
Unexecuted instantiation: jxl::PreviewHeader::Name() const
Unexecuted instantiation: jxl::AnimationHeader::Name() const
Unexecuted instantiation: jxl::BitDepth::Name() const
Unexecuted instantiation: jxl::ExtraChannelInfo::Name() const
Unexecuted instantiation: jxl::OpsinInverseMatrix::Name() const
Unexecuted instantiation: jxl::ToneMapping::Name() const
Unexecuted instantiation: jxl::CustomTransformData::Name() const
Unexecuted instantiation: jxl::ImageMetadata::Name() const
Unexecuted instantiation: jxl::LoopFilter::Name() const
Unexecuted instantiation: jxl::YCbCrChromaSubsampling::Name() const
Unexecuted instantiation: jxl::BlendingInfo::Name() const
Unexecuted instantiation: jxl::AnimationFrame::Name() const
Unexecuted instantiation: jxl::Passes::Name() const
Unexecuted instantiation: jxl::FrameHeader::Name() const
Unexecuted instantiation: jxl::jpeg::JPEGData::Name() const
Unexecuted instantiation: jxl::QuantizerParams::Name() const
Unexecuted instantiation: jxl::GroupHeader::Name() const
Unexecuted instantiation: jxl::weighted::Header::Name() const
Unexecuted instantiation: jxl::SqueezeParams::Name() const
Unexecuted instantiation: jxl::Transform::Name() const
27
#else
28
#define JXL_FIELDS_NAME(X)
29
#endif  // JXL_IS_DEBUG_BUILD
30
31
class Visitor;
32
class Fields {
33
 public:
34
66.0M
  virtual ~Fields() = default;
35
#if (JXL_IS_DEBUG_BUILD)
36
  virtual const char* Name() const = 0;
37
#endif  // JXL_IS_DEBUG_BUILD
38
  virtual Status VisitFields(Visitor* JXL_RESTRICT visitor) = 0;
39
};
40
41
// Distribution of U32 values for one particular selector. Represents either a
42
// power of two-sized range, or a single value. A separate type ensures this is
43
// only passed to the U32Enc ctor.
44
struct U32Distr {
45
  // No need to validate - all `d` are legitimate.
46
577M
  constexpr explicit U32Distr(uint32_t d) : d(d) {}
47
48
  static constexpr uint32_t kDirect = 0x80000000u;
49
50
9.82M
  constexpr bool IsDirect() const { return (d & kDirect) != 0; }
51
52
  // Only call if IsDirect().
53
4.83M
  constexpr uint32_t Direct() const { return d & (kDirect - 1); }
54
55
  // Only call if !IsDirect().
56
4.90M
  constexpr size_t ExtraBits() const { return (d & 0x1F) + 1; }
57
4.92M
  uint32_t Offset() const { return (d >> 5) & 0x3FFFFFF; }
58
59
  uint32_t d;
60
};
61
62
// A direct-coded 31-bit value occupying 2 bits in the bitstream.
63
219M
constexpr U32Distr Val(uint32_t value) {
64
219M
  return U32Distr(value | U32Distr::kDirect);
65
219M
}
66
67
// Value - `offset` will be signaled in `bits` extra bits.
68
357M
constexpr U32Distr BitsOffset(uint32_t bits, uint32_t offset) {
69
357M
  return U32Distr(((bits - 1) & 0x1F) + ((offset & 0x3FFFFFF) << 5));
70
357M
}
71
72
// Value will be signaled in `bits` extra bits.
73
61.1M
constexpr U32Distr Bits(uint32_t bits) { return BitsOffset(bits, 0); }
74
75
// See U32Coder documentation in fields.h.
76
class U32Enc {
77
 public:
78
  constexpr U32Enc(const U32Distr d0, const U32Distr d1, const U32Distr d2,
79
                   const U32Distr d3)
80
144M
      : d_{d0, d1, d2, d3} {}
81
82
  // Returns the U32Distr at `selector` = 0..3, least-significant first.
83
9.82M
  U32Distr GetDistr(const uint32_t selector) const {
84
9.82M
    JXL_DASSERT(selector < 4);
85
9.82M
    return d_[selector];
86
9.82M
  }
87
88
 private:
89
  U32Distr d_[4];
90
};
91
92
// Returns bit with the given `index` (0 = least significant).
93
template <typename T>
94
209M
static inline constexpr uint64_t MakeBit(T index) {
95
209M
  return 1ULL << static_cast<uint32_t>(index);
96
209M
}
Unexecuted instantiation: encode.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: encode.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: encode.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: encode.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: encode.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: encode.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_jpeg_data.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_jpeg_data.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_jpeg_data.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_jpeg_data.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_jpeg_data.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_jpeg_data.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
color_encoding_internal.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Line
Count
Source
94
32.2M
static inline constexpr uint64_t MakeBit(T index) {
95
32.2M
  return 1ULL << static_cast<uint32_t>(index);
96
32.2M
}
color_encoding_internal.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Line
Count
Source
94
21.7M
static inline constexpr uint64_t MakeBit(T index) {
95
21.7M
  return 1ULL << static_cast<uint32_t>(index);
96
21.7M
}
color_encoding_internal.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Line
Count
Source
94
20.5M
static inline constexpr uint64_t MakeBit(T index) {
95
20.5M
  return 1ULL << static_cast<uint32_t>(index);
96
20.5M
}
color_encoding_internal.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Line
Count
Source
94
20.1M
static inline constexpr uint64_t MakeBit(T index) {
95
20.1M
  return 1ULL << static_cast<uint32_t>(index);
96
20.1M
}
color_encoding_internal.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Line
Count
Source
94
20.7M
static inline constexpr uint64_t MakeBit(T index) {
95
20.7M
  return 1ULL << static_cast<uint32_t>(index);
96
20.7M
}
Unexecuted instantiation: decode.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: decode.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: decode.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: decode.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: decode.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: decode.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: frame_header.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: frame_header.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: frame_header.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: frame_header.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: frame_header.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: frame_header.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
image_metadata.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Line
Count
Source
94
94.2M
static inline constexpr uint64_t MakeBit(T index) {
95
94.2M
  return 1ULL << static_cast<uint32_t>(index);
96
94.2M
}
Unexecuted instantiation: image_metadata.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: image_metadata.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: image_metadata.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: image_metadata.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: image_metadata.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: luminance.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: luminance.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: luminance.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: luminance.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: luminance.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: luminance.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: quant_weights.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: quant_weights.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: quant_weights.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: quant_weights.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: quant_weights.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: quant_weights.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: decode_to_jpeg.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: decode_to_jpeg.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: decode_to_jpeg.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: decode_to_jpeg.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: decode_to_jpeg.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: decode_to_jpeg.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_fast_lossless.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_fast_lossless.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_fast_lossless.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_fast_lossless.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_fast_lossless.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_fast_lossless.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_fields.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_fields.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_fields.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_fields.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_fields.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_fields.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_frame.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_frame.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_frame.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_frame.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_frame.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_frame.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_group.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_group.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_group.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_group.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_group.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_group.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_heuristics.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_heuristics.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_heuristics.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_heuristics.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_heuristics.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_heuristics.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_modular.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_modular.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_modular.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_modular.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_modular.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_modular.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_patch_dictionary.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_patch_dictionary.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_patch_dictionary.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_patch_dictionary.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_patch_dictionary.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_patch_dictionary.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_progressive_split.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_progressive_split.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_progressive_split.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_progressive_split.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_progressive_split.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_progressive_split.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_quant_weights.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_quant_weights.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_quant_weights.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_quant_weights.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_quant_weights.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_quant_weights.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_xyb.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_xyb.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_xyb.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_xyb.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_xyb.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_xyb.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_encoding.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_encoding.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_encoding.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_encoding.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_encoding.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_encoding.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: compressed_dc.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: compressed_dc.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: compressed_dc.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: compressed_dc.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: compressed_dc.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: compressed_dc.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: dec_cache.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: dec_cache.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: dec_cache.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: dec_cache.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: dec_cache.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: dec_cache.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: dec_external_image.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: dec_external_image.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: dec_external_image.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: dec_external_image.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: dec_external_image.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: dec_external_image.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: dec_frame.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: dec_frame.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: dec_frame.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: dec_frame.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: dec_frame.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: dec_frame.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: dec_group.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: dec_group.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: dec_group.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: dec_group.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: dec_group.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: dec_group.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: dec_modular.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: dec_modular.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: dec_modular.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: dec_modular.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: dec_modular.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: dec_modular.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: dec_noise.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: dec_noise.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: dec_noise.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: dec_noise.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: dec_noise.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: dec_noise.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: dec_patch_dictionary.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: dec_patch_dictionary.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: dec_patch_dictionary.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: dec_patch_dictionary.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: dec_patch_dictionary.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: dec_patch_dictionary.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: dec_xyb.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: dec_xyb.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: dec_xyb.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: dec_xyb.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: dec_xyb.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: dec_xyb.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: epf.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: epf.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: epf.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: epf.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: epf.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: epf.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: image_bundle.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: image_bundle.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: image_bundle.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: image_bundle.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: image_bundle.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: image_bundle.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: passes_state.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: passes_state.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: passes_state.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: passes_state.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: passes_state.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: passes_state.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: render_pipeline.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: render_pipeline.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: render_pipeline.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: render_pipeline.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: render_pipeline.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: render_pipeline.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: simple_render_pipeline.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: simple_render_pipeline.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: simple_render_pipeline.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: simple_render_pipeline.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: simple_render_pipeline.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: simple_render_pipeline.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: stage_blending.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: stage_blending.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: stage_blending.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: stage_blending.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: stage_blending.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: stage_blending.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: stage_chroma_upsampling.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: stage_chroma_upsampling.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: stage_chroma_upsampling.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: stage_chroma_upsampling.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: stage_chroma_upsampling.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: stage_chroma_upsampling.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: stage_cms.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: stage_cms.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: stage_cms.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: stage_cms.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: stage_cms.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: stage_cms.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: stage_epf.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: stage_epf.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: stage_epf.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: stage_epf.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: stage_epf.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: stage_epf.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: stage_from_linear.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: stage_from_linear.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: stage_from_linear.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: stage_from_linear.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: stage_from_linear.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: stage_from_linear.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: stage_gaborish.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: stage_gaborish.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: stage_gaborish.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: stage_gaborish.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: stage_gaborish.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: stage_gaborish.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: stage_noise.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: stage_noise.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: stage_noise.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: stage_noise.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: stage_noise.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: stage_noise.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: stage_patches.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: stage_patches.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: stage_patches.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: stage_patches.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: stage_patches.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: stage_patches.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: stage_splines.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: stage_splines.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: stage_splines.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: stage_splines.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: stage_splines.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: stage_splines.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: stage_spot.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: stage_spot.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: stage_spot.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: stage_spot.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: stage_spot.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: stage_spot.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: stage_to_linear.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: stage_to_linear.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: stage_to_linear.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: stage_to_linear.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: stage_to_linear.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: stage_to_linear.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: stage_tone_mapping.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: stage_tone_mapping.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: stage_tone_mapping.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: stage_tone_mapping.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: stage_tone_mapping.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: stage_tone_mapping.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: stage_upsampling.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: stage_upsampling.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: stage_upsampling.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: stage_upsampling.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: stage_upsampling.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: stage_upsampling.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: stage_write.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: stage_write.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: stage_write.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: stage_write.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: stage_write.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: stage_write.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: stage_xyb.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: stage_xyb.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: stage_xyb.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: stage_xyb.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: stage_xyb.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: stage_xyb.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: stage_ycbcr.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: stage_ycbcr.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: stage_ycbcr.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: stage_ycbcr.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: stage_ycbcr.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: stage_ycbcr.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_ac_strategy.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_ac_strategy.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_ac_strategy.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_ac_strategy.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_ac_strategy.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_ac_strategy.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_adaptive_quantization.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_adaptive_quantization.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_adaptive_quantization.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_adaptive_quantization.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_adaptive_quantization.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_adaptive_quantization.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_ans.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_ans.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_ans.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_ans.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_ans.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_ans.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_butteraugli_comparator.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_butteraugli_comparator.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_butteraugli_comparator.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_butteraugli_comparator.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_butteraugli_comparator.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_butteraugli_comparator.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_cache.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_cache.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_cache.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_cache.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_cache.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_cache.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_chroma_from_luma.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_chroma_from_luma.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_chroma_from_luma.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_chroma_from_luma.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_chroma_from_luma.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_chroma_from_luma.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_debug_image.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_debug_image.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_debug_image.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_debug_image.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_debug_image.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_debug_image.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_dot_dictionary.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_dot_dictionary.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_dot_dictionary.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_dot_dictionary.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_dot_dictionary.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_dot_dictionary.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_entropy_coder.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_entropy_coder.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_entropy_coder.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_entropy_coder.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_entropy_coder.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_entropy_coder.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_external_image.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_external_image.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_external_image.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_external_image.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_external_image.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_external_image.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_image_bundle.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_image_bundle.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_image_bundle.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_image_bundle.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_image_bundle.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_image_bundle.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_lz77.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_lz77.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_lz77.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_lz77.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_lz77.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_lz77.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: blending.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: blending.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: blending.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: blending.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: blending.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: blending.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: low_memory_render_pipeline.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: low_memory_render_pipeline.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: low_memory_render_pipeline.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: low_memory_render_pipeline.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: low_memory_render_pipeline.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: low_memory_render_pipeline.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: render_pipeline_stage.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: render_pipeline_stage.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: render_pipeline_stage.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: render_pipeline_stage.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: render_pipeline_stage.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: render_pipeline_stage.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: enc_detect_dots.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: enc_detect_dots.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: enc_detect_dots.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: enc_detect_dots.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: enc_detect_dots.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Unexecuted instantiation: enc_detect_dots.cc:unsigned long jxl::MakeBit<jxl::ExtraChannel>(jxl::ExtraChannel)
Unexecuted instantiation: jxl_cms.cc:unsigned long jxl::MakeBit<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Unexecuted instantiation: jxl_cms.cc:unsigned long jxl::MakeBit<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Unexecuted instantiation: jxl_cms.cc:unsigned long jxl::MakeBit<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Unexecuted instantiation: jxl_cms.cc:unsigned long jxl::MakeBit<jxl::cms::Primaries>(jxl::cms::Primaries)
Unexecuted instantiation: jxl_cms.cc:unsigned long jxl::MakeBit<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
97
98
// Returns vector of all possible values of an Enum type. Relies on each Enum
99
// providing an overload of EnumBits() that returns a bit array of its values,
100
// which implies values must be in [0, 64).
101
template <typename Enum>
102
0
std::vector<Enum> Values() {
103
0
  uint64_t bits = EnumBits(Enum());
104
105
0
  std::vector<Enum> values;
106
0
  values.reserve(hwy::PopCount(bits));
107
108
  // For each 1-bit in bits: add its index as value
109
0
  while (bits != 0) {
110
0
    const int index = Num0BitsBelowLS1Bit_Nonzero(bits);
111
0
    values.push_back(static_cast<Enum>(index));
112
0
    bits &= bits - 1;  // clear least-significant bit
113
0
  }
114
0
  return values;
115
0
}
116
117
// Returns true if value is one of Values<Enum>().
118
template <class Enum>
119
30.0M
Status EnumValid(const Enum value) {
120
30.0M
  if (static_cast<uint32_t>(value) >= 64) {
121
2.03k
    return JXL_FAILURE("Value %u too large for %s\n",
122
2.03k
                       static_cast<uint32_t>(value), EnumName(Enum()));
123
2.03k
  }
124
30.0M
  const uint64_t bit = MakeBit(value);
125
30.0M
  if ((EnumBits(Enum()) & bit) == 0) {
126
64.9k
    return JXL_FAILURE("Invalid value %u for %s\n",
127
64.9k
                       static_cast<uint32_t>(value), EnumName(Enum()));
128
64.9k
  }
129
30.0M
  return true;
130
30.0M
}
jxl::Status jxl::EnumValid<jxl::cms::TransferFunction>(jxl::cms::TransferFunction)
Line
Count
Source
119
4.03M
Status EnumValid(const Enum value) {
120
4.03M
  if (static_cast<uint32_t>(value) >= 64) {
121
64
    return JXL_FAILURE("Value %u too large for %s\n",
122
64
                       static_cast<uint32_t>(value), EnumName(Enum()));
123
64
  }
124
4.03M
  const uint64_t bit = MakeBit(value);
125
4.03M
  if ((EnumBits(Enum()) & bit) == 0) {
126
3.92k
    return JXL_FAILURE("Invalid value %u for %s\n",
127
3.92k
                       static_cast<uint32_t>(value), EnumName(Enum()));
128
3.92k
  }
129
4.02M
  return true;
130
4.03M
}
jxl::Status jxl::EnumValid<jxl::cms::ColorSpace>(jxl::cms::ColorSpace)
Line
Count
Source
119
4.34M
Status EnumValid(const Enum value) {
120
4.34M
  if (static_cast<uint32_t>(value) >= 64) {
121
712
    return JXL_FAILURE("Value %u too large for %s\n",
122
712
                       static_cast<uint32_t>(value), EnumName(Enum()));
123
712
  }
124
4.34M
  const uint64_t bit = MakeBit(value);
125
4.34M
  if ((EnumBits(Enum()) & bit) == 0) {
126
2.08k
    return JXL_FAILURE("Invalid value %u for %s\n",
127
2.08k
                       static_cast<uint32_t>(value), EnumName(Enum()));
128
2.08k
  }
129
4.34M
  return true;
130
4.34M
}
jxl::Status jxl::EnumValid<jxl::cms::WhitePoint>(jxl::cms::WhitePoint)
Line
Count
Source
119
4.10M
Status EnumValid(const Enum value) {
120
4.10M
  if (static_cast<uint32_t>(value) >= 64) {
121
450
    return JXL_FAILURE("Value %u too large for %s\n",
122
450
                       static_cast<uint32_t>(value), EnumName(Enum()));
123
450
  }
124
4.10M
  const uint64_t bit = MakeBit(value);
125
4.10M
  if ((EnumBits(Enum()) & bit) == 0) {
126
51.2k
    return JXL_FAILURE("Invalid value %u for %s\n",
127
51.2k
                       static_cast<uint32_t>(value), EnumName(Enum()));
128
51.2k
  }
129
4.05M
  return true;
130
4.10M
}
jxl::Status jxl::EnumValid<jxl::cms::Primaries>(jxl::cms::Primaries)
Line
Count
Source
119
4.03M
Status EnumValid(const Enum value) {
120
4.03M
  if (static_cast<uint32_t>(value) >= 64) {
121
134
    return JXL_FAILURE("Value %u too large for %s\n",
122
134
                       static_cast<uint32_t>(value), EnumName(Enum()));
123
134
  }
124
4.03M
  const uint64_t bit = MakeBit(value);
125
4.03M
  if ((EnumBits(Enum()) & bit) == 0) {
126
1.08k
    return JXL_FAILURE("Invalid value %u for %s\n",
127
1.08k
                       static_cast<uint32_t>(value), EnumName(Enum()));
128
1.08k
  }
129
4.03M
  return true;
130
4.03M
}
jxl::Status jxl::EnumValid<jxl::cms::RenderingIntent>(jxl::cms::RenderingIntent)
Line
Count
Source
119
4.15M
Status EnumValid(const Enum value) {
120
4.15M
  if (static_cast<uint32_t>(value) >= 64) {
121
38
    return JXL_FAILURE("Value %u too large for %s\n",
122
38
                       static_cast<uint32_t>(value), EnumName(Enum()));
123
38
  }
124
4.15M
  const uint64_t bit = MakeBit(value);
125
4.15M
  if ((EnumBits(Enum()) & bit) == 0) {
126
1.08k
    return JXL_FAILURE("Invalid value %u for %s\n",
127
1.08k
                       static_cast<uint32_t>(value), EnumName(Enum()));
128
1.08k
  }
129
4.15M
  return true;
130
4.15M
}
jxl::Status jxl::EnumValid<jxl::ExtraChannel>(jxl::ExtraChannel)
Line
Count
Source
119
9.42M
Status EnumValid(const Enum value) {
120
9.42M
  if (static_cast<uint32_t>(value) >= 64) {
121
640
    return JXL_FAILURE("Value %u too large for %s\n",
122
640
                       static_cast<uint32_t>(value), EnumName(Enum()));
123
640
  }
124
9.42M
  const uint64_t bit = MakeBit(value);
125
9.42M
  if ((EnumBits(Enum()) & bit) == 0) {
126
5.45k
    return JXL_FAILURE("Invalid value %u for %s\n",
127
5.45k
                       static_cast<uint32_t>(value), EnumName(Enum()));
128
5.45k
  }
129
9.41M
  return true;
130
9.42M
}
131
132
}  // namespace jxl
133
134
#endif  // LIB_JXL_FIELD_ENCODINGS_H_