This commit is contained in:
Sean McBride 2025-02-10 22:26:09 +02:00 committed by GitHub
commit d904bd9979
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 24 additions and 22 deletions

View File

@ -41,7 +41,6 @@ size_t kiss_fastfir( kiss_fastfir_cfg cfg, kffsamp_t * inbuf, kffsamp_t * outbuf
static int verbose=0;
struct kiss_fastfir_state{
@ -68,7 +67,7 @@ kiss_fastfir_cfg kiss_fastfir_alloc(
size_t i;
size_t nfft=0;
float scale;
int n_freq_bins;
size_t n_freq_bins;
if (pnfft)
nfft=*pnfft;
@ -150,7 +149,7 @@ kiss_fastfir_cfg kiss_fastfir_alloc(
FFTFWD(st->fftcfg,st->tmpbuf,st->fir_freq_resp);
/* TODO: this won't work for fixed point */
scale = 1.0 / st->nfft;
scale = 1.0f / st->nfft;
for ( i=0; i < st->n_freq_bins; ++i ) {
#ifdef USE_SIMD
@ -244,6 +243,8 @@ size_t kiss_fastfir(
#include <sys/mman.h>
#include <assert.h>
static int verbose=0;
static
void direct_file_filter(
FILE * fin,
@ -345,7 +346,7 @@ void do_file_filter(
kiss_fastfir_cfg cfg;
kffsamp_t *inbuf,*outbuf;
int nread,nwrite;
size_t nread,nwrite;
size_t idx_inbuf;
fdout = fileno(fout);
@ -373,7 +374,8 @@ void do_file_filter(
nwrite = kiss_fastfir(cfg, inbuf, outbuf,nread,&idx_inbuf) * sizeof(kffsamp_t);
/* kiss_fastfir moved any unused samples to the front of inbuf and updated idx_inbuf */
if ( write(fdout, outbuf, nwrite) != nwrite ) {
ssize_t written = write(fdout, outbuf, nwrite);
if ( written < 0 || (size_t)written != nwrite ) {
perror("short write");
exit(1);
}

View File

@ -16,15 +16,15 @@
#include "kiss_fft.h"
#include "kiss_fftr.h"
int nfft=1024;
FILE * fin=NULL;
FILE * fout=NULL;
static int nfft=1024;
static FILE * fin=NULL;
static FILE * fout=NULL;
int navg=20;
int remove_dc=0;
int nrows=0;
float * vals=NULL;
int stereo=0;
static int navg=20;
static int remove_dc=0;
static int nrows=0;
static float * vals=NULL;
static int stereo=0;
static
void config(int argc,char** argv)
@ -83,9 +83,9 @@ static
void val2rgb(float x,rgb_t *p)
{
const double pi = 3.14159265358979;
p->g = (int)(255*sin(x*pi));
p->r = (int)(255*abs(sin(x*pi*3/2)));
p->b = (int)(255*abs(sin(x*pi*5/2)));
p->g = (png_byte)(255*sin(x*pi));
p->r = (png_byte)(255*fabs(sin(x*pi*3/2)));
p->b = (png_byte)(255*fabs(sin(x*pi*5/2)));
//fprintf(stderr,"%.2f : %d,%d,%d\n",x,(int)p->r,(int)p->g,(int)p->b);
}
@ -103,7 +103,7 @@ void cpx2pixels(rgb_t * res,const float * fbuf,size_t n)
fprintf(stderr,"min ==%f,max=%f\n",minval,maxval);
valrange = maxval-minval;
if (valrange == 0) {
if (valrange == 0.0f) {
fprintf(stderr,"min == max == %f\n",minval);
exit (1);
}
@ -121,7 +121,7 @@ void transform_signal(void)
kiss_fft_cpx *fbuf;
float *mag2buf;
int i;
int n;
size_t n;
int avgctr=0;
int nfreqs=nfft/2+1;
@ -135,13 +135,13 @@ void transform_signal(void)
while (1) {
if (stereo) {
n = fread(inbuf,sizeof(short)*2,nfft,fin);
if (n != nfft )
if (n != (size_t)nfft )
break;
for (i=0;i<nfft;++i)
tbuf[i] = inbuf[2*i] + inbuf[2*i+1];
}else{
n = fread(inbuf,sizeof(short),nfft,fin);
if (n != nfft )
if (n != (size_t)nfft )
break;
for (i=0;i<nfft;++i)
tbuf[i] = inbuf[i];
@ -164,9 +164,9 @@ void transform_signal(void)
avgctr=0;
++nrows;
CHECKNULL( vals = (float*)realloc(vals,sizeof(float)*nrows*nfreqs) );
float eps = 1;
float eps = 1.0f;
for (i=0;i<nfreqs;++i)
vals[(nrows - 1) * nfreqs + i] = 10 * log10 ( mag2buf[i] / navg + eps );
vals[(nrows - 1) * nfreqs + i] = 10.0f * log10f ( mag2buf[i] / navg + eps );
memset(mag2buf,0,sizeof(mag2buf[0])*nfreqs);
}
}