Turnstone Operating System
|
PNG image converter methods. More...
#include <graphics/png.h>
#include <errno.h>
#include <buffer.h>
#include <compression.h>
#include <logging.h>
#include <utils.h>
#include <crc.h>
Classes | |
struct | png_decoder_t |
struct | png_encoder_t |
Macros | |
#define | PNG_SIGNATURE 0x0A1A0A0D474E5089ULL |
Typedefs | |
typedef enum png_error_types_t | png_error_types_t |
typedef struct png_decoder_t | png_decoder_t |
typedef enum png_chunk_type_t | png_chunk_type_t |
typedef enum png_filter_type_t | png_filter_type_t |
typedef uint8_t(* | png_filter_t) (uint8_t *dst, int64_t dst_idx, uint32_t scanline_len, uint32_t bpp, int64_t x, int64_t y) |
typedef struct png_encoder_t | png_encoder_t |
Functions | |
MODULE ("turnstone.kernel.graphics.image") | |
static png_chunk_type_t | png_chunk_type_from_uint32 (uint32_t type) |
static boolean_t | png_chunk_order_allowed (png_decoder_t *png_decoder, png_chunk_type_t chunk_type) |
static int8_t | png_decoder_is_png (png_decoder_t *png_decoder) |
static int8_t | png_decoder_parse_ihdr (png_decoder_t *png_decoder, uint8_t *chunk_data, uint32_t length) |
static int8_t | png_decoder_parse_chunk (png_decoder_t *png_decoder) |
static int8_t | png_decoder_init (png_decoder_t *png_decoder, buffer_t *buffer) |
static int8_t | png_decoder_parse_chunks (png_decoder_t *png_decoder) |
static uint8_t | png_filter_none (uint8_t *dst, int64_t dst_idx, uint32_t scanline_len, uint32_t bpp, int64_t x, int64_t y) |
static uint8_t | png_filter_sub (uint8_t *dst, int64_t dst_idx, uint32_t scanline_len, uint32_t bpp, int64_t x, int64_t y) |
static uint8_t | png_filter_up (uint8_t *dst, int64_t dst_idx, uint32_t scanline_len, uint32_t bpp, int64_t x, int64_t y) |
static uint8_t | png_filter_average (uint8_t *dst, int64_t dst_idx, uint32_t scanline_len, uint32_t bpp, int64_t x, int64_t y) |
static uint8_t | png_paeth_predictor (uint16_t a, uint16_t b, uint16_t c) |
static uint8_t | png_filter_paeth (uint8_t *dst, int64_t dst_idx, uint32_t scanline_len, uint32_t bpp, int64_t x, int64_t y) |
static png_filter_t | png_get_filter_func (png_filter_type_t filter_type) |
static int8_t | png_decoder_apply_defilter (png_decoder_t *png_decoder, const uint8_t *img_data, const graphics_raw_image_t *res) |
static graphics_raw_image_t * | png_decoder_get_image (png_decoder_t *png_decoder) |
graphics_raw_image_t * | graphics_load_png_image (const uint8_t *data, uint32_t size) |
static int8_t | png_encoder_init (png_encoder_t *png_encoder, graphics_raw_image_t *image) |
static int8_t | png_encoder_find_and_apply_filter (png_encoder_t *png_encoder) |
static int8_t | png_encoder_compress (png_encoder_t *png_encoder) |
static int8_t | png_encoder_build_png (png_encoder_t *png_encoder) |
uint8_t * | graphics_save_png_image (const graphics_raw_image_t *image, uint64_t *size) |
Variables | |
const uint32_t | png_chunk_type_strings [] |
const boolean_t | png_chunk_type_allow_multiple [] |
PNG image converter methods.
This work is licensed under TURNSTONE OS Public License. Please read and understand latest version of Licence.
const boolean_t png_chunk_type_allow_multiple[] |
const uint32_t png_chunk_type_strings[] |