LIBJXL: jxl/cms_interface.h File Reference

LIBJXL

Loading...
Searching...
No Matches
Classes | Typedefs
cms_interface.h File Reference
JPEG XL library (libjxl) » Color encoding and conversion

Interface to allow the injection of different color management systems (CMSes, also called color management modules, or CMMs) in JPEG XL. More...

`#include <jxl/color_encoding.h>`
`#include <jxl/types.h>`
`#include <stddef.h>`
`#include <stdint.h>`
Include dependency graph for cms_interface.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes
struct | JxlColorProfile
struct | JxlCmsInterface

## Typedefs
typedef JXL_BOOL(* | jpegxl_cms_set_fields_from_icc_func) (void *user_data, const uint8_t *icc_data, size_t icc_size, JxlColorEncoding *c, JXL_BOOL *cmyk)
typedef void *(* | jpegxl_cms_init_func) (void *init_data, size_t num_threads, size_t pixels_per_thread, const JxlColorProfile *input_profile, const JxlColorProfile *output_profile, float intensity_target)
typedef float *(* | jpegxl_cms_get_buffer_func) (void *user_data, size_t thread)
typedef JXL_BOOL(* | jpegxl_cms_run_func) (void *user_data, size_t thread, const float *input_buffer, float *output_buffer, size_t num_pixels)
typedef void(* | jpegxl_cms_destroy_func) (void *)

## Detailed Description

Interface to allow the injection of different color management systems (CMSes, also called color management modules, or CMMs) in JPEG XL.

A CMS is needed by the JPEG XL encoder and decoder to perform colorspace conversions. This defines an interface that can be implemented for different CMSes and then passed to the library.