1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
// Copyright (c) the JPEG XL Project Authors. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
#ifndef LIB_JXL_DEC_GROUP_H_
#define LIB_JXL_DEC_GROUP_H_
#include <cstddef>
#include <memory>
#include <vector>
#include "lib/jxl/base/compiler_specific.h"
#include "lib/jxl/base/status.h"
#include "lib/jxl/dct_util.h"
#include "lib/jxl/dec_bit_reader.h"
#include "lib/jxl/dec_cache.h"
#include "lib/jxl/frame_header.h"
#include "lib/jxl/image_bundle.h"
#include "lib/jxl/render_pipeline/render_pipeline.h"
namespace jxl {
struct AuxOut;
Status DecodeGroup(const FrameHeader& frame_header,
BitReader* JXL_RESTRICT* JXL_RESTRICT readers,
size_t num_passes, size_t group_idx,
PassesDecoderState* JXL_RESTRICT dec_state,
GroupDecCache* JXL_RESTRICT group_dec_cache, size_t thread,
RenderPipelineInput& render_pipeline_input,
ImageBundle* JXL_RESTRICT decoded, size_t first_pass,
bool force_draw, bool dc_only, bool* should_run_pipeline);
Status DecodeGroupForRoundtrip(const FrameHeader& frame_header,
const std::vector<std::unique_ptr<ACImage>>& ac,
size_t group_idx,
PassesDecoderState* JXL_RESTRICT dec_state,
GroupDecCache* JXL_RESTRICT group_dec_cache,
size_t thread,
RenderPipelineInput& render_pipeline_input,
ImageBundle* JXL_RESTRICT decoded,
AuxOut* aux_out);
} // namespace jxl
#endif // LIB_JXL_DEC_GROUP_H_
|