Crate jpegxl_sys[][src]

Structs

JxlAnimationHeader

The codestream animation header, optionally present in the beginning of the codestream, and if it is it applies to all animation frames, unlike JxlFrameHeader which applies to an individual frame.

JxlBasicInfo

Basic image information. This information is available from the file signature and first part of the codestream header.

JxlColorEncoding

Color encoding of the image as structured information.

JxlDecoderStruct
JxlEncoderOptionsStruct
JxlEncoderStruct
JxlExtraChannelInfo

Information for a single extra channel.

JxlFrameHeader

The header of one displayed frame.

JxlHeaderExtensions

Extensions in the codestream header.

JxlInverseOpsinMatrix

Color transform used for the XYB encoding. This affects how the internal XYB color format is converted, and is not needed unless XYB color is used.

JxlMemoryManagerStruct

Memory Manager struct. These functions, when provided by the caller, will be used to handle memory allocations.

JxlPixelFormat

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, …)

JxlPreviewHeader

The codestream preview header

_G_fpos64_t
_G_fpos_t
_IO_FILE
_IO_codecvt
_IO_marker
_IO_wide_data
__fsid_t
__mbstate_t
__pthread_cond_s
__pthread_cond_s__bindgen_ty_1__bindgen_ty_1
__pthread_cond_s__bindgen_ty_2__bindgen_ty_1
__pthread_internal_list
__pthread_internal_slist
__pthread_mutex_s
__pthread_rwlock_arch_t
__sigset_t
__va_list_tag
div_t
drand48_data
fd_set
ldiv_t
lldiv_t
max_align_t
random_data
timespec
timeval

Constants

BIG_ENDIAN
BUFSIZ
BYTE_ORDER
EOF
EXIT_FAILURE
EXIT_SUCCESS
FD_SETSIZE
FILENAME_MAX
FOPEN_MAX
INT8_MAX
INT8_MIN
INT16_MAX
INT16_MIN
INT32_MAX
INT32_MIN
INTPTR_MAX
INTPTR_MIN
INT_FAST8_MAX
INT_FAST8_MIN
INT_FAST16_MAX
INT_FAST16_MIN
INT_FAST32_MAX
INT_FAST32_MIN
INT_LEAST8_MAX
INT_LEAST8_MIN
INT_LEAST16_MAX
INT_LEAST16_MIN
INT_LEAST32_MAX
INT_LEAST32_MIN
JXL_FALSE
JXL_PARALLEL_RET_RUNNER_ERROR
JXL_TRUE
JxlColorProfileTarget_JXL_COLOR_PROFILE_TARGET_DATA

Get the color profile of the pixel data the decoder outputs.

JxlColorProfileTarget_JXL_COLOR_PROFILE_TARGET_ORIGINAL

Get the color profile of the original image from the metadata..

JxlColorSpace_JXL_COLOR_SPACE_GRAY

Luminance based, the primaries in JxlColorEncoding must be ignored. This value implies that num_color_channels in JxlBasicInfo is 1, any other value implies num_color_channels is 3.

JxlColorSpace_JXL_COLOR_SPACE_RGB

Tristimulus RGB

JxlColorSpace_JXL_COLOR_SPACE_UNKNOWN

None of the other table entries describe the color space appropriately

JxlColorSpace_JXL_COLOR_SPACE_XYB

XYB (opsin) color space

JxlDataType_JXL_TYPE_BOOLEAN

Use 1-bit packed in uint8_t, first pixel in LSB, padded to uint8_t per row. TODO(lode): support first in MSB, other padding.

JxlDataType_JXL_TYPE_FLOAT

use type float, with range 0.0-1.0 (within gamut, may go outside this range for wide color gamut). This is the recommended data type to handle HDR and wide color gamut images.

JxlDataType_JXL_TYPE_UINT8

Use type uint8_t. May clip wide color gamut data.

JxlDataType_JXL_TYPE_UINT16

Use type uint16_t. May clip wide color gamut data.

JxlDataType_JXL_TYPE_UINT32

Use type uint32_t. May clip wide color gamut data.

JxlDecoderStatus_JXL_DEC_BASIC_INFO

Informative event by JxlDecoderProcessInput: basic information such as image dimensions and extra channels. This event occurs max once per image.

JxlDecoderStatus_JXL_DEC_COLOR_ENCODING

Informative event by JxlDecoderProcessInput: color encoding or ICC profile from the codestream header. This event occurs max once per image and always later than JXL_DEC_BASIC_INFO and earlier than any pixel data.

JxlDecoderStatus_JXL_DEC_DC_IMAGE

Informative event by JxlDecoderProcessInput: DC image, 8x8 sub-sampled frame, decoded. It is not guaranteed that the decoder will always return DC separately, but when it does it will do so before outputting the full frame. JxlDecoderSetDCOutBuffer must be used after getting the basic image information to be able to get the DC pixels, if not this return status only indicates we’re past this point in the codestream. This event occurs max once per frame and always later than JXL_DEC_FRAME_HEADER and other header events and earlier than full resolution pixel data.

