[−][src]Crate jpegxl_sys
Structs
JpegxlAnimationHeader | The codestream animation header |
JpegxlBasicInfo | Basic image information. This information is available from the file signature and first part of the codestream header. |
JpegxlColorEncoding | Color encoding of the image as structured information. |
JpegxlColorProfileSource | Specifies how the color profile information of the image can be retrieved, Either through ICC profile, or through JpegxlColorEncoding. |
JpegxlDecoderStruct | |
JpegxlExtraChannelInfo | Information for a single extra channel. |
JpegxlHeaderExtensions | Extensions in the codestream header. |
JpegxlInverseOpsinMatrix | Color transform used for the XYB encoding. This affects how the internal XYB color format is converted, and is not needed unless XYB color is used. |
JpegxlMemoryManagerStruct | Memory Manager struct. These functions, when provided by the caller, will be used to handle memory allocations. |
JpegxlPixelFormat | Data type for the sample values per channel per pixel for the output buffer for pixels. This is not necessarily the same as the data type encoded in the codestream. The channels are interleaved per pixel. The pixels are organized row by row, left to right, top to bottom. TODO(lode): support padding / alignment (row stride) TODO(lode): support outputting >8-bit data into uint8_t (and endianness) TODO(lode): support non-interleaved (may be a no-op here, involves getting single channels separately instead) TODO(lode): support different channel orders if needed (RGB, BGR, ...) |
JpegxlPreviewHeader | The codestream preview header |
__fsid_t |
Constants
Traits
NewUninit | Convinient function to just return a block of memory.
You need to assign |
Functions
JpegxlDecoderCreate⚠ | Creates an instance of JpegxlDecoder and initializes it. |
JpegxlDecoderDCOutBufferSize⚠ | Returns the size in bytes the DC image output pixel buffer requires at least to contain the DC image pixels in the given format. This is the minumum size of the buffer for JpegxlDecoderSetDCOutBuffer. Requires the basic image information is available in the decoder. |
JpegxlDecoderDestroy⚠ | Deinitializes and frees JpegxlDecoder instance. |
JpegxlDecoderGetAnimationHeader⚠ | Outputs the animation header, if available. |
JpegxlDecoderGetBasicInfo⚠ | Outputs the basic image information, such as image dimensions, bit depth and all other JpegxlBasicInfo fields, if available. |
JpegxlDecoderGetColorEncoding⚠ | Outputs the color profile information, if available. Only may be used if JpegxlColorProfileSource.color_encoding_valid. |
JpegxlDecoderGetColorProfileSource⚠ | Outputs the color information, if available. The color info tells whether JpegxlDecoderGetColorEncoding and/or JpegxlDecoderGetICCProfile should be used to get the correct image color profile. |
JpegxlDecoderGetExtraChannelInfo⚠ | Outputs information for extra channel at the given index. The index must be smaller than num_extra_channels in the associated JpegxlBasicInfo. |
JpegxlDecoderGetExtraChannelName⚠ | Outputs name for extra channel at the given index in UTF-8. The index must be smaller than num_extra_channels in the associated JpegxlBasicInfo. The buffer for name must have at least name_length + 1 bytes allocated, gotten from the associated JpegxlExtraChannelInfo. |
JpegxlDecoderGetICCProfile⚠ | Outputs ICC profile. The output buffer should have enough bytes allocated to contain the icc_size given in the JpegxlColorEncoding. |
JpegxlDecoderGetPreviewHeader⚠ | Outputs the preview header, if available. |
JpegxlDecoderImageOutBufferSize⚠ | Returns the size in bytes the image output pixel buffer requires at least to contain all pixels in the given format. This is the minumum size of the buffer for JpegxlDecoderSetImageOutBuffer. Requires the basic image information is available in the decoder. |
JpegxlDecoderProcessInput⚠ | Decodes JPEG XL file using the available bytes. @p *avail_in indicates how many input bytes are available, and @p *next_in points to the input bytes. *avail_in will be decremented by the amount of bytes that have been processed by the decoder and *next_in will be incremented by the same amount, so *next_in will now point at the amount of *avail_in unprocessed bytes. For the next call to this function, all unprocessed bytes must be provided again (the address need not match, but the contents must), and more bytes may be concatenated after the unprocessed bytes. |
JpegxlDecoderSetDCOutBuffer⚠ | Sets the buffer to write the lower resolution (8x8 sub-sampled) DC image to. The size of the buffer must be at least as large as given by JpegxlDecoderDCOutBufferSize. The buffer follows the format described by JpegxlPixelFormat. The DC image has dimensions ceil(sizex / 8) * ceil(sizey / 8). The buffer is owned by the caller. |
JpegxlDecoderSetImageOutBuffer⚠ | Sets the buffer to write the full resolution image to. The size of the buffer must be at least as large as given by JpegxlDecoderImageOutBufferSize. The buffer follows the format described by JpegxlPixelFormat. The buffer is owned by the caller. |
JpegxlDecoderSetParallelRunner⚠ | Set the parallel runner for multithreading. May only be set before starting decoding. |
JpegxlDecoderSizeHintBasicInfo⚠ | Returns a hint indicating how many more bytes the decoder is expected to need to make JpegxlDecoderGetBasicInfo available after the next JpegxlDecoderProcessInput call. This is a suggested large enough value for the *avail_in parameter, but it is not guaranteed to be an upper bound nor a lower bound. Can be used before the first JpegxlDecoderProcessInput call, and is correct the first time in most cases. If not, JpegxlDecoderSizeHintBasicInfo can be called again to get an updated hint. |
JpegxlDecoderSubscribeEvents⚠ | Select for which informative events (JPEGXL_DEC_BASIC_INFO, etc...) the decoder should return with a status. It is not required to subscribe to any events, data can still be requested from the decoder as soon as it available. By default, the decoder is subscribed to no events (events_wanted == 0), and the decoder will then only return when it cannot continue because it needs more input data or more output buffer. This function may only be be called before using JpegxlDecoderProcessInput |
JpegxlDecoderVersion⚠ | Decoder library version. |
JpegxlSignatureCheck⚠ | JPEG XL signature identification. |
Type Definitions
JpegxlBlendMode | Indicates how to combine the current frame with the previous "base". Stored in FrameHeader and ExtraChannelInfo to allow independent control for main and extra channels. |
JpegxlColorSpace | Color space of the image data. |
JpegxlDataType | Data type for the sample values per channel per pixel. |
JpegxlDecoder | Opaque structure that holds the JPEGXL decoder. |
JpegxlDecoderStatus | Return value for JpegxlDecoderProcessInput. The values above 64 are optional informal events that can be subscribed to. |
JpegxlExtraChannelType | Given type of an extra channel. |
JpegxlFrameBase | Indicates what the next frame will be "based" on. A full frame (have_crop = false) can be based on a frame if and only if the frame and the base are lossy. The rendered frame will then be the sum of the two. A cropped frame can be based on any kind of frame. The rendered frame will be obtained by blitting. Stored in FrameHeader and ExtraChannelInfo to allow independent control for main and extra channels. |
JpegxlMemoryManager | Memory Manager struct. These functions, when provided by the caller, will be used to handle memory allocations. |
JpegxlOrientation | Image orientation metadata. Values 1..8 match the EXIF definitions. The name indicates the operation to perform to transform from the encoded image to the display image. |
JpegxlParallelRetCode | Return code used in the JpegxlParallel* functions as return value. A value of 0 means success and any other value means error. The special value JPEGXL_PARALLEL_RET_RUNNER_ERROR can be used by the runner to indicate any other error. |
JpegxlParallelRunFunction | Parallel run data processing callback. See JpegxlParallelRunner for details. |
JpegxlParallelRunInit | Parallel run initialization callback. See JpegxlParallelRunner for details. |
JpegxlParallelRunner | JpegxlParallelRunner function type. A parallel runner implementation can be provided by a JPEG XL caller to allow running computations in multiple threads. This function must call the initialization function @p init in the same thread that called it and then call the passed @p func once for every number in the range [start_range, end_range) (including start_range but not including end_range) possibly from different multiple threads in parallel. |
JpegxlPrimaries | Built-in primaries for color encoding. Numeric values match CICP (Rec. ITU-T H.273 | ISO/IEC 23091-2:2019(E)). |
JpegxlRenderingIntent | Renderig intent for color encoding, as specified in ISO 15076-1:2010 |
JpegxlSignature | The result of JpegxlSignatureCheck. |
JpegxlSignatureType | Signature type of the codestream. |
JpegxlTransferFunction | Built-in transfer functions for color encoding. Numeric values match CICP (Rec. ITU-T H.273 | ISO/IEC 23091-2:2019(E)) unless specified otherwise. |
JpegxlWhitePoint | Built-in whitepoints for color encoding. Numeric values match CICP (Rec. ITU-T H.273 | ISO/IEC 23091-2:2019(E)). |
__blkcnt64_t | |
__blkcnt_t | |
__blksize_t | |
__caddr_t | |
__clock_t | |
__clockid_t | |
__daddr_t | |
__dev_t | |
__fsblkcnt64_t | |
__fsblkcnt_t | |
__fsfilcnt64_t | |
__fsfilcnt_t | |
__fsword_t | |
__gid_t | |
__id_t | |
__ino64_t | |
__ino_t | |
__int8_t | |
__int16_t | |
__int32_t | |
__int64_t | |
__int_least8_t | |
__int_least16_t | |
__int_least32_t | |
__int_least64_t | |
__intmax_t | |
__intptr_t | |
__key_t | |
__loff_t | |
__mode_t | |
__nlink_t | |
__off64_t | |
__off_t | |
__pid_t | |
__quad_t | |
__rlim64_t | |
__rlim_t | |
__sig_atomic_t | |
__socklen_t | |
__ssize_t | |
__suseconds_t | |
__syscall_slong_t | |
__syscall_ulong_t | |
__time64_t | |
__time_t | |
__timer_t | |
__u_char | |
__u_int | |
__u_long | |
__u_quad_t | |
__u_short | |
__uid_t | |
__uint8_t | |
__uint16_t | |
__uint32_t | |
__uint64_t | |
__uint_least8_t | |
__uint_least16_t | |
__uint_least32_t | |
__uint_least64_t | |
__uintmax_t | |
__useconds_t | |
int_fast8_t | |
int_fast16_t | |
int_fast32_t | |
int_fast64_t | |
int_least8_t | |
int_least16_t | |
int_least32_t | |
int_least64_t | |
intmax_t | |
jpegxl_alloc_func | Allocating function for a memory region of a given size. |
jpegxl_free_func | Deallocating function pointer type. |
max_align_t | |
size_t | |
uint_fast8_t | |
uint_fast16_t | |
uint_fast32_t | |
uint_fast64_t | |
uint_least8_t | |
uint_least16_t | |
uint_least32_t | |
uint_least64_t | |
uintmax_t | |
wchar_t |