Mercurial > hg > wm
comparison Meerwald/wavelet.c @ 20:bd669312f068
suppress warnings, fix link errors
author | Peter Meerwald-Stadler <pmeerw@pmeerw.net> |
---|---|
date | Sat, 28 Jan 2023 23:54:58 +0100 |
parents | f83ef905a63d |
children |
comparison
equal
deleted
inserted
replaced
19:0fffb6f03ebf | 20:bd669312f068 |
---|---|
88 IntImage load_intimage(char *file, int max_val) | 88 IntImage load_intimage(char *file, int max_val) |
89 { | 89 { |
90 IntImage img; | 90 IntImage img; |
91 FILE *fp; | 91 FILE *fp; |
92 IntPixel *data; | 92 IntPixel *data; |
93 int width, height, i, max, ch1, ch2; | 93 int width, height, i, ch1, ch2; |
94 | 94 |
95 fp=fopen(file,"rb"); | 95 fp=fopen(file,"rb"); |
96 if (fp==NULL) goto error; | 96 if (fp==NULL) goto error; |
97 | 97 |
98 ch1=getc(fp); | 98 ch1=getc(fp); |
100 if (ch1!='P' || (ch2!='5' && ch2!='2')) goto error1; | 100 if (ch1!='P' || (ch2!='5' && ch2!='2')) goto error1; |
101 | 101 |
102 width=read_int(fp); | 102 width=read_int(fp); |
103 height=read_int(fp); | 103 height=read_int(fp); |
104 if ((width==0) || (height==0) ) goto error1; | 104 if ((width==0) || (height==0) ) goto error1; |
105 max=read_int(fp); | 105 read_int(fp); |
106 | 106 |
107 img=new_intimage(width,height); | 107 img=new_intimage(width,height); |
108 | 108 |
109 img->bpp=8; | 109 img->bpp=8; |
110 | 110 |
1553 Image_tree best_basis(Image original,int level,FilterGH *flt, | 1553 Image_tree best_basis(Image original,int level,FilterGH *flt, |
1554 enum FilterMethod method,enum Information_Cost cost,double epsilon) | 1554 enum FilterMethod method,enum Information_Cost cost,double epsilon) |
1555 | 1555 |
1556 { Image_tree tree; | 1556 { Image_tree tree; |
1557 Image img; | 1557 Image img; |
1558 int min,max_level,e; | 1558 int min,max_level; |
1559 | 1559 |
1560 tree=new_image_tree(); | 1560 tree=new_image_tree(); |
1561 if(!tree) goto error; | 1561 if(!tree) goto error; |
1562 | 1562 |
1563 img=new_image(original->width,original->height); | 1563 img=new_image(original->width,original->height); |
1570 min=original->width; | 1570 min=original->width; |
1571 if (original->height<min) min=original->height; | 1571 if (original->height<min) min=original->height; |
1572 max_level=log10((float) min/best_basis_min)/log10(2); | 1572 max_level=log10((float) min/best_basis_min)/log10(2); |
1573 if (max_level>level) max_level=level; | 1573 if (max_level>level) max_level=level; |
1574 | 1574 |
1575 e=compute_best(tree,0,max_level,flt,method,cost,epsilon); | 1575 compute_best(tree,0,max_level,flt,method,cost,epsilon); |
1576 | 1576 |
1577 if (!tree->image) free(img); | 1577 if (!tree->image) free(img); |
1578 | 1578 |
1579 return tree; | 1579 return tree; |
1580 | 1580 |