Hello. I want to find some lossless image compressors such as
CREW
CALIC
EDP
ERI
GLICBAWLS
FELICS
DPCM
for windows. Please, help me to find it.
Thanks.
Hello. I want to find some lossless image compressors such as
CREW
CALIC
EDP
ERI
GLICBAWLS
FELICS
DPCM
for windows. Please, help me to find it.
Thanks.
http://encode.su/threads/595-GraLIC-...age-compressor
http://encode.su/threads/1099-New-lo...ts-per-channel)
http://itohws03.ee.noda.sut.ac.jp/~matsuda/mrp/
http://www.compression.ru/ds/bmf_1_10.rar
http://www.compression.ru/ds/bmf_2_01.rar
http://paq8.hys.cz/
Also http://sites.google.com/site/dlimagecomp/
though its lossy
Thanks, but it's not what i need. I also have MRP,BMF,PAQ,Gralic.
I think only these I posted before are relevant at this point, but google says:
CALIC: ftp://ftp.csd.uwo.ca/pub/from_wu/v.huff
http://compression.ru/download/sourc...less/codec.zip
ERI: http://www.compression.ru/artest/eri51fre.zip
GLICBAWLS: http://web.archive.org/web/200206041...wls/index.html
http://compression.ru/download/artic..._glicbawls.pdf
FELICS: http://nishi.dreamhosters.com/u/dcc93_0351.pdf
http://www.provost.ku.edu/jsv/publications.shtml
DPCM: http://www.cbloom.com/src/index_im.html
EDP: http://www.csee.wvu.edu/~xinl/source.html
http://datacompression.dogma.net/ind...on_programs%3F
CREW: http://web.archive.org/web/200612291...icoh.com/CREW/
http://david.carybros.com/html/data_compression.html
Tahnks. I'll try to compile and use it.
Hello. I tried to use ERI compressor. But I keep getting the final file size is 29 bytes. What the reason of it? Thanks.
These are executables for DOS, and its site says that it doesn't work under NT/XP - try emulation?
Glicbawls is not implementable. have anybody glicbawls implementation Maybe ?
I had an executable for 64-bit Linux... 6 months ago. Well, maybe still have it.
If you need the source code or executables for other platforms, try asking in http://groups.google.com/group/comp.compression/topics
http://nishi.dreamhosters.com/u/glicbawls_sh_v0.rar
- processed with C preprocessor to remove macros
- processed with SourceFormatX it make it editable
- found a lenna.pgm to test it, because original sample can't be decoded (floats are evil)
- removed "Y" from source, with is described in remark.txt - RTFM
- added stuff for windows stdin/out handling
- compiled and tested - it works
As to compression ratio, it seems to be a little worse than bmf.
A really nice thing is that it prints some "ascii art" while processing a picture.
For example, this is its output for encode.su favicon.ico:
And btw, this is the original source:Code:llllll;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;lllll DDD6ffffffffffffffffffffffffffffffffffffffff6DD D6ffffffffffffffffffffffffffffffffffffffffffff6 6ffffffffffffffffffff66ffffffffffffffffffffffff fffffffffffffffffff6@@@@@6fffffffffffffffffffff fffffffffffffffffffD@@@@@@@Dfffffffffffffffffff fffffffffffffffffffff@@@@@@@@6fffffffffffffffff ffffffffffffffffffffff6@@@@@@@Dlfffffffffffffff ffffffffffffffffffffffff@@@@@@@6fffffffffffffff fffffffff6ffffffffffffff@@@@@@@Dfffffffffffffff fffffffD@@@Dfffffffffff@@@@@@@@ffffffffffffffff ffffff6@@@@@@Dffffff6D@@@@@@@@@6fffffffffffffff fffffff6@@@@@@@@DD@@@@@@@@@@@@@@@6fffffffffffff fffffffff@@@@@@@@@@@@@@@@@@@@@@@@@@6lffffffffff ffffffffff6D@@@@@@@@@@@@@@@@@@@@@@@@@6fffffffff fffffffffffff6D@@@@@@D@@@@@@@@@@@@@@@@@6fffffff fffffffffffffffffffffffD@@@@@@@@@666@@@@@6fffff fffffffffffffffffffffffffD@@@@@@ffffl@@@@@fffff fffffffffffffffffffffffffffD@@@@Dfff6@@@@@fffff fffffffffffffffffffffffffffffD@@@@@@@@@@6ffffff fffffffffffffffffffffffffffffffD@@@@@@6ffffffff 6ffffffffffffffffffffffffffffffff666fffffffffff D6ffffffffffffffffffffffffffffffffffffffffffff6 DDD6ffffffffffffffffffffffffffffffffffffffff6DD
Code:#include<stdlib.h> #include<stdio.h> #define F for( #define D return #define E typedef #define V malloc(sizeof #define Z(x)(t(0,(x-C)/y)-l+1e-6*(x-Q)) #define i m(p(r,o,v),e,d E double P;E long N;E char*w;N G,l,I,C,B,A,W,L,S,R,O,c,k,s=80,U=13,T=169;P sqrt(P);N H(){F;O=scanf(" %1[#]%*[^\n]",&O););scanf("%ld%*c",&O);D O;}P M(N R){s=s>=k?printf("%ld%c"+3*(C<1),s-k,R&7?32:10):s;D R>0?B/2?H():getchar():R?.9+.7*M(R+1):0;}P t(N x,P K){D x?(x>U?0:t(x+2,K)*(x-1)/x/K)+1/sqrt(K):t(2,K*K/U+1)*K;}N _(N J,N x){F*(x?&W:&A)=W+J+x;(O=x=W/(J=k*k))||A<J||((O=2*W/J)&&2*A/J<3);A+=A-J+1){F J*=x+O;S--*B&&x==O;O=x=!J){s+=x+s;M(0);}W+=W-J;S+=2;L+=L-J*k+M(S%8==B);}D 1;}P*p(P*J,P*x,P*O){F R=T;R--;)O[R]=J[R]+.8*x[R];D O;}P m(P*W,P*x,P s){F R=U;--R;){P*A=W+R*U;W[R]+=s/12;*W+=s;*A-=*x++;F;A>W;){*A/=*W;F O=R;O;O--)A[O]-=W[O]**A;A-=U;}W+=14;}D*W;}int main(int z,w*y){N K=s,g;Y;M(z);s=B=C=15-H();s=G=M(8);s=l=M(C);G*=g=C%3?1:3;if(I=s=M(8)){N b=G+9,x=b*340+U,J=b*(l+5),*n=V(N)*J),*j=n+5*b;P*h=V(P)*x),*q=h+b,*e=q+b;P d=K;F;J--;)n[J]=J<b?0:I/2;F;x;)h[--x]=0;s=M(x);k=256;C=4-C;B=C/4;s=_(_(T,0),0);F;--z;){R=atoi(*++y);c=R>0?K=R,c:-2*R;}z=G/K+1;z+=g>z;I++;c++;F;++J<l;){P u=0,C,y;P*H=e+U,*o=H+b*T,*r=o-2*T,*v=r-T;F;x<G;x++){p(H,o-T,o);o+=T;H+=T;q[x]=.7*(q[x-1]+h[x]);}p(H,H,r);F;x;){P*S=e;w l=" !{ ,;lf6D@";j+=1-g;F;*++l;){*S++=*j;j+=*l%3*g-g+*l%5*b-3*b;}y=M(x-G);y=M(-J)*M(-x)+M(-J-1)*y+.01;y=sqrt((u+q[--x]+.1)/y);o-=T;C=i)+.5;K=M(-B);{N f=I,Q=0;F;f-Q>c;){P l=0;N H=C+c/2+1;H%=c;H+=(f+Q+c-2*H)/2/c*c;l=Z(Q);O=(A-W)*Z(H)/Z(f);_(O,R=B?K>=H:L/k>O+W);*(R?&Q:&f)=H;}Q+=f;*S=*j=Q/=2;s=B?s:Q+k;f=Q+n[x/z];n[x/z]=x%z+J%(z*2/g)?f:!putc(x?l[4*g*f/z/z/I-8]:10,stderr);H-=U;F O=156;O--;){H--;*H=e[O%U]*e[O/U]/y+.8**H;}C-=Q+.5;y=i/.9)-Q-C;p(p(r+T,r,r),H,r);h[x]=.7*h[x]+C*C;u+=h[x];u*=.7;d+=C>0?-y:y;}}j+=9;}_(_(x,x),x);}D 0;}
Thank you very much. It's fantastic)
My problem was "<" and ">" in comman-line arguments, because I wrote "glicbawls.exe m.pgm res.glic".
Thanks for example .bat file.
I also compiled BTW compressor thanks to your example.
And source code have unkown identifier "Y", it should remove.
Last edited by Madgeniy; 20th January 2011 at 18:15.
> And source code have unkown identifier "Y", it should remove.
Well, I "failed to do so" thoughSo, if you are building on a machine that does not, by default,
use IEEE 64 bit floating point doubles, you'll have to define Y to
be a command that switches it into that mode. If you fail to do
so, your glicbawls executable will still be able to decompress its
own compressed files, but you may be unable to exchange files with
glicbawls on other machines.![]()
Thanks)
And one more.
May be anybody can help to ask which image converter need for creating *.pic images?
I have compressor based s+p transform, but I havn't necessary images.
Maybe something like http://www.cs.ccu.edu.tw/~cwlin/cour...notes/lena.pic
From what I can see, it doesn't expect any header in the file, but you have to specify the image width/height.
So I guess you can encode a grayscale .tga or .bmp and cut off the header
It's not suitable picture.
And one more. No CREW compression executables or source code available. If have any other links, post it please.
I've never heard about CREW before reading this thread.
Why are you collecting image compressors? Do you plan to launch a benchmarking site?
Here's a list of lossless image compression benchmarks, and a list of 16 desirable features:
http://www.linkedin.com/groups/Lossl...256.S.42558642
Just reading this post and decided to stick my oar in (as it were).
The PIC format (also known as PICT) i've been working with recently. It's actually an OLD Apple format, hence why it's pretty much unused (because Apple wrote it, not because it's old). http://www.prepressure.com/library/file-formats/pict The only place i've seen PICT format used is in a "hack" for RSR files, which are obsolete images used in Poser/DAZ thumbnails. These files have the first 0xFC bytes removed and have been superceeded by PNG - however a LOT of the older 3D files I have still use RSR thumbnails. I've been working on a routine to convert the RSR files into PICT (simply by adding 0xFC nulls at the start of the file), then into PNGs, then removing the RSR file.
Anyway - it begs the question - why are you converting to an obsolete format ? Surely PNG would be the optimal basis of a lossless image format ? Or would starting from a raw BMP type file then compressing with something akin to PAQ be better ?
The "PIC format" in that case is something different. Its just a raw dump of pixel values, while actual picture dimensions are provided manually.
And as to "why" - experimental image codecs frequently use something simple and convenient.
Ah - apologies if I caused any offence, I was merely enquiring as to using an obsolete image format for benchmarking. Adobe themselves have abandoned this format due to "too many versions". Then I went on a ramble, something i'm guilty of too frequently
I'm all for lossless & lossy image compression for my archives of the forementioned 3D files - which use RSR, JPEG & PNG files. A lot of the files I have are simple ZIP or RAR archives, some with VISE installer, some with that awful BitRock installer. With over 300Gb of these files, I know there are better ways to re-encode & repack them. Because of the way these images are used, sometimes you need lossless compression. I've used PNGout & RIOT on the images with good results so far. I also used the BlueBox routine which is - frankly - amazing results for JPEG. However that's not archiving.
Sorry, rambling again.
Point is, i'm interested in how lossless images fair, mostly to reduce this huge library of files & convert the older files I have (the RSR -> PNG) so my collection is up-to-date with the modern versions of these modelling routines. So yes, i'm guilty of being selfish in my previous comment, and again - I apologise if it seemed I was being unduly heavy with my comments.
for lossless png and jpeg recompression, you can try precomp - http://schnaader.info/precomp.php
(though disable its built-in compression, and use some good external compression - eg. 7z)
Thanks Shlewin, theres a lot more detail i've omitted which i'll make my own thread for - it seems i've inadvertantly hijacked this one.
Attempt #3 - its not a "obsolete format". Its just a raw bitmap w/o any header.
Hello. Can anybody help me to work EDP encoder?
Thanks.
It works with .pgm files, ones with a header like this:
Note that some converters add # comments to .pgm - this encode.exe doesn't support that.Code:P5 600 440 255
Use it like "encode.exe 1.pgm"