summaryrefslogtreecommitdiffstats
path: root/gst-libs/gst/resample
diff options
context:
space:
mode:
Diffstat (limited to 'gst-libs/gst/resample')
-rw-r--r--gst-libs/gst/resample/Makefile.am2
-rw-r--r--gst-libs/gst/resample/dtos.c4
-rw-r--r--gst-libs/gst/resample/functable.c58
-rw-r--r--gst-libs/gst/resample/resample.c40
-rw-r--r--gst-libs/gst/resample/test.c34
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;