JxlDecoderStatus_JXL_DEC_ERROR

An error occured, for example invalid input file or out of memory. TODO(lode): add function to get error information from decoder.

JxlDecoderStatus_JXL_DEC_EXTENSIONS

Informative event by JxlDecoderProcessInput: user extensions of the codestream header. This event occurs max once per image and always later than JXL_DEC_BASIC_INFO and earlier than any pixel data.

JxlDecoderStatus_JXL_DEC_FRAME

Informative event by JxlDecoderProcessInput: Beginning of a frame. JxlDecoderGetFrameHeader can be used at this point. A note on frames: a JPEG XL image can have internal frames that are not intended to be displayed (e.g. used for compositing a final frame), but this only returns displayed frames. A displayed frame either has an animation duration or is the only or last frame in the image. This event occurs max once per displayed frame, always later than JXL_DEC_COLOR_ENCODING, and always earlier than any pixel data. While JPEG XL supports encoding a single frame as the composition of multiple internal sub-frames also called frames, this event is not indicated for the internal frames.

JxlDecoderStatus_JXL_DEC_FULL_IMAGE

Informative event by JxlDecoderProcessInput: full frame decoded. JxlDecoderSetImageOutBuffer must be used after getting the basic image information to be able to get the image pixels, if not this return status only indicates we’re past this point in the codestream. This event occurs max once per frame and always later than JXL_DEC_DC_IMAGE.

JxlDecoderStatus_JXL_DEC_JPEG_NEED_MORE_OUTPUT

Informative event by JxlDecoderProcessInput: JPEG reconstruction buffer is too small for reconstructed JPEG codestream to fit. JxlDecoderSetJPEGOutBuffer must be called again to make room for remaining bytes. This event may occur multiple times after JXL_DEC_JPEG_RECONSTRUCTION

JxlDecoderStatus_JXL_DEC_JPEG_RECONSTRUCTION

Informative event by JxlDecoderProcessInput: JPEG reconstruction data decoded. JxlDecoderSetJPEGOutBuffer may be used to set a JPEG reconstruction buffer after getting the JPEG reconstruction data. If a JPEG reconstruction buffer is set a byte stream identical to the JPEG codestream used to encode the image will be written to the JPEG reconstruction buffer instead of pixels to the image out buffer. This event occurs max once per image and always before JXL_DEC_FULL_IMAGE.

JxlDecoderStatus_JXL_DEC_NEED_DC_OUT_BUFFER

The decoder is able to decode a DC image and requests setting a DC output buffer using JxlDecoderSetDCOutBuffer. This occurs if JXL_DEC_DC_IMAGE is requested and it is possible to decode a DC image from the codestream and the DC out buffer was not yet set. This event re-occurs for new frames if there are multiple animation frames.

JxlDecoderStatus_JXL_DEC_NEED_IMAGE_OUT_BUFFER

The decoder requests and output buffer to store the full resolution image, which can be set with JxlDecoderSetImageOutBuffer. This event re-occurs for new frames if there are multiple animation frames.

JxlDecoderStatus_JXL_DEC_NEED_MORE_INPUT

The decoder needs more input bytes to continue. In the next JxlDecoderProcessInput call, next_in and avail_in must point to more bytes to continue. If *avail_in is not 0, the new bytes must be appended to the *avail_in last previous bytes.

JxlDecoderStatus_JXL_DEC_NEED_PREVIEW_OUT_BUFFER

The decoder is able to decode a preview image and requests setting a preview output buffer using JxlDecoderSetPreviewOutBuffer. This occurs if JXL_DEC_PREVIEW_IMAGE is requested and it is possible to decode a preview image from the codestream and the preview out buffer was not yet set. There is maximum one preview image in a codestream.

JxlDecoderStatus_JXL_DEC_PREVIEW_IMAGE

Informative event by JxlDecoderProcessInput: Preview image, a small frame, decoded. This event can only happen if the image has a preview frame encoded. This event occurs max once for the codestream and always later than JXL_DEC_COLOR_ENCODING and before JXL_DEC_FRAME. This event is different than JXL_DEC_PREVIEW_HEADER because the latter only outputs the dimensions of the preview image.

JxlDecoderStatus_JXL_DEC_SUCCESS

Function call finished successfully, or decoding is finished and there is nothing more to be done.

JxlEncoderStatus_JXL_ENC_ERROR

An error occurred, for example out of memory.

JxlEncoderStatus_JXL_ENC_NEED_MORE_OUTPUT

The encoder needs more output buffer to continue encoding.

JxlEncoderStatus_JXL_ENC_NOT_SUPPORTED

The encoder doesn’t (yet) support this.

JxlEncoderStatus_JXL_ENC_SUCCESS

Function call finished successfully, or encoding is finished and there is nothing more to be done.

JxlEndianness_JXL_BIG_ENDIAN

Force big endian

JxlEndianness_JXL_LITTLE_ENDIAN

Force little endian

