Merge pull request #15 from rikardfalkeborn/psdpng-fixes

Psdpng fixes
This commit is contained in:
mborgerding 2018-11-27 19:57:40 -05:00 committed by GitHub
commit 9951e3baa2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -129,9 +129,7 @@ void transform_signal(void)
CHECKNULL( inbuf=(short*)malloc(sizeof(short)*2*nfft ) );
CHECKNULL( tbuf=(kiss_fft_scalar*)malloc(sizeof(kiss_fft_scalar)*nfft ) );
CHECKNULL( fbuf=(kiss_fft_cpx*)malloc(sizeof(kiss_fft_cpx)*nfreqs ) );
CHECKNULL( mag2buf=(float*)malloc(sizeof(float)*nfreqs ) );
memset(mag2buf,0,sizeof(mag2buf)*nfreqs);
CHECKNULL( mag2buf=(float*)calloc(nfreqs,sizeof(float) ) );
while (1) {
if (stereo) {
@ -164,7 +162,7 @@ void transform_signal(void)
if (++avgctr == navg) {
avgctr=0;
++nrows;
vals = (float*)realloc(vals,sizeof(float)*nrows*nfreqs);
CHECKNULL( vals = (float*)realloc(vals,sizeof(float)*nrows*nfreqs) );
float eps = 1;
for (i=0;i<nfreqs;++i)
vals[(nrows - 1) * nfreqs + i] = 10 * log10 ( mag2buf[i] / navg + eps );
@ -198,10 +196,10 @@ void make_png(void)
png_set_IHDR(png_ptr, info_ptr ,nfreqs,nrows,8,PNG_COLOR_TYPE_RGB,PNG_INTERLACE_NONE,PNG_COMPRESSION_TYPE_DEFAULT,PNG_FILTER_TYPE_DEFAULT );
row_data = (rgb_t*)malloc(sizeof(rgb_t) * nrows * nfreqs) ;
CHECKNULL( row_data = (rgb_t*)malloc(sizeof(rgb_t) * nrows * nfreqs) );
cpx2pixels(row_data, vals, nfreqs*nrows );
row_pointers = realloc(row_pointers, nrows*sizeof(png_bytep));
CHECKNULL( row_pointers = malloc(nrows*sizeof(png_bytep)) );
for (i=0;i<nrows;++i) {
row_pointers[i] = (png_bytep)(row_data + i*nfreqs);
}
@ -213,6 +211,9 @@ void make_png(void)
png_write_png(png_ptr, info_ptr, PNG_TRANSFORM_IDENTITY , NULL);
free(row_pointers);
free(row_data);
png_destroy_write_struct(&png_ptr, &info_ptr);
}
int main(int argc,char ** argv)
@ -225,5 +226,6 @@ int main(int argc,char ** argv)
if (fout!=stdout) fclose(fout);
if (fin!=stdin) fclose(fin);
free(vals);
return 0;
}