#include <errno.h>
#define JPEG_APP13 0xED /* APP13 marker code */
-#define JPGS 1024
+#define JPGS 16384
-unsigned char fake_eoi[]={(JOCTET) 0xFF,(JOCTET) JPEG_EOI};
+static unsigned char fake_eoi[]={(JOCTET) 0xFF,(JOCTET) JPEG_EOI};
/* Bad design right here */
(void) jpeg_read_header(&cinfo, TRUE);
(void) jpeg_start_decompress(&cinfo);
im=i_img_empty_ch(NULL,cinfo.output_width,cinfo.output_height,cinfo.output_components);
+ if (!im) {
+ jpeg_destroy_decompress(&cinfo);
+ return NULL;
+ }
row_stride = cinfo.output_width * cinfo.output_components;
buffer = (*cinfo.mem->alloc_sarray) ((j_common_ptr) &cinfo, JPOOL_IMAGE, row_stride, 1);
while (cinfo.output_scanline < cinfo.output_height) {
(void) jpeg_finish_decompress(&cinfo);
jpeg_destroy_decompress(&cinfo);
*itlength=tlength;
+
+ i_tags_add(&im->tags, "i_format", 0, "jpeg", 4, 0);
+
mm_log((1,"i_readjpeg_wiol -> (0x%x)\n",im));
return im;
}
undef_int
i_writejpeg_wiol(i_img *im, io_glue *ig, int qfactor) {
- struct stat stbuf;
JSAMPLE *image_buffer;
int quality;
jpeg_destroy_compress(&cinfo);
+ ig->closecb(ig);
+
return(1);
}