blob: 69e6c8d79a46f8a73aef3e420f105cd4d5d0c47f [file] [log] [blame]
Patrick Georgi7333a112020-05-08 20:48:04 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Patrick Georgi8f5053c2015-08-09 18:30:44 +02002
3#include <stdlib.h>
4#include <stdio.h>
5#include "jpeg.h"
6
7const int depth = 16;
8
9int main(int argc, char **argv)
10{
11 FILE *f = fopen(argv[1], "rb");
12 unsigned long len;
13
14 if (!f)
15 return 1;
16 if (fseek(f, 0, SEEK_END) != 0)
17 return 1;
18 len = ftell(f);
19 if (fseek(f, 0, SEEK_SET) != 0)
20 return 1;
21
22 char *buf = malloc(len);
23 struct jpeg_decdata *decdata = malloc(sizeof(*decdata));
24 if (fread(buf, len, 1, f) != 1)
25 return 1;
26 fclose(f);
27
28 int width;
29 int height;
30 jpeg_fetch_size(buf, &width, &height);
31 //printf("width: %d, height: %d\n", width, height);
32 char *pic = malloc(depth / 8 * width * height);
33 int ret = jpeg_decode(buf, pic, width, height, depth, decdata);
34 //printf("ret: %x\n", ret);
35 return ret;
36}