compressed_dc.h (1114B)
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_COMPRESSED_DC_H_ 7 #define LIB_JXL_COMPRESSED_DC_H_ 8 9 #include <stddef.h> 10 #include <stdint.h> 11 12 #include "lib/jxl/ac_context.h" 13 #include "lib/jxl/base/data_parallel.h" 14 #include "lib/jxl/frame_header.h" 15 #include "lib/jxl/image.h" 16 #include "lib/jxl/modular/modular_image.h" 17 18 // DC handling functions: encoding and decoding of DC to and from bitstream, and 19 // related function to initialize the per-group decoder cache. 20 21 namespace jxl { 22 23 // Smooth DC in already-smooth areas, to counteract banding. 24 Status AdaptiveDCSmoothing(const float* dc_factors, Image3F* dc, 25 ThreadPool* pool); 26 27 void DequantDC(const Rect& r, Image3F* dc, ImageB* quant_dc, const Image& in, 28 const float* dc_factors, float mul, const float* cfl_factors, 29 const YCbCrChromaSubsampling& chroma_subsampling, 30 const BlockCtxMap& bctx); 31 32 } // namespace jxl 33 34 #endif // LIB_JXL_COMPRESSED_DC_H_