LIBJXL: jxl/encode.h File Reference

LIBJXL

Loading...
Searching...
No Matches
Typedefs | Enumerations | Functions
encode.h File Reference
JPEG XL library (libjxl) » JPEG XL Encoder

Encoding API for JPEG XL. More...

`#include "jxl/cms_interface.h"`
`#include "jxl/codestream_header.h"`
`#include "jxl/jxl_export.h"`
`#include "jxl/memory_manager.h"`
`#include "jxl/parallel_runner.h"`
`#include "jxl/version.h"`
Include dependency graph for encode.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Typedefs
typedef struct JxlEncoderStruct | JxlEncoder
typedef struct JxlEncoderFrameSettingsStruct | JxlEncoderFrameSettings
typedef JxlEncoderFrameSettings | JxlEncoderOptions

## Enumerations
enum | JxlEncoderStatus { JXL_ENC_SUCCESS = 0 , JXL_ENC_ERROR = 1 , JXL_ENC_NEED_MORE_OUTPUT = 2 , JXL_ENC_NOT_SUPPORTED = 3 }
enum | JxlEncoderError { JXL_ENC_ERR_OK = 0 , JXL_ENC_ERR_GENERIC = 1 , JXL_ENC_ERR_OOM = 2 , JXL_ENC_ERR_JBRD = 3 , JXL_ENC_ERR_BAD_INPUT = 4 , JXL_ENC_ERR_NOT_SUPPORTED = 0x80 , JXL_ENC_ERR_API_USAGE = 0x81 }
enum | JxlEncoderFrameSettingId { JXL_ENC_FRAME_SETTING_EFFORT = 0 , JXL_ENC_FRAME_SETTING_DECODING_SPEED = 1 , JXL_ENC_FRAME_SETTING_RESAMPLING = 2 , JXL_ENC_FRAME_SETTING_EXTRA_CHANNEL_RESAMPLING = 3 , JXL_ENC_FRAME_SETTING_ALREADY_DOWNSAMPLED = 4 , JXL_ENC_FRAME_SETTING_PHOTON_NOISE = 5 , JXL_ENC_FRAME_SETTING_NOISE = 6 , JXL_ENC_FRAME_SETTING_DOTS = 7 , JXL_ENC_FRAME_SETTING_PATCHES = 8 , JXL_ENC_FRAME_SETTING_EPF = 9 , JXL_ENC_FRAME_SETTING_GABORISH = 10 , JXL_ENC_FRAME_SETTING_MODULAR = 11 , JXL_ENC_FRAME_SETTING_KEEP_INVISIBLE = 12 , JXL_ENC_FRAME_SETTING_GROUP_ORDER = 13 , JXL_ENC_FRAME_SETTING_GROUP_ORDER_CENTER_X = 14 , JXL_ENC_FRAME_SETTING_GROUP_ORDER_CENTER_Y = 15 , JXL_ENC_FRAME_SETTING_RESPONSIVE = 16 , JXL_ENC_FRAME_SETTING_PROGRESSIVE_AC = 17 , JXL_ENC_FRAME_SETTING_QPROGRESSIVE_AC = 18 , JXL_ENC_FRAME_SETTING_PROGRESSIVE_DC = 19 , JXL_ENC_FRAME_SETTING_CHANNEL_COLORS_GLOBAL_PERCENT = 20 , JXL_ENC_FRAME_SETTING_CHANNEL_COLORS_GROUP_PERCENT = 21 , JXL_ENC_FRAME_SETTING_PALETTE_COLORS = 22 , JXL_ENC_FRAME_SETTING_LOSSY_PALETTE = 23 , JXL_ENC_FRAME_SETTING_COLOR_TRANSFORM = 24 , JXL_ENC_FRAME_SETTING_MODULAR_COLOR_SPACE = 25 , JXL_ENC_FRAME_SETTING_MODULAR_GROUP_SIZE = 26 , JXL_ENC_FRAME_SETTING_MODULAR_PREDICTOR = 27 , JXL_ENC_FRAME_SETTING_MODULAR_MA_TREE_LEARNING_PERCENT = 28 , JXL_ENC_FRAME_SETTING_MODULAR_NB_PREV_CHANNELS = 29 , JXL_ENC_FRAME_SETTING_JPEG_RECON_CFL = 30 , JXL_ENC_FRAME_INDEX_BOX = 31 , JXL_ENC_FRAME_SETTING_BROTLI_EFFORT = 32 , JXL_ENC_FRAME_SETTING_JPEG_COMPRESS_BOXES = 33 , JXL_ENC_FRAME_SETTING_FILL_ENUM = 65535 }

## Functions
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 | 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 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 | JxlEncoderOptionsSetLossless (JxlEncoderFrameSettings *, JXL_BOOL)
JXL_DEPRECATED JXL_EXPORT JxlEncoderStatus | JxlEncoderOptionsSetEffort (JxlEncoderFrameSettings *frame_settings, int effort)
JXL_DEPRECATED JXL_EXPORT JxlEncoderStatus | JxlEncoderOptionsSetDecodingSpeed (JxlEncoderFrameSettings *frame_settings, int tier)
JXL_EXPORT JxlEncoderStatus | JxlEncoderSetFrameDistance (JxlEncoderFrameSettings *frame_settings, float distance)
JXL_DEPRECATED JXL_EXPORT JxlEncoderStatus | JxlEncoderOptionsSetDistance (JxlEncoderFrameSettings *, float)
JXL_EXPORT JxlEncoderFrameSettings * | JxlEncoderFrameSettingsCreate (JxlEncoder *enc, const JxlEncoderFrameSettings *source)
JXL_DEPRECATED JXL_EXPORT JxlEncoderFrameSettings * | JxlEncoderOptionsCreate (JxlEncoder *, const JxlEncoderFrameSettings *)
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)

## Detailed Description

Encoding API for JPEG XL.