Changeset 39457 for trunk/Ohana/src/libfits/matrix/F_uncompress_data.c
- Timestamp:
- Mar 11, 2016, 10:23:42 PM (10 years ago)
- Location:
- trunk/Ohana
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
src/libfits/matrix/F_uncompress_data.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana
-
Property svn:mergeinfo
set to
/branches/eam_branches/ohana.20160226 merged eligible
-
Property svn:mergeinfo
set to
-
trunk/Ohana/src/libfits/matrix/F_uncompress_data.c
r38441 r39457 2 2 # include <gfitsio.h> 3 3 # include <zlib.h> 4 5 /* functions defined in ricecomp.c */ 6 int fits_rcomp(int a[], int nx, unsigned char *c, int clen, int nblock); 7 int fits_rdecomp (unsigned char *c, int clen, unsigned int array[], int nx, int nblock); 8 int fits_rdecomp_short (unsigned char *c, int clen, unsigned short array[], int nx, int nblock); 9 int fits_rdecomp_byte (unsigned char *c, int clen, unsigned char array[], int nx, int nblock); 10 11 /* functions defined in fits_hcompress.c */ 12 # define LONGLONG long long 13 int fits_hcompress(int *a, int ny, int nx, int scale, char *output, long *nbytes, int *status); 14 int fits_hcompress64(LONGLONG *a, int ny, int nx, int scale, char *output, long *nbytes, int *status); 15 16 /* functions defined in fits_hdeccompress.c */ 17 int fits_hdecompress(unsigned char *input, int smooth, int *a, int *ny, int *nx, int *scale, int *status); 18 int fits_hdecompress64(unsigned char *input, int smooth, LONGLONG *a, int *ny, int *nx, int *scale, int *status); 19 20 /* functions defined in pliocomp.c */ 21 int pl_p2li (int *pxsrc, int xs, short *lldst, int npix); 22 int pl_l2pi (short *ll_src, int xs, int *px_dst, int npix); 23 24 /* functions defined in gzip.c */ 25 int gfits_gz_stripheader (unsigned char *data, int *ndata); 26 int gfits_uncompress (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen); 4 # include <gfits_compress.h> 27 5 28 6 # define ESCAPE(RET) { fprintf (stderr, "gzip error in %s @ %s:%d\n", __func__, __FILE__, __LINE__); return (RET); } 29 7 30 int gfits_uncompress_data (char *zdata, int Nzdata, char *cmptype, char **optname, char **optvalue, int Nopt, char *outdata, int *Nout,int Nout_alloc, int out_pixsize) {8 int gfits_uncompress_data (char *zdata, unsigned long Nzdata, char *cmptype, char **optname, char **optvalue, int Nopt, char *outdata, unsigned long int *Nout, unsigned long int Nout_alloc, int out_pixsize) { 31 9 32 10 int status; … … 78 56 79 57 int status = FALSE; 80 int Npix = *Nout / out_pixsize; 81 int k; 58 unsigned long int Npix = *Nout / out_pixsize; 82 59 83 60 switch (out_pixsize) { … … 88 65 case 2: 89 66 if (0) { 90 fprintf (stderr, "Nout: %d, Nrawpix: %d\n", Nzdata, Npix); 67 unsigned long int k; 68 fprintf (stderr, "Nout: %lu, Nrawpix: %lu\n", Nzdata, Npix); 91 69 fprintf (stderr, "cmp out: "); 92 70 for (k = 0; k < Nzdata; k++) { fprintf (stderr, "0x%02hhx ", zdata[k]); } … … 112 90 113 91 if (!strcasecmp(cmptype, "PLIO_1")) { 92 int Ntru = *Nout; 114 93 int Npix; 115 Npix = pl_l2pi ((short *) zdata, 1, (int *) outdata, *Nout);116 if (Npix != *Nout) {94 Npix = pl_l2pi ((short *) zdata, 1, (int *) outdata, Ntru); 95 if (Npix != Ntru) { 117 96 fprintf (stderr, "error in plio decompression\n"); 118 97 return (FALSE); … … 122 101 123 102 if (!strcasecmp(cmptype, "HCOMPRESS_1")) { 103 unsigned long int Ntru = *Nout; 124 104 int Nx, Ny, scale; 125 105 status = 0; … … 132 112 // fprintf (stderr, "decompression yields image %d x %d (scale: %d)\n", Nx, Ny, scale); 133 113 134 if (Nx * Ny != *Nout) { 114 unsigned long Npix = Nx * Ny; 115 if (Npix != Ntru) { 135 116 fprintf (stderr, "error in hdecompress: mismatched output size\n"); 136 117 return (FALSE);
Note:
See TracChangeset
for help on using the changeset viewer.
