From 95b5b69f440b4663a80e1c1671cee50d7f72033b Mon Sep 17 00:00:00 2001 From: Monty Date: Sun, 8 Aug 1999 00:15:53 +0000 Subject: [PATCH] Not a permanent file, but I don;t want to lose it yet. Monty 19990807 svn path=/trunk/vorbis/; revision=22 --- lib/dsptest.c | 236 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 236 insertions(+) create mode 100644 lib/dsptest.c diff --git a/lib/dsptest.c b/lib/dsptest.c new file mode 100644 index 0000000..33f6fae --- /dev/null +++ b/lib/dsptest.c @@ -0,0 +1,236 @@ +#include +#include +#include "codec.h" +#include "envelope.h" +#include "mdct.h" + +#define READ 4096 + +int main(){ + vorbis_dsp_state encode,decode; + vorbis_info vi; + vorbis_block vb; + long counterin=0; + long counterout=0; + int done=0; + char *temp[]={ "Test" ,"the Test band", "test records",NULL }; + int mtemp[]={0,1}; + int frame=0; + + signed char buffer[READ*4+44]; + + + vi.channels=2; + vi.rate=44100; + vi.version=0; + vi.mode=0; + vi.user_comments=temp; + vi.vendor="Xiphophorus"; + vi.smallblock=512; + vi.largeblock=2048; + vi.envelopesa=64; + vi.envelopech=2; + vi.envelopemap=mtemp; + vi.channelmap=NULL; + vi.preecho_thresh=10.; + vi.preecho_clamp=4.; + + vorbis_analysis_init(&encode,&vi); + vorbis_synthesis_init(&decode,&vi); + vorbis_block_init(&encode,&vb); + + fread(buffer,1,44,stdin); + fwrite(buffer,1,44,stdout); + + + while(!done){ + long bread=fread(buffer,1,READ*4,stdin); + double **buf=vorbis_analysis_buffer(&encode,READ); + long i; + + /* uninterleave samples */ + + for(i=0;ivi[vb.W],vb.pcm[i],vb.pcm[i],window); + + + /* synthesis */ + + for(i=0;ivi[vb.W],vb.pcm[i],vb.pcm[i],window); + + + /*{ + FILE *out; + char path[80]; + int i; + + int avail=encode.block_size[vb.W]; + int beginW=countermid-avail/2; + + sprintf(path,"ana%d",vb.frameno); + out=fopen(path,"w"); + + for(i=0;iREAD)avail=READ; + + for(i=0;i32767)l=32767; + if(r>32767)r=32767; + if(l<-32768)l=-32768; + if(r<-32768)r=-32768; + buffer[i*4]=l&0xff; + buffer[i*4+1]=(l>>8)&0xff; + buffer[i*4+2]=r&0xff; + buffer[i*4+3]=(r>>8)&0xff; + } + + fwrite(buffer,1,avail*4,stdout); + + /*{ + FILE *out; + char path[80]; + int i; + + sprintf(path,"syn%d",frame); + out=fopen(path,"w"); + + for(i=0;i32767 || abs(r)>32768){ + fprintf(stderr,"\nClipping!\n"); + exit(0); + } + buffer[i*4]=l&0xff; + buffer[i*4+1]=(l>>8)&0xff; + buffer[i*4+2]=r&0xff; + buffer[i*4+3]=(r>>8)&0xff; + } + + fwrite(buffer,1,bread,stdout); + } + return(0); +} + + + -- 2.7.4