[xiph-cvs] cvs commit: vorbis/vq 44c0.vqs 44c4.vqs

Monty xiphmont at xiph.org
Sun Jun 23 17:06:07 PDT 2002



xiphmont    02/06/23 17:06:07

  Modified:    lib      Tag: branch_monty_20020507 masking.h psy.c psy.h
                        res0.c vorbisenc.c
               lib/modes Tag: branch_monty_20020507 floor_44.h psych_44.h
                        residue_44.h
               vq       Tag: branch_monty_20020507 44c0.vqs 44c4.vqs
  Log:
  More tweaks to make mode setup simpler.  Also, cardoidal poinst stereo
  rotation allos us to use point stereo at low frequencies; add that
  tuning feature.
  
  Monty

Revision  Changes    Path
No                   revision

<p>No                   revision

<p>1.21.6.4  +2 -2      vorbis/lib/masking.h

Index: masking.h
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/masking.h,v
retrieving revision 1.21.6.3
retrieving revision 1.21.6.4
diff -u -r1.21.6.3 -r1.21.6.4
--- masking.h	2002/06/20 03:55:27	1.21.6.3
+++ masking.h	2002/06/24 00:06:01	1.21.6.4
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: masking curve data for psychoacoustics
- last mod: $Id: masking.h,v 1.21.6.3 2002/06/20 03:55:27 xiphmont Exp $
+ last mod: $Id: masking.h,v 1.21.6.4 2002/06/24 00:06:01 xiphmont Exp $
 
  ********************************************************************/
 
@@ -47,7 +47,7 @@
 /* (Vorbis 0dB, the loudest possible tone, is assumed to be ~100dB SPL
    for collection of these curves) */
 
