From: kramm Date: Mon, 17 Nov 2003 19:58:45 +0000 (+0000) Subject: added swf_GetJPEGSize() function. X-Git-Tag: release-0-5-0~148 X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=commitdiff_plain;h=51731243de919a5a5b0e827e9aaab7ecc2190b94 added swf_GetJPEGSize() function. --- diff --git a/lib/modules/swfbits.c b/lib/modules/swfbits.c index 70a7729..df8c1c9 100644 --- a/lib/modules/swfbits.c +++ b/lib/modules/swfbits.c @@ -138,6 +138,26 @@ void swf_SetJPEGBits2(TAG * tag,U16 width,U16 height,RGBA* bitmap, int quality) swf_SetJPEGBitsFinish(jpeg); } +void swf_GetJPEGSize(char * fname, int*width, int*height) +{ struct jpeg_decompress_struct cinfo; + struct jpeg_error_mgr jerr; + FILE * fi; + *width = 0; + *height = 0; + cinfo.err = jpeg_std_error(&jerr); + jpeg_create_decompress(&cinfo); + if ((fi=fopen(fname,"rb"))==NULL) { + fprintf(stderr, "rfxswf: file open error\n"); + return; + } + jpeg_stdio_src(&cinfo, fi); + jpeg_read_header(&cinfo, TRUE); + *width = cinfo.image_width; + *height = cinfo.image_height; + jpeg_destroy_decompress(&cinfo); + fclose(fi); +} + int swf_SetJPEGBits(TAG * t,char * fname,int quality) { struct jpeg_decompress_struct cinfo; struct jpeg_error_mgr jerr; diff --git a/lib/rfxswf.h b/lib/rfxswf.h index 45ac72a..47baa85 100644 --- a/lib/rfxswf.h +++ b/lib/rfxswf.h @@ -669,6 +669,8 @@ int swf_SetJPEGBitsLines(JPEGBITS * jpegbits,U8 ** data,int n); int swf_SetJPEGBitsLine(JPEGBITS * jpegbits,U8 * data); int swf_SetJPEGBitsFinish(JPEGBITS * jpegbits); +void swf_GetJPEGSize(char * fname, int*width, int*height); + int swf_SetJPEGBits(TAG * t,char * fname,int quality); void swf_SetJPEGBits2(TAG * t,U16 width,U16 height,RGBA * bitmap,int quality); int swf_SetJPEGBits3(TAG * tag,U16 width,U16 height,RGBA* bitmap, int quality);