JxlEndianness_JXL_NATIVE_ENDIAN

Use the endianness of the system, either little endian or big endian, without forcing either specific endianness. Do not use if pixel data should be exported to a well defined format.

JxlExtraChannelType_JXL_CHANNEL_ALPHA
JxlExtraChannelType_JXL_CHANNEL_BLACK
JxlExtraChannelType_JXL_CHANNEL_CFA
JxlExtraChannelType_JXL_CHANNEL_DEPTH
JxlExtraChannelType_JXL_CHANNEL_OPTIONAL
JxlExtraChannelType_JXL_CHANNEL_RESERVED0
JxlExtraChannelType_JXL_CHANNEL_RESERVED1
JxlExtraChannelType_JXL_CHANNEL_RESERVED2
JxlExtraChannelType_JXL_CHANNEL_RESERVED3
JxlExtraChannelType_JXL_CHANNEL_RESERVED4
JxlExtraChannelType_JXL_CHANNEL_RESERVED5
JxlExtraChannelType_JXL_CHANNEL_RESERVED6
JxlExtraChannelType_JXL_CHANNEL_RESERVED7
JxlExtraChannelType_JXL_CHANNEL_SELECTION_MASK
JxlExtraChannelType_JXL_CHANNEL_SPOT_COLOR
JxlExtraChannelType_JXL_CHANNEL_THERMAL
JxlExtraChannelType_JXL_CHANNEL_UNKNOWN
JxlOrientation_JXL_ORIENT_ANTI_TRANSPOSE
JxlOrientation_JXL_ORIENT_FLIP_HORIZONTAL
JxlOrientation_JXL_ORIENT_FLIP_VERTICAL
JxlOrientation_JXL_ORIENT_IDENTITY
JxlOrientation_JXL_ORIENT_ROTATE_90_CCW
JxlOrientation_JXL_ORIENT_ROTATE_90_CW
JxlOrientation_JXL_ORIENT_ROTATE_180
JxlOrientation_JXL_ORIENT_TRANSPOSE
JxlPrimaries_JXL_PRIMARIES_2100

As specified in Rec. ITU-R BT.2100-1

JxlPrimaries_JXL_PRIMARIES_CUSTOM

Custom white point stored in JxlColorEncoding primaries_red_xy, primaries_green_xy and primaries_blue_xy.

JxlPrimaries_JXL_PRIMARIES_P3

As specified in SMPTE RP 431-2

JxlPrimaries_JXL_PRIMARIES_SRGB

The CIE xy values of the red, green and blue primaries are: 0.639998686, 0.330010138; 0.300003784, 0.600003357; 0.150002046, 0.059997204

JxlRenderingIntent_JXL_RENDERING_INTENT_ABSOLUTE

ICC-absolute

JxlRenderingIntent_JXL_RENDERING_INTENT_PERCEPTUAL

vendor-specific

JxlRenderingIntent_JXL_RENDERING_INTENT_RELATIVE

media-relative

JxlRenderingIntent_JXL_RENDERING_INTENT_SATURATION

vendor-specific

JxlSignature_JXL_SIG_CODESTREAM

A valid JPEG XL codestream signature was found, that is a JPEG XL image without container.

JxlSignature_JXL_SIG_CONTAINER

A valid container signature was found, that is a JPEG XL image embedded in a box format container.

JxlSignature_JXL_SIG_INVALID

No valid JPEGXL header was found.

JxlSignature_JXL_SIG_NOT_ENOUGH_BYTES

Not enough bytes were passed to determine if a valid signature was found.

JxlTransferFunction_JXL_TRANSFER_FUNCTION_709

As specified in SMPTE RP 431-2

JxlTransferFunction_JXL_TRANSFER_FUNCTION_DCI

As specified in SMPTE ST 428-1

JxlTransferFunction_JXL_TRANSFER_FUNCTION_GAMMA

Transfer function follows power law given by the gamma value in JxlColorEncoding. Not a CICP value.

JxlTransferFunction_JXL_TRANSFER_FUNCTION_HLG

As specified in Rec. ITU-R BT.2100-1 (HLG)

JxlTransferFunction_JXL_TRANSFER_FUNCTION_LINEAR

The gamma exponent is 1

JxlTransferFunction_JXL_TRANSFER_FUNCTION_PQ

As specified in SMPTE ST 428-1

JxlTransferFunction_JXL_TRANSFER_FUNCTION_SRGB

As specified in IEC 61966-2-1 sRGB

JxlTransferFunction_JXL_TRANSFER_FUNCTION_UNKNOWN

None of the other table entries describe the transfer function.

JxlWhitePoint_JXL_WHITE_POINT_CUSTOM

Custom white point stored in JxlColorEncoding white_point.

JxlWhitePoint_JXL_WHITE_POINT_D65

CIE Standard Illuminant D65: 0.3127, 0.3290

JxlWhitePoint_JXL_WHITE_POINT_DCI

DCI-P3 from SMPTE RP 431-2: 0.314, 0.351

