LIBJXL
Loading...
Searching...
No Matches

Decoding API for JPEG XL. More...

#include <jxl/cms_interface.h>
#include <jxl/codestream_header.h>
#include <jxl/color_encoding.h>
#include <jxl/jxl_export.h>
#include <jxl/memory_manager.h>
#include <jxl/parallel_runner.h>
#include <jxl/types.h>
#include <jxl/version.h>
#include <stddef.h>
#include <stdint.h>
Include dependency graph for decode.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct JxlDecoderStruct JxlDecoder
 
typedef void(* JxlImageOutCallback) (void *opaque, size_t x, size_t y, size_t num_pixels, const void *pixels)
 
typedef void *(* JxlImageOutInitCallback) (void *init_opaque, size_t num_threads, size_t num_pixels_per_thread)
 
typedef void(* JxlImageOutRunCallback) (void *run_opaque, size_t thread_id, size_t x, size_t y, size_t num_pixels, const void *pixels)
 
typedef void(* JxlImageOutDestroyCallback) (void *run_opaque)
 

Enumerations

enum  JxlSignature { JXL_SIG_NOT_ENOUGH_BYTES = 0 , JXL_SIG_INVALID = 1 , JXL_SIG_CODESTREAM = 2 , JXL_SIG_CONTAINER = 3 }
 
enum  JxlDecoderStatus {
  JXL_DEC_SUCCESS = 0 , JXL_DEC_ERROR = 1 , JXL_DEC_NEED_MORE_INPUT = 2 , JXL_DEC_NEED_PREVIEW_OUT_BUFFER = 3 ,
  JXL_DEC_NEED_IMAGE_OUT_BUFFER = 5 , JXL_DEC_JPEG_NEED_MORE_OUTPUT = 6 , JXL_DEC_BOX_NEED_MORE_OUTPUT = 7 , JXL_DEC_BASIC_INFO = 0x40 ,
  JXL_DEC_COLOR_ENCODING = 0x100 , JXL_DEC_PREVIEW_IMAGE = 0x200 , JXL_DEC_FRAME = 0x400 , JXL_DEC_FULL_IMAGE = 0x1000 ,
  JXL_DEC_JPEG_RECONSTRUCTION = 0x2000 , JXL_DEC_BOX = 0x4000 , JXL_DEC_FRAME_PROGRESSION = 0x8000
}
 
enum  JxlProgressiveDetail {
  kFrames = 0 , kDC = 1 , kLastPasses = 2 , kPasses = 3 ,
  kDCProgressive = 4 , kDCGroups = 5 , kGroups = 6
}
 
enum  JxlColorProfileTarget { JXL_COLOR_PROFILE_TARGET_ORIGINAL = 0 , JXL_COLOR_PROFILE_TARGET_DATA = 1 }
 

Functions

JXL_EXPORT uint32_t JxlDecoderVersion (void)
 
JXL_EXPORT JxlSignature JxlSignatureCheck (const uint8_t *buf, size_t len)
 
JXL_EXPORT JxlDecoderJxlDecoderCreate (const JxlMemoryManager *memory_manager)
 
JXL_EXPORT void JxlDecoderReset (JxlDecoder *dec)
 
JXL_EXPORT void JxlDecoderDestroy (JxlDecoder *dec)
 
JXL_EXPORT void JxlDecoderRewind (JxlDecoder *dec)
 
JXL_EXPORT void JxlDecoderSkipFrames (JxlDecoder *dec, size_t amount)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSkipCurrentFrame (JxlDecoder *dec)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetParallelRunner (JxlDecoder *dec, JxlParallelRunner parallel_runner, void *parallel_runner_opaque)
 
JXL_EXPORT size_t JxlDecoderSizeHintBasicInfo (const JxlDecoder *dec)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSubscribeEvents (JxlDecoder *dec, int events_wanted)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetKeepOrientation (JxlDecoder *dec, JXL_BOOL skip_reorientation)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetUnpremultiplyAlpha (JxlDecoder *dec, JXL_BOOL unpremul_alpha)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetRenderSpotcolors (JxlDecoder *dec, JXL_BOOL render_spotcolors)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetCoalescing (JxlDecoder *dec, JXL_BOOL coalescing)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderProcessInput (JxlDecoder *dec)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetInput (JxlDecoder *dec, const uint8_t *data, size_t size)
 
