9 unsigned width, height;
11 /* Component image sizes (possibly subsampled) */
16 /* Sampling factors */
17 unsigned samp_h0, samp_v0;
18 unsigned samp_h1, samp_v1;
19 unsigned samp_h2, samp_v2;
22 JSAMPLE *data_y, *data_cb, *data_cr;
25 enum qscale_scaling_filter {
29 enum qscale_jpeg_mode {
33 qscale_img *qscale_load_jpeg(const char *filename);
34 qscale_img *qscale_load_jpeg_from_stdio(FILE *file);
35 int qscale_save_jpeg(const qscale_img *img, const char *filename, unsigned jpeg_quality, enum qscale_jpeg_mode jpeg_mode);
36 int qscale_save_jpeg_to_stdio(const qscale_img *img, FILE *file, unsigned jpeg_quality, enum qscale_jpeg_mode jpeg_mode);
38 qscale_img *qscale_scale(qscale_img *src, unsigned width, unsigned height, unsigned samp_h0, unsigned samp_v0, unsigned samp_h1, unsigned samp_v1, unsigned samp_h2, unsigned samp_v2, enum qscale_scaling_filter scaling_filter);
39 void qscale_destroy(qscale_img *img);
41 #endif /* !defined(_LIBQSCALE_H) */