JxlWhitePoint_JXL_WHITE_POINT_E

CIE Standard Illuminant E (equal-energy): 1/3, 1/3

LITTLE_ENDIAN
L_ctermid
L_tmpnam
PDP_ENDIAN
PTRDIFF_MAX
PTRDIFF_MIN
P_tmpdir
RAND_MAX
SEEK_CUR
SEEK_END
SEEK_SET
SIG_ATOMIC_MAX
SIG_ATOMIC_MIN
SIZE_MAX
TMP_MAX
UINT8_MAX
UINT16_MAX
UINT32_MAX
UINTPTR_MAX
UINT_FAST8_MAX
UINT_FAST16_MAX
UINT_FAST32_MAX
UINT_LEAST8_MAX
UINT_LEAST16_MAX
UINT_LEAST32_MAX
WCONTINUED
WEXITED
WINT_MAX
WINT_MIN
WNOHANG
WNOWAIT
WSTOPPED
WUNTRACED
_ALLOCA_H
_ATFILE_SOURCE
_BITS_BYTESWAP_H
_BITS_ENDIANNESS_H
_BITS_ENDIAN_H
_BITS_PTHREADTYPES_ARCH_H
_BITS_PTHREADTYPES_COMMON_H
_BITS_STDINT_INTN_H
_BITS_STDINT_UINTN_H
_BITS_STDIO_LIM_H
_BITS_TIME64_H
_BITS_TYPESIZES_H
_BITS_TYPES_H
_BITS_UINTN_IDENTITY_H
_BITS_WCHAR_H
_DEFAULT_SOURCE
_ENDIAN_H
_FEATURES_H
_IOFBF
_IOLBF
_IONBF
_IO_EOF_SEEN
_IO_ERR_SEEN
_IO_USER_LOCK
_POSIX_C_SOURCE
_POSIX_SOURCE
_STDC_PREDEF_H
_STDINT_H
_STDIO_H
_STDLIB_H
_STRUCT_TIMESPEC
_SYS_CDEFS_H
_SYS_SELECT_H
_SYS_TYPES_H
_THREAD_MUTEX_INTERNAL_H
_THREAD_SHARED_TYPES_H
__BIG_ENDIAN
__BIT_TYPES_DEFINED__
__BYTE_ORDER
__ENUM_IDTYPE_T
__FD_SETSIZE
__FD_ZERO_STOS
__FILE_defined
__FLOAT_WORD_ORDER
__GLIBC_MINOR__
__GLIBC_USE_DEPRECATED_GETS
__GLIBC_USE_DEPRECATED_SCANF
__GLIBC_USE_IEC_60559_BFP_EXT
__GLIBC_USE_IEC_60559_BFP_EXT_C2X
__GLIBC_USE_IEC_60559_FUNCS_EXT
__GLIBC_USE_IEC_60559_FUNCS_EXT_C2X
__GLIBC_USE_IEC_60559_TYPES_EXT
__GLIBC_USE_ISOC2X
__GLIBC_USE_LIB_EXT2
__GLIBC__
__GNUC_VA_LIST
__GNU_LIBRARY__
__HAVE_DISTINCT_FLOAT16
__HAVE_DISTINCT_FLOAT32
__HAVE_DISTINCT_FLOAT32X
__HAVE_DISTINCT_FLOAT64
__HAVE_DISTINCT_FLOAT64X
__HAVE_DISTINCT_FLOAT128
__HAVE_DISTINCT_FLOAT128X
__HAVE_FLOAT16
__HAVE_FLOAT32
__HAVE_FLOAT32X
__HAVE_FLOAT64
__HAVE_FLOAT64X
__HAVE_FLOAT64X_LONG_DOUBLE
__HAVE_FLOAT128
__HAVE_FLOAT128X
__HAVE_FLOATN_NOT_TYPEDEF
__HAVE_GENERIC_SELECTION
__INO_T_MATCHES_INO64_T
__LITTLE_ENDIAN
__LONG_DOUBLE_USES_FLOAT128
__OFF_T_MATCHES_OFF64_T
__PDP_ENDIAN
__PTHREAD_MUTEX_HAVE_PREV
__RLIM_T_MATCHES_RLIM64_T
__SIZEOF_PTHREAD_ATTR_T
__SIZEOF_PTHREAD_BARRIERATTR_T
__SIZEOF_PTHREAD_BARRIER_T
__SIZEOF_PTHREAD_CONDATTR_T
__SIZEOF_PTHREAD_COND_T
__SIZEOF_PTHREAD_MUTEXATTR_T
__SIZEOF_PTHREAD_MUTEX_T
__SIZEOF_PTHREAD_RWLOCKATTR_T
__SIZEOF_PTHREAD_RWLOCK_T
__STATFS_MATCHES_STATFS64
__STDC_IEC_559_COMPLEX__
__STDC_IEC_559__
__STDC_ISO_10646__
__SYSCALL_WORDSIZE
__TIMESIZE
__USE_ATFILE
__USE_FORTIFY_LEVEL
__USE_ISOC11
__USE_ISOC95
__USE_ISOC99
__USE_MISC
__USE_POSIX
__USE_POSIX2
__USE_POSIX199309
__USE_POSIX199506
__USE_POSIX_IMPLICITLY
__USE_XOPEN2K
__USE_XOPEN2K8
__WALL
__WCLONE
__WCOREFLAG
__WNOTHREAD
__WORDSIZE
__WORDSIZE_TIME64_COMPAT32
__W_CONTINUED
____FILE_defined
_____fpos64_t_defined
_____fpos_t_defined
____mbstate_t_defined
__clock_t_defined
__clockid_t_defined
__glibc_c99_flexarr_available
__have_pthread_attr_t
__ldiv_t_defined
__lldiv_t_defined
__sigset_t_defined
__struct_FILE_defined
__time_t_defined
__timer_t_defined
__timeval_defined
idtype_t_P_ALL
idtype_t_P_PGID
idtype_t_P_PID

