X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;ds=inline;f=lib%2Fmodules%2Fswfbits.c;h=bf88c948b912b9f097fb170a7ae70672de2ee46f;hb=f4e9809805ebc951996ae45e698fd6d74e348c7a;hp=748866752c9bf396ddd5fa6ad1c5fa7023669868;hpb=2f62eecb5564f15f242246570501aaad8b22536d;p=swftools.git diff --git a/lib/modules/swfbits.c b/lib/modules/swfbits.c index 7488667..bf88c94 100644 --- a/lib/modules/swfbits.c +++ b/lib/modules/swfbits.c @@ -13,7 +13,7 @@ #define OUTBUFFER_SIZE 0x8000 -#ifdef _JPEGLIB_INCLUDED_ +#ifdef HAVE_JPEGLIB typedef struct _JPEGDESTMGR { struct jpeg_destination_mgr mgr; @@ -110,6 +110,24 @@ int swf_SetJPEGBitsFinish(JPEGBITS * jpegbits) return 0; } +void swf_SetJPEGBits2(TAG * tag,U16 width,U16 height,RGBA* bitmap, int quality) +{ + JPEGBITS* jpeg; + int y; + jpeg = swf_SetJPEGBitsStart(tag,width,height,quality); + for (y=0;ylen; + swf_SetU32(tag, 0); //placeholder + jpeg = swf_SetJPEGBitsStart(tag,width,height,quality); + for (y=0;ydata[pos], tag->len - pos - 4); + + data=malloc(OUTBUFFER_SIZE); + memset(&zs,0x00,sizeof(z_stream)); + + if (deflateInit(&zs,Z_DEFAULT_COMPRESSION)!=Z_OK) { + fprintf(stderr, "rfxswf: zlib compression failed"); + return -3; + } + + zs.next_out = data; + zs.avail_out = OUTBUFFER_SIZE; + + for (y=0;y