JxlPixelFormat Struct Reference
JPEG XL library (libjxl) » JPEG XL common definitions

`#include <types.h>`

## Public Attributes

uint32_t | num_channels
JxlDataType | data_type
JxlEndianness | endianness
size_t | align

## Detailed Description

Data type for the sample values per channel per pixel for the output buffer for pixels. This is not necessarily the same as the data type encoded in the codestream. The channels are interleaved per pixel. The pixels are organized row by row, left to right, top to bottom. TODO(lode): implement padding / alignment (row stride) TODO(lode): support different channel orders if needed (RGB, BGR, ...)

## Member Data Documentation

## align

size_t JxlPixelFormat::align

Align scanlines to a multiple of align bytes, or 0 to require no alignment at all (which has the same effect as value 1)

## data_type

JxlDataType JxlPixelFormat::data_type

Data type of each channel.

## endianness

JxlEndianness JxlPixelFormat::endianness

Whether multi-byte data types are represented in big endian or little endian format. This applies to JXL_TYPE_UINT16, JXL_TYPE_UINT32 and JXL_TYPE_FLOAT.

## num_channels

uint32_t JxlPixelFormat::num_channels

Amount of channels available in a pixel buffer. 1: single-channel data, e.g. grayscale or a single extra channel 2: single-channel + alpha 3: trichromatic, e.g. RGB 4: trichromatic + alpha TODO(lode): this needs finetuning. It is not yet defined how the user chooses output color space. CMYK+alpha needs 5 channels.

The documentation for this struct was generated from the following file:

- jxl/types.h