diff options
author | 2006-05-30 12:48:18 +0000 | |
---|---|---|
committer | 2006-05-30 12:48:18 +0000 | |
commit | 2a6cbec5afeefa3ee154731fb6cb10243cad81c6 (patch) | |
tree | 3eb3e2d455f390ef5bcbadd7bbdfa58942a008af /media-gfx/zgv/files | |
parent | Stable on amd64 wrt bug #132213 (diff) | |
download | gentoo-2-2a6cbec5afeefa3ee154731fb6cb10243cad81c6.tar.gz gentoo-2-2a6cbec5afeefa3ee154731fb6cb10243cad81c6.tar.bz2 gentoo-2-2a6cbec5afeefa3ee154731fb6cb10243cad81c6.zip |
Adding zgv 5.9, bug #134839
(Portage version: 2.1_rc3-r1)
Diffstat (limited to 'media-gfx/zgv/files')
-rw-r--r-- | media-gfx/zgv/files/digest-zgv-5.9 | 3 | ||||
-rw-r--r-- | media-gfx/zgv/files/zgv-5.9-cmyk-yccl-fix.diff | 64 |
2 files changed, 67 insertions, 0 deletions
diff --git a/media-gfx/zgv/files/digest-zgv-5.9 b/media-gfx/zgv/files/digest-zgv-5.9 new file mode 100644 index 000000000000..f63e50c101d5 --- /dev/null +++ b/media-gfx/zgv/files/digest-zgv-5.9 @@ -0,0 +1,3 @@ +MD5 d65a434ddeb612f0c488177f873afad2 zgv-5.9.tar.gz 395525 +RMD160 1d1c47c77adc732c581d9db1189243a94c510586 zgv-5.9.tar.gz 395525 +SHA256 92e5d848fb51a77dc0ebb0ab383c1499c23aaff01f5445e9b0d75e067a8a64ba zgv-5.9.tar.gz 395525 diff --git a/media-gfx/zgv/files/zgv-5.9-cmyk-yccl-fix.diff b/media-gfx/zgv/files/zgv-5.9-cmyk-yccl-fix.diff new file mode 100644 index 000000000000..e510a4ba9ec2 --- /dev/null +++ b/media-gfx/zgv/files/zgv-5.9-cmyk-yccl-fix.diff @@ -0,0 +1,64 @@ +--- zgv-5.9/src/readjpeg.c Sun Oct 31 14:54:26 2004 ++++ zgv/src/readjpeg.c Wed Sep 21 21:03:22 2005 +@@ -92,11 +92,13 @@ + int *real_width,int *real_height) + { + static FILE *in; ++static int cmyk; + struct my_error_mgr jerr; + int row_stride; /* physical row width in output buffer */ + int tmp,f; +-unsigned char *ptr; ++unsigned char *ptr,*ptr2; + ++cmyk=0; + use_errmsg=0; + theimage=NULL; + howfar=howfarfunc; +@@ -161,6 +163,15 @@ + pal[f]=pal[256+f]=pal[512+f]=f; + } + ++if(cinfo.jpeg_color_space==JCS_CMYK) ++ cmyk=1; ++ ++if(cinfo.jpeg_color_space==JCS_YCCK) ++ { ++ cmyk=1; ++ cinfo.out_color_space=JCS_CMYK; ++ } ++ + width=cinfo.image_width; + height=cinfo.image_height; + +@@ -191,7 +202,7 @@ + } + + if(WH_BAD(width,height) || +- (theimage=(byte *)malloc(pixelsize*width*height))==NULL) ++ (theimage=(byte *)malloc(pixelsize*width*(height+cmyk)))==NULL) + { + jpegerr("Out of memory"); /* XXX misleading if width/height are bad */ + longjmp(jerr.setjmp_buffer,1); +@@ -222,7 +233,20 @@ + while(cinfo.output_scanline<height) + { + jpeg_read_scanlines(&cinfo,&ptr,1); +- for(f=0;f<width;f++) { tmp=*ptr; *ptr=ptr[2]; ptr[2]=tmp; ptr+=3; } ++ if(!cmyk) ++ for(f=0;f<width;f++) { tmp=*ptr; *ptr=ptr[2]; ptr[2]=tmp; ptr+=3; } ++ else ++ { ++ ptr2=ptr; ++ for(f=0;f<width;f++,ptr+=3,ptr2+=4) ++ { ++ tmp=ptr2[3]; ++ ptr[0]=(tmp*ptr2[2])/255; ++ ptr[1]=(tmp*ptr2[1])/255; ++ ptr[2]=(tmp*ptr2[0])/255; ++ } ++ } ++ + if(howfar!=NULL) howfar(cinfo.output_scanline,height); + } + |