From f2ec68946937ac2ca27508ffd34d4530c8af6254 Mon Sep 17 00:00:00 2001 From: TazyFoundSoup Date: Wed, 14 Jan 2026 18:00:57 +1100 Subject: feat(png): Implement IEND chunk support --- src/format/image/png.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src') diff --git a/src/format/image/png.c b/src/format/image/png.c index 8662fa2..11f4093 100644 --- a/src/format/image/png.c +++ b/src/format/image/png.c @@ -1,5 +1,6 @@ #include "tinyff/image/png.h" #include "tinyff/dbg.h" +#include "png.h" ff_result ff_png_isvalid(FILE *file) { @@ -87,6 +88,18 @@ ff_result ff_png_header_handler(uint8_t *buf, size_t len, ff_png_ctx *ctx) return FF_RESULT_OK; } +ff_result ff_png_chunk_palette_handler(uint8_t *buf, size_t len, ff_png_ctx *ctx) +{ + ff_dprintf("png: PLTE chunk received (len=%zu)\n", len); + + uint16_t num_entries = len / 3; + ff_dprintf("png: PLTE contains %u palette entries\n", num_entries); + + + + return FF_RESULT_WARN_NO_IMPL; +} + ff_result ff_png_data_handler(uint8_t *buf, size_t len, ff_png_ctx *ctx) { ff_dprintf("png: IDAT chunk received (len=%zu)\n", len); @@ -103,4 +116,12 @@ ff_result ff_png_data_handler(uint8_t *buf, size_t len, ff_png_ctx *ctx) return FF_RESULT_WARN_NO_IMPL; +} + +ff_result ff_png_end_handler(uint8_t *buf, size_t len, ff_png_ctx *ctx) +{ + ff_dprintf("png: IEND chunk received (len=%zu)\n", len); + ff_dprintf("png: all chunks received\n"); + + return FF_RESULT_OK; } \ No newline at end of file -- cgit v1.2.3