if(v->lW){
if(v->W){
/* large/large */
- float *w=_vorbis_window_get(b->window[1]-hs);
+ const float *w=_vorbis_window_get(b->window[1]-hs);
float *pcm=v->pcm[j]+prevCenter;
float *p=vb->pcm[j];
for(i=0;i<n1;i++)
pcm[i]=pcm[i]*w[n1-i-1] + p[i]*w[i];
}else{
/* large/small */
- float *w=_vorbis_window_get(b->window[0]-hs);
+ const float *w=_vorbis_window_get(b->window[0]-hs);
float *pcm=v->pcm[j]+prevCenter+n1/2-n0/2;
float *p=vb->pcm[j];
for(i=0;i<n0;i++)
}else{
if(v->W){
/* small/large */
- float *w=_vorbis_window_get(b->window[0]-hs);
+ const float *w=_vorbis_window_get(b->window[0]-hs);
float *pcm=v->pcm[j]+prevCenter;
float *p=vb->pcm[j]+n1/2-n0/2;
for(i=0;i<n0;i++)
pcm[i]=p[i];
}else{
/* small/small */
- float *w=_vorbis_window_get(b->window[0]-hs);
+ const float *w=_vorbis_window_get(b->window[0]-hs);
float *pcm=v->pcm[j]+prevCenter;
float *p=vb->pcm[j];
for(i=0;i<n0;i++)
}
-float *vorbis_window(vorbis_dsp_state *v,int W){
+const float *vorbis_window(vorbis_dsp_state *v,int W){
vorbis_info *vi=v->vi;
codec_setup_info *ci=vi->codec_setup;
int hs=ci->halfrate_flag;
return(index);
}
+#ifdef TRAIN_RES
static int _encodepart(oggpack_buffer *opb,int *vec, int n,
codebook *book,long *acc){
+#else
+static int _encodepart(oggpack_buffer *opb,int *vec, int n,
+ codebook *book){
+#endif
int i,bits=0;
int dim=book->dim;
int step=n/dim;
}
static int _01forward(oggpack_buffer *opb,
- vorbis_block *vb,vorbis_look_residue *vl,
+ vorbis_look_residue *vl,
int **in,int ch,
long **partword,
+#ifdef TRAIN_RES
int (*encode)(oggpack_buffer *,int *,int,
codebook *,long *),
- int submap){
+ int submap
+#else
+ int (*encode)(oggpack_buffer *,int *,int,
+ codebook *)
+#endif
+){
long i,j,k,s;
vorbis_look_residue0 *look=(vorbis_look_residue0 *)vl;
vorbis_info_residue0 *info=look->info;
codebook *statebook=look->partbooks[partword[j][i]][s];
if(statebook){
int ret;
- long *accumulator=NULL;
-
#ifdef TRAIN_RES
+ long *accumulator=NULL;
accumulator=look->training_data[s][partword[j][i]];
{
int l;
look->training_max[s][partword[j][i]]=samples[l];
}
}
-#endif
-
ret=encode(opb,in[j]+offset,samples_per_partition,
statebook,accumulator);
+#else
+ ret=encode(opb,in[j]+offset,samples_per_partition,
+ statebook);
+#endif
look->postbits+=ret;
resbits[partword[j][i]]+=ret;
}
}
- /*{
- long total=0;
- long totalbits=0;
- fprintf(stderr,"%d :: ",vb->mode);
- for(k=0;k<possible_partitions;k++){
- fprintf(stderr,"%ld/%1.2g, ",resvals[k],(float)resbits[k]/resvals[k]);
- total+=resvals[k];
- totalbits+=resbits[k];
- }
-
- fprintf(stderr,":: %ld:%1.2g\n",total,(double)totalbits/total);
- }*/
-
return(0);
}
int res1_forward(oggpack_buffer *opb,vorbis_block *vb,vorbis_look_residue *vl,
int **in,int *nonzero,int ch, long **partword, int submap){
int i,used=0;
+ (void)vb;
for(i=0;i<ch;i++)
if(nonzero[i])
in[used++]=in[i];
if(used){
- return _01forward(opb,vb,vl,in,used,partword,_encodepart,submap);
+#ifdef TRAIN_RES
+ return _01forward(opb,vl,in,used,partword,_encodepart,submap);
+#else
+ (void)submap;
+ return _01forward(opb,vl,in,used,partword,_encodepart);
+#endif
}else{
return(0);
}
}
if(used){
- return _01forward(opb,vb,vl,&work,1,partword,_encodepart,submap);
+#ifdef TRAIN_RES
+ return _01forward(opb,vl,&work,1,partword,_encodepart,submap);
+#else
+ (void)submap;
+ return _01forward(opb,vl,&work,1,partword,_encodepart);
+#endif
}else{
return(0);
}