diff options
Diffstat (limited to 'gst-libs/gst/resample')
-rw-r--r-- | gst-libs/gst/resample/Makefile.am | 2 | ||||
-rw-r--r-- | gst-libs/gst/resample/dtos.c | 4 | ||||
-rw-r--r-- | gst-libs/gst/resample/functable.c | 58 | ||||
-rw-r--r-- | gst-libs/gst/resample/resample.c | 40 | ||||
-rw-r--r-- | gst-libs/gst/resample/test.c | 34 |
5 files changed, 69 insertions, 69 deletions
diff --git a/gst-libs/gst/resample/Makefile.am b/gst-libs/gst/resample/Makefile.am index c1def79d..f7056789 100644 --- a/gst-libs/gst/resample/Makefile.am +++ b/gst-libs/gst/resample/Makefile.am @@ -13,7 +13,7 @@ endif endif libgstresample_la_SOURCES = dtos.c functable.c resample.c resample.h -libgstresample_la_LIBADD = $(GST_LIBS) +libgstresample_la_LIBADD = libgstresample_la_CFLAGS = $(GST_CFLAGS) -ffast-math $(ARCHCFLAGS) libgstresample_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) diff --git a/gst-libs/gst/resample/dtos.c b/gst-libs/gst/resample/dtos.c index 7762595f..96bfe41d 100644 --- a/gst-libs/gst/resample/dtos.c +++ b/gst-libs/gst/resample/dtos.c @@ -23,13 +23,13 @@ #include <stdio.h> #include <stdlib.h> -//#include <ml.h> +/*#include <ml.h> */ #include <resample.h> #define short_to_double_table -//#define short_to_double_altivec +/*#define short_to_double_altivec */ #define short_to_double_unroll #ifdef short_to_double_table diff --git a/gst-libs/gst/resample/functable.c b/gst-libs/gst/resample/functable.c index d61efca4..c225958e 100644 --- a/gst-libs/gst/resample/functable.c +++ b/gst-libs/gst/resample/functable.c @@ -124,12 +124,12 @@ double functable_eval(functable_t *t,double x) w0 = (x - 2 * x2 + x3) * t->offset; w1 = (-x2 + x3) * t->offset; - //printf("i=%d x=%g f0=%g f1=%g w0=%g w1=%g\n",i,x,f0,f1,w0,w1); + /*printf("i=%d x=%g f0=%g f1=%g w0=%g w1=%g\n",i,x,f0,f1,w0,w1); */ w = t->fx[i] * f0 + t->fx[i + 1] * f1 + t->fdx[i] * w0 + t->fdx[i + 1] * w1; - //w = t->fx[i] * (1-x) + t->fx[i+1] * x; + /*w = t->fx[i] * (1-x) + t->fx[i+1] * x; */ return w; } @@ -266,37 +266,37 @@ void functable_fir2_altivec(functable_t *t, float *r0, float *r1, sum0 = 0; sum1 = 0; for(j=0;j<len;j++){ - // t->fx, t->fdx needs to be multiplexed by n - // we need 5 consecutive floats, which fit into 2 vecs - // load v0, t->fx[i] - // load v1, t->fx[i+n] - // v2 = v0 (not correct) - // v3 = (v0>>32) || (v1<<3*32) (not correct) - // - // load v4, t->dfx[i] - // load v5, t->dfx[i+n] - // v6 = v4 (not correct) - // v7 = (v4>>32) || (v5<<3*32) (not correct) - // - // v8 = splat(f0) - // v9 = splat(f1) - // v10 = splat(w0) - // v11 = splat(w1) - // - // v12 = v2 * v8 - // v12 += v3 * v9 - // v12 += v6 * v10 - // v12 += v7 * v11 + /* t->fx, t->fdx needs to be multiplexed by n */ + /* we need 5 consecutive floats, which fit into 2 vecs */ + /* load v0, t->fx[i] */ + /* load v1, t->fx[i+n] */ + /* v2 = v0 (not correct) */ + /* v3 = (v0>>32) || (v1<<3*32) (not correct) */ + /* */ + /* load v4, t->dfx[i] */ + /* load v5, t->dfx[i+n] */ + /* v6 = v4 (not correct) */ + /* v7 = (v4>>32) || (v5<<3*32) (not correct) */ + /* */ + /* v8 = splat(f0) */ + /* v9 = splat(f1) */ + /* v10 = splat(w0) */ + /* v11 = splat(w1) */ + /* */ + /* v12 = v2 * v8 */ + /* v12 += v3 * v9 */ + /* v12 += v6 * v10 */ + /* v12 += v7 * v11 */ w = t->fx[i] * f0 + t->fx[i + 1] * f1 + t->fdx[i] * w0 + t->fdx[i + 1] * w1; - // v13 = data[j*2] - // v14 = data[j*2+4] - // v15 = deinterlace_high(v13,v14) - // v16 = deinterlace_low(v13,v14) - // (sum0) v17 += multsum(v13,v15) - // (sum1) v18 += multsum(v14,v16) + /* v13 = data[j*2] */ + /* v14 = data[j*2+4] */ + /* v15 = deinterlace_high(v13,v14) */ + /* v16 = deinterlace_low(v13,v14) */ + /* (sum0) v17 += multsum(v13,v15) */ + /* (sum1) v18 += multsum(v14,v16) */ sum0 += data[j*2] * w; sum1 += data[j*2+1] * w; diff --git a/gst-libs/gst/resample/resample.c b/gst-libs/gst/resample/resample.c index cedb874e..286cb84b 100644 --- a/gst-libs/gst/resample/resample.c +++ b/gst-libs/gst/resample/resample.c @@ -243,7 +243,7 @@ void resample_bilinear(resample_t * r) b = r->i_start; for (i = 0; i < r->i_samples; i++) { b += r->i_inc; - //printf("in %d\n",i_ptr[0]); + /*printf("in %d\n",i_ptr[0]); */ if(b>=2){ printf("not expecting b>=2\n"); } @@ -252,7 +252,7 @@ void resample_bilinear(resample_t * r) acc1 += (1.0 - (b-r->i_inc)) * i_ptr[1]; o_ptr[0] = rint(acc0); - //printf("out %d\n",o_ptr[0]); + /*printf("out %d\n",o_ptr[0]); */ o_ptr[1] = rint(acc1); o_ptr += 2; o_count++; @@ -319,8 +319,8 @@ void resample_sinc_slow(resample_t * r) c1 = 0; for (j = 0; j < r->filter_length; j++) { weight = (x==0)?1:(sinx/x); -//printf("j %d sin %g cos %g\n",j,sinx,cosx); -//printf("j %d sin %g x %g sinc %g\n",j,sinx,x,weight); +/*printf("j %d sin %g cos %g\n",j,sinx,cosx); */ +/*printf("j %d sin %g x %g sinc %g\n",j,sinx,x,weight); */ c0 += weight * GETBUF((start + j), 0); c1 += weight * GETBUF((start + j), 1); t = cosx * cosd - sinx * sind; @@ -368,11 +368,11 @@ void resample_sinc(resample_t * r) for (i = 0; i < r->o_samples; i++) { a = r->o_start + i * r->o_inc; start = floor(a - r->halftaps); -//printf("%d: a=%g start=%d end=%d\n",i,a,start,start+r->filter_length-1); +/*printf("%d: a=%g start=%d end=%d\n",i,a,start,start+r->filter_length-1); */ center = a; - //x = M_PI * (start - center) * r->o_inc; - //d = M_PI * r->o_inc; - //x = (start - center) * r->o_inc; + /*x = M_PI * (start - center) * r->o_inc; */ + /*d = M_PI * r->o_inc; */ + /*x = (start - center) * r->o_inc; */ x0 = (start - center) * r->o_inc; d = r->o_inc; c0 = 0; @@ -439,20 +439,20 @@ static void resample_sinc_ft(resample_t * r) double *ptr; signed short *o_ptr; int i; - //int j; + /*int j; */ double c0, c1; - //double a; + /*double a; */ double start_f, start_x; int start; double center; - //double weight; + /*double weight; */ double x, d; double scale; int n = 4; - scale = r->i_inc; // cutoff at 22050 - //scale = 1.0; // cutoff at 24000 - //scale = r->i_inc * 0.5; // cutoff at 11025 + scale = r->i_inc; /* cutoff at 22050 */ + /*scale = 1.0; // cutoff at 24000 */ + /*scale = r->i_inc * 0.5; // cutoff at 11025 */ if(!ft){ ft = malloc(sizeof(*ft)); @@ -472,7 +472,7 @@ static void resample_sinc_ft(resample_t * r) functable_init(ft); - //printf("len=%d offset=%g start=%g\n",ft->len,ft->offset,ft->start); + /*printf("len=%d offset=%g start=%g\n",ft->len,ft->offset,ft->start); */ } ptr = r->buffer; @@ -484,18 +484,18 @@ static void resample_sinc_ft(resample_t * r) start_x -= start_f; start = start_f; for (i = 0; i < r->o_samples; i++) { - //start_f = floor(center - r->halftaps); -//printf("%d: a=%g start=%d end=%d\n",i,a,start,start+r->filter_length-1); + /*start_f = floor(center - r->halftaps); */ +/*printf("%d: a=%g start=%d end=%d\n",i,a,start,start+r->filter_length-1); */ x = start_f - center; d = 1; c0 = 0; c1 = 0; -//#define slow +/*#define slow */ #ifdef slow for (j = 0; j < r->filter_length; j++) { weight = functable_eval(ft,x)*scale; - //weight = sinc(M_PI * scale * x)*scale*r->i_inc; - //weight *= window_func(x / r->halftaps); + /*weight = sinc(M_PI * scale * x)*scale*r->i_inc; */ + /*weight *= window_func(x / r->halftaps); */ c0 += weight * ptr[(start + j + r->filter_length)*2 + 0]; c1 += weight * ptr[(start + j + r->filter_length)*2 + 1]; x += d; diff --git a/gst-libs/gst/resample/test.c b/gst-libs/gst/resample/test.c index 44d19a65..f268a592 100644 --- a/gst-libs/gst/resample/test.c +++ b/gst-libs/gst/resample/test.c @@ -9,11 +9,11 @@ #define AMP 16000 #define I_RATE 48000 #define O_RATE 44100 -//#define O_RATE 24000 +/*#define O_RATE 24000 */ -//#define test_func(x) 1 -//#define test_func(x) sin(2*M_PI*(x)*10) -//#define test_func(x) sin(2*M_PI*(x)*(x)*1000) +/*#define test_func(x) 1 */ +/*#define test_func(x) sin(2*M_PI*(x)*10) */ +/*#define test_func(x) sin(2*M_PI*(x)*(x)*1000) */ #define test_func(x) sin(2*M_PI*(x)*(x)*12000) short i_buf[I_RATE*2*2]; @@ -53,7 +53,7 @@ struct timeval start_time; void start_timer(void) { gettimeofday(&start_time,NULL); - //printf("start %ld.%06ld\n",start_time.tv_sec,start_time.tv_usec); + /*printf("start %ld.%06ld\n",start_time.tv_sec,start_time.tv_usec); */ } void end_timer(void) @@ -62,7 +62,7 @@ void end_timer(void) double diff; gettimeofday(&end_time,NULL); - //printf("end %ld.%06ld\n",end_time.tv_sec,end_time.tv_usec); + /*printf("end %ld.%06ld\n",end_time.tv_sec,end_time.tv_usec); */ diff = (end_time.tv_sec - start_time.tv_sec) + 1e-6*(end_time.tv_usec - start_time.tv_usec); @@ -81,7 +81,7 @@ void test_res1(void) for(i=0;i<I_RATE;i++){ i_buf[i*2+0] = rint(AMP * test_func((double)i/I_RATE)); - //i_buf[i*2+1] = rint(AMP * test_func((double)i/I_RATE)); + /*i_buf[i*2+1] = rint(AMP * test_func((double)i/I_RATE)); */ i_buf[i*2+1] = (i<1000)?AMP:0; } @@ -90,10 +90,10 @@ void test_res1(void) r->i_rate = I_RATE; r->o_rate = O_RATE; - //r->method = RESAMPLE_SINC_SLOW; + /*r->method = RESAMPLE_SINC_SLOW; */ r->method = RESAMPLE_SINC; r->channels = 2; - //r->verbose = 1; + /*r->verbose = 1; */ r->filter_length = 64; r->get_buffer = get_buffer; @@ -115,7 +115,7 @@ void test_res1(void) for(i=0;i<O_RATE;i++){ f = AMP*test_func((double)i/O_RATE); - //f = rint(AMP*test_func((double)i/O_RATE)); + /*f = rint(AMP*test_func((double)i/O_RATE)); */ fprintf(out,"%d %d %d %g %g\n",i, o_buf[2*i+0],o_buf[2*i+1], f,o_buf[2*i+0]-f); @@ -127,7 +127,7 @@ void test_res1(void) n22k=0; for(i=0;i<O_RATE;i++){ f = AMP*test_func((double)i/O_RATE); - //f = rint(AMP*test_func((double)i/O_RATE)); + /*f = rint(AMP*test_func((double)i/O_RATE)); */ x = o_buf[2*i+0]-f; if(((0.5*i)/O_RATE*I_RATE)<10000){ sum10k += x*x; @@ -219,8 +219,8 @@ double sinc_poly(double x) - x2 * INV3FAC + x2 * x2 * INV5FAC - x2 * x2 * x2 * INV7FAC; - //+ x2 * x2 * x2 * x2 * INV9FAC - //- x2 * x2 * x2 * x2 * x2 * INV11FAC; + /*+ x2 * x2 * x2 * x2 * INV9FAC */ + /*- x2 * x2 * x2 * x2 * x2 * INV11FAC; */ } void test_res4(void) @@ -297,10 +297,10 @@ void test_res7(void) r->i_rate = I_RATE; r->o_rate = O_RATE; - //r->method = RESAMPLE_SINC_SLOW; + /*r->method = RESAMPLE_SINC_SLOW; */ r->method = RESAMPLE_SINC; r->channels = 1; - //r->verbose = 1; + /*r->verbose = 1; */ r->filter_length = 64; r->get_buffer = get_buffer; @@ -322,7 +322,7 @@ void test_res7(void) for(i=0;i<O_RATE;i++){ f = AMP*test_func((double)i/O_RATE); - //f = rint(AMP*test_func((double)i/O_RATE)); + /*f = rint(AMP*test_func((double)i/O_RATE)); */ fprintf(out,"%d %d %d %g %g\n",i, o_buf[i],0, f,o_buf[i]-f); @@ -334,7 +334,7 @@ void test_res7(void) n22k=0; for(i=0;i<O_RATE;i++){ f = AMP*test_func((double)i/O_RATE); - //f = rint(AMP*test_func((double)i/O_RATE)); + /*f = rint(AMP*test_func((double)i/O_RATE)); */ x = o_buf[i]-f; if(((0.5*i)/O_RATE*I_RATE)<10000){ sum10k += x*x; |