blending.h (943B)
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_BLENDING_H_ 7 #define LIB_JXL_BLENDING_H_ 8 9 #include <jxl/memory_manager.h> 10 11 #include <cstddef> 12 #include <vector> 13 14 #include "lib/jxl/base/status.h" 15 #include "lib/jxl/dec_patch_dictionary.h" 16 #include "lib/jxl/frame_header.h" 17 #include "lib/jxl/image_metadata.h" 18 19 namespace jxl { 20 21 bool NeedsBlending(const FrameHeader& frame_header); 22 23 Status PerformBlending(JxlMemoryManager* memory_manager, const float* const* bg, 24 const float* const* fg, float* const* out, size_t x0, 25 size_t xsize, const PatchBlending& color_blending, 26 const PatchBlending* ec_blending, 27 const std::vector<ExtraChannelInfo>& extra_channel_info); 28 29 } // namespace jxl 30 31 #endif // LIB_JXL_BLENDING_H_