]> git.sesse.net Git - qscale/blob - libqscale.h
85499f335303f8ea5523104ea5eb3dc0935d6abb
[qscale] / libqscale.h
1 #ifndef _LIBQSCALE_H
2 #define _LIBQSCALE_H
3
4 #include "jpeglib.h"
5
6 typedef struct {
7         /* True image size */
8         int width, height;
9
10         /* Component image sizes (possibly subsampled) */
11         int w0, h0;
12         int w1, h1;
13         int w2, h2;
14
15         /* The data itself */
16         JSAMPLE *data_y, *data_cb, *data_cr;
17 } qscale_img;
18
19 enum qscale_scaling_filter {
20         LANCZOS = 0,
21 };
22
23 qscale_img *qscale_load_jpeg(const char *filename);
24 int qscale_save_jpeg(const qscale_img *image, const char *filename);
25
26 qscale_img *qscale_scale(qscale_img *source, int width, int height, int samp_h0, int samp_v0, int samp_h1, int samp_v1, int samp_h2, int samp_v2, int jpeg_quality);
27 void qscale_destroy(qscale_img *image);
28
29 #endif /* !defined(_LIBQSCALE_H) */