enc_toc.h (805B)
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_TOC_H_ 7 #define LIB_JXL_ENC_TOC_H_ 8 9 #include <memory> 10 #include <vector> 11 12 #include "lib/jxl/base/compiler_specific.h" 13 #include "lib/jxl/base/status.h" 14 #include "lib/jxl/coeff_order_fwd.h" 15 #include "lib/jxl/enc_bit_writer.h" 16 17 namespace jxl { 18 19 struct AuxOut; 20 21 // Writes the group offsets. If the permutation vector is empty, the identity 22 // permutation will be used. 23 Status WriteGroupOffsets( 24 const std::vector<std::unique_ptr<BitWriter>>& group_codes, 25 const std::vector<coeff_order_t>& permutation, 26 BitWriter* JXL_RESTRICT writer, AuxOut* aux_out); 27 28 } // namespace jxl 29 30 #endif // LIB_JXL_ENC_TOC_H_