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