13#ifndef JXL_BUTTERAUGLI_H_
14#define JXL_BUTTERAUGLI_H_
16#if defined(__cplusplus) || defined(c_plusplus)
20#include "jxl/jxl_export.h"
73 void* parallel_runner_opaque);
120 const void* buffer_dist,
size_t size_dist);
152 uint32_t* row_stride);
154#if defined(__cplusplus) || defined(c_plusplus)
JXL_EXPORT float JxlButteraugliResultGetMaxDistance(const JxlButteraugliResult *result)
JXL_EXPORT float JxlButteraugliResultGetDistance(const JxlButteraugliResult *result, float pnorm)
JXL_EXPORT JxlButteraugliResult * JxlButteraugliCompute(const JxlButteraugliApi *api, uint32_t xsize, uint32_t ysize, const JxlPixelFormat *pixel_format_orig, const void *buffer_orig, size_t size_orig, const JxlPixelFormat *pixel_format_dist, const void *buffer_dist, size_t size_dist)
JXL_EXPORT void JxlButteraugliResultDestroy(JxlButteraugliResult *result)
JXL_EXPORT void JxlButteraugliApiSetIntensityTarget(JxlButteraugliApi *api, float v)
JXL_EXPORT JxlButteraugliApi * JxlButteraugliApiCreate(const JxlMemoryManager *memory_manager)
JXL_EXPORT void JxlButteraugliApiDestroy(JxlButteraugliApi *api)
JXL_EXPORT void JxlButteraugliResultGetDistmap(const JxlButteraugliResult *result, const float **buffer, uint32_t *row_stride)
JXL_EXPORT void JxlButteraugliApiSetHFAsymmetry(JxlButteraugliApi *api, float v)
struct JxlButteraugliResultStruct JxlButteraugliResult
Definition: butteraugli.h:39
struct JxlButteraugliApiStruct JxlButteraugliApi
Definition: butteraugli.h:31
JXL_EXPORT void JxlButteraugliApiSetParallelRunner(JxlButteraugliApi *api, JxlParallelRunner parallel_runner, void *parallel_runner_opaque)
JxlParallelRetCode(* JxlParallelRunner)(void *runner_opaque, void *jpegxl_opaque, JxlParallelRunInit init, JxlParallelRunFunction func, uint32_t start_range, uint32_t end_range)
Definition: parallel_runner.h:119
Abstraction functions used by JPEG XL to allocate memory.
Definition: memory_manager.h:51
Data types for the JPEG XL API, for both encoding and decoding.