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) (!!(C) ? JXL_TRUE : JXL_FALSE) |
#define | FROM_JXL_BOOL(C) (static_cast<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 | ) | (static_cast<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.
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.