|  | 
| JXL_EXPORT uint32_t | JxlEncoderVersion (void) | 
| JXL_EXPORT JxlEncoder * | JxlEncoderCreate (const JxlMemoryManager *memory_manager) | 
| JXL_EXPORT void | JxlEncoderReset (JxlEncoder *enc) | 
| JXL_EXPORT void | JxlEncoderDestroy (JxlEncoder *enc) | 
| JXL_EXPORT void | JxlEncoderSetCms (JxlEncoder *enc, JxlCmsInterface cms) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderSetParallelRunner (JxlEncoder *enc, JxlParallelRunner parallel_runner, void *parallel_runner_opaque) | 
| JXL_EXPORT JxlEncoderError | JxlEncoderGetError (JxlEncoder *enc) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderProcessOutput (JxlEncoder *enc, uint8_t **next_out, size_t *avail_out) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderSetFrameHeader (JxlEncoderFrameSettings *frame_settings, const JxlFrameHeader *frame_header) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderSetExtraChannelBlendInfo (JxlEncoderFrameSettings *frame_settings, size_t index, const JxlBlendInfo *blend_info) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderSetFrameName (JxlEncoderFrameSettings *frame_settings, const char *frame_name) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderSetFrameBitDepth (JxlEncoderFrameSettings *frame_settings, const JxlBitDepth *bit_depth) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderAddJPEGFrame (const JxlEncoderFrameSettings *frame_settings, const uint8_t *buffer, size_t size) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderAddImageFrame (const JxlEncoderFrameSettings *frame_settings, const JxlPixelFormat *pixel_format, const void *buffer, size_t size) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderSetOutputProcessor (JxlEncoder *enc, struct JxlEncoderOutputProcessor output_processor) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderFlushInput (JxlEncoder *enc) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderAddChunkedFrame (const JxlEncoderFrameSettings *frame_settings, JXL_BOOL is_last_frame, struct JxlChunkedFrameInputSource chunked_frame_input) | 
|  | Adds a frame to the encoder using a chunked input source. 
 | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderSetExtraChannelBuffer (const JxlEncoderFrameSettings *frame_settings, const JxlPixelFormat *pixel_format, const void *buffer, size_t size, uint32_t index) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderAddBox (JxlEncoder *enc, const JxlBoxType type, const uint8_t *contents, size_t size, JXL_BOOL compress_box) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderUseBoxes (JxlEncoder *enc) | 
| JXL_EXPORT void | JxlEncoderCloseBoxes (JxlEncoder *enc) | 
| JXL_EXPORT void | JxlEncoderCloseFrames (JxlEncoder *enc) | 
| JXL_EXPORT void | JxlEncoderCloseInput (JxlEncoder *enc) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderSetColorEncoding (JxlEncoder *enc, const JxlColorEncoding *color) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderSetICCProfile (JxlEncoder *enc, const uint8_t *icc_profile, size_t size) | 
| JXL_EXPORT void | JxlEncoderInitBasicInfo (JxlBasicInfo *info) | 
| JXL_EXPORT void | JxlEncoderInitFrameHeader (JxlFrameHeader *frame_header) | 
| JXL_EXPORT void | JxlEncoderInitBlendInfo (JxlBlendInfo *blend_info) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderSetBasicInfo (JxlEncoder *enc, const JxlBasicInfo *info) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderSetUpsamplingMode (JxlEncoder *enc, int64_t factor, int64_t mode) | 
| JXL_EXPORT void | JxlEncoderInitExtraChannelInfo (JxlExtraChannelType type, JxlExtraChannelInfo *info) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderSetExtraChannelInfo (JxlEncoder *enc, size_t index, const JxlExtraChannelInfo *info) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderSetExtraChannelName (JxlEncoder *enc, size_t index, const char *name, size_t size) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderFrameSettingsSetOption (JxlEncoderFrameSettings *frame_settings, JxlEncoderFrameSettingId option, int64_t value) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderFrameSettingsSetFloatOption (JxlEncoderFrameSettings *frame_settings, JxlEncoderFrameSettingId option, float value) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderUseContainer (JxlEncoder *enc, JXL_BOOL use_container) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderStoreJPEGMetadata (JxlEncoder *enc, JXL_BOOL store_jpeg_metadata) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderSetCodestreamLevel (JxlEncoder *enc, int level) | 
| JXL_EXPORT int | JxlEncoderGetRequiredCodestreamLevel (const JxlEncoder *enc) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderSetFrameLossless (JxlEncoderFrameSettings *frame_settings, JXL_BOOL lossless) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderSetFrameDistance (JxlEncoderFrameSettings *frame_settings, float distance) | 
| JXL_EXPORT JxlEncoderStatus | JxlEncoderSetExtraChannelDistance (JxlEncoderFrameSettings *frame_settings, size_t index, float distance) | 
| JXL_EXPORT float | JxlEncoderDistanceFromQuality (float quality) | 
| JXL_EXPORT JxlEncoderFrameSettings * | JxlEncoderFrameSettingsCreate (JxlEncoder *enc, const JxlEncoderFrameSettings *source) | 
| JXL_EXPORT void | JxlColorEncodingSetToSRGB (JxlColorEncoding *color_encoding, JXL_BOOL is_gray) | 
| JXL_EXPORT void | JxlColorEncodingSetToLinearSRGB (JxlColorEncoding *color_encoding, JXL_BOOL is_gray) | 
| JXL_EXPORT void | JxlEncoderAllowExpertOptions (JxlEncoder *enc) | 
| JXL_EXPORT void | JxlEncoderSetDebugImageCallback (JxlEncoderFrameSettings *frame_settings, JxlDebugImageCallback callback, void *opaque) | 
| JXL_EXPORT void | JxlEncoderCollectStats (JxlEncoderFrameSettings *frame_settings, JxlEncoderStats *stats) | 
Encoding API for JPEG XL.