enc_icc_codec.h (786B)
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 <stddef.h> 12 #include <stdint.h> 13 14 #include <vector> 15 16 #include "lib/jxl/base/compiler_specific.h" 17 #include "lib/jxl/base/status.h" 18 #include "lib/jxl/enc_bit_writer.h" 19 20 namespace jxl { 21 22 struct AuxOut; 23 class PaddedBytes; 24 25 // Should still be called if `icc.empty()` - if so, writes only 1 bit. 26 Status WriteICC(const std::vector<uint8_t>& icc, BitWriter* JXL_RESTRICT writer, 27 size_t layer, AuxOut* JXL_RESTRICT aux_out); 28 29 } // namespace jxl 30 31 #endif // LIB_JXL_ENC_ICC_CODEC_H_