summaryrefslogtreecommitdiff
path: root/src/format
diff options
context:
space:
mode:
authorTazyFoundSoup <gardendistrict0x0@outlook.com>2026-01-14 18:00:57 +1100
committerTazyFoundSoup <gardendistrict0x0@outlook.com>2026-01-14 18:00:57 +1100
commitf2ec68946937ac2ca27508ffd34d4530c8af6254 (patch)
treec65c1038996d6b972701f14a0bd5cf97c116d811 /src/format
parent7041bdaeff0456f549ffed48f3c8bc442193b0ce (diff)
feat(png): Implement IEND chunk support
Diffstat (limited to 'src/format')
-rw-r--r--src/format/image/png.c21
1 files changed, 21 insertions, 0 deletions
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