18#include "jxl/jxl_export.h"
22#if defined(__cplusplus) || defined(c_plusplus)
403 void* parallel_runner_opaque);
545 const uint8_t* buffer,
size_t size);
606 const JxlPixelFormat* pixel_format,
const void* buffer,
size_t size);
633 const JxlPixelFormat* pixel_format,
const void* buffer,
size_t size,
706 const uint8_t* contents,
800 const uint8_t* icc_profile,
1145#if defined(__cplusplus) || defined(c_plusplus)
Interface to allow the injection of different color management systems (CMSes, also called color mana...
JxlParallelRetCode(* JxlParallelRunner)(void *runner_opaque, void *jpegxl_opaque, JxlParallelRunInit init, JxlParallelRunFunction func, uint32_t start_range, uint32_t end_range)
Definition: parallel_runner.h:119
char JxlBoxType[4]
Definition: types.h:116
JxlExtraChannelType
Definition: codestream_header.h:45
#define JXL_BOOL
Definition: types.h:31
JXL_EXPORT int JxlEncoderGetRequiredCodestreamLevel(const JxlEncoder *enc)
JXL_EXPORT JxlEncoderStatus JxlEncoderSetCodestreamLevel(JxlEncoder *enc, int level)
JXL_EXPORT JxlEncoderStatus JxlEncoderAddJPEGFrame(const JxlEncoderFrameSettings *frame_settings, const uint8_t *buffer, size_t size)
JXL_EXPORT void JxlEncoderInitBlendInfo(JxlBlendInfo *blend_info)
JXL_EXPORT void JxlEncoderCloseInput(JxlEncoder *enc)
JXL_EXPORT JxlEncoderStatus JxlEncoderSetParallelRunner(JxlEncoder *enc, JxlParallelRunner parallel_runner, void *parallel_runner_opaque)
JxlEncoderFrameSettings JxlEncoderOptions
Definition: encode.h:55
JXL_EXPORT JXL_DEPRECATED JxlEncoderStatus JxlEncoderOptionsSetEffort(JxlEncoderFrameSettings *frame_settings, int effort)
JXL_EXPORT JxlEncoderStatus JxlEncoderFrameSettingsSetOption(JxlEncoderFrameSettings *frame_settings, JxlEncoderFrameSettingId option, int64_t value)
struct JxlEncoderStruct JxlEncoder
Definition: encode.h:41
JXL_EXPORT JxlEncoder * JxlEncoderCreate(const JxlMemoryManager *memory_manager)
JXL_EXPORT JxlEncoderStatus JxlEncoderSetExtraChannelBuffer(const JxlEncoderFrameSettings *frame_settings, const JxlPixelFormat *pixel_format, const void *buffer, size_t size, uint32_t index)
JXL_EXPORT JxlEncoderStatus JxlEncoderProcessOutput(JxlEncoder *enc, uint8_t **next_out, size_t *avail_out)
JXL_EXPORT JxlEncoderStatus JxlEncoderUseContainer(JxlEncoder *enc, JXL_BOOL use_container)
JXL_EXPORT void JxlColorEncodingSetToSRGB(JxlColorEncoding *color_encoding, JXL_BOOL is_gray)
JXL_EXPORT void JxlEncoderSetCms(JxlEncoder *enc, JxlCmsInterface cms)
JXL_EXPORT void JxlEncoderInitFrameHeader(JxlFrameHeader *frame_header)
JXL_EXPORT void JxlEncoderReset(JxlEncoder *enc)
JXL_EXPORT JxlEncoderStatus JxlEncoderSetFrameLossless(JxlEncoderFrameSettings *frame_settings, JXL_BOOL lossless)
JXL_EXPORT JxlEncoderStatus JxlEncoderFrameSettingsSetFloatOption(JxlEncoderFrameSettings *frame_settings, JxlEncoderFrameSettingId option, float value)
JXL_EXPORT JxlEncoderStatus JxlEncoderUseBoxes(JxlEncoder *enc)
JXL_EXPORT void JxlEncoderInitBasicInfo(JxlBasicInfo *info)
JXL_EXPORT JxlEncoderStatus JxlEncoderSetBasicInfo(JxlEncoder *enc, const JxlBasicInfo *info)
JXL_EXPORT JxlEncoderStatus JxlEncoderSetColorEncoding(JxlEncoder *enc, const JxlColorEncoding *color)
JXL_EXPORT JxlEncoderStatus JxlEncoderOptionsSetLossless(JxlEncoderFrameSettings *, JXL_BOOL)
JXL_EXPORT JxlEncoderStatus JxlEncoderSetExtraChannelBlendInfo(JxlEncoderFrameSettings *frame_settings, size_t index, const JxlBlendInfo *blend_info)
JXL_EXPORT void JxlEncoderCloseBoxes(JxlEncoder *enc)
JXL_EXPORT JxlEncoderStatus JxlEncoderSetFrameDistance(JxlEncoderFrameSettings *frame_settings, float distance)
JxlEncoderStatus
Definition: encode.h:60
JXL_EXPORT JxlEncoderStatus JxlEncoderSetFrameHeader(JxlEncoderFrameSettings *frame_settings, const JxlFrameHeader *frame_header)
JXL_EXPORT void JxlColorEncodingSetToLinearSRGB(JxlColorEncoding *color_encoding, JXL_BOOL is_gray)
JXL_EXPORT void JxlEncoderInitExtraChannelInfo(JxlExtraChannelType type, JxlExtraChannelInfo *info)
JXL_EXPORT void JxlEncoderCloseFrames(JxlEncoder *enc)
JXL_EXPORT JxlEncoderStatus JxlEncoderAddImageFrame(const JxlEncoderFrameSettings *frame_settings, const JxlPixelFormat *pixel_format, const void *buffer, size_t size)
JXL_EXPORT JxlEncoderStatus JxlEncoderSetICCProfile(JxlEncoder *enc, const uint8_t *icc_profile, size_t size)
JXL_EXPORT JXL_DEPRECATED JxlEncoderStatus JxlEncoderOptionsSetDecodingSpeed(JxlEncoderFrameSettings *frame_settings, int tier)
JXL_EXPORT JxlEncoderStatus JxlEncoderSetFrameName(JxlEncoderFrameSettings *frame_settings, const char *frame_name)
JXL_EXPORT uint32_t JxlEncoderVersion(void)
JXL_EXPORT JXL_DEPRECATED JxlEncoderStatus JxlEncoderOptionsSetDistance(JxlEncoderFrameSettings *, float)
JXL_EXPORT JxlEncoderFrameSettings * JxlEncoderFrameSettingsCreate(JxlEncoder *enc, const JxlEncoderFrameSettings *source)
JXL_EXPORT JXL_DEPRECATED JxlEncoderFrameSettings * JxlEncoderOptionsCreate(JxlEncoder *, const JxlEncoderFrameSettings *)
JXL_EXPORT JxlEncoderError JxlEncoderGetError(JxlEncoder *enc)
JXL_EXPORT JxlEncoderStatus JxlEncoderSetExtraChannelName(JxlEncoder *enc, size_t index, const char *name, size_t size)
struct JxlEncoderFrameSettingsStruct JxlEncoderFrameSettings
Definition: encode.h:51
JXL_EXPORT JxlEncoderStatus JxlEncoderAddBox(JxlEncoder *enc, const JxlBoxType type, const uint8_t *contents, size_t size, JXL_BOOL compress_box)
JxlEncoderError
Definition: encode.h:88
JxlEncoderFrameSettingId
Definition: encode.h:131
JXL_EXPORT void JxlEncoderDestroy(JxlEncoder *enc)
JXL_EXPORT JxlEncoderStatus JxlEncoderSetExtraChannelInfo(JxlEncoder *enc, size_t index, const JxlExtraChannelInfo *info)
JXL_EXPORT JxlEncoderStatus JxlEncoderStoreJPEGMetadata(JxlEncoder *enc, JXL_BOOL store_jpeg_metadata)
@ JXL_ENC_ERROR
Definition: encode.h:68
@ JXL_ENC_NEED_MORE_OUTPUT
Definition: encode.h:72
@ JXL_ENC_NOT_SUPPORTED
Definition: encode.h:79
@ JXL_ENC_SUCCESS
Definition: encode.h:64
@ JXL_ENC_ERR_NOT_SUPPORTED
Definition: encode.h:115
@ JXL_ENC_ERR_JBRD
Definition: encode.h:105
@ JXL_ENC_ERR_API_USAGE
Definition: encode.h:121
@ JXL_ENC_ERR_OOM
Definition: encode.h:100
@ JXL_ENC_ERR_OK
Definition: encode.h:91
@ JXL_ENC_ERR_GENERIC
Definition: encode.h:95
@ JXL_ENC_ERR_BAD_INPUT
Definition: encode.h:109
@ JXL_ENC_FRAME_SETTING_DECODING_SPEED
Definition: encode.h:143
@ JXL_ENC_FRAME_SETTING_MODULAR_GROUP_SIZE
Definition: encode.h:295
@ JXL_ENC_FRAME_SETTING_PROGRESSIVE_DC
Definition: encode.h:253
@ JXL_ENC_FRAME_SETTING_EXTRA_CHANNEL_RESAMPLING
Definition: encode.h:158
@ JXL_ENC_FRAME_SETTING_GROUP_ORDER_CENTER_X
Definition: encode.h:225
@ JXL_ENC_FRAME_SETTING_NOISE
Definition: encode.h:182
@ JXL_ENC_FRAME_SETTING_ALREADY_DOWNSAMPLED
Definition: encode.h:169
@ JXL_ENC_FRAME_SETTING_RESPONSIVE
Definition: encode.h:235
@ JXL_ENC_FRAME_SETTING_JPEG_RECON_CFL
Definition: encode.h:321
@ JXL_ENC_FRAME_SETTING_PATCHES
Definition: encode.h:192
@ JXL_ENC_FRAME_SETTING_GROUP_ORDER
Definition: encode.h:219
@ JXL_ENC_FRAME_SETTING_EPF
Definition: encode.h:197
@ JXL_ENC_FRAME_SETTING_CHANNEL_COLORS_GLOBAL_PERCENT
Definition: encode.h:259
@ JXL_ENC_FRAME_SETTING_RESAMPLING
Definition: encode.h:151
@ JXL_ENC_FRAME_SETTING_DOTS
Definition: encode.h:187
@ JXL_ENC_FRAME_SETTING_COLOR_TRANSFORM
Definition: encode.h:282
@ JXL_ENC_FRAME_SETTING_EFFORT
Definition: encode.h:137
@ JXL_ENC_FRAME_SETTING_MODULAR
Definition: encode.h:208
@ JXL_ENC_FRAME_SETTING_MODULAR_COLOR_SPACE
Definition: encode.h:291
@ JXL_ENC_FRAME_SETTING_KEEP_INVISIBLE
Definition: encode.h:213
@ JXL_ENC_FRAME_SETTING_PHOTON_NOISE
Definition: encode.h:176
@ JXL_ENC_FRAME_SETTING_BROTLI_EFFORT
Definition: encode.h:339
@ JXL_ENC_FRAME_SETTING_GROUP_ORDER_CENTER_Y
Definition: encode.h:230
@ JXL_ENC_FRAME_SETTING_GABORISH
Definition: encode.h:202
@ JXL_ENC_FRAME_SETTING_QPROGRESSIVE_AC
Definition: encode.h:247
@ JXL_ENC_FRAME_SETTING_MODULAR_NB_PREV_CHANNELS
Definition: encode.h:316
@ JXL_ENC_FRAME_SETTING_FILL_ENUM
Definition: encode.h:344
@ JXL_ENC_FRAME_SETTING_PROGRESSIVE_AC
Definition: encode.h:241
@ JXL_ENC_FRAME_SETTING_MODULAR_MA_TREE_LEARNING_PERCENT
Definition: encode.h:308
@ JXL_ENC_FRAME_SETTING_LOSSY_PALETTE
Definition: encode.h:275
@ JXL_ENC_FRAME_SETTING_MODULAR_PREDICTOR
Definition: encode.h:302
@ JXL_ENC_FRAME_SETTING_PALETTE_COLORS
Definition: encode.h:270
@ JXL_ENC_FRAME_SETTING_CHANNEL_COLORS_GROUP_PERCENT
Definition: encode.h:265
@ JXL_ENC_FRAME_INDEX_BOX
Definition: encode.h:332
Abstraction functions used by JPEG XL to allocate memory.
Definition: codestream_header.h:105
Definition: codestream_header.h:338
Definition: cms_interface.h:209
Definition: color_encoding.h:116
Definition: memory_manager.h:51