LIBJXL
Loading...
Searching...
No Matches
Typedefs | Enumerations | Functions
encode.h File Reference

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 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_FILL_ENUM = 65535
}
 

Functions

JXL_EXPORT uint32_t JxlEncoderVersion (void)
 
JXL_EXPORT JxlEncoderJxlEncoderCreate (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 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_EXPORT JXL_DEPRECATED JxlEncoderStatus JxlEncoderOptionsSetEffort (JxlEncoderFrameSettings *frame_settings, int effort)
 
JXL_EXPORT JXL_DEPRECATED JxlEncoderStatus JxlEncoderOptionsSetDecodingSpeed (JxlEncoderFrameSettings *frame_settings, int tier)
 
JXL_EXPORT JxlEncoderStatus JxlEncoderSetFrameDistance (JxlEncoderFrameSettings *frame_settings, float distance)
 
JXL_EXPORT JXL_DEPRECATED JxlEncoderStatus JxlEncoderOptionsSetDistance (JxlEncoderFrameSettings *, float)
 
JXL_EXPORT JxlEncoderFrameSettingsJxlEncoderFrameSettingsCreate (JxlEncoder *enc, const JxlEncoderFrameSettings *source)
 
JXL_EXPORT JXL_DEPRECATED JxlEncoderFrameSettingsJxlEncoderOptionsCreate (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)
 

Detailed Description

Encoding API for JPEG XL.