dec_group.h (1784B)
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_DEC_GROUP_H_ 7 #define LIB_JXL_DEC_GROUP_H_ 8 9 #include <cstddef> 10 #include <memory> 11 #include <vector> 12 13 #include "lib/jxl/base/compiler_specific.h" 14 #include "lib/jxl/base/status.h" 15 #include "lib/jxl/dct_util.h" 16 #include "lib/jxl/dec_bit_reader.h" 17 #include "lib/jxl/dec_cache.h" 18 #include "lib/jxl/frame_header.h" 19 #include "lib/jxl/image_bundle.h" 20 #include "lib/jxl/render_pipeline/render_pipeline.h" 21 22 namespace jxl { 23 24 struct AuxOut; 25 26 Status DecodeGroup(const FrameHeader& frame_header, 27 BitReader* JXL_RESTRICT* JXL_RESTRICT readers, 28 size_t num_passes, size_t group_idx, 29 PassesDecoderState* JXL_RESTRICT dec_state, 30 GroupDecCache* JXL_RESTRICT group_dec_cache, size_t thread, 31 RenderPipelineInput& render_pipeline_input, 32 ImageBundle* JXL_RESTRICT decoded, size_t first_pass, 33 bool force_draw, bool dc_only, bool* should_run_pipeline); 34 35 Status DecodeGroupForRoundtrip(const FrameHeader& frame_header, 36 const std::vector<std::unique_ptr<ACImage>>& ac, 37 size_t group_idx, 38 PassesDecoderState* JXL_RESTRICT dec_state, 39 GroupDecCache* JXL_RESTRICT group_dec_cache, 40 size_t thread, 41 RenderPipelineInput& render_pipeline_input, 42 ImageBundle* JXL_RESTRICT decoded, 43 AuxOut* aux_out); 44 45 } // namespace jxl 46 47 #endif // LIB_JXL_DEC_GROUP_H_