From 1994f122cc29504862944cca1da1c5203c7e41eb Mon Sep 17 00:00:00 2001 From: yzrh Date: Thu, 31 Dec 2020 22:36:28 +0000 Subject: Decode JBIG and JPEG during HN conversion. --- src/jbig.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/jbig.c (limited to 'src/jbig.c') diff --git a/src/jbig.c b/src/jbig.c new file mode 100644 index 0000000..1e9afb3 --- /dev/null +++ b/src/jbig.c @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2020-2021, yzrh + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include /* FIXME: test */ +#include +#include + +#include + +int +strdec_jbig(char **bitmap, int *bitmap_size, + const char * restrict data, int data_size) +{ + struct jbg_dec_state sd; + + jbg_dec_init(&sd); + + unsigned char *data_ptr[1] = {(unsigned char *) data}; + + /* FIXME: test */ + int ret; + if ((ret = jbg_dec_in(&sd, (unsigned char *) data_ptr, + data_size, NULL)) != JBG_EOK) { + printf("%s", jbg_strerror(ret)); + jbg_dec_free(&sd); + return 1; + } + + *bitmap_size = jbg_dec_getsize(&sd); + *bitmap = malloc(*bitmap_size); + + if (*bitmap != NULL) + memcpy(*bitmap, jbg_dec_getimage(&sd, 0), *bitmap_size); + + jbg_dec_free(&sd); + + return 0; +} -- cgit v1.2.3