JXL_EXPORT size_t JxlDecoderReleaseInput (JxlDecoder *dec)
 
JXL_EXPORT void JxlDecoderCloseInput (JxlDecoder *dec)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderGetBasicInfo (const JxlDecoder *dec, JxlBasicInfo *info)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderGetExtraChannelInfo (const JxlDecoder *dec, size_t index, JxlExtraChannelInfo *info)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderGetExtraChannelName (const JxlDecoder *dec, size_t index, char *name, size_t size)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderGetColorAsEncodedProfile (const JxlDecoder *dec, JxlColorProfileTarget target, JxlColorEncoding *color_encoding)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderGetICCProfileSize (const JxlDecoder *dec, JxlColorProfileTarget target, size_t *size)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderGetColorAsICCProfile (const JxlDecoder *dec, JxlColorProfileTarget target, uint8_t *icc_profile, size_t size)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetPreferredColorProfile (JxlDecoder *dec, const JxlColorEncoding *color_encoding)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetDesiredIntensityTarget (JxlDecoder *dec, float desired_intensity_target)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetOutputColorProfile (JxlDecoder *dec, const JxlColorEncoding *color_encoding, const uint8_t *icc_data, size_t icc_size)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetCms (JxlDecoder *dec, JxlCmsInterface cms)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderPreviewOutBufferSize (const JxlDecoder *dec, const JxlPixelFormat *format, size_t *size)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetPreviewOutBuffer (JxlDecoder *dec, const JxlPixelFormat *format, void *buffer, size_t size)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderGetFrameHeader (const JxlDecoder *dec, JxlFrameHeader *header)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderGetFrameName (const JxlDecoder *dec, char *name, size_t size)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderGetExtraChannelBlendInfo (const JxlDecoder *dec, size_t index, JxlBlendInfo *blend_info)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderImageOutBufferSize (const JxlDecoder *dec, const JxlPixelFormat *format, size_t *size)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetImageOutBuffer (JxlDecoder *dec, const JxlPixelFormat *format, void *buffer, size_t size)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetImageOutCallback (JxlDecoder *dec, const JxlPixelFormat *format, JxlImageOutCallback callback, void *opaque)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetMultithreadedImageOutCallback (JxlDecoder *dec, const JxlPixelFormat *format, JxlImageOutInitCallback init_callback, JxlImageOutRunCallback run_callback, JxlImageOutDestroyCallback destroy_callback, void *init_opaque)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderExtraChannelBufferSize (const JxlDecoder *dec, const JxlPixelFormat *format, size_t *size, uint32_t index)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetExtraChannelBuffer (JxlDecoder *dec, const JxlPixelFormat *format, void *buffer, size_t size, uint32_t index)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetJPEGBuffer (JxlDecoder *dec, uint8_t *data, size_t size)
 
JXL_EXPORT size_t JxlDecoderReleaseJPEGBuffer (JxlDecoder *dec)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetBoxBuffer (JxlDecoder *dec, uint8_t *data, size_t size)
 
JXL_EXPORT size_t JxlDecoderReleaseBoxBuffer (JxlDecoder *dec)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetDecompressBoxes (JxlDecoder *dec, JXL_BOOL decompress)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderGetBoxType (JxlDecoder *dec, JxlBoxType type, JXL_BOOL decompressed)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderGetBoxSizeRaw (const JxlDecoder *dec, uint64_t *size)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderGetBoxSizeContents (const JxlDecoder *dec, uint64_t *size)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetProgressiveDetail (JxlDecoder *dec, JxlProgressiveDetail detail)
 
JXL_EXPORT size_t JxlDecoderGetIntendedDownsamplingRatio (JxlDecoder *dec)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderFlushImage (JxlDecoder *dec)
 
JXL_EXPORT JxlDecoderStatus JxlDecoderSetImageOutBitDepth (JxlDecoder *dec, const JxlBitDepth *bit_depth)
 

Detailed Description

Decoding API for JPEG XL.