Statics

stderr
stdin
stdout
sys_errlist
sys_nerr

Traits

NewUninit

Convenient function to just return a block of memory. You need to assign basic_info.assume_init() to use as a Rust struct after passing as a pointer.

Functions

JxlColorEncodingSetToLinearSRGB

Sets a color encoding to be linear sRGB.

JxlColorEncodingSetToSRGB

Sets a color encoding to be sRGB.

JxlDecoderCreate

Creates an instance of JxlDecoder and initializes it.

JxlDecoderDCOutBufferSize

Returns the minimum size in bytes of the DC image output buffer for the given format. This is the buffer for JxlDecoderSetDCOutBuffer. Requires the basic image information is available in the decoder.

JxlDecoderDefaultPixelFormat

Get the default pixel format for this decoder.

JxlDecoderDestroy

Deinitializes and frees JxlDecoder instance.

JxlDecoderFlushImage

Outputs progressive step towards the decoded image so far when only partial input was received. If the flush was successful, the buffer set with JxlDecoderSetImageOutBuffer will contain partial image data.

JxlDecoderGetBasicInfo

Outputs the basic image information, such as image dimensions, bit depth and all other JxlBasicInfo fields, if available.

JxlDecoderGetColorAsEncodedProfile

Outputs the color profile as JPEG XL encoded structured data, if available. This is an alternative to an ICC Profile, which can represent a more limited amount of color spaces, but represents them exactly through enum values.

JxlDecoderGetColorAsICCProfile

Outputs ICC profile if available. The profile is only available if JxlDecoderGetICCProfileSize returns success. The output buffer must have at least as many bytes as given by JxlDecoderGetICCProfileSize.

JxlDecoderGetExtraChannelInfo

Outputs information for extra channel at the given index. The index must be smaller than num_extra_channels in the associated JxlBasicInfo.

JxlDecoderGetExtraChannelName

Outputs name for extra channel at the given index in UTF-8. The index must be smaller than num_extra_channels in the associated JxlBasicInfo. The buffer for name must have at least name_length + 1 bytes allocated, gotten from the associated JxlExtraChannelInfo.

JxlDecoderGetFrameHeader

Outputs the information from the frame, such as duration when have_animation. This function can be called when JXL_DEC_FRAME occurred for the current frame, even when have_animation in the JxlBasicInfo is JXL_FALSE.

JxlDecoderGetFrameName

Outputs name for the current frame. The buffer for name must have at least name_length + 1 bytes allocated, gotten from the associated JxlFrameHeader.

JxlDecoderGetICCProfileSize

Outputs the size in bytes of the ICC profile returned by JxlDecoderGetColorAsICCProfile, if available, or indicates there is none available. In most cases, the image will have an ICC profile available, but if it does not, JxlDecoderGetColorAsEncodedProfile must be used instead. @see JxlDecoderGetColorAsEncodedProfile for more information. The ICC profile is either the exact ICC profile attached to the codestream metadata, or a close approximation generated from JPEG XL encoded structured data, depending of what is encoded in the codestream.

JxlDecoderImageOutBufferSize

Returns the minimum size in bytes of the image output pixel buffer for the given format. This is the buffer for JxlDecoderSetImageOutBuffer. Requires the basic image information is available in the decoder.

JxlDecoderPreviewOutBufferSize

Returns the minimum size in bytes of the preview image output pixel buffer for the given format. This is the buffer for JxlDecoderSetPreviewOutBuffer. Requires the preview header information is available in the decoder.

JxlDecoderProcessInput

Decodes JPEG XL file using the available bytes. Requires input has been set with JxlDecoderSetInput. After JxlDecoderProcessInput, input can optionally be released with JxlDecoderReleaseInput and then set again to next bytes in the stream. JxlDecoderReleaseInput returns how many bytes are not yet processed, before a next call to JxlDecoderProcessInput all unprocessed bytes must be provided again (the address need not match, but the contents must), and more bytes may be concatenated after the unprocessed bytes.

JxlDecoderReleaseInput

