********************************************************************
function: single-block PCM analysis mode dispatch
- last mod: $Id$
********************************************************************/
#include "os.h"
#include "misc.h"
-int analysis_noisy=1;
-
/* decides between modes, dispatches to the appropriate mapping. */
int vorbis_analysis(vorbis_block *vb, ogg_packet *op){
int ret,i;
/* first things first. Make sure encode is ready */
for(i=0;i<PACKETBLOBS;i++)
oggpack_reset(vbi->packetblob[i]);
-
+
/* we only have one mapping type (0), and we let the mapping code
itself figure out what soft mode to use. This allows easier
bitrate management */
/* The app is using a bitmanaged mode... but not using the
bitrate management interface. */
return(OV_EINVAL);
-
+
op->packet=oggpack_get_buffer(&vb->opb);
op->bytes=oggpack_bytes(&vb->opb);
op->b_o_s=0;
return(0);
}
+#ifdef ANALYSIS
+int analysis_noisy=1;
+
/* there was no great place to put this.... */
void _analysis_output_always(char *base,int i,float *v,int n,int bark,int dB,ogg_int64_t off){
int j;
FILE *of;
char buffer[80];
- /* if(i==5870){*/
- sprintf(buffer,"%s_%d.m",base,i);
- of=fopen(buffer,"w");
-
- if(!of)perror("failed to open data dump file");
-
- for(j=0;j<n;j++){
- if(bark){
- float b=toBARK((4000.f*j/n)+.25);
- fprintf(of,"%f ",b);
- }else
- if(off!=0)
- fprintf(of,"%f ",(double)(j+off)/8000.);
- else
- fprintf(of,"%f ",(double)j);
-
- if(dB){
- float val;
- if(v[j]==0.)
- val=-140.;
- else
- val=todB(v+j);
- fprintf(of,"%f\n",val);
- }else{
- fprintf(of,"%f\n",v[j]);
- }
+ sprintf(buffer,"%s_%d.m",base,i);
+ of=fopen(buffer,"w");
+
+ if(!of)perror("failed to open data dump file");
+
+ for(j=0;j<n;j++){
+ if(bark){
+ float b=toBARK((4000.f*j/n)+.25);
+ fprintf(of,"%f ",b);
+ }else
+ if(off!=0)
+ fprintf(of,"%f ",(double)(j+off)/8000.);
+ else
+ fprintf(of,"%f ",(double)j);
+
+ if(dB){
+ float val;
+ if(v[j]==0.)
+ val=-140.;
+ else
+ val=todB(v+j);
+ fprintf(of,"%f\n",val);
+ }else{
+ fprintf(of,"%f\n",v[j]);
}
- fclose(of);
- /* } */
+ }
+ fclose(of);
}
void _analysis_output(char *base,int i,float *v,int n,int bark,int dB,
- ogg_int64_t off){
+ ogg_int64_t off){
if(analysis_noisy)_analysis_output_always(base,i,v,n,bark,dB,off);
}
-
+#endif