enc_icc_codec.h (804B)
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_ENC_ICC_CODEC_H_ 7 #define LIB_JXL_ENC_ICC_CODEC_H_ 8 9 // Compressed representation of ICC profiles. 10 11 #include <cstdint> 12 13 #include "lib/jxl/base/compiler_specific.h" 14 #include "lib/jxl/base/span.h" 15 #include "lib/jxl/base/status.h" 16 #include "lib/jxl/enc_bit_writer.h" 17 18 namespace jxl { 19 20 struct AuxOut; 21 enum class LayerType : uint8_t; 22 class PaddedBytes; 23 24 // Should still be called if `icc.empty()` - if so, writes only 1 bit. 25 Status WriteICC(Span<const uint8_t> icc, BitWriter* JXL_RESTRICT writer, 26 LayerType layer, AuxOut* JXL_RESTRICT aux_out); 27 28 } // namespace jxl 29 30 #endif // LIB_JXL_ENC_ICC_CODEC_H_