Releases input which was provided with JxlDecoderSetInput. Between JxlDecoderProcessInput and JxlDecoderReleaseInput, the user may not alter the data in the buffer. Calling JxlDecoderReleaseInput is required whenever any input is already set and new input needs to be added with JxlDecoderSetInput, but is not required before JxlDecoderDestroy or JxlDecoderReset. Calling JxlDecoderReleaseInput when no input is set is not an error and returns 0. @param dec decoder object @return the amount of bytes the decoder has not yet processed that are still remaining in the data set by JxlDecoderSetInput, or 0 if no input is set or JxlDecoderReleaseInput was already called. For a next call to JxlDecoderProcessInput, the buffer must start with these unprocessed bytes. This value doesn’t provide information about how many bytes the decoder truly processed internally or how large the original JPEG XL codestream or file are.

JxlDecoderReleaseJPEGBuffer

Releases buffer which was provided with JxlDecoderSetJPEGBuffer.

JxlDecoderReset

Re-initializes a JxlDecoder instance, so it can be re-used for decoding another image. All state and settings are reset as if the object was newly created with JxlDecoderCreate, but the memory manager is kept.

JxlDecoderSetDCOutBuffer

Sets the buffer to write the lower resolution (8x8 sub-sampled) DC image to. The size of the buffer must be at least as large as given by JxlDecoderDCOutBufferSize. The buffer follows the format described by JxlPixelFormat. The DC image has dimensions ceil(sizex / 8) * ceil(sizey / 8). The buffer is owned by the caller.

JxlDecoderSetImageOutBuffer

Sets the buffer to write the full resolution image to. The size of the buffer must be at least as large as given by JxlDecoderImageOutBufferSize. The buffer follows the format described by JxlPixelFormat. The buffer is owned by the caller.

JxlDecoderSetInput

Sets input data for JxlDecoderProcessInput. The data is owned by the caller and may be used by the decoder until JxlDecoderReleaseInput is called or the decoder is destroyed or reset so must be kept alive until then. @param dec decoder object @param data pointer to next bytes to read from @param size amount of bytes available starting from data @return JXL_DEC_ERROR if input was already set without releasing, JXL_DEC_SUCCESS otherwise

JxlDecoderSetJPEGBuffer

Sets output buffer for reconstructed JPEG codestream.

JxlDecoderSetKeepOrientation

Enables or disables preserving of original orientation. Some images are encoded with an orientation tag indicating the image is rotated and/or mirrored (here called the original orientation).

JxlDecoderSetParallelRunner

Set the parallel runner for multithreading. May only be set before starting decoding.

JxlDecoderSetPreviewOutBuffer

Sets the buffer to write the small resolution preview image to. The size of the buffer must be at least as large as given by JxlDecoderPreviewOutBufferSize. The buffer follows the format described by JxlPixelFormat. The preview image dimensions are given by the JxlPreviewHeader. The buffer is owned by the caller.

JxlDecoderSizeHintBasicInfo

Returns a hint indicating how many more bytes the decoder is expected to need to make JxlDecoderGetBasicInfo available after the next JxlDecoderProcessInput call. This is a suggested large enough value for the *avail_in parameter, but it is not guaranteed to be an upper bound nor a lower bound. Can be used before the first JxlDecoderProcessInput call, and is correct the first time in most cases. If not, JxlDecoderSizeHintBasicInfo can be called again to get an updated hint.

JxlDecoderSubscribeEvents

Select for which informative events (JXL_DEC_BASIC_INFO, etc…) the decoder should return with a status. It is not required to subscribe to any events, data can still be requested from the decoder as soon as it available. By default, the decoder is subscribed to no events (events_wanted == 0), and the decoder will then only return when it cannot continue because it needs more input data or more output buffer. This function may only be be called before using JxlDecoderProcessInput

JxlDecoderVersion

Decoder library version.

JxlEncoderAddImageFrame

Sets the buffer to read pixels from for the next image to encode. Must call JxlEncoderSetDimensions before JxlEncoderAddImageFrame.

JxlEncoderAddJPEGFrame

Sets the buffer to read JPEG encoded bytes from for the next frame to encode.

JxlEncoderCloseInput

Declares that this encoder will not encode anything further.

JxlEncoderCreate

Creates an instance of JxlEncoder and initializes it.

JxlEncoderDestroy

Deinitializes and frees JxlEncoder instance.

JxlEncoderOptionsCreate

Create a new set of encoder options, with all values initially copied from the @p source options, or set to default if @p source is NULL.

JxlEncoderOptionsSetDistance

Sets the distance level for lossy compression: target max butteraugli distance, lower = higher quality. Range: 0 .. 15. 0.0 = mathematically lossless (however, use JxlEncoderOptionsSetLossless to use true lossless). 1.0 = visually lossless. Recommended range: 0.5 .. 3.0. Default value: 1.0. If JxlEncoderOptionsSetLossless is used, this value is unused and implied to be 0.

JxlEncoderOptionsSetEffort

