enc_transforms.h (978B)
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_TRANSFORMS_H_ 7 #define LIB_JXL_ENC_TRANSFORMS_H_ 8 9 // Facade for (non-inlined) integral transforms. 10 11 #include <stddef.h> 12 13 #include "lib/jxl/ac_strategy.h" 14 #include "lib/jxl/base/compiler_specific.h" 15 16 namespace jxl { 17 18 void TransformFromPixels(AcStrategy::Type strategy, 19 const float* JXL_RESTRICT pixels, size_t pixels_stride, 20 float* JXL_RESTRICT coefficients, 21 float* JXL_RESTRICT scratch_space); 22 23 // Equivalent of the above for DC image. 24 void DCFromLowestFrequencies(AcStrategy::Type strategy, const float* block, 25 float* dc, size_t dc_stride); 26 27 void AFVDCT4x4(const float* JXL_RESTRICT pixels, float* JXL_RESTRICT coeffs); 28 29 } // namespace jxl 30 31 #endif // LIB_JXL_ENC_TRANSFORMS_H_