libjxl

FORK: libjxl patches used on blog
git clone https://git.neptards.moe/blog/libjxl.git
Log | Files | Refs | Submodules | README | LICENSE

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_