enc_transforms.h (998B)
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 <cstddef> 12 #include <cstdint> 13 14 #include "lib/jxl/base/compiler_specific.h" 15 16 namespace jxl { 17 18 enum class AcStrategyType : uint32_t; 19 20 void TransformFromPixels(AcStrategyType strategy, 21 const float* JXL_RESTRICT pixels, size_t pixels_stride, 22 float* JXL_RESTRICT coefficients, 23 float* JXL_RESTRICT scratch_space); 24 25 // Equivalent of the above for DC image. 26 void DCFromLowestFrequencies(AcStrategyType strategy, const float* block, 27 float* dc, size_t dc_stride); 28 29 void AFVDCT4x4(const float* JXL_RESTRICT pixels, float* JXL_RESTRICT coeffs); 30 31 } // namespace jxl 32 33 #endif // LIB_JXL_ENC_TRANSFORMS_H_