|
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.