| LIBJXL
    | 

| Files | |
| file | memory_manager.h | 
| Abstraction functions used by JPEG XL to allocate memory. | |
| file | types.h | 
| Data types for the JPEG XL API, for both encoding and decoding. | |
| Classes | |
| struct | JxlMemoryManagerStruct | 
| struct | JxlPixelFormat | 
| struct | JxlBitDepth | 
| Macros | |
| #define | JXL_BOOL int | 
| #define | JXL_TRUE 1 | 
| #define | JXL_FALSE 0 | 
| #define | TO_JXL_BOOL(C) | 
| #define | FROM_JXL_BOOL(C) | 
| Typedefs | |
| typedef void *(* | jpegxl_alloc_func) (void *opaque, size_t size) | 
| typedef void(* | jpegxl_free_func) (void *opaque, void *address) | 
| typedef struct JxlMemoryManagerStruct | JxlMemoryManager | 
| typedef char | JxlBoxType[4] | 
| Enumerations | |
| enum | JxlDataType { JXL_TYPE_FLOAT = 0 , JXL_TYPE_UINT8 = 2 , JXL_TYPE_UINT16 = 3 , JXL_TYPE_FLOAT16 = 5 } | 
| enum | JxlEndianness { JXL_NATIVE_ENDIAN = 0 , JXL_LITTLE_ENDIAN = 1 , JXL_BIG_ENDIAN = 2 } | 
| enum | JxlBitDepthType { JXL_BIT_DEPTH_FROM_PIXEL_FORMAT = 0 , JXL_BIT_DEPTH_FROM_CODESTREAM = 1 , JXL_BIT_DEPTH_CUSTOM = 2 } | 
| #define FROM_JXL_BOOL | ( | C | ) | 
Converts JXL_BOOL to C++ bool.
| #define JXL_BOOL int | 
| #define JXL_FALSE 0 | 
Portable false replacement. 
| #define JXL_TRUE 1 | 
Portable true replacement. 
| #define TO_JXL_BOOL | ( | C | ) | 
| typedef void *(* jpegxl_alloc_func) (void *opaque, size_t size) | 
Allocating function for a memory region of a given size.
Allocates a contiguous memory region of size size bytes. The returned memory may not be aligned to a specific size or initialized at all.
| opaque | custom memory manager handle provided by the caller. | 
| size | in bytes of the requested memory region. | 
NULL if the memory can not be allocated, | typedef void(* jpegxl_free_func) (void *opaque, void *address) | 
Deallocating function pointer type.
This function MUST do nothing if address is NULL.
| opaque | custom memory manager handle provided by the caller. | 
| address | memory region pointer returned by jpegxl_alloc_func, or NULL. | 
| typedef char JxlBoxType[4] | 
Data type holding the 4-character type name of an ISOBMFF box.
| typedef struct JxlMemoryManagerStruct JxlMemoryManager | 
Memory Manager struct. These functions, when provided by the caller, will be used to handle memory allocations.
| enum JxlBitDepthType | 
Settings for the interpretation of UINT input and output buffers. (buffers using a FLOAT data type are not affected by this)
| enum JxlDataType | 
Data type for the sample values per channel per pixel.
| Enumerator | |
|---|---|
| JXL_TYPE_FLOAT | Use 32-bit single-precision floating point values, with range 0.0-1.0 (within gamut, may go outside this range for wide color gamut). Floating point output, either JXL_TYPE_FLOAT or JXL_TYPE_FLOAT16, is recommended for HDR and wide gamut images when color profile conversion is required. | 
| JXL_TYPE_UINT8 | Use type uint8_t. May clip wide color gamut data. | 
| JXL_TYPE_UINT16 | Use type uint16_t. May clip wide color gamut data. | 
| JXL_TYPE_FLOAT16 | Use 16-bit IEEE 754 half-precision floating point values | 
| enum JxlEndianness | 
Ordering of multi-byte data.