36typedef int (*
TinySniffFn)(
const uint8_t* buffer,
size_t size);
66 TinyImage* image,
const uint8_t* buffer,
size_t size,
135#pragma region shared helpers
171 uint8_t* dest, uint8_t dest_channels,
const uint8_t* src,
183static inline uint8_t tiny_luma(uint8_t r, uint8_t g, uint8_t b) {
185 uint32_t sum = 13933u * r + 46871u * g + 4732u * b;
186 return (uint8_t) ((sum + 32768u) >> 16);
const TinyCodec * tiny_codec_at(uint32_t index)
The registered codec at an index, for enumerating the build's support.
int(*) TinySniffFn(const uint8_t *buffer, size_t size)
Tests whether a buffer looks like this codec's format.
Definition codec.h:36
int tiny_decode_resolve(const TinyDecodeOpts *opts, uint32_t width, uint32_t height, TinyDecodeOpts *out, uint32_t *out_width, uint32_t *out_height)
Clamps decode options against an image's real dimensions.
int(*) TinyEncodeFn(const TinyImage *image, const TinyEncodeOpts *opts, TinyWriter *writer)
Encodes an image into a byte sink.
Definition codec.h:79
uint32_t tiny_codec_count(void)
How many codecs this build registered.
const TinyCodec * tiny_codec_find(TinyImageFormat format)
Finds the codec for a format.
int(*) TinyDecodeFn(TinyImage *image, const uint8_t *buffer, size_t size, const TinyDecodeOpts *opts)
Decodes pixels, honoring the region, scale and channel count asked for.
Definition codec.h:65
const TinyCodec * tiny_codec_sniff(const uint8_t *buffer, size_t size)
Finds the codec whose format a buffer's magic bytes match.
int(*) TinyProbeFn(const uint8_t *buffer, size_t size, TinyImageInfo *info)
Fills in what the header says, decoding no pixels.
Definition codec.h:46
void tiny_pixel_convert(uint8_t *dest, uint8_t dest_channels, const uint8_t *src, uint8_t src_channels)
Writes one source pixel into a destination row, converting channels.
Image processing library utilities.
TinyImageFormat
Image formats supported by TinyImage for conversion and saving.
Definition image.h:32
One container format's implementation.
Definition codec.h:90
TinySniffFn sniff
Definition codec.h:94
TinyProbeFn probe
Definition codec.h:96
TinyEncodeFn encode
Definition codec.h:100
TinyImageFormat format
Definition codec.h:92
TinyDecodeFn decode
Definition codec.h:98
Options a decoder honors when only part of an image is wanted.
Definition image.h:151
Options an encoder honors.
Definition image.h:224
What a format's header says about an image, before any pixel is decoded.
Definition image.h:119
Represents an image with its width, height, and pixel data.
Definition image.h:90
A grow on demand byte sink.
Definition util.h:389
Umbrella header, version and error codes.
Math shims, lookup table builders, checksums and bit level IO.