-static float tonemasks[17][6][EHMER_MAX]={
+static float tonemasks[P_BANDS][6][EHMER_MAX]={
   /* 62.5 Hz */
   {{ -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60, 
      -60,  -60,  -60,  -60,  -62,  -62,  -65,  -73, 

<p><p>1.67.2.8  +10 -38    vorbis/lib/psy.c

Index: psy.c
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/psy.c,v
retrieving revision 1.67.2.7
retrieving revision 1.67.2.8
diff -u -r1.67.2.7 -r1.67.2.8
--- psy.c	2002/06/20 03:55:27	1.67.2.7
+++ psy.c	2002/06/24 00:06:01	1.67.2.8
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: psychoacoustics not including preecho
- last mod: $Id: psy.c,v 1.67.2.7 2002/06/20 03:55:27 xiphmont Exp $
+ last mod: $Id: psy.c,v 1.67.2.8 2002/06/24 00:06:01 xiphmont Exp $
 
  ********************************************************************/
 
@@ -30,7 +30,7 @@
 #include "misc.h"
 
 #define NEGINF -9999.f
-static double stereo_threshholds[]={0.0, 2.5, 4.5, 8.5, 16.5, 9e10};
+static double stereo_threshholds[]={0.0, 1.5, 2.5, 4.5, 8.5, 16.5, 9e10};
 
 vorbis_look_psy_global *_vp_global_look(vorbis_info *vi){
   codec_setup_info *ci=vi->codec_setup;
@@ -82,11 +82,6 @@
     c[i]+=att;
 }
 
-extern int analysis_noisy;
-
-#include <stdio.h>
-extern void _analysis_output_always(char *base,int i,float *v,int n,int bark,int dB,ogg_int64_t off);
-
 static float ***setup_tone_curves(float curveatt_dB[P_BANDS],float binHz,int n,
                                   float center_boost, float center_decay_rate){
   int i,j,k,m;
@@ -125,27 +120,16 @@
     memcpy(workc[i][0],tonemasks[i][0],EHMER_MAX*sizeof(*tonemasks[i][0]));
     memcpy(workc[i][1],tonemasks[i][0],EHMER_MAX*sizeof(*tonemasks[i][0]));
     
-    for(j=0;j<P_LEVELS;j++){
-      char buf[80];
-      sprintf(buf,"m%d",i);
-      _analysis_output_always(buf,j,workc[i][j],EHMER_MAX,0,0,0);
-    }
-
     /* apply centered curve boost/decay */
     for(j=0;j<P_LEVELS;j++){
       for(k=0;k<EHMER_MAX;k++){
-	float adj=center_boost-abs(EHMER_OFFSET-k)*center_decay_rate;
-	if(adj<0.)adj=0.;
+	float adj=center_boost+abs(EHMER_OFFSET-k)*center_decay_rate;
+	if(adj<0. && center_boost>0)adj=0.;
+	if(adj>0. && center_boost<0)adj=0.;
         workc[i][j][k]+=adj;
       }
     }
 
-    for(j=0;j<P_LEVELS;j++){
-      char buf[80];
-      sprintf(buf,"boost%d",i);
-      _analysis_output_always(buf,j,workc[i][j],EHMER_MAX,0,0,0);
-    }
-
     /* normalize curves so the driving amplitude is 0dB */
     /* make temp curves with the ATH overlayed */
     for(j=0;j<P_LEVELS;j++){
@@ -169,13 +153,6 @@
       min_curve(athc[j],athc[j-1]);
       min_curve(workc[i][j],athc[j]);
     }
-
-    for(j=0;j<P_LEVELS;j++){
-      char buf[80];
-      sprintf(buf,"limited%d",i);
-      _analysis_output_always(buf,j,workc[i][j],EHMER_MAX,0,0,0);
-    }
-
   }
 
   for(i=0;i<P_BANDS;i++){
@@ -195,9 +172,7 @@
     bin=floor(fromOC(i*.5)/binHz);
     lo_curve=  ceil(toOC(bin*binHz+1)*2);
     hi_curve=  floor(toOC((bin+1)*binHz)*2);
-
-    fprintf(stderr,"i=%d(%d) lo=%d hi=%d\n",i,bin,lo_curve,hi_curve);
-
+    if(lo_curve>i)lo_curve=i;
     if(lo_curve<0)lo_curve=0;
     if(hi_curve>=P_BANDS)hi_curve=P_BANDS-1;
 
@@ -257,12 +232,6 @@
       ret[i][m][1]=j;
 
     }
-
-    for(j=0;j<P_LEVELS;j++){
-      char buf[80];
-      sprintf(buf,"fc%d",i);
-      _analysis_output_always(buf,j,ret[i][j]+2,EHMER_MAX,0,0,0);
-    }    
   }
 
   return(ret);
@@ -424,6 +393,7 @@
       oc=oc>>p->shiftoc;
       if(oc>=P_BANDS)oc=P_BANDS-1;
       if(oc<0)oc=0;
+
       seed_curve(seed,
                  curves[oc],
                  max,
@@ -1036,7 +1006,8 @@
       int *floorM=ifloor[vi->coupling_mag[i]];
       int *floorA=ifloor[vi->coupling_ang[i]];
       int limit=g->coupling_pointlimit[p->vi->blockflag][blobno];
-      float point=stereo_threshholds[g->coupling_pointamp[blobno]];
+      float prepoint=stereo_threshholds[g->coupling_prepointamp[blobno]];
+      float postpoint=stereo_threshholds[g->coupling_postpointamp[blobno]];
       int partition=(p->vi->normal_point_p?p->vi->normal_partition:p->n);
 
       nonzero[vi->coupling_mag[i]]=1; 
@@ -1047,7 +1018,8 @@
 
         for(k=0;k<partition;k++){
           int l=k+j;
-	  if(l>=limit && fabs(rM[l])<point && fabs(rA[l])<point){
+	  if((l>=limit && fabs(rM[l])<postpoint && fabs(rA[l])<postpoint) ||
+	     (fabs(rM[l])<prepoint && fabs(rA[l])<prepoint)){
             precomputed_couple_point(mag_memo[i][l],
                                      floorM[l],floorA[l],
                                      qM+l,qA+l);

<p><p>1.28.2.6  +4 -2      vorbis/lib/psy.h

Index: psy.h
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/psy.h,v
retrieving revision 1.28.2.5
retrieving revision 1.28.2.6
diff -u -r1.28.2.5 -r1.28.2.6
--- psy.h	2002/06/20 03:55:28	1.28.2.5
+++ psy.h	2002/06/24 00:06:02	1.28.2.6
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: random psychoacoustics (not including preecho)
- last mod: $Id: psy.h,v 1.28.2.5 2002/06/20 03:55:28 xiphmont Exp $
+ last mod: $Id: psy.h,v 1.28.2.6 2002/06/24 00:06:02 xiphmont Exp $
 
  ********************************************************************/
 
@@ -76,8 +76,10 @@
   float ampmax_att_per_sec;
 
   /* channel coupling config */
+  int   coupling_pkHz[PACKETBLOBS];  
   int   coupling_pointlimit[2][PACKETBLOBS];  
-  int   coupling_pointamp[PACKETBLOBS];  
+  int   coupling_prepointamp[PACKETBLOBS];  
+  int   coupling_postpointamp[PACKETBLOBS];  
 
 } vorbis_info_psy_global;
 

<p><p>1.45.4.5  +13 -7     vorbis/lib/res0.c

Index: res0.c
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/res0.c,v
retrieving revision 1.45.4.4
retrieving revision 1.45.4.5
diff -u -r1.45.4.4 -r1.45.4.5
--- res0.c	2002/05/31 00:16:11	1.45.4.4
+++ res0.c	2002/06/24 00:06:02	1.45.4.5
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: residue backend 0, 1 and 2 implementation
- last mod: $Id: res0.c,v 1.45.4.4 2002/05/31 00:16:11 xiphmont Exp $
+ last mod: $Id: res0.c,v 1.45.4.5 2002/06/24 00:06:02 xiphmont Exp $
 
  ********************************************************************/
 
@@ -52,6 +52,7 @@
   long      frames;
 
 #ifdef TRAIN_RES
+  int        train_seq;
   long      *training_data[8][64];
   float      training_max[8][64];
   float      training_min[8][64];
@@ -87,7 +88,7 @@
             codebook *statebook=look->partbooks[j][k];
             
             /* long and short into the same bucket by current convention */
-	    sprintf(buffer,"res_part%d_pass%d.vqd",j,k);
+	    sprintf(buffer,"res%d_part_pass%d.vqd",j,k);
             of=fopen(buffer,"a");
 
             for(l=0;l<statebook->entries;l++)
@@ -274,7 +275,12 @@
       look->decodemap[j][k]=deco;
     }
   }
-
+#ifdef TRAIN_RES
+  {
+    static int train_seq=0;
+    look->train_seq=train_seq++;
+  }
+#endif
   return(look);
 }
 
@@ -371,7 +377,7 @@
   
   int partvals=n/samples_per_partition;
   long **partword=_vorbis_block_alloc(vb,ch*sizeof(*partword));
-  float scale=1./ci->blocksizes[vb->W];
+  float scale=vi->rate/ci->blocksizes[vb->W]*.001;
   /* we find the partition type for each partition of each
      channel.  We'll go back and do the interleaved encoding in a
      bit.  For now, clarity */
@@ -383,7 +389,7 @@
   
   for(i=0;i<partvals;i++){
     int offset=i*samples_per_partition+info->begin;
-    float cur=offset/scale*vi->rate;
+    float cur=offset*scale;
     for(j=0;j<ch;j++){
       float max=0.;
       for(k=0;k<samples_per_partition;k++)
@@ -404,7 +410,7 @@
     char buffer[80];
   
     for(i=0;i<ch;i++){
-      sprintf(buffer,"resaux_%d.vqd",vb->mode);
+      sprintf(buffer,"resaux_%d.vqd",look->train_seq);
       of=fopen(buffer,"a");
       for(j=0;j<partvals;j++)
         fprintf(of,"%ld, ",partword[i][j]);
@@ -463,7 +469,7 @@
   }  
   
 #ifdef TRAIN_RES
-  sprintf(buffer,"resaux_%d.vqd",vb->mode);
+  sprintf(buffer,"resaux_%d.vqd",look->train_seq);
   of=fopen(buffer,"a");
   for(i=0;i<partvals;i++)
     fprintf(of,"%ld, ",partword[0][i]);

<p><p>1.39.2.7  +107 -110  vorbis/lib/vorbisenc.c

Index: vorbisenc.c
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/vorbisenc.c,v
retrieving revision 1.39.2.6
retrieving revision 1.39.2.7
diff -u -r1.39.2.6 -r1.39.2.7
--- vorbisenc.c	2002/06/20 03:55:28	1.39.2.6
+++ vorbisenc.c	2002/06/24 00:06:02	1.39.2.7
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: simple programmatic interface for encoder mode setup
- last mod: $Id: vorbisenc.c,v 1.39.2.6 2002/06/20 03:55:28 xiphmont Exp $
+ last mod: $Id: vorbisenc.c,v 1.39.2.7 2002/06/24 00:06:02 xiphmont Exp $
 
  ********************************************************************/
 
@@ -29,16 +29,26 @@
 
 /* careful with this; it's using static array sizing to make managing
    all the modes a little less annoying.  If we use a residue backend
-   with > 10 partition types, or a different division of iteration,
+   with > 12 partition types, or a different division of iteration,
    this needs to be updated. */
+typedef struct {
+  static_codebook *books[12][3];
+} static_bookblock;
 
 typedef struct {
-  vorbis_info_residue0 *res[2];
-  static_codebook *book_aux[2];
-  static_codebook *book_aux_managed[2];
-  static_codebook *books_base[10][3];
+  int res_type;
+  int limit_type; /* 0 lowpass limited, 1 point stereo limited */
+  vorbis_info_residue0 *res;
+  static_codebook  *book_aux;
+  static_codebook  *book_aux_managed;
+  static_bookblock *books_base;
 } vorbis_residue_template;
 
+typedef struct {
+  vorbis_info_mapping0    *map;
+  vorbis_residue_template *res;
+} vorbis_mapping_template;
+
 typedef struct vp_adjblock{
   int block[P_BANDS];
 } vp_adjblock;
@@ -60,7 +70,13 @@
   float decay;
 } att3;
 typedef struct { int data[P_NOISECURVES]; } adj3; 
-typedef struct { int data[PACKETBLOBS]; } adjB; 
+
+typedef struct {
+  int   pre[PACKETBLOBS];
+  int   post[PACKETBLOBS];
+  float kHz[PACKETBLOBS];
+} adj_stereo;
+
 typedef struct {
   int lo;
   int hi;
@@ -110,18 +126,15 @@
   double   *psy_lowpass;
 
   vorbis_info_psy_global *global_params;
-  double *global_mapping;
-  adjB   *stereo_modes;
-  adjB   *stereo_pkHz;
-
+  double     *global_mapping;
+  adj_stereo *stereo_modes;
 
   static_codebook ***floor_books;
   vorbis_info_floor1 *floor_params;
   int *floor_short_mapping;
   int *floor_long_mapping;
 
-  vorbis_residue_template *residue;
-  int res_type;
+  vorbis_mapping_template *maps;
 } ve_setup_data_template;
 
 #include "modes/setup_44.h"
@@ -136,17 +149,10 @@
 
 /* a few static coder conventions */
 static vorbis_info_mode _mode_template[2]={
-  {0,0,0,-1},
-  {1,0,0,-1}
+  {0,0,0,0},
+  {1,0,0,1}
 };
 
-/* mapping conventions:
-   only one submap (this would change for efficient 5.1 support for example)*/
-/* Four psychoacoustic profiles are used, one for each blocktype */
-static vorbis_info_mapping0 _mapping_template[2]={
-  {1, {0,0}, {0}, {-1}, 0,{0},{0}},
-  {1, {0,0}, {1}, {-1}, 0,{0},{0}}
-};
 
 static int vorbis_encode_toplevel_setup(vorbis_info *vi,int ch,long rate){
   if(vi && vi->codec_setup){
@@ -229,33 +235,32 @@
 
 static int vorbis_encode_global_stereo(vorbis_info *vi,
                                        highlevel_encode_setup *hi,
-				       adjB *pdB,
-				       adjB *pkHz){
+				       adj_stereo *p){
   float s=hi->stereo_point_setting;
   int i,is=s;
   double ds=s-is;
   codec_setup_info *ci=vi->codec_setup;
   vorbis_info_psy_global *g=&ci->psy_g_param;
 
+  memcpy(g->coupling_prepointamp,p[is].pre,sizeof(*p[is].pre));
+  memcpy(g->coupling_postpointamp,p[is].post,sizeof(*p[is].post));
+
   if(hi->managed){
-    memcpy(g->coupling_pointamp,pdB[is].data,sizeof(*pdB));
     /* interpolate the kHz threshholds */
     for(i=0;i<PACKETBLOBS;i++){
-      float kHz=pkHz[is*2].data[i]*(1.-ds)+pkHz[is*2+2].data[i]*ds;
+      float kHz=p[is].kHz[i]*(1.-ds)+p[is+1].kHz[i]*ds;
       g->coupling_pointlimit[0][i]=kHz*1000./vi->rate*ci->blocksizes[0];
-      kHz=pkHz[is*2+1].data[i]*(1.-ds)+pkHz[is*2+3].data[i]*ds;
       g->coupling_pointlimit[1][i]=kHz*1000./vi->rate*ci->blocksizes[1];
+      g->coupling_pkHz[i]=kHz;
     }
   }else{
-    int point_dB=pdB[is].data[PACKETBLOBS/2];
-    float kHz=pkHz[is*2].data[PACKETBLOBS/2]*(1.-ds)+pkHz[is*2+2].data[PACKETBLOBS/2]*ds;
-    for(i=0;i<PACKETBLOBS;i++)
-      g->coupling_pointamp[i]=point_dB;
-    for(i=0;i<PACKETBLOBS;i++)
+    float kHz=p[is].kHz[PACKETBLOBS/2]*(1.-ds)+p[is+1].kHz[PACKETBLOBS/2]*ds;
+    for(i=0;i<PACKETBLOBS;i++){
+
       g->coupling_pointlimit[0][i]=kHz*1000./vi->rate*ci->blocksizes[0];
-    kHz=pkHz[is*2+1].data[PACKETBLOBS/2]*(1.-ds)+pkHz[is*2+3].data[PACKETBLOBS/2]*ds;
-    for(i=0;i<PACKETBLOBS;i++)
       g->coupling_pointlimit[1][i]=kHz*1000./vi->rate*ci->blocksizes[1];
+      g->coupling_pkHz[i]=kHz;
+    }
   }
 
   return(0);
@@ -402,34 +407,17 @@
 
 }
 
-static int vorbis_encode_residue_setup(vorbis_info *vi,double s,int block,
-				       int type,
-				       vorbis_residue_template *in){
+static void vorbis_encode_residue_setup(vorbis_info *vi,
+				       int number, int block,
+				       vorbis_residue_template *res){
 
   codec_setup_info *ci=vi->codec_setup;
-  int i,is=s;
-  int n,k;
-  int number=block;
-
+  int i,n,k;
+  
   vorbis_info_residue0 *r=ci->residue_param[number]=
     _ogg_malloc(sizeof(*r));
-  vorbis_info_mapping0 *map=ci->map_param[number]=
-    _ogg_calloc(1,sizeof(*map));
-  vorbis_info_mode *mode=ci->mode_param[number]=
-    _ogg_calloc(1,sizeof(*mode));
-  
-  memcpy(ci->mode_param[number],&_mode_template[block],
-	 sizeof(*_mode_template));
-  if(number>=ci->modes)ci->modes=number+1;
-  ci->mode_param[number]->mapping=number;
-  ci->mode_param[number]->blockflag=block;
-  
-  ci->map_type[number]=0;
-  memcpy(ci->map_param[number],&_mapping_template[block],sizeof(*map));
-  if(number>=ci->maps)ci->maps=number+1;
-  ((vorbis_info_mapping0 *)(ci->map_param[number]))->residuesubmap[0]=number;
-
-  memcpy(r,in[is].res[block],sizeof(*r));
+  
+  memcpy(r,res->res,sizeof(*r));
   if(ci->residues<=number)ci->residues=number+1;
 
   switch(ci->blocksizes[block]){
@@ -440,69 +428,64 @@
     r->grouping=32;
     break;
   }
-  ci->residue_type[number]=type;
+  ci->residue_type[number]=res->res_type;
 
-  switch(ci->residue_type[number]){
-  case 1:
-    n=r->end=ci->blocksizes[block]>>1; /* to be adjusted by lowpass later */
-    break;
-  case 2:
-    n=r->end=(ci->blocksizes[block]>>1)*vi->channels; /* to be adjusted by lowpass later */
-    break;
-  }
+  /* to be adjusted by lowpass/pointlimit later */
+  n=r->end=ci->blocksizes[block]>>1; 
+  if(res->res_type==2)
+    n=r->end*=vi->channels;
   
   for(i=0;i<r->partitions;i++)
     for(k=0;k<3;k++)
-      if(in[is].books_base[i][k])
+      if(res->books_base->books[i][k])
         r->secondstages[i]|=(1<<k);
   
-  if(type==2){ /* that is to say, if we're coupling, which will always mean
-		  res type 2 in this encoder for now */
-    vorbis_info_mapping0 *map=ci->map_param[number];
-    
-    map->coupling_steps=1;
-    map->coupling_mag[0]=0;
-    map->coupling_ang[0]=1;
-    
-  }
-
   /* fill in all the books */
   {
     int booklist=0,k;
 
     if(ci->hi.managed){
-      r->groupbook=book_dup_or_new(ci,in[is].book_aux_managed[block]);
-      ci->book_param[r->groupbook]=in[is].book_aux_managed[block];      
+      r->groupbook=book_dup_or_new(ci,res->book_aux_managed);
+      ci->book_param[r->groupbook]=res->book_aux_managed;      
     }else{
-      r->groupbook=book_dup_or_new(ci,in[is].book_aux[block]);
-      ci->book_param[r->groupbook]=in[is].book_aux[block];
+      r->groupbook=book_dup_or_new(ci,res->book_aux);
+      ci->book_param[r->groupbook]=res->book_aux;
     }
 
     for(i=0;i<r->partitions;i++){
       for(k=0;k<3;k++){
-	if(in[is].books_base[i][k]){
-	  int bookid=book_dup_or_new(ci,in[is].books_base[i][k]);
+	if(res->books_base->books[i][k]){
+	  int bookid=book_dup_or_new(ci,res->books_base->books[i][k]);
           r->booklist[booklist++]=bookid;
-	  ci->book_param[bookid]=in[is].books_base[i][k];
+	  ci->book_param[bookid]=res->books_base->books[i][k];
         }
       }
     }
   }
   
-  /* lowpass setup */
+  /* lowpass setup/pointlimit */
   {
-    double freq=ci->hi.lowpass_kHz[block]*1000.;
-    vorbis_info_floor1 *f=ci->floor_param[block];
+    double freq=ci->hi.lowpass_kHz*1000.;
+    vorbis_info_floor1 *f=ci->floor_param[block]; /* by convention */
     double nyq=vi->rate/2.;
     long blocksize=ci->blocksizes[block]>>1;
-    
-    if(freq>vi->rate/2)freq=vi->rate/2;
-    /* lowpass needs to be set in the floor and the residue. */
-    
+
+    /* lowpass needs to be set in the floor and the residue. */    
+    if(freq>nyq)freq=nyq;
     /* in the floor, the granularity can be very fine; it doesn't alter
        the encoding structure, only the samples used to fit the floor
        approximation */
     f->n=freq/nyq*blocksize; 
+
+    /* this res may by limited by the maximum pointlimit of the mode,
+       not the lowpass. the floor is always lowpass limited. */
+    if(res->limit_type){
+      if(ci->hi.managed)
+	freq=ci->psy_g_param.coupling_pkHz[PACKETBLOBS-1]*1000.;
+      else
+	freq=ci->psy_g_param.coupling_pkHz[PACKETBLOBS/2]*1000.;
+      if(freq>nyq)freq=nyq;
+    }
     
     /* in the residue, we're constrained, physically, by partition
        boundaries.  We still lowpass 'wherever', but we have to round up
@@ -515,10 +498,36 @@
       r->end=(int)((freq/nyq*blocksize)/r->grouping+.9)* /* round up only if we're well past */
         r->grouping;
   }
-   
-  return(0);
 }      
 
+/* we assume two maps in this encoder */
+static void vorbis_encode_map_n_res_setup(vorbis_info *vi,double s,
+					  vorbis_mapping_template *maps){
+
+  codec_setup_info *ci=vi->codec_setup;
+  int i,j,is=s;
+  vorbis_info_mapping0 *map=maps[is].map;
+  vorbis_info_mode *mode=_mode_template;
+  vorbis_residue_template *res=maps[is].res;
+
+  for(i=0;i<2;i++){
+
+    ci->map_param[i]=_ogg_calloc(1,sizeof(*map));
+    ci->mode_param[i]=_ogg_calloc(1,sizeof(*mode));
+  
+    memcpy(ci->mode_param[i],mode+i,sizeof(*_mode_template));
+    if(i>=ci->modes)ci->modes=i+1;
+
+    ci->map_type[i]=0;
+    memcpy(ci->map_param[i],map+i,sizeof(*map));
+    if(i>=ci->maps)ci->maps=i+1;
+    
+    for(j=0;j<map[i].submaps;j++)
+      vorbis_encode_residue_setup(vi,map[i].residuesubmap[j],i
+				  ,res+map[i].residuesubmap[j]);
+  }
+}
+
 static double setting_to_approx_bitrate(vorbis_info *vi){
   codec_setup_info *ci=vi->codec_setup;
   highlevel_encode_setup *hi=&ci->hi;
@@ -625,14 +634,11 @@
                                  setup->floor_params,
                                  setup->floor_long_mapping);
   
-  /* setup of [mostly] short block detection */
+  /* setup of [mostly] short block detection and stereo*/
   ret|=vorbis_encode_global_psych_setup(vi,hi->trigger_setting,
                                         setup->global_params,
                                         setup->global_mapping);
-  
-  ret|=vorbis_encode_global_stereo(vi,hi,
-				   setup->stereo_modes,
-				   setup->stereo_pkHz);
+  ret|=vorbis_encode_global_stereo(vi,hi,setup->stereo_modes);
 
   /* basic psych setup and noise normalization */
   ret|=vorbis_encode_psyset_setup(vi,hi->short_setting,
@@ -726,15 +732,7 @@
     return ret; 
   }
 
-  ret|=vorbis_encode_residue_setup(vi,hi->short_setting,0,
-				   setup->res_type,
-				   setup->residue);  
-  ret|=vorbis_encode_residue_setup(vi,hi->long_setting,1,
-				   setup->res_type,
-				   setup->residue);
-    
-  if(ret)
-    vorbis_info_clear(vi);
+  vorbis_encode_map_n_res_setup(vi,hi->base_setting,setup->maps);
 
   /* set bitrate readonlies and management */
   vi->bitrate_nominal=setting_to_approx_bitrate(vi);
@@ -782,8 +780,7 @@
   hi->noise_normalize_p=1;
 
   hi->stereo_point_setting=hi->base_setting;
-  hi->lowpass_kHz[0]=
-    hi->lowpass_kHz[1]=
+  hi->lowpass_kHz=
     setup->psy_lowpass[is]*(1.-ds)+setup->psy_lowpass[is+1]*ds;  
   
   hi->ath_floating_dB=setup->psy_ath_float[is]*(1.-ds)+

<p><p>No                   revision

<p>No                   revision

<p>1.2.8.2   +15 -3     vorbis/lib/modes/floor_44.h

Index: floor_44.h
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/modes/floor_44.h,v
retrieving revision 1.2.8.1
retrieving revision 1.2.8.2
diff -u -r1.2.8.1 -r1.2.8.2
--- floor_44.h	2002/06/11 04:44:49	1.2.8.1
+++ floor_44.h	2002/06/24 00:06:04	1.2.8.2
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: key floor settings for 44.1/48kHz
- last mod: $Id: floor_44.h,v 1.2.8.1 2002/06/11 04:44:49 xiphmont Exp $
+ last mod: $Id: floor_44.h,v 1.2.8.2 2002/06/24 00:06:04 xiphmont Exp $
 
  ********************************************************************/
 
@@ -122,14 +122,15 @@
     &_huff_book_line_1024x31_3sub3,
 };
 
-static static_codebook **_floor_44_books[4]={
+static static_codebook **_floor_44_books[5]={
   _floor_44_128x7_books,
   _floor_44_128x9_books,
   _floor_44_128x19_books,
+  _floor_44_1024x31_books,
   _floor_44_1024x31_books
 };
 
-static vorbis_info_floor1 _floor_44[4]={
+static vorbis_info_floor1 _floor_44[5]={
   {
     3,{0,1,2},{1,3,3},{0,2,2},{-1,0,1},
     {{2},{-1,3,4,5},{-1,6,7,8}},
@@ -169,6 +170,17 @@
     {{4,5},{6,7},{-1,8,9,10},{-1,11,12,13}},
     2,{0,1024, 88,31,243, 14,54,143,460, 6,3,10, 22,18,26, 41,36,47, 
        69,61,78, 112,99,126, 185,162,211, 329,282,387, 672,553,825},
+  
+    60,30,400,
+    20,8,1,18.,
+    20,600,
+    -1 /* lowpass */
+  },
+  {
+    10,{0,1,2,2,2,2,2, 3,3,3},{3,4,3,3},{1,1,2,2},{0,1,2,3},
+    {{4,5},{6,7},{-1,8,9,10},{-1,11,12,13}},
+    2,{0,2048, 176,62,486, 28,108,286,920, 12,6,20, 44,36,52, 82,72,94, 
+       138,122,156, 224,198,252, 370,324,422, 658,564,774, 1344,1106,1650},
   
     60,30,400,
     20,8,1,18.,

<p><p>1.15.2.7  +96 -106   vorbis/lib/modes/psych_44.h

Index: psych_44.h
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/modes/psych_44.h,v
retrieving revision 1.15.2.6
retrieving revision 1.15.2.7
diff -u -r1.15.2.6 -r1.15.2.7
--- psych_44.h	2002/06/20 03:55:31	1.15.2.6
+++ psych_44.h	2002/06/24 00:06:04	1.15.2.7
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: key psychoacoustic settings for 44.1/48kHz
- last mod: $Id: psych_44.h,v 1.15.2.6 2002/06/20 03:55:31 xiphmont Exp $
+ last mod: $Id: psych_44.h,v 1.15.2.7 2002/06/24 00:06:04 xiphmont Exp $
 
  ********************************************************************/
 
@@ -24,31 +24,31 @@
    {20.f,14.f,12.f,12.f,12.f,12.f,12.f}, 
    {-60.f,-30.f,-40.f,-40.f,-40.f,-40.f,-40.f}, 2,-75.f,
    -6.f,
-   {{99.,99.,99.},{99.,99.,99.}},{99.,99.,99.}
+   {99.},{{99.},{99.}},{99.}
   },
   {8,   /* lines per eighth octave */
    {14.f,10.f,10.f,10.f,10.f,10.f,10.f}, 
    {-40.f,-30.f,-25.f,-25.f,-25.f,-25.f,-25.f}, 2,-80.f,
    -6.f,
-   {{99.,99.,99.},{99.,99.,99.}},{99.,99.,99.}
+   {99.},{{99.},{99.}},{99.}
   },
   {8,   /* lines per eighth octave */
    {12.f,10.f,10.f,10.f,10.f,10.f,10.f}, 
    {-20.f,-20.f,-15.f,-15.f,-15.f,-15.f,-15.f}, 0,-80.f,
    -6.f,
-   {{99.,99.,99.},{99.,99.,99.}},{99.,99.,99.}
+   {99.},{{99.},{99.}},{99.}
   },
   {8,   /* lines per eighth octave */
    {10.f,8.f,8.f,8.f,8.f,8.f,8.f}, 
    {-20.f,-15.f,-12.f,-12.f,-12.f,-12.f,-12.f}, 0,-80.f,
    -6.f,
-   {{99.,99.,99.},{99.,99.,99.}},{99.,99.,99.}
+   {99.},{{99.},{99.}},{99.}
   },
   {8,   /* lines per eighth octave */
    {10.f,6.f,6.f,6.f,6.f,6.f,6.f}, 
    {-15.f,-15.f,-12.f,-12.f,-12.f,-12.f,-12.f}, 0,-85.f,
    -6.f,
-   {{99.,99.,99.},{99.,99.,99.}},{99.,99.,99.}
+   {99.},{{99.},{99.}},{99.}
   },
 };
 
@@ -107,42 +107,41 @@
 /* tonal masking curve level adjustments *************************/
 static vp_adjblock _vp_tonemask_adj_longblock[11]={
   /* adjust for mode zero */
-  /* 63   125   250   500     1     2     4     8    16 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 0 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 1 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 3 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 4 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 5 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 6 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 7 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 8 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 9 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 10 */
+  /* 63     125     250     500     1     2     4     8    16 */
+  {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 0 */
+  {{  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 1 */
+  {{  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
+  {{  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 3 */
+  {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 4 */
+  {{  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 5 */
+  {{  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 6 */
+  {{  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 7 */
+  {{  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 8 */
+  {{  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 9 */
+  {{  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 10 */
 };
-
 static vp_adjblock _vp_tonemask_adj_otherblock[11]={
   /* adjust for mode zero */
-  /* 63   125   250   500     1     2     4     8    16 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 0 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 1 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 3 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 4 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 5 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 6 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 7 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 8 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 9 */
-  {{  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 10 */
+  /* 63     125     250     500       1     2     4     8    16 */
+  {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 0 */
+  {{  0,  0,  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 1 */
+  {{  0,  0,  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
+  {{  0,  0,  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 3 */
+  {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 4 */
+  {{  0,  0,  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 5 */
+  {{  0,  0,  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 6 */
+  {{  0,  0,  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 7 */
+  {{  0,  0,  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 8 */
+  {{  0,  0,  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 9 */
+  {{  0,  0,  0,  0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 10 */
 };
 
 static noise3 _psy_noisebias_long[11]={
   /*63     125     250     500      1k       2k      4k      8k     16k*/
   /* 0 */
-  {{{-20,-20,-18,-18,-18,-16,-14, -8, -6, -2,  0,  2,  3,  3,  4,  4, 10},
+  {{{-10,-10,-10,-10,-10,-10, -8, -8,  0,  2,  4,  4,  5,  8,  8,  10, 10},
     {-20,-20,-18,-18,-18,-16,-14, -8, -6, -2,  0,  2,  3,  3,  4,  4, 10},
-    {-20,-20,-18,-18,-18,-16,-14, -8, -6, -2,  0,  2,  3,  3,  4,  4, 10}}},
+    {-20,-20,-20,-20,-20,-20,-20,-10, -6, -3, -4, -4, -2, -1,  0,  0,  2}}},
   /* 1 */
   {{{-20,-20,-20,-20,-20,-20,-20,-10, -6, -2, -2, -2,  1,  1,  2,  2,  4},
     {-20,-20,-20,-20,-20,-20,-20,-10, -6, -2, -2, -2,  1,  1,  2,  2,  4},
@@ -157,8 +156,8 @@
     {-20,-20,-20,-20,-20,-20,-20,-10, -6, -2, -3, -3, -1, -1,  0,  1,  2}}},
   /* 4 */
   {{
+    {-20,-20,-18,-18,-18,-16,-14, -8, -6, -2,  0,  2,  3,  3,  4,  4, 10},
     {-20,-20,-18,-18,-18,-16,-14, -8, -6, -2,  0,  2,  3,  3,  4,  4, 10},
-    {-20,-20,-18,-18,-18,-16,-14, -8, -6, 0,  4,  5,  6,  8,  8,  8, 10},
     //{-20,-20,-20,-20,-20,-20,-20,-10, -6, -3, -4, -4, -2, -1,  0,  0,  2},
     {-30,-30,-30,-30,-30,-30,-30,-30,-26,-20,-20,-20,-20,-20,-16,-14,-10}}},
   /* 5 */
@@ -188,11 +187,11 @@
 };
 
 static noise3 _psy_noisebias_impulse[11]={
-  /*63     125     250     500      1k       2k      4k      8k     16k*/
+  /*  63     125     250     500      1k      2k      4k      8k     16k*/
   /* 0 */
-  {{{-20,-20,-20,-20,-20,-18,-14,-10,-10, -2,  2,  2,  2,  2,  2,  3,  6},
+  {{{-15,-15,-15,-15,-15,-12,-10, -8,  0,  2,  4,  4,  5,  6,  8,  8, 10},
     {-20,-20,-20,-20,-20,-18,-14,-10,-10, -2,  2,  2,  2,  2,  2,  3,  6},
-    {-20,-20,-20,-20,-20,-18,-14,-10,-10, -2,  2,  2,  2,  2,  2,  3,  6}}},
+    {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}},
   /* 1 */
   {{{-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -4, -4, -2, -2, -2, -2,  2},
     {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -4, -4, -2, -2, -2, -2,  2},
@@ -208,7 +207,7 @@
   /* 4 */
   {{
     {-20,-20,-20,-20,-20,-18,-14,-10,-10, -2,  2,  2,  2,  2,  2,  3,  6},
-    {-20,-20,-18,-18,-18,-16,-14, -8, -6, 0,  4,  5,  6,  8,  8,  8, 10},
+    {-20,-20,-20,-20,-20,-18,-14,-10, -6, -2,  2,  2,  3,  3,  4,  4, 10},
     //{-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2},
     {-34,-34,-34,-34,-30,-30,-30,-30,-30,-26,-26,-26,-26,-22,-20,-20,-16}}},
   /* 5 */
@@ -240,9 +239,9 @@
 static noise3 _psy_noisebias_other[11]={
   /*63     125     250     500      1k       2k      4k      8k     16k*/
   /* 0 */
-  {{{-20,-20,-20,-20,-20,-18,-14,-10, -6, -2,  2,  2,  3,  3,  4,  4, 10},
+  {{{-15,-15,-15,-15,-15,-12,-10, -8,  0,  2,  4,  4,  5,  6,  8,  8, 10},
     {-20,-20,-20,-20,-20,-18,-14,-10, -6, -2,  2,  2,  3,  3,  4,  4, 10},
-    {-20,-20,-20,-20,-20,-18,-14,-10, -6, -2,  2,  2,  3,  3,  4,  4, 10}}},
+    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -4, -4, -2, -1,  0,  0,  2}}},
   /* 1 */
   {{{-26,-26,-26,-26,-26,-22,-20,-14,-10, -2, -2, -2,  1,  1,  2,  2,  4},
     {-26,-26,-26,-26,-26,-22,-20,-14,-10, -2, -2, -2,  1,  1,  2,  2,  4},
@@ -257,9 +256,9 @@
     {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -1, -1,  0,  1,  2}}},
   /* 4 */
   {{
+    {-20,-20,-20,-20,-20,-18,-14,-10, -6, -2,  2,  2,  3,  3,  4,  4, 10},
     {-20,-20,-20,-20,-20,-18,-14,-10, -6, -2,  2,  2,  3,  3,  4,  4, 10},
-    {-20,-20,-18,-18,-18,-16,-14, -8, -6, 0,  4,  5,  6,  8,  8,  8, 10},
-    //{-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -4, -4, -2, -1,  0,  0,  2},
+    //    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -4, -4, -2, -1,  0,  0,  2},
     {-34,-34,-34,-34,-30,-30,-30,-30,-26,-20,-20,-20,-20,-20,-16,-14,-10}}},
   /* 5 */
   {{{-30,-30,-30,-30,-30,-30,-24,-20,-10, -4, -6, -6, -3, -2, -2, -2,  0},
@@ -287,13 +286,15 @@
     {-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-46}}},
 };
 
-static noiseguard _psy_noiseguards_44[2]={
+static noiseguard _psy_noiseguards_44[4]={
   {4,4,15},
+  {4,4,15},
+  {10,10,100},
   {10,10,100},
 };
 
 static int _psy_tone_suppress[11]={
-  -10,-20,-20,-20,-30,-30,-40,-40,-45,-45,-45,
+  -10,-20,-20,-20,-24,-30,-40,-40,-45,-45,-45,
 };
 
 static int _psy_tone_0dB[11]={
@@ -320,11 +321,11 @@
 /* ath ****************/
 
 static int _psy_ath_floater[11]={
-  -100,-100,-100,-100,-90,-100,-105,-105,-105,-110,-120,
+  -100,-100,-100,-100,-100,-100,-105,-105,-105,-110,-120,
 };
 
 static int _psy_ath_abs[11]={
-  -110,-110,-120,-140,-140,-140,-140,-140,-140,-140,-150,
+  -110,-110,-120,-140,-120,-140,-140,-140,-140,-140,-150,
 };
 
 /* stereo setup.  These don't map directly to quality level, there's
@@ -336,72 +337,61 @@
 /* various stereo possibilities */
 
 /* stereo mode by base quality level */
-static adjB _psy_stereo_modes_44[10]={
-  /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14*/
-  {{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}}, /* 0 */
-  /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14*/
-  {{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}}, /* 1 */
-  /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14*/
-  {{ 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}}, /* 2 */
-  /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14*/
-  {{ 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1}}, /* 3 */
-   /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14*/
-  {{ 3, 3, 3, 3, 3, 2, 1, 4, 1, 1, 1, 1, 1, 1, 1}}, /* 4 */
-  /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14*/
-  {{0}}, /* 5 */
-  /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14*/
-  {{0}}, /* 6 */
-  /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14*/
-  {{0}}, /* 7 */
-  /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14*/
-  {{0}}, /* 8 */
-  /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14*/
-  {{0}}, /* 9 */
-
-};
-
-static adjB _psy_stereo_pkHz_44[22]={
-   /*0   1   2   3   4   5   6   7   8   9  10  11  12  13  14     0 */
-  {{ 4,  4,  4,  4,  4,  4,  4,  6, 10, 10, 10, 10, 10, 10, 10}},
-  {{ 4,  5,  6,  6,  6,  6,  6,  6, 10, 10, 10, 10, 10, 10, 10}},
-  /*0   1   2   3   4   5   6   7   8   9  10  11  12  13  14     1 */
-  {{0}},
-  {{0}},
-  /*0   1   2   3   4   5   6   7   8   9  10  11  12  13  14     2 */
-  {{0}},
-  {{0}},
-  /*0   1   2   3   4   5   6   7   8   9  10  11  12  13  14     3 */
-  {{ 4,  4,  4,  6,  8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
-  {{ 4,  5,  6,  6,  8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
-  /*0   1   2   3   4   5   6   7   8   9  10  11  12  13  14     4 */
-  {{ 4,  4,  4,  6,  8, 10, 10, 4, 10, 10, 10, 10, 10, 10, 10}},
-  {{ 4,  5,  6,  6,  8, 10, 10, 4, 10, 10, 10, 10, 10, 10, 10}},
-  /*0   1   2   3   4   5   6   7   8   9  10  11  12  13  14     5 */
-  {{ 4,  4,  4,  6,  8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
-  {{ 4,  5,  6,  6,  8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
-  /*0   1   2   3   4   5   6   7   8   9  10  11  12  13  14     6 */
-  {{ 4,  4,  4,  6,  8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
-  {{ 4,  5,  6,  6,  8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
-  /*0   1   2   3   4   5   6   7   8   9  10  11  12  13  14     7 */
-  {{ 4,  4,  4,  6,  8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
-  {{ 4,  5,  6,  6,  8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
-  /*0   1   2   3   4   5   6   7   8   9  10  11  12  13  14     8 */
-  {{ 4,  4,  4,  6,  8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
-  {{ 4,  5,  6,  6,  8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
-  /*0   1   2   3   4   5   6   7   8   9  10  11  12  13  14     9 */
-  {{ 4,  4,  4,  6,  8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
-  {{ 4,  5,  6,  6,  8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
-  /*0   1   2   3   4   5   6   7   8   9  10  11  12  13  14    10 */
+static adj_stereo _psy_stereo_modes_44[11]={
+  /* 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14         0  */
+  {{ 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0},
+   { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5},
+   {3,3.5, 4, 4, 4, 4, 4, 4, 4, 5, 6, 7, 8, 9,10}},
+  /* 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14         1  */
+  {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+   { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+   { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+  /* 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14         2  */
+  {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+   { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+   { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+  /* 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14         3  */
+  {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+   { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+   { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+  /* 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14         4  */
+  {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+   { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+   { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+  /* 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14         5  */
+  {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+   { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+   { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+  /* 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14         6  */
+  {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+   { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+   { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+  /* 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14         7  */
+  {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+   { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+   { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+  /* 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14         8  */
+  {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+   { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+   { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+  /* 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14         9  */
+  {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+   { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+   { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+  {{-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
+   {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
+   { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}}
 };
 
 /* tone master attenuation by base quality mode and bitrate tweak */
 
 static att3 _psy_tone_masteratt_44[11]={
-  {{0},0,0}, /* 0 */
+  {{ 30,  20,  10}, -6, 1.25}, /* 4 */
   {{0},0,0}, /* 1 */
   {{0},0,0}, /* 2 */
   {{0},0,0}, /* 3 */
-  {{  10,  24, -10}, 10, .625}, /* 4 */
+  {{  10,  24, -10}, -6, 1.25}, /* 4 */
+  //{{0},0,0}, /* 4 */
   {{0},0,0}, /* 5 */
   {{0},0,0}, /* 6 */
   {{0},0,0}, /* 7 */
@@ -412,7 +402,7 @@
 
 /* lowpass by mode **************/
 static double _psy_lowpass_44[11]={
-  15.1,15.8,16.5,17.9,15.9,48.,999.,999.,999.,999.,999.
+  15.1,15.8,16.5,17.9,20.5,48.,999.,999.,999.,999.,999.
 };
 
 /* noise normalization **********/
@@ -430,5 +420,5 @@
   32,32,32,32,32,32,32,32,32,32
 };
 static double _noise_thresh_44[10]={
-  .0,.5,.5,.5,.2,.5,.5,.5,.5,.5,
+  .2,.3,.4,.5,.5,.5,.5,.5,.5,.5,
 };

<p><p>1.11.6.7  +86 -556   vorbis/lib/modes/residue_44.h

Index: residue_44.h
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/modes/residue_44.h,v
retrieving revision 1.11.6.6
retrieving revision 1.11.6.7
diff -u -r1.11.6.6 -r1.11.6.7
--- residue_44.h	2002/06/20 03:55:31	1.11.6.6
+++ residue_44.h	2002/06/24 00:06:05	1.11.6.7
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: toplevel residue templates for 32/44.1/48kHz
- last mod: $Id: residue_44.h,v 1.11.6.6 2002/06/20 03:55:31 xiphmont Exp $
+ last mod: $Id: residue_44.h,v 1.11.6.7 2002/06/24 00:06:05 xiphmont Exp $
 
  ********************************************************************/
 
@@ -26,134 +26,43 @@
    at 1/3 and 1/9, as well as an optional middle pass for stereo
    backfill */
 
-/*     0   1   2   4  26   1   2   4  26   +      
-           0   0   0   0         
 
-       0   1   2   3   4   5   6   7   8   9
-   1                   .               .   .
-   2                   .               .   .
-   4       .   .   .       .   .   .       .
- 
-       0   4   4   4   3   4   4   4   3   7 */
-static vorbis_info_residue0 _residue_44_low={
-  0,-1, -1, 8,-1,
-  {0},
-  {-1},
-  {  .5,  1.0,  1.5,   2.5,  4.5,  1.5,  4.5, 26.5},
-  {  .5,   .5,   .5,   .5,   .5, 999., 999., 999.},
-};
-/* 26 doesn't cascade well; use 28 instead */
-static vorbis_info_residue0 _residue_44_low_un={
-  0,-1, -1, 8,-1,
-  {0},
-  {-1},
-  {  .5,  1.5,  4.5,  1.5,  2.5,  4.5, 28.5},
-  {  99,   -1,   -1,   -1,   -1,   99,   99}
-};
-
-
 static vorbis_info_residue0 _residue_44_mid={
   0,-1, -1, 10,-1,
-  /*  0     1     2     3     4     5     6     7     8     9 */
+  /*  0     1     2     3     4     5     6     7     8  */
   {0},
   {-1},
   {  .5,  1.5,  1.5,  2.5,  2.5,  4.5,  8.5,  16.5, 32.5},
-  {  .5,   .5, 999.,  1.5,  999., 4.5,  8.5,  16.5, 32.5},
+  {  .5,   .5, 999.,   .5,  999., 4.5,  8.5,  16.5, 32.5},
 };
 
-static vorbis_info_residue0 _residue_44_mid_un={
-  0,-1, -1, 10,-1,
-  /*  0     1     2     3     4     5     6     7     8     9 */
-  {0},
-  {-1},
-  {  .5,  1.5,  1.5,  2.5,  2.5,  4.5,  4.5, 16.5, 42.5},
-  {  .5,   .5, 999.,   .5, 999.,   .5, 999., 999., 999,},
-};
+static vorbis_info_residue0 _residue_44_lo={
+  0,-1, -1, 12,-1,
+  /*  0     1     2     3     4     5     6     7     8     9     10 */
+  {0},
+  {-1},
+  {  .5,  1.5,  1.5,  2.5,  2.5,  4.5,  4.5,  8.5,  8.5,  16.5, 32.5},
+  {  .5,   .5, 999.,   .5,  999.,  .5,  4.5,   .5,  8.5,  16.5, 32.5},
+};
+
+#include "books/coupled/_44c0_s_short.vqh"
+#include "books/coupled/_44c0_s_long.vqh"
+
+#include "books/coupled/_44c0_s_p1_0.vqh"
+#include "books/coupled/_44c0_s_p2_0.vqh"
+#include "books/coupled/_44c0_s_p3_0.vqh"
+#include "books/coupled/_44c0_s_p4_0.vqh"
+#include "books/coupled/_44c0_s_p5_0.vqh"
+#include "books/coupled/_44c0_s_p6_0.vqh"
+#include "books/coupled/_44c0_s_p7_0.vqh"
+#include "books/coupled/_44c0_s_p8_0.vqh"
+#include "books/coupled/_44c0_s_p9_0.vqh"
+#include "books/coupled/_44c0_s_p9_1.vqh"
+#include "books/coupled/_44c0_s_p10_0.vqh"
+#include "books/coupled/_44c0_s_p10_1.vqh"
+#include "books/coupled/_44c0_s_p11_0.vqh"
+#include "books/coupled/_44c0_s_p11_1.vqh"
 
-/*     0   8  42   1   2   4   8  16  56   +      
-           0   0   0            
-
-       0   1   2   3   4   5   6   7   8   9
-   1           .                   .   .   .
-   2           .                   .   .   .
-   4       .       .   .   .   .           .
- 
-       0   4   3   4   4   4   4   3   3   7 */
-static vorbis_info_residue0 _residue_44_high={
-  0,-1, -1, 10,-1,
-  /*  0     1     2     3     4     5     6     7     8     9 */
-  {0},
-  {-1},
-  {  .5,  1.5,  2.5,  4.5,  8.5,  8.5, 16.5, 42.5, 56.5},
-  {  .5,  1.5,  2.5,  2.5,  4.5,  8.5,  8.5, 16.5, 22.5},
-};
-/* 56 doesn't cascade well; use 59 */
-static vorbis_info_residue0 _residue_44_high_un={
-  0,-1, -1, 10,-1,
-  /*  0     1     2     3     4     5     6     7     8     9 */
-  {0},
-  {-1},
-  {  .5,  8.5, 42.5,  1.5,  2.5,  4.5,  8.5, 16.5, 59.5},
-  {  99,   -1,   -1,   99,   99,   99,   99,   99,   99}
-};
-
-#include "books/coupled/_44c0_short.vqh"
-#include "books/coupled/_44c0_long.vqh"
-
-#include "books/coupled/_44c0_s0_p1_0.vqh"
-#include "books/coupled/_44c0_s0_p2_0.vqh"
-#include "books/coupled/_44c0_s0_p3_0.vqh"
-#include "books/coupled/_44c0_s0_p4_0.vqh"
-#include "books/coupled/_44c0_s0_p4_1.vqh"
-#include "books/coupled/_44c0_s0_p5_0.vqh"
-#include "books/coupled/_44c0_s0_p6_0.vqh"
-#include "books/coupled/_44c0_s0_p7_0.vqh"
-#include "books/coupled/_44c0_s0_p7_1.vqh"
-#include "books/coupled/_44c0_s0_p7_2.vqh"
-
-#include "books/coupled/_44c1_short.vqh"
-#include "books/coupled/_44c1_long.vqh"
-
-#include "books/coupled/_44c1_s0_p1_0.vqh"
-#include "books/coupled/_44c1_s0_p2_0.vqh"
-#include "books/coupled/_44c1_s0_p3_0.vqh"
-#include "books/coupled/_44c1_s0_p4_0.vqh"
-#include "books/coupled/_44c1_s0_p4_1.vqh"
-#include "books/coupled/_44c1_s0_p5_0.vqh"
-#include "books/coupled/_44c1_s0_p6_0.vqh"
-#include "books/coupled/_44c1_s2_p6_0.vqh"
-#include "books/coupled/_44c1_s0_p7_0.vqh"
-#include "books/coupled/_44c1_s0_p7_1.vqh"
-#include "books/coupled/_44c1_s0_p7_2.vqh"
-
-#include "books/coupled/_44c2_short.vqh"
-#include "books/coupled/_44c2_long.vqh"
-
-#include "books/coupled/_44c2_s0_p1_0.vqh"
-#include "books/coupled/_44c2_s0_p2_0.vqh"
-#include "books/coupled/_44c2_s0_p3_0.vqh"
-#include "books/coupled/_44c2_s0_p4_0.vqh"
-#include "books/coupled/_44c2_s0_p4_1.vqh"
-#include "books/coupled/_44c2_s0_p5_0.vqh"
-#include "books/coupled/_44c2_s0_p6_0.vqh"
-#include "books/coupled/_44c2_s0_p7_0.vqh"
-#include "books/coupled/_44c2_s0_p7_1.vqh"
-#include "books/coupled/_44c2_s0_p7_2.vqh"
-
-#include "books/coupled/_44c3_short.vqh"
-#include "books/coupled/_44c3_long.vqh"
-
-#include "books/coupled/_44c3_s0_p1_0.vqh"
-#include "books/coupled/_44c3_s0_p2_0.vqh"
-#include "books/coupled/_44c3_s0_p3_0.vqh"
-#include "books/coupled/_44c3_s0_p4_0.vqh"
-#include "books/coupled/_44c3_s0_p4_1.vqh"
-#include "books/coupled/_44c3_s0_p5_0.vqh"
-#include "books/coupled/_44c3_s0_p6_0.vqh"
-#include "books/coupled/_44c3_s0_p7_0.vqh"
-#include "books/coupled/_44c3_s0_p7_1.vqh"
-#include "books/coupled/_44c3_s0_p7_2.vqh"
-
 #include "books/coupled/_44c4_s_short.vqh"
 #include "books/coupled/_44c4_s_long.vqh"
 
@@ -174,441 +83,62 @@
 #include "books/coupled/_44c4_sm_short.vqh"
 #include "books/coupled/_44c4_sm_long.vqh"
 
-#include "books/coupled/_44c4_sm_p1_0.vqh"
-#include "books/coupled/_44c4_sm_p2_0.vqh"
-#include "books/coupled/_44c4_sm_p3_0.vqh"
-#include "books/coupled/_44c4_sm_p4_0.vqh"
-#include "books/coupled/_44c4_sm_p5_0.vqh"
-#include "books/coupled/_44c4_sm_p6_0.vqh"
-#include "books/coupled/_44c4_sm_p7_0.vqh"
-#include "books/coupled/_44c4_sm_p7_1.vqh"
-#include "books/coupled/_44c4_sm_p8_0.vqh"
-#include "books/coupled/_44c4_sm_p8_1.vqh"
-#include "books/coupled/_44c4_sm_p9_0.vqh"
-#include "books/coupled/_44c4_sm_p9_1.vqh"
-#include "books/coupled/_44c4_sm_p9_2.vqh"
-
-
-#include "books/coupled/_44c5_short.vqh"
-#include "books/coupled/_44c5_long.vqh"
-
-#include "books/coupled/_44c5_s0_p1_0.vqh"
-#include "books/coupled/_44c5_s0_p2_0.vqh"
-#include "books/coupled/_44c5_s0_p3_0.vqh"
-#include "books/coupled/_44c5_s0_p4_0.vqh"
-#include "books/coupled/_44c5_s0_p5_0.vqh"
-#include "books/coupled/_44c5_s0_p6_0.vqh"
-#include "books/coupled/_44c5_s0_p7_0.vqh"
-#include "books/coupled/_44c5_s0_p7_1.vqh"
-#include "books/coupled/_44c5_s0_p8_0.vqh"
-#include "books/coupled/_44c5_s0_p8_1.vqh"
-#include "books/coupled/_44c5_s0_p9_0.vqh"
-#include "books/coupled/_44c5_s0_p9_1.vqh"
-#include "books/coupled/_44c5_s0_p9_2.vqh"
-
-#include "books/coupled/_44c6_short.vqh"
-#include "books/coupled/_44c6_long.vqh"
-
-#include "books/coupled/_44c6_s0_p1_0.vqh"
-#include "books/coupled/_44c6_s0_p2_0.vqh"
-#include "books/coupled/_44c6_s0_p3_0.vqh"
-#include "books/coupled/_44c6_s0_p4_0.vqh"
-#include "books/coupled/_44c6_s0_p5_0.vqh"
-#include "books/coupled/_44c6_s0_p6_0.vqh"
-#include "books/coupled/_44c6_s0_p7_0.vqh"
-#include "books/coupled/_44c6_s0_p7_1.vqh"
-#include "books/coupled/_44c6_s0_p8_0.vqh"
-#include "books/coupled/_44c6_s0_p8_1.vqh"
-#include "books/coupled/_44c6_s0_p9_0.vqh"
-#include "books/coupled/_44c6_s0_p9_1.vqh"
-#include "books/coupled/_44c6_s0_p9_2.vqh"
-
-#include "books/coupled/_44c7_short.vqh"
-#include "books/coupled/_44c7_long.vqh"
-
-#include "books/coupled/_44c7_s0_p1_0.vqh"
-#include "books/coupled/_44c7_s0_p1_1.vqh"
-#include "books/coupled/_44c7_s0_p2_0.vqh"
-#include "books/coupled/_44c7_s0_p2_1.vqh"
-#include "books/coupled/_44c7_s0_p3_0.vqh"
-#include "books/coupled/_44c7_s0_p4_0.vqh"
-#include "books/coupled/_44c7_s0_p5_0.vqh"
-#include "books/coupled/_44c7_s0_p6_0.vqh"
-#include "books/coupled/_44c7_s0_p6_1.vqh"
-#include "books/coupled/_44c7_s0_p7_0.vqh"
-#include "books/coupled/_44c7_s0_p7_1.vqh"
-#include "books/coupled/_44c7_s0_p8_0.vqh"
-#include "books/coupled/_44c7_s0_p8_1.vqh"
-#include "books/coupled/_44c7_s0_p9_0.vqh"
-#include "books/coupled/_44c7_s0_p9_1.vqh"
-#include "books/coupled/_44c7_s0_p9_2.vqh"
-
-#include "books/coupled/_44c8_short.vqh"
-#include "books/coupled/_44c8_long.vqh"
-
-#include "books/coupled/_44c8_s0_p1_0.vqh"
-#include "books/coupled/_44c8_s0_p1_1.vqh"
-#include "books/coupled/_44c8_s0_p2_0.vqh"
-#include "books/coupled/_44c8_s0_p2_1.vqh"
-#include "books/coupled/_44c8_s0_p3_0.vqh"
-#include "books/coupled/_44c8_s0_p4_0.vqh"
-#include "books/coupled/_44c8_s0_p5_0.vqh"
-#include "books/coupled/_44c8_s0_p6_0.vqh"
-#include "books/coupled/_44c8_s0_p6_1.vqh"
-#include "books/coupled/_44c8_s0_p7_0.vqh"
-#include "books/coupled/_44c8_s0_p7_1.vqh"
-#include "books/coupled/_44c8_s0_p8_0.vqh"
-#include "books/coupled/_44c8_s0_p8_1.vqh"
-#include "books/coupled/_44c8_s0_p9_0.vqh"
-#include "books/coupled/_44c8_s0_p9_1.vqh"
-#include "books/coupled/_44c8_s0_p9_2.vqh"
-
-#include "books/coupled/_44c9_short.vqh"
-#include "books/coupled/_44c9_long.vqh"
-
-#include "books/coupled/_44c9_s0_p1_0.vqh"
-#include "books/coupled/_44c9_s0_p1_1.vqh"
-#include "books/coupled/_44c9_s0_p2_0.vqh"
-#include "books/coupled/_44c9_s0_p2_1.vqh"
-#include "books/coupled/_44c9_s0_p3_0.vqh"
-#include "books/coupled/_44c9_s0_p4_0.vqh"
-#include "books/coupled/_44c9_s0_p5_0.vqh"
-#include "books/coupled/_44c9_s0_p6_0.vqh"
-#include "books/coupled/_44c9_s0_p6_1.vqh"
-#include "books/coupled/_44c9_s0_p7_0.vqh"
-#include "books/coupled/_44c9_s0_p7_1.vqh"
-#include "books/coupled/_44c9_s0_p8_0.vqh"
-#include "books/coupled/_44c9_s0_p8_1.vqh"
-#include "books/coupled/_44c9_s0_p9_0.vqh"
-#include "books/coupled/_44c9_s0_p9_1.vqh"
-#include "books/coupled/_44c9_s0_p9_2.vqh"
-
-/* residue backfill is entered in the template array as if stereo
-   backfill is not in use.  It's up to vorbisenc to make the
-   appropriate index adjustment */
-static vorbis_residue_template _residue_template_44_stereo[10]={
-  /* mode 0; 64-ish */
-  /* XXXXX mode 4; 128-ish */
-  {{&_residue_44_mid, &_residue_44_mid},  
-   {&_huff_book__44c4_s_short,&_huff_book__44c4_s_long},
-   {&_huff_book__44c4_sm_short,&_huff_book__44c4_sm_long},
-   {
-     {0},{0,0,&_44c4_s_p1_0},{0,0,&_44c4_s_p2_0},{0,0,&_44c4_s_p3_0},
-     {0,0,&_44c4_s_p4_0},{0,0,&_44c4_s_p5_0},{0,0,&_44c4_s_p6_0},
-     {&_44c4_s_p7_0,&_44c4_s_p7_1},{&_44c4_s_p8_0,&_44c4_s_p8_1},
-     {&_44c4_s_p9_0,&_44c4_s_p9_1,&_44c4_s_p9_2}
-   },
-  },
-
-  /* mode 1; 80-ish */
-  {{&_residue_44_low, &_residue_44_low},  
-   {&_huff_book__44c1_short,&_huff_book__44c1_long},
-   {&_huff_book__44c1_short,&_huff_book__44c1_long},
-   { 
-     {0},{0,0,&_44c1_s0_p1_0},{0,0,&_44c1_s0_p2_0},{0,0,&_44c1_s0_p3_0},
-     {&_44c1_s0_p4_0,&_44c1_s0_p4_1},{0,0,&_44c1_s0_p5_0},{0,0,&_44c1_s0_p6_0},
-     {&_44c1_s0_p7_0,&_44c1_s0_p7_1,&_44c1_s0_p7_2}
-   },
-  },
-  /* mode 2; 96-ish */
-  {{&_residue_44_low, &_residue_44_low},  
-   {&_huff_book__44c2_short,&_huff_book__44c2_long},
-   {&_huff_book__44c2_short,&_huff_book__44c2_long},
-   { 
-     {0},{0,0,&_44c2_s0_p1_0},{0,0,&_44c2_s0_p2_0},{0,0,&_44c2_s0_p3_0},
-     {&_44c2_s0_p4_0,&_44c2_s0_p4_1},{0,0,&_44c2_s0_p5_0},{0,0,&_44c2_s0_p6_0},
-     {&_44c2_s0_p7_0,&_44c2_s0_p7_1,&_44c2_s0_p7_2}
-   }, 
-  },
-  /* mode 3; 112-ish */
-  {{&_residue_44_low, &_residue_44_low},  
-   {&_huff_book__44c3_short,&_huff_book__44c3_long},
-   {&_huff_book__44c3_short,&_huff_book__44c3_long},
-   { 
-     {0},{0,0,&_44c3_s0_p1_0},{0,0,&_44c3_s0_p2_0},{0,0,&_44c3_s0_p3_0},
-     {&_44c3_s0_p4_0,&_44c3_s0_p4_1},{0,0,&_44c3_s0_p5_0},{0,0,&_44c3_s0_p6_0},
-     {&_44c3_s0_p7_0,&_44c3_s0_p7_1,&_44c3_s0_p7_2}
-   },
-  },
-
-  /* mode 4; 128-ish */
-  {{&_residue_44_mid, &_residue_44_mid},  
-   {&_huff_book__44c4_s_short,&_huff_book__44c4_s_long},
-   {&_huff_book__44c4_sm_short,&_huff_book__44c4_sm_long},
-   {
-     {0},{0,0,&_44c4_s_p1_0},{0,0,&_44c4_s_p2_0},{0,0,&_44c4_s_p3_0},
-     {0,0,&_44c4_s_p4_0},{0,0,&_44c4_s_p5_0},{0,0,&_44c4_s_p6_0},
-     {&_44c4_s_p7_0,&_44c4_s_p7_1},{&_44c4_s_p8_0,&_44c4_s_p8_1},
-     {&_44c4_s_p9_0,&_44c4_s_p9_1,&_44c4_s_p9_2}
-   },
-  },
-
-  /* mode 5; 160-ish */
-  {{&_residue_44_mid, &_residue_44_mid},  
-   {&_huff_book__44c5_short,&_huff_book__44c5_long},
-   {&_huff_book__44c5_short,&_huff_book__44c5_long},
-   {
-     {0},{0,0,&_44c5_s0_p1_0},{0,0,&_44c5_s0_p2_0},{0,0,&_44c5_s0_p3_0},
-     {0,0,&_44c5_s0_p4_0},{0,0,&_44c5_s0_p5_0},{0,0,&_44c5_s0_p6_0},
-     {&_44c5_s0_p7_0,&_44c5_s0_p7_1},{&_44c5_s0_p8_0,&_44c5_s0_p8_1},
-     {&_44c5_s0_p9_0,&_44c5_s0_p9_1,&_44c5_s0_p9_2}
-   },
-  },
-
-  /* mode 6; 192-ish */
-  {{&_residue_44_mid, &_residue_44_mid},  
-   {&_huff_book__44c6_short,&_huff_book__44c6_long},
-   {&_huff_book__44c6_short,&_huff_book__44c6_long},
-   { 
-     {0},{0,0,&_44c6_s0_p1_0},{0,0,&_44c6_s0_p2_0},{0,0,&_44c6_s0_p3_0},
-     {0,0,&_44c6_s0_p4_0},{0,0,&_44c6_s0_p5_0},{0,0,&_44c6_s0_p6_0},
-     {&_44c6_s0_p7_0,&_44c6_s0_p7_1},{&_44c6_s0_p8_0,&_44c6_s0_p8_1},
-     {&_44c6_s0_p9_0,&_44c6_s0_p9_1,&_44c6_s0_p9_2}
-   },
-  },
-
-  /* mode 7; 224-ish */
-  {{&_residue_44_high, &_residue_44_high},  
-   {&_huff_book__44c7_short,&_huff_book__44c7_long},
-   {&_huff_book__44c7_short,&_huff_book__44c7_long},
-   { 
-     {0},{&_44c7_s0_p1_0,&_44c7_s0_p1_1},
-     {&_44c7_s0_p2_0,&_44c7_s0_p2_1},
-     {0,0,&_44c7_s0_p3_0},{0,0,&_44c7_s0_p4_0},{0,0,&_44c7_s0_p5_0},
-     {&_44c7_s0_p6_0,&_44c7_s0_p6_1},
-     {&_44c7_s0_p7_0,&_44c7_s0_p7_1},
-     {&_44c7_s0_p8_0,&_44c7_s0_p8_1},
-     {&_44c7_s0_p9_0,&_44c7_s0_p9_1,&_44c7_s0_p9_2}
-   }, 
-  },
-
-  /* mode 8; 256-ish */
-  {{&_residue_44_high, &_residue_44_high},  
-   {&_huff_book__44c8_short,&_huff_book__44c8_long},
-   {&_huff_book__44c8_short,&_huff_book__44c8_long},
-   { 
-     {0},{&_44c8_s0_p1_0,&_44c8_s0_p1_1},
-     {&_44c8_s0_p2_0,&_44c8_s0_p2_1},
-     {0,0,&_44c8_s0_p3_0},{0,0,&_44c8_s0_p4_0},{0,0,&_44c8_s0_p5_0},
-     {&_44c8_s0_p6_0,&_44c8_s0_p6_1},
-     {&_44c8_s0_p7_0,&_44c8_s0_p7_1},
-     {&_44c8_s0_p8_0,&_44c8_s0_p8_1},
-     {&_44c8_s0_p9_0,&_44c8_s0_p9_1,&_44c8_s0_p9_2}
-   }, 
-  },
-  /* mode 9; 320-ish */
-  {{&_residue_44_high, &_residue_44_high},  
-   {&_huff_book__44c9_short,&_huff_book__44c9_long},
-   {&_huff_book__44c9_short,&_huff_book__44c9_long},
-   { 
-     {0},{&_44c9_s0_p1_0,&_44c9_s0_p1_1},
-     {&_44c9_s0_p2_0,&_44c9_s0_p2_1},
-     {0,0,&_44c9_s0_p3_0},{0,0,&_44c9_s0_p4_0},{0,0,&_44c9_s0_p5_0},
-     {&_44c9_s0_p6_0,&_44c9_s0_p6_1},
-     {&_44c9_s0_p7_0,&_44c9_s0_p7_1},
-     {&_44c9_s0_p8_0,&_44c9_s0_p8_1},
-     {&_44c9_s0_p9_0,&_44c9_s0_p9_1,&_44c9_s0_p9_2}
-   }, 
-  }
-};
-
 
-#include "books/uncoupled/_44u0_p1_0.vqh"
-#include "books/uncoupled/_44u0_p2_0.vqh"
-#include "books/uncoupled/_44u0_p3_0.vqh"
-#include "books/uncoupled/_44u0_p4_0.vqh"
-#include "books/uncoupled/_44u0_p4_1.vqh"
-#include "books/uncoupled/_44u0_p5_0.vqh"
-#include "books/uncoupled/_44u0_p6_0.vqh"
-#include "books/uncoupled/_44u0_p7_0.vqh"
-#include "books/uncoupled/_44u0_p7_1.vqh"
-#include "books/uncoupled/_44u0_p7_2.vqh"
-
-#include "books/uncoupled/_44u4_p1_0.vqh"
-#include "books/uncoupled/_44u4_p2_0.vqh"
-#include "books/uncoupled/_44u4_p3_0.vqh"
-#include "books/uncoupled/_44u4_p4_0.vqh"
-#include "books/uncoupled/_44u4_p5_0.vqh"
-#include "books/uncoupled/_44u4_p6_0.vqh"
-#include "books/uncoupled/_44u4_p7_0.vqh"
-#include "books/uncoupled/_44u4_p7_1.vqh"
-#include "books/uncoupled/_44u4_p8_0.vqh"
-#include "books/uncoupled/_44u4_p8_1.vqh"
-#include "books/uncoupled/_44u4_p9_0.vqh"
-#include "books/uncoupled/_44u4_p9_1.vqh"
-#include "books/uncoupled/_44u4_p9_2.vqh"
-
-#include "books/uncoupled/_44u7_p1_0.vqh"
-#include "books/uncoupled/_44u7_p2_0.vqh"
-#include "books/uncoupled/_44u7_p2_1.vqh"
-#include "books/uncoupled/_44u7_p3_0.vqh"
-#include "books/uncoupled/_44u7_p4_0.vqh"
-#include "books/uncoupled/_44u7_p5_0.vqh"
-#include "books/uncoupled/_44u7_p6_0.vqh"
-#include "books/uncoupled/_44u7_p7_0.vqh"
-#include "books/uncoupled/_44u7_p7_1.vqh"
-#include "books/uncoupled/_44u7_p8_0.vqh"
-#include "books/uncoupled/_44u7_p8_1.vqh"
-#include "books/uncoupled/_44u7_p9_0.vqh"
-#include "books/uncoupled/_44u7_p9_1.vqh"
-#include "books/uncoupled/_44u7_p9_2.vqh"
-
-static vorbis_residue_template _residue_template_44_uncoupled[10]={
-  /* mode 0; 40/c-ish */
-  {{&_residue_44_low_un, &_residue_44_low_un},  
-   {&_huff_book__44c0_short,&_huff_book__44c0_long},
-   {&_huff_book__44c0_short,&_huff_book__44c0_long},
-   { {0},
-      {0,0,&_44u0_p1_0},
-      {0,0,&_44u0_p2_0},
-      {0,0,&_44u0_p3_0},
-      {&_44u0_p4_0,&_44u0_p4_1},
-      {0,0,&_44u0_p5_0},
-      {0,0,&_44u0_p6_0},
-      {&_44u0_p7_0,&_44u0_p7_1,&_44u0_p7_2},
-   },
-  },
-  /* mode 1; 50-ish */
-  {{&_residue_44_low_un, &_residue_44_low_un},  
-   {&_huff_book__44c1_short,&_huff_book__44c1_long},
-   {&_huff_book__44c1_short,&_huff_book__44c1_long},
-   { {0},
-      {0,0,&_44u0_p1_0},
-      {0,0,&_44u0_p2_0},
-      {0,0,&_44u0_p3_0},
-      {&_44u0_p4_0,&_44u0_p4_1},
-      {0,0,&_44u0_p5_0},
-      {0,0,&_44u0_p6_0},
-      {&_44u0_p7_0,&_44u0_p7_1,&_44u0_p7_2},
-   },
-  },
-  /* mode 2; 60-ish */
-  {{&_residue_44_low_un, &_residue_44_low_un},  
-   {&_huff_book__44c2_short,&_huff_book__44c2_long},
-   {&_huff_book__44c2_short,&_huff_book__44c2_long},
-   { {0},
-      {0,0,&_44u0_p1_0},
-      {0,0,&_44u0_p2_0},
-      {0,0,&_44u0_p3_0},
-      {&_44u0_p4_0,&_44u0_p4_1},
-      {0,0,&_44u0_p5_0},
-      {0,0,&_44u0_p6_0},
-      {&_44u0_p7_0,&_44u0_p7_1,&_44u0_p7_2},
-   },
-  },
-  /* mode 3; 70-ish */
-  {{&_residue_44_low_un, &_residue_44_low_un},  
-   {&_huff_book__44c3_short,&_huff_book__44c3_long},
-   {&_huff_book__44c3_short,&_huff_book__44c3_long},
-   { {0},
-      {0,0,&_44u0_p1_0},
-      {0,0,&_44u0_p2_0},
-      {0,0,&_44u0_p3_0},
-      {&_44u0_p4_0,&_44u0_p4_1},
-      {0,0,&_44u0_p5_0},
-      {0,0,&_44u0_p6_0},
-      {&_44u0_p7_0,&_44u0_p7_1,&_44u0_p7_2},
-   },
-  },
-  /* mode 4; 80-ish */
-  {{&_residue_44_mid, &_residue_44_mid},  
-   {&_huff_book__44c4_s_short,&_huff_book__44c4_s_long},
-   {&_huff_book__44c4_s_short,&_huff_book__44c4_s_long},
-   { {0},
-      {0,0,&_44u4_p1_0},
-      {0,0,&_44u4_p2_0},
-      {0,0,&_44u4_p3_0},
-      {0,0,&_44u4_p4_0},
-      {0,0,&_44u4_p5_0},
-      {0,0,&_44u4_p6_0},
-      {&_44u4_p7_0,&_44u4_p7_1},
-      {&_44u4_p8_0,&_44u4_p8_1},
-      {&_44u4_p9_0,&_44u4_p9_1,&_44u4_p9_2},
-   },
-  },
-  /* mode 5; 90-ish */
-  {{&_residue_44_mid, &_residue_44_mid},  
-   {&_huff_book__44c5_short,&_huff_book__44c5_long},
-   {&_huff_book__44c5_short,&_huff_book__44c5_long},
-   { {0},
-      {0,0,&_44u4_p1_0},
-      {0,0,&_44u4_p2_0},
-      {0,0,&_44u4_p3_0},
-      {0,0,&_44u4_p4_0},
-      {0,0,&_44u4_p5_0},
-      {0,0,&_44u4_p6_0},
-      {&_44u4_p7_0,&_44u4_p7_1},
-      {&_44u4_p8_0,&_44u4_p8_1},
-      {&_44u4_p9_0,&_44u4_p9_1,&_44u4_p9_2},
-   },
-  },
-  /* mode 6; 100-ish */
-  {{&_residue_44_mid, &_residue_44_mid},  
-   {&_huff_book__44c6_short,&_huff_book__44c6_long},
-   {&_huff_book__44c6_short,&_huff_book__44c6_long},
-   { {0},
-      {0,0,&_44u4_p1_0},
-      {0,0,&_44u4_p2_0},
-      {0,0,&_44u4_p3_0},
-      {0,0,&_44u4_p4_0},
-      {0,0,&_44u4_p5_0},
-      {0,0,&_44u4_p6_0},
-      {&_44u4_p7_0,&_44u4_p7_1},
-      {&_44u4_p8_0,&_44u4_p8_1},
-      {&_44u4_p9_0,&_44u4_p9_1,&_44u4_p9_2},
-   },
-  },
-  /* mode 7 */
-  {{&_residue_44_high_un, &_residue_44_high_un},  
-   {&_huff_book__44c7_short,&_huff_book__44c7_long},
-   {&_huff_book__44c7_short,&_huff_book__44c7_long},
-   { {0},
-      {0,0,&_44u7_p1_0},
-      {&_44u7_p2_0,&_44u7_p2_1},
-      {0,0,&_44u7_p3_0},
-      {0,0,&_44u7_p4_0},
-      {0,0,&_44u7_p5_0},
-      {0,0,&_44u7_p6_0},
-      {&_44u7_p7_0,&_44u7_p7_1},
-      {&_44u7_p8_0,&_44u7_p8_1},
-      {&_44u7_p9_0,&_44u7_p9_1,&_44u7_p9_2},
-   },
-  },
-  /* mode 8 */
-  {{&_residue_44_high_un, &_residue_44_high_un},  
-   {&_huff_book__44c8_short,&_huff_book__44c8_long},
-   {&_huff_book__44c8_short,&_huff_book__44c8_long},
-   { {0},
-      {0,0,&_44u7_p1_0},
-      {&_44u7_p2_0,&_44u7_p2_1},
-      {0,0,&_44u7_p3_0},
-      {0,0,&_44u7_p4_0},
-      {0,0,&_44u7_p5_0},
-      {0,0,&_44u7_p6_0},
-      {&_44u7_p7_0,&_44u7_p7_1},
-      {&_44u7_p8_0,&_44u7_p8_1},
-      {&_44u7_p9_0,&_44u7_p9_1,&_44u7_p9_2},
-   },
-  },
-  /* mode 9 */
-  {{&_residue_44_high_un, &_residue_44_high_un},  
-   {&_huff_book__44c9_short,&_huff_book__44c9_long},
-   {&_huff_book__44c9_short,&_huff_book__44c9_long},
-   { {0},
-      {0,0,&_44u7_p1_0},
-      {&_44u7_p2_0,&_44u7_p2_1},
-      {0,0,&_44u7_p3_0},
-      {0,0,&_44u7_p4_0},
-      {0,0,&_44u7_p5_0},
-      {0,0,&_44u7_p6_0},
-      {&_44u7_p7_0,&_44u7_p7_1},
-      {&_44u7_p8_0,&_44u7_p8_1},
-      {&_44u7_p9_0,&_44u7_p9_1,&_44u7_p9_2},
-   },
-  },
+/* mapping conventions:
+   only one submap (this would change for efficient 5.1 support for example)*/
+/* Four psychoacoustic profiles are used, one for each blocktype */
+static vorbis_info_mapping0 _map_nominal[2]={
+  {1, {0,0}, {0}, {0}, 1,{0},{1}},
+  {1, {0,0}, {1}, {1}, 1,{0},{1}}
+};
+
+static static_bookblock _resbook_44s_4={
+  {
+    {0},{0,0,&_44c4_s_p1_0},{0,0,&_44c4_s_p2_0},{0,0,&_44c4_s_p3_0},
+    {0,0,&_44c4_s_p4_0},{0,0,&_44c4_s_p5_0},{0,0,&_44c4_s_p6_0},
+    {&_44c4_s_p7_0,&_44c4_s_p7_1},{&_44c4_s_p8_0,&_44c4_s_p8_1},
+    {&_44c4_s_p9_0,&_44c4_s_p9_1,&_44c4_s_p9_2}
+   }
+};
+
+static static_bookblock _resbook_44s_0={
+  {
+    {0},
+    {0,0,&_44c0_s_p1_0},{0,0,&_44c0_s_p2_0},
+    {0,&_44c0_s_p3_0},  {0,&_44c0_s_p4_0},
+    {0,&_44c0_s_p5_0},  {0,&_44c0_s_p6_0},
+    {0,&_44c0_s_p7_0},  {0,&_44c0_s_p8_0},
+    {&_44c0_s_p9_0,&_44c0_s_p9_1},
+    {&_44c0_s_p10_0,&_44c0_s_p10_1},
+    {&_44c0_s_p11_0,&_44c0_s_p11_1}
+   }
+};
+
+static vorbis_residue_template _res_44s_4[]={
+  {2,0,  &_residue_44_mid,
+   &_huff_book__44c4_s_short,&_huff_book__44c4_sm_short,&_resbook_44s_4},
+
+  {2,0,  &_residue_44_mid,
+   &_huff_book__44c4_s_long,&_huff_book__44c4_sm_long,&_resbook_44s_4}
+};
+
+static vorbis_residue_template _res_44s_0[]={
+  {2,0,  &_residue_44_lo,
+   &_huff_book__44c0_s_short,&_huff_book__44c0_s_short,&_resbook_44s_0},
+
+  {2,0,  &_residue_44_lo,
+   &_huff_book__44c0_s_long,&_huff_book__44c0_s_long,&_resbook_44s_0}
+};
+
+static vorbis_mapping_template _mapres_template_44_stereo[]={
+  { _map_nominal, _res_44s_4 }, /* 0 */
+  { _map_nominal, _res_44s_4 }, /* 1 */
+  { _map_nominal, _res_44s_4 }, /* 2 */
+  { _map_nominal, _res_44s_4 }, /* 3 */
+  { _map_nominal, _res_44s_4 }, /* 4 */
+  { _map_nominal, _res_44s_4 }, /* 5 */
+  { _map_nominal, _res_44s_4 }, /* 6 */
+  { _map_nominal, _res_44s_4 }, /* 7 */
+  { _map_nominal, _res_44s_4 }, /* 8 */
+  { _map_nominal, _res_44s_4 }, /* 9 */
 };
-
-
-
-
-

<p><p>No                   revision

<p>No                   revision

<p>1.2.6.1   +47 -61    vorbis/vq/44c0.vqs

Index: 44c0.vqs
===================================================================
RCS file: /usr/local/cvsroot/vorbis/vq/44c0.vqs,v
retrieving revision 1.2
retrieving revision 1.2.6.1
diff -u -r1.2 -r1.2.6.1
--- 44c0.vqs	2001/12/19 01:10:28	1.2
+++ 44c0.vqs	2002/06/24 00:06:06	1.2.6.1
@@ -1,74 +1,60 @@
-cp 44c0_s0/resaux_short.vqd _44c0_short.vqd
-cp 44c0_s0/resaux_long.vqd _44c0_long.vqd
+cp 44c0_s/resaux_0.vqd _44c0_s_short.vqd
+cp 44c0_s/resaux_1.vqd _44c0_s_long.vqd
 
+cat 44c0_s/res0_part1_pass2.vqd 44c0_s/res1_part1_pass2.vqd > 44c0_s/res_1_2.vqd  
+cat 44c0_s/res0_part2_pass2.vqd 44c0_s/res1_part2_pass2.vqd > 44c0_s/res_2_2.vqd  
+cat 44c0_s/res0_part3_pass1.vqd 44c0_s/res1_part3_pass1.vqd > 44c0_s/res_3_1.vqd  
+cat 44c0_s/res0_part4_pass1.vqd 44c0_s/res1_part4_pass1.vqd > 44c0_s/res_4_1.vqd  
+cat 44c0_s/res0_part5_pass1.vqd 44c0_s/res1_part5_pass1.vqd > 44c0_s/res_5_1.vqd  
+cat 44c0_s/res0_part6_pass1.vqd 44c0_s/res1_part6_pass1.vqd > 44c0_s/res_6_1.vqd  
+cat 44c0_s/res0_part7_pass1.vqd 44c0_s/res1_part7_pass1.vqd > 44c0_s/res_7_1.vqd  
+cat 44c0_s/res0_part8_pass1.vqd 44c0_s/res1_part8_pass1.vqd > 44c0_s/res_8_1.vqd  
+cat 44c0_s/res0_part9_pass0.vqd 44c0_s/res1_part9_pass0.vqd > 44c0_s/res_9_0.vqd  
+cat 44c0_s/res0_part9_pass1.vqd 44c0_s/res1_part9_pass1.vqd > 44c0_s/res_9_1.vqd  
+cat 44c0_s/res0_part10_pass0.vqd 44c0_s/res1_part10_pass0.vqd > 44c0_s/res_10_0.vqd 
+cat 44c0_s/res0_part10_pass1.vqd 44c0_s/res1_part10_pass1.vqd > 44c0_s/res_10_1.vqd 
+cat 44c0_s/res0_part11_pass0.vqd 44c0_s/res1_part11_pass0.vqd > 44c0_s/res_11_0.vqd 
+cat 44c0_s/res0_part11_pass1.vqd 44c0_s/res1_part11_pass1.vqd > 44c0_s/res_11_1.vqd 
 
 GO
 
->_44c0s noninterleaved
-haux _44c0_short.vqd 0,12,2
+>_44c0s_s noninterleaved
+haux _44c0_s_short.vqd 0,16,2
 
->_44c0 noninterleaved
-haux _44c0_long.vqd 0,44,2
-	
-#iter 0
-
-#       0   1   2   4  26   1   4   +      
-#           0   0   0   0      
-#
-#       0   1   2   3   4   5   6   7
-#   1                   .           .
-#   2                   .           .
-#   4       .   .   .       .   .   .
-
-:_s0_p1_0 44c0_s0/res_part1_pass2.vqd, 4, nonseq cull, 0 +- 1 2
-:_s0_p2_0 44c0_s0/res_part2_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
-:_s0_p3_0 44c0_s0/res_part3_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
-:_s0_p4_0 44c0_s0/res_part4_pass0.vqd, 2, nonseq, 0 +- 7 14 21 28 35 42 49
-:_s0_p4_1 44c0_s0/res_part4_pass1.vqd, 2, nonseq cull, 0 +- 1 2 3 
-
-:_s0_p5_0 44c0_s0/res_part5_pass2.vqd, 4, nonseq cull, 0 +- 1 2
-:_s1_p5_0 44c0_s1/res_part5_pass2.vqd, 4, nonseq cull, 0 +- 1
-
-:_s0_p6_0 44c0_s0/res_part6_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
-:_s1_p6_0 44c0_s1/res_part6_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
-:_s2_p6_0 44c0_s2/res_part6_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
-
-:_s0_p7_0 44c0_s0/res_part7_pass0.vqd, 2, nonseq, 0 +- 67 134 201	
-:_s0_p7_1 44c0_s0/res_part7_pass1.vqd, 2, nonseq, 0 +- 3 6 9 12 15 18 21 24 27 30 33
-:_s0_p7_2 44c0_s0/res_part7_pass2.vqd, 4, nonseq, 0 +- 1 
+>_44c0_s noninterleaved
+haux _44c0_s_long.vqd 0,64,2
 
-:_s1_p7_0 44c0_s1/res_part7_pass0.vqd, 2, nonseq, 0 +- 67 134 201	
-:_s1_p7_1 44c0_s1/res_part7_pass1.vqd, 2, nonseq, 0 +- 3 6 9 12 15 18 21 24 27 30 33
-:_s1_p7_2 44c0_s1/res_part7_pass2.vqd, 4, nonseq, 0 +- 1 
-
-:_s2_p7_0 44c0_s2/res_part7_pass0.vqd, 2, nonseq, 0 +- 67 134 201	
-:_s2_p7_1 44c0_s2/res_part7_pass1.vqd, 2, nonseq, 0 +- 3 6 9 12 15 18 21 24 27 30 33
-:_s2_p7_2 44c0_s2/res_part7_pass2.vqd, 4, nonseq, 0 +- 1 
-
-:_s3_p7_0 44c0_s3/res_part7_pass0.vqd, 2, nonseq, 0 +- 67 134 201	
-:_s3_p7_1 44c0_s3/res_part7_pass1.vqd, 2, nonseq, 0 +- 3 6 9 12 15 18 21 24 27 30 33
-:_s3_p7_2 44c0_s3/res_part7_pass2.vqd, 4, nonseq, 0 +- 1 
-
-#iter 1 (stereo 3(8.)->2 2(4.)->1 1(2.)->0)  shared for all 'low' modes
-
-:_s1_p5_s0 44cL_s1/res_part5_pass3.vqd, 2, nonseq, 0 +- 1 2
-:_s1_p6_s0 44cL_s1/res_part6_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4
-:_s1_p7_s0 44cL_s1/res_part7_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4
+  {  .5,  1.5,  1.5,  2.5,  2.5,  4.5,  4.5,  8.5,  8.5,  16.5, 32.5},
+  {  .5,   .5, 999.,   .5,  999.,  .5,  4.5,   .5,  8.5,  16.5, 32.5},
+	
+#     0   1   1   2   2   4   4   8   8  16  32   +      
+#         0  99   0  99   0   4   0   8  16  32   +
 
-:_s2_p6_s0 44cL_s2/res_part6_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6 7 8
-:_s2_p7_s0 44cL_s2/res_part7_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6 7 8
+#     0   1   2   3   4   5   6   7   8   9  10  11
+# 1                                       .   .   .
+# 2               .   .   .   .   .   .   .   .   .
+# 4       .   .   
+ 
+:_p1_0 44c0_s/res_1_2.vqd, 8, nonseq cull, 0 +- 1
+:_p2_0 44c0_s/res_2_2.vqd, 4, nonseq cull, 0 +- 1 2
+
+:_p3_0 44c0_s/res_3_1.vqd, 4, nonseq cull, 0 +- 1 2
+:_p4_0 44c0_s/res_4_1.vqd, 2, nonseq cull, 0 +- 1 2 3 4
+
+:_p5_0 44c0_s/res_5_1.vqd, 2, nonseq cull, 0 +- 1 2 3 4
+:_p6_0 44c0_s/res_6_1.vqd, 2, nonseq cull, 0 +- 1 2 3 4
+
+:_p7_0 44c0_s/res_7_1.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
+:_p8_0 44c0_s/res_8_1.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
 
-:_s3_p7_s0 44cL_s3/res_part7_pass3.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+:_p9_0 44c4_s/res_9_0.vqd, 4, nonseq cull, 0 +- 11
+:_p9_1 44c4_s/res_9_1.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 
 
-#iter 2 (residue backfill) shared for all 'low' modes
+:_p10_0 44c0_s/res_10_0.vqd, 2, nonseq, 0 +- 5 10 15 20 25 30
+:_p10_1 44c0_s/res_10_1.vqd, 2, nonseq, 0 +- 1 2 
 
-:_s0_p0_r0 44cL_s0/res_part0_r0.vqd, 2, nonseq, 0 +- .333333333 .666666667
-:_s0_pN_r0 44cL_s0/res_partN_r0.vqd, 2, nonseq, 0 +- .333333333 .666666667
-:_s1_pS_r0 44cL_s1/res_partS_r0.vqd, 2, nonseq, 0 +- .333333333
+:_p11_0 44c0_s/res_11_0.vqd, 2, nonseq, 0 +- 21 42 63 84 105 126 147 168
+:_p11_1 44c0_s/res_11_1.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6 7 8 9 10
 
-#iter 3 (residue backfill)
 
-:_s0_p0_r1 44cL_s0/res_part0_r1.vqd, 2, nonseq, 0 +- .111111111 .222222222
-:_s0_pN_r1 44cL_s0/res_partN_r1.vqd, 2, nonseq, 0 +- .111111111 .222222222
-:_s1_pS_r1 44cL_s1/res_partS_r1.vqd, 2, nonseq, 0 +- .111111111 
 

<p><p>1.2.6.2   +36 -40    vorbis/vq/44c4.vqs

Index: 44c4.vqs
===================================================================
RCS file: /usr/local/cvsroot/vorbis/vq/44c4.vqs,v
retrieving revision 1.2.6.1
retrieving revision 1.2.6.2
diff -u -r1.2.6.1 -r1.2.6.2
--- 44c4.vqs	2002/05/31 00:16:18	1.2.6.1
+++ 44c4.vqs	2002/06/24 00:06:06	1.2.6.2
@@ -1,62 +1,58 @@
 cp 44c4_s/resaux_0.vqd _44c4_s_short.vqd
 cp 44c4_s/resaux_1.vqd _44c4_s_long.vqd
 
-cp 44c4_sm/resaux_0.vqd _44c4_sm_short.vqd
-cp 44c4_sm/resaux_1.vqd _44c4_sm_long.vqd
+#cp 44c4_sm/resaux_0.vqd _44c4_sm_short.vqd
+#cp 44c4_sm/resaux_1.vqd _44c4_sm_long.vqd
 
+cat 44c4_s/res0_part1_pass2.vqd 44c4_s/res1_part1_pass2.vqd > 44c4_s/res_1_2.vqd  
+cat 44c4_s/res0_part2_pass2.vqd 44c4_s/res1_part2_pass2.vqd > 44c4_s/res_2_2.vqd  
+cat 44c4_s/res0_part3_pass2.vqd 44c4_s/res1_part3_pass2.vqd > 44c4_s/res_3_2.vqd  
+cat 44c4_s/res0_part4_pass2.vqd 44c4_s/res1_part4_pass2.vqd > 44c4_s/res_4_2.vqd  
+cat 44c4_s/res0_part5_pass2.vqd 44c4_s/res1_part5_pass2.vqd > 44c4_s/res_5_2.vqd  
+cat 44c4_s/res0_part6_pass2.vqd 44c4_s/res1_part6_pass2.vqd > 44c4_s/res_6_2.vqd  
+cat 44c4_s/res0_part7_pass0.vqd 44c4_s/res1_part7_pass0.vqd > 44c4_s/res_7_0.vqd  
+cat 44c4_s/res0_part7_pass1.vqd 44c4_s/res1_part7_pass1.vqd > 44c4_s/res_7_1.vqd  
+cat 44c4_s/res0_part8_pass0.vqd 44c4_s/res1_part8_pass0.vqd > 44c4_s/res_8_0.vqd  
+cat 44c4_s/res0_part8_pass1.vqd 44c4_s/res1_part8_pass1.vqd > 44c4_s/res_8_1.vqd  
+cat 44c4_s/res0_part9_pass0.vqd 44c4_s/res1_part9_pass0.vqd > 44c4_s/res_9_0.vqd  
+cat 44c4_s/res0_part9_pass1.vqd 44c4_s/res1_part9_pass1.vqd > 44c4_s/res_9_1.vqd  
+cat 44c4_s/res0_part9_pass2.vqd 44c4_s/res1_part9_pass2.vqd > 44c4_s/res_9_2.vqd  
+
 GO
 
->_44c4s noninterleaved
+>_44c4s_s noninterleaved
 haux _44c4_s_short.vqd 0,16,2
 
->_44c4 noninterleaved
+>_44c4_s noninterleaved
 haux _44c4_s_long.vqd 0,64,2
         
 #iter 0
 
 #     0   1   1   2   2   4   8  16  32   +      
-#         0  99   1  99   4   4  16  32   +
+#         0  99   0  99   4   4  16  32   +
 
 #     0   1   2   3   4   5   6   7   8   9
 # 1                               .   .   .
 # 2                               .   .   .
 # 4       .   .   .   .   .   .           .
  
-:_s_p1_0 44c4_s/res_part1_pass2.vqd, 4, nonseq cull, 0 +- 1
-:_s_p2_0 44c4_s/res_part2_pass2.vqd, 4, nonseq cull, 0 +- 1 2
-:_s_p3_0 44c4_s/res_part3_pass2.vqd, 4, nonseq cull, 0 +- 1 2
-:_s_p4_0 44c4_s/res_part4_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
-:_s_p5_0 44c4_s/res_part5_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
-:_s_p6_0 44c4_s/res_part6_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
-:_s_p7_0 44c4_s/res_part7_pass0.vqd, 2, nonseq cull, 0 +- 3 6 9 12 15
-:_s_p7_1 44c4_s/res_part7_pass1.vqd, 2, nonseq cull, 0 +- 1 
-
-:_s_p8_0 44c4_s/res_part8_pass0.vqd, 2, nonseq cull, 0 +- 5 10 15 20 25 30
-:_s_p8_1 44c4_s/res_part8_pass1.vqd, 2, nonseq cull, 0 +- 1 2 
-
-:_s_p9_0 44c4_s/res_part9_pass0.vqd, 2, nonseq, 0 +- 169 338 507 676 845 1014
-:_s_p9_1 44c4_s/res_part9_pass1.vqd, 2, nonseq, 0 +- 13 26 39 52 65 78 
-:_s_p9_2 44c4_s/res_part9_pass2.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6
+:_p1_0 44c4_s/res_1_2.vqd, 8, nonseq cull, 0 +- 1
+:_p2_0 44c4_s/res_2_2.vqd, 4, nonseq cull, 0 +- 1 2
+:_p3_0 44c4_s/res_3_2.vqd, 4, nonseq cull, 0 +- 1 2
+:_p4_0 44c4_s/res_4_2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
+:_p5_0 44c4_s/res_5_2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
+:_p6_0 44c4_s/res_6_2.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
+
+
+:_p7_0 44c4_s/res_7_0.vqd, 4, nonseq cull, 0 +- 11
+:_p7_1 44c4_s/res_7_1.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 
+
+:_p8_0 44c4_s/res_8_0.vqd, 2, nonseq cull, 0 +- 5 10 15 20 25 30
+:_p8_1 44c4_s/res_8_1.vqd, 2, nonseq cull, 0 +- 1 2 
+
+:_p9_0 44c4_s/res_9_0.vqd, 4, nonseq, 0 +- 169
+:_p9_1 44c4_s/res_9_1.vqd, 2, nonseq, 0 +- 13 26 39 52 65 78 
+:_p9_2 44c4_s/res_9_2.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6
 
->_44c4s noninterleaved
-haux _44c4_sm_short.vqd 0,16,2
 
->_44c4 noninterleaved
-haux _44c4_sm_long.vqd 0,64,2
-	
-:_sm_p1_0 44c4_sm/res_part1_pass2.vqd, 4, nonseq cull, 0 +- 1
-:_sm_p2_0 44c4_sm/res_part2_pass2.vqd, 4, nonseq cull, 0 +- 1 2
-:_sm_p3_0 44c4_sm/res_part3_pass2.vqd, 4, nonseq cull, 0 +- 1 2
-:_sm_p4_0 44c4_sm/res_part4_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
-:_sm_p5_0 44c4_sm/res_part5_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
-:_sm_p6_0 44c4_sm/res_part6_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
-:_sm_p7_0 44c4_sm/res_part7_pass0.vqd, 2, nonseq cull, 0 +- 3 6 9 12 15
-:_sm_p7_1 44c4_sm/res_part7_pass1.vqd, 2, nonseq cull, 0 +- 1 
-
-:_sm_p8_0 44c4_sm/res_part8_pass0.vqd, 2, nonseq cull, 0 +- 5 10 15 20 25 30
-:_sm_p8_1 44c4_sm/res_part8_pass1.vqd, 2, nonseq cull, 0 +- 1 2 
-
-:_sm_p9_0 44c4_sm/res_part9_pass0.vqd, 2, nonseq, 0 +- 169 338 507 676 845 1014
-:_sm_p9_1 44c4_sm/res_part9_pass1.vqd, 2, nonseq, 0 +- 13 26 39 52 65 78 
-:_sm_p9_2 44c4_sm/res_part9_pass2.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6
 

<p><p><p>--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'cvs-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the commits mailing list