Sets encoder effort/speed level. Valid values are, from faster to slower speed: 3:falcon 4:cheetah 5:hare 6:wombat 7:squirrel 8:kitten 9:tortoise Default: squirrel (7).

JxlEncoderOptionsSetLossless

Sets lossless/lossy mode for the provided options. Default is lossy.

JxlEncoderProcessOutput

Encodes JPEG XL file using the available bytes. @p *avail_out indicates how many output bytes are available, and @p *next_out points to the input bytes. *avail_out will be decremented by the amount of bytes that have been processed by the encoder and *next_out will be incremented by the same amount, so *next_out will now point at the amount of *avail_out unprocessed bytes.

JxlEncoderReset

Re-initializes a JxlEncoder instance, so it can be re-used for encoding another image. All state and settings are reset as if the object was newly created with JxlEncoderCreate, but the memory manager is kept.

JxlEncoderSetBasicInfo

Sets the global metadata of the image encoded by this encoder.

JxlEncoderSetColorEncoding

Sets the global color encoding of the image encoded by this encoder.

JxlEncoderSetParallelRunner

Set the parallel runner for multithreading. May only be set before starting encoding.

JxlEncoderStoreJPEGMetadata

Configure the encoder to store JPEG reconstruction metadata in the JPEG XL container.

JxlEncoderUseContainer

Configure the encoder to use the JPEG XL container format.

JxlEncoderVersion

Encoder library version.

JxlSignatureCheck

JPEG XL signature identification.

JxlThreadParallelRunner

Parallel runner internally using std::thread. Use as JxlParallelRunner.

JxlThreadParallelRunnerCreate

Creates the runner for JxlThreadParallelRunner. Use as the opaque runner.

JxlThreadParallelRunnerDefaultNumWorkerThreads

Returns a default num_worker_threads value for JxlThreadParallelRunnerCreate.

JxlThreadParallelRunnerDestroy

Destroys the runner created by JxlThreadParallelRunnerCreate.

_Exit
__ctype_get_mb_cur_max
__getdelim
__overflow
__uflow
a64l
abort
abs
aligned_alloc
alloca
at_quick_exit
atexit
atof
atoi
atol
atoll
bsearch
calloc
clearenv
clearerr
clearerr_unlocked
ctermid
div
dprintf
drand48
drand48_r
ecvt
ecvt_r
erand48
erand48_r
exit
fclose
fcvt
fcvt_r
fdopen
feof
feof_unlocked
ferror
ferror_unlocked
fflush
fflush_unlocked
fgetc
fgetc_unlocked
fgetpos
fgets
fileno
fileno_unlocked
flockfile
fmemopen
fopen
fprintf
fputc
fputc_unlocked
fputs
fread
fread_unlocked
free
freopen
fscanf
fscanf1
fseek
fseeko
fsetpos
ftell
ftello
ftrylockfile
funlockfile
fwrite
fwrite_unlocked
gcvt
getc
getc_unlocked
getchar
getchar_unlocked
getdelim
getenv
getline
getloadavg
getsubopt
getw
initstate
initstate_r
jrand48
jrand48_r
l64a
labs
lcong48
lcong48_r
ldiv
llabs
lldiv
lrand48
lrand48_r
malloc
mblen
mbstowcs
mbtowc
mkdtemp
mkstemp
mkstemps
mktemp
mrand48
mrand48_r
nrand48
nrand48_r
on_exit
open_memstream
pclose
perror
popen
posix_memalign
printf
pselect
putc
putc_unlocked
putchar
putchar_unlocked
putenv
puts
putw
qsort
quick_exit
rand
rand_r
random
random_r
realloc
reallocarray
realpath
remove
rename
renameat
rewind
rpmatch
scanf
scanf1
seed48
seed48_r
select
setbuf
setbuffer
setenv
setlinebuf
setstate
setstate_r
setvbuf
snprintf
sprintf
srand
srand48
srand48_r
srandom
srandom_r
sscanf
sscanf1
strtod
strtof
strtol
strtoll
strtoq
strtoul
strtoull
strtouq
system
tempnam
tmpfile
tmpnam
tmpnam_r
ungetc
unsetenv
valloc
vdprintf
vfprintf
vfscanf
vfscanf1
vprintf
vscanf
vscanf1
vsnprintf
vsprintf
vsscanf
vsscanf1
wcstombs
wctomb

Type Definitions

FILE
JxlColorProfileTarget

Defines which color profile to get: the profile from the codestream metadata header, which represents the color profile of the original image, or the color profile from the pixel data received by the decoder. Both are the same if the basic has uses_original_profile set.

JxlColorSpace

Color space of the image data.

JxlDataType

Data type for the sample values per channel per pixel.

JxlDecoder

Opaque structure that holds the JPEGXL decoder.

JxlDecoderStatus

Return value for JxlDecoderProcessInput. The values above 0x40 are optional informal events that can be subscribed to, they are never returned if they have not been registered with JxlDecoderSubscribeEvents.

JxlEncoder

Opaque structure that holds the JPEG XL encoder.

JxlEncoderOptions

Opaque structure that holds frame specific encoding options for a JPEG XL encoder.

JxlEncoderStatus

Return value for multiple encoder functions.

JxlEndianness

Ordering of multi-byte data.

JxlExtraChannelType

Given type of an extra channel.

JxlMemoryManager

Memory Manager struct. These functions, when provided by the caller, will be used to handle memory allocations.

JxlOrientation

Image orientation metadata. Values 1..8 match the EXIF definitions. The name indicates the operation to perform to transform from the encoded image to the display image.

JxlParallelRetCode

Return code used in the JxlParallel* functions as return value. A value of 0 means success and any other value means error. The special value JXL_PARALLEL_RET_RUNNER_ERROR can be used by the runner to indicate any other error.

JxlParallelRunFunction

Parallel run data processing callback. See JxlParallelRunner for details.

JxlParallelRunInit

Parallel run initialization callback. See JxlParallelRunner for details.

JxlParallelRunner

JxlParallelRunner function type. A parallel runner implementation can be provided by a JPEG XL caller to allow running computations in multiple threads. This function must call the initialization function @p init in the same thread that called it and then call the passed @p func once for every number in the range [start_range, end_range) (including start_range but not including end_range) possibly from different multiple threads in parallel.

JxlPrimaries

Built-in primaries for color encoding. Numeric values match CICP (Rec. ITU-T H.273 | ISO/IEC 23091-2:2019(E)).

JxlRenderingIntent

Renderig intent for color encoding, as specified in ISO 15076-1:2010

JxlSignature

The result of JxlSignatureCheck.

JxlTransferFunction

Built-in transfer functions for color encoding. Numeric values match CICP (Rec. ITU-T H.273 | ISO/IEC 23091-2:2019(E)) unless specified otherwise.

JxlWhitePoint

Built-in whitepoints for color encoding. Numeric values match CICP (Rec. ITU-T H.273 | ISO/IEC 23091-2:2019(E)).

_Float32
_Float32x
_Float64
_Float64x
_IO_lock_t
__FILE
__blkcnt64_t
__blkcnt_t
__blksize_t
__builtin_va_list
__caddr_t
__clock_t
__clockid_t
__compar_fn_t
__daddr_t
__dev_t
__fd_mask
__fpos64_t
__fpos_t
__fsblkcnt64_t
__fsblkcnt_t
__fsfilcnt64_t
__fsfilcnt_t
__fsword_t
__gid_t
__gnuc_va_list
__id_t
__ino64_t
__ino_t
__int8_t
__int16_t
__int32_t
__int64_t
__int_least8_t
__int_least16_t
__int_least32_t
__int_least64_t
__intmax_t
__intptr_t
__key_t
__loff_t
__mode_t
__nlink_t
__off64_t
__off_t
__pid_t
__pthread_list_t
__pthread_slist_t
__quad_t
__rlim64_t
__rlim_t
__sig_atomic_t
__socklen_t
__ssize_t
__suseconds_t
__syscall_slong_t
__syscall_ulong_t
__time_t
__timer_t
__u_char
__u_int
__u_long
__u_quad_t
__u_short
__uid_t
__uint8_t
__uint16_t
__uint32_t
__uint64_t
__uint_least8_t
__uint_least16_t
__uint_least32_t
__uint_least64_t
__uintmax_t
__useconds_t
blkcnt_t
blksize_t
caddr_t
clock_t
clockid_t
daddr_t
dev_t
fd_mask
fpos_t
fsblkcnt_t
fsfilcnt_t
fsid_t
gid_t
id_t
idtype_t
ino_t
int_fast8_t
int_fast16_t
int_fast32_t
int_fast64_t
int_least8_t
int_least16_t
int_least32_t
int_least64_t
intmax_t
jpegxl_alloc_func

Allocating function for a memory region of a given size.

jpegxl_free_func

Deallocating function pointer type.

key_t
loff_t
mode_t
nlink_t
off_t
pid_t
pthread_key_t
pthread_once_t
pthread_spinlock_t
pthread_t
quad_t
register_t
sigset_t
size_t
ssize_t
suseconds_t
time_t
timer_t
u_char
u_int
u_int8_t
u_int16_t
u_int32_t
u_int64_t
u_long
u_quad_t
u_short
uid_t
uint
uint_fast8_t
uint_fast16_t
uint_fast32_t
uint_fast64_t
uint_least8_t
uint_least16_t
uint_least32_t
uint_least64_t
uintmax_t
ulong
ushort
va_list
wchar_t

Unions

__mbstate_t__bindgen_ty_1
__pthread_cond_s__bindgen_ty_1
__pthread_cond_s__bindgen_ty_2
pthread_attr_t
pthread_barrier_t
pthread_barrierattr_t
pthread_cond_t
pthread_condattr_t
pthread_mutex_t
pthread_mutexattr_t
pthread_rwlock_t
pthread_rwlockattr_t