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

Monty xiphmont at xiph.org
Thu May 30 17:16:20 PDT 2002



xiphmont    02/05/30 17:16:19

  Modified:    examples Tag: branch_monty_20020507 encoder_example.c
               lib      Tag: branch_monty_20020507 backends.h bitrate.c
                        codec_internal.h mapping0.c psy.c psy.h res0.c
                        vorbisenc.c
               lib/books/coupled Tag: branch_monty_20020507 _44c4_long.vqh
                        _44c4_s0_p2_0.vqh _44c4_s0_p3_0.vqh
                        _44c4_s0_p4_0.vqh _44c4_s0_p5_0.vqh
                        _44c4_s0_p6_0.vqh _44c4_s1_p2_0.vqh
                        _44c4_s1_p4_0.vqh _44c4_s1_p6_0.vqh
                        _44c4_s1_p7_0.vqh _44c4_s1_p7_1.vqh
                        _44c4_s1_p8_0.vqh _44c4_s1_p8_1.vqh
                        _44c4_s1_p9_0.vqh _44c4_s1_p9_1.vqh
                        _44c4_s1_p9_2.vqh _44c4_short.vqh
               lib/modes Tag: branch_monty_20020507 psych_44.h residue_44.h
               vq       Tag: branch_monty_20020507 44c4.vqs Makefile.am
  Log:
  Avoid lost work; commit noise normalization

Revision  Changes    Path
No                   revision

<p>No                   revision

<p>1.40.2.2  +2 -2      vorbis/examples/encoder_example.c

Index: encoder_example.c
===================================================================
RCS file: /usr/local/cvsroot/vorbis/examples/encoder_example.c,v
retrieving revision 1.40.2.1
retrieving revision 1.40.2.2
diff -u -r1.40.2.1 -r1.40.2.2
--- encoder_example.c	2002/05/07 23:47:11	1.40.2.1
+++ encoder_example.c	2002/05/31 00:16:09	1.40.2.2
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: simple example encoder
- last mod: $Id: encoder_example.c,v 1.40.2.1 2002/05/07 23:47:11 xiphmont Exp $
+ last mod: $Id: encoder_example.c,v 1.40.2.2 2002/05/31 00:16:09 xiphmont Exp $
 
  ********************************************************************/
 
@@ -97,7 +97,7 @@
   /* (quality mode .4: 44kHz stereo coupled, roughly 128kbps VBR) */
   vorbis_info_init(&vi);
 
-  vorbis_encode_init(&vi,2,44100,-1,128000,-1);
+  vorbis_encode_init(&vi,2,44100,-1,80000,-1);
   //vorbis_encode_init_vbr(&vi,2,44100,.4);
 
   /* add a comment */

<p><p>No                   revision

<p>No                   revision

<p>1.12.6.4  +3 -6      vorbis/lib/backends.h

Index: backends.h
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/backends.h,v
retrieving revision 1.12.6.3
retrieving revision 1.12.6.4
diff -u -r1.12.6.3 -r1.12.6.4
--- backends.h	2002/05/18 01:39:27	1.12.6.3
+++ backends.h	2002/05/31 00:16:10	1.12.6.4
@@ -12,7 +12,7 @@
 
  function: libvorbis backend and mapping structures; needed for 
            static mode headers
- last mod: $Id: backends.h,v 1.12.6.3 2002/05/18 01:39:27 xiphmont Exp $
+ last mod: $Id: backends.h,v 1.12.6.4 2002/05/31 00:16:10 xiphmont Exp $
 
  ********************************************************************/
 
@@ -116,9 +116,8 @@
   int    secondstages[64]; /* expanded out to pointers in lookup */
   int    booklist[256];    /* list of second stage books */
 
-  /* encode-only heuristic settings */
-  float  ampmax[64];       /* book amp threshholds*/
-  int    blimit[64];       /* subgroup position limits */
+  float  classmetric1[64];  
+  float  classmetric2[64];  
 
 } vorbis_info_residue0;
 
@@ -142,8 +141,6 @@
   int   coupling_steps;
   int   coupling_mag[256];
   int   coupling_ang[256];
-  int   coupling_pointlimit;
-  int   coupling_pointamp;
 
 } vorbis_info_mapping0;
 

<p><p>1.11.4.2  +2 -2      vorbis/lib/bitrate.c

Index: bitrate.c
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/bitrate.c,v
retrieving revision 1.11.4.1
retrieving revision 1.11.4.2
diff -u -r1.11.4.1 -r1.11.4.2
--- bitrate.c	2002/05/07 23:47:12	1.11.4.1
+++ bitrate.c	2002/05/31 00:16:10	1.11.4.2
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: bitrate tracking and management
- last mod: $Id: bitrate.c,v 1.11.4.1 2002/05/07 23:47:12 xiphmont Exp $
+ last mod: $Id: bitrate.c,v 1.11.4.2 2002/05/31 00:16:10 xiphmont Exp $
 
  ********************************************************************/
 
@@ -113,7 +113,7 @@
       if((bi->queue_avgmin>0 || bi->queue_avgmax>0) &&
          bi->queue_avg_time>0){
         
-	bm->avg_binacc=_ogg_malloc(bins*sizeof(*bm->avg_binacc));
+	bm->avg_binacc=_ogg_calloc(bins,sizeof(*bm->avg_binacc));
         bm->avgfloat=PACKETBLOBS/2;
         
       }else{

<p><p>1.14.4.4  +3 -4      vorbis/lib/codec_internal.h

Index: codec_internal.h
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/codec_internal.h,v
retrieving revision 1.14.4.3
retrieving revision 1.14.4.4
diff -u -r1.14.4.3 -r1.14.4.4
--- codec_internal.h	2002/05/18 01:39:27	1.14.4.3
+++ codec_internal.h	2002/05/31 00:16:10	1.14.4.4
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: libvorbis codec headers
- last mod: $Id: codec_internal.h,v 1.14.4.3 2002/05/18 01:39:27 xiphmont Exp $
+ last mod: $Id: codec_internal.h,v 1.14.4.4 2002/05/31 00:16:10 xiphmont Exp $
 
  ********************************************************************/
 
@@ -97,6 +97,7 @@
 } highlevel_block;
 
 typedef struct highlevel_encode_setup {
+  int    managed;
   double base_quality;       /* these have to be tracked by the ctl */
   double base_quality_short; /* interface so that the right books get */
   double base_quality_long;  /* chosen... */
@@ -106,8 +107,7 @@
   int impulse_block_p;
   int stereo_couple_p;
 
-  int    stereo_point_dB_q;
-  double stereo_point_kHz[2];
+  double stereo_point_q;
   double lowpass_kHz[2];
 
   double ath_floating_dB;
@@ -159,7 +159,6 @@
   vorbis_info_psy_global psy_g_param;
 
   bitrate_manager_info   bi;
-  int                    modeselect[2][PACKETBLOBS];
   highlevel_encode_setup hi;
   
 } codec_setup_info;

<p><p>1.49.2.4  +119 -38   vorbis/lib/mapping0.c

Index: mapping0.c
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/mapping0.c,v
retrieving revision 1.49.2.3
retrieving revision 1.49.2.4
diff -u -r1.49.2.3 -r1.49.2.4
--- mapping0.c	2002/05/18 01:39:28	1.49.2.3
+++ mapping0.c	2002/05/31 00:16:10	1.49.2.4
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: channel mapping 0 implementation
- last mod: $Id: mapping0.c,v 1.49.2.3 2002/05/18 01:39:28 xiphmont Exp $
+ last mod: $Id: mapping0.c,v 1.49.2.4 2002/05/31 00:16:10 xiphmont Exp $
 
  ********************************************************************/
 
@@ -185,12 +185,17 @@
 
   int    *nonzero    = alloca(sizeof(*nonzero)*vi->channels);
   float  **gmdct     = _vorbis_block_alloc(vb,vi->channels*sizeof(*gmdct));
-  int    **ilogmaskch= _vorbis_block_alloc(vb,vi->channels*sizeof(*gmdct));
+  int    **ilogmaskch= _vorbis_block_alloc(vb,vi->channels*sizeof(*ilogmaskch));
   int ***floor_posts = _vorbis_block_alloc(vb,vi->channels*sizeof(*floor_posts));
   
   float global_ampmax=vbi->ampmax;
   float *local_ampmax=alloca(sizeof(*local_ampmax)*vi->channels);
   int blocktype=vbi->blocktype;
+
+  int modenumber=vb->W;
+  vorbis_info_mapping0 *info=ci->map_param[modenumber];
+  vb->mode=modenumber;
+
   vorbis_look_psy *psy_look=
     b->psy+blocktype+(vb->W?2:0);
 
@@ -259,9 +264,6 @@
       /* the encoder setup assumes that all the modes used by any
          specific bitrate tweaking use the same floor */
       
-      int modenumber=ci->modeselect[vb->W][PACKETBLOBS/2];
-      vorbis_info_mapping0 *info=ci->map_param[modenumber];
-
       int submap=info->chmuxlist[i];
       
       /* the following makes things clearer to *me* anyway */
@@ -285,9 +287,11 @@
           _analysis_output_always("mdctL",seq,logmdct,n/2,1,0,0);
         else
           _analysis_output_always("mdctR",seq,logmdct,n/2,1,0,0);
+      }else{
+	_analysis_output_always("mdct",seq,logmdct,n/2,1,0,0);
       }
 #endif 
-
+      
       /* first step; noise masking.  Not only does 'noise masking'
          give us curves from which we can decide how much resolution
          to give noise parts of the spectrum, it also implicitly hands
@@ -437,27 +441,30 @@
     float **res_bundle=alloca(sizeof(*res_bundle)*vi->channels);
     float **couple_bundle=alloca(sizeof(*couple_bundle)*vi->channels);
     int *zerobundle=alloca(sizeof(*zerobundle)*vi->channels);
+    int **sortindex=alloca(sizeof(*sortindex)*vi->channels);
     float **mag_memo;
+    int **mag_sort;
 
-    {
-      /* similarly to floor, we assume the encoder setup is using the
-         same coupling tree for all packetblobs in a block array */
-      int modenumber=ci->modeselect[vb->W][PACKETBLOBS/2];
-      vorbis_info_mapping0 *info=ci->map_param[modenumber];
-      mag_memo=_vp_quantize_couple_memo(vb,
-					psy_look,
-					info,
-					gmdct);    
+    mag_memo=_vp_quantize_couple_memo(vb,
+				      psy_look,
+				      info,
+				      gmdct);    
+
+    mag_sort=_vp_quantize_couple_sort(vb,
+				      psy_look,
+				      info,
+				      mag_memo);    
+
+    for(i=0;i<vi->channels;i++){
+      float *mdct    =gmdct[i];
+      sortindex[i]=alloca(sizeof(**sortindex)*n/2);
+      _vp_noise_normalize_sort(psy_look,mdct,sortindex[i]);
     }
 
     for(k=(vorbis_bitrate_managed(vb)?0:PACKETBLOBS/2);
         k<=(vorbis_bitrate_managed(vb)?PACKETBLOBS-1:PACKETBLOBS/2);
         k++){
 
-      int modenumber=ci->modeselect[vb->W][k];
-      vorbis_info_mapping0 *info=ci->map_param[modenumber];
-      vb->mode=modenumber;
-
       /* start out our new packet blob with packet type and mode */
       /* Encode the packet type */
       oggpack_write(&vb->opb,0,1);
@@ -477,32 +484,97 @@
         int   *ilogmask=ilogmaskch[i]=
           _vorbis_block_alloc(vb,n/2*sizeof(**gmdct));
       
-	if(info->floorsubmap[submap] != 
-	   ((vorbis_info_mapping0 *)
-	    (ci->map_param[ci->modeselect[vb->W][PACKETBLOBS/2]]))->
-	   floorsubmap[submap])return(-1); /* breaks encoder
-                                              assumptions; all the
-                                              packetblobs must use the
-                                              same floor */
-
         nonzero[i]=floor1_encode(vb,b->flr[info->floorsubmap[submap]],
                                  floor_posts[i][k],
                                  ilogmask);
 #if 0
         {
+
+
+
+
+
+	  static float FLOOR1_fromdB_LOOKUP[256]={
+	    1.0649863e-07F, 1.1341951e-07F, 1.2079015e-07F, 1.2863978e-07F, 
+	    1.3699951e-07F, 1.4590251e-07F, 1.5538408e-07F, 1.6548181e-07F, 
+	    1.7623575e-07F, 1.8768855e-07F, 1.9988561e-07F, 2.128753e-07F, 
+	    2.2670913e-07F, 2.4144197e-07F, 2.5713223e-07F, 2.7384213e-07F, 
+	    2.9163793e-07F, 3.1059021e-07F, 3.3077411e-07F, 3.5226968e-07F, 
+	    3.7516214e-07F, 3.9954229e-07F, 4.2550680e-07F, 4.5315863e-07F, 
+	    4.8260743e-07F, 5.1396998e-07F, 5.4737065e-07F, 5.8294187e-07F, 
+	    6.2082472e-07F, 6.6116941e-07F, 7.0413592e-07F, 7.4989464e-07F, 
+	    7.9862701e-07F, 8.5052630e-07F, 9.0579828e-07F, 9.6466216e-07F, 
+	    1.0273513e-06F, 1.0941144e-06F, 1.1652161e-06F, 1.2409384e-06F, 
+	    1.3215816e-06F, 1.4074654e-06F, 1.4989305e-06F, 1.5963394e-06F, 
+	    1.7000785e-06F, 1.8105592e-06F, 1.9282195e-06F, 2.0535261e-06F, 
+	    2.1869758e-06F, 2.3290978e-06F, 2.4804557e-06F, 2.6416497e-06F, 
+	    2.8133190e-06F, 2.9961443e-06F, 3.1908506e-06F, 3.3982101e-06F, 
+	    3.6190449e-06F, 3.8542308e-06F, 4.1047004e-06F, 4.3714470e-06F, 
+	    4.6555282e-06F, 4.9580707e-06F, 5.2802740e-06F, 5.6234160e-06F, 
+	    5.9888572e-06F, 6.3780469e-06F, 6.7925283e-06F, 7.2339451e-06F, 
+	    7.7040476e-06F, 8.2047000e-06F, 8.7378876e-06F, 9.3057248e-06F, 
+	    9.9104632e-06F, 1.0554501e-05F, 1.1240392e-05F, 1.1970856e-05F, 
+	    1.2748789e-05F, 1.3577278e-05F, 1.4459606e-05F, 1.5399272e-05F, 
+	    1.6400004e-05F, 1.7465768e-05F, 1.8600792e-05F, 1.9809576e-05F, 
+	    2.1096914e-05F, 2.2467911e-05F, 2.3928002e-05F, 2.5482978e-05F, 
+	    2.7139006e-05F, 2.8902651e-05F, 3.0780908e-05F, 3.2781225e-05F, 
+	    3.4911534e-05F, 3.7180282e-05F, 3.9596466e-05F, 4.2169667e-05F, 
+	    4.4910090e-05F, 4.7828601e-05F, 5.0936773e-05F, 5.4246931e-05F, 
+	    5.7772202e-05F, 6.1526565e-05F, 6.5524908e-05F, 6.9783085e-05F, 
+	    7.4317983e-05F, 7.9147585e-05F, 8.4291040e-05F, 8.9768747e-05F, 
+	    9.5602426e-05F, 0.00010181521F, 0.00010843174F, 0.00011547824F, 
+	    0.00012298267F, 0.00013097477F, 0.00013948625F, 0.00014855085F, 
+	    0.00015820453F, 0.00016848555F, 0.00017943469F, 0.00019109536F, 
+	    0.00020351382F, 0.00021673929F, 0.00023082423F, 0.00024582449F, 
+	    0.00026179955F, 0.00027881276F, 0.00029693158F, 0.00031622787F, 
+	    0.00033677814F, 0.00035866388F, 0.00038197188F, 0.00040679456F, 
+	    0.00043323036F, 0.00046138411F, 0.00049136745F, 0.00052329927F, 
+	    0.00055730621F, 0.00059352311F, 0.00063209358F, 0.00067317058F, 
+	    0.00071691700F, 0.00076350630F, 0.00081312324F, 0.00086596457F, 
+	    0.00092223983F, 0.00098217216F, 0.0010459992F, 0.0011139742F, 
+	    0.0011863665F, 0.0012634633F, 0.0013455702F, 0.0014330129F, 
+	    0.0015261382F, 0.0016253153F, 0.0017309374F, 0.0018434235F, 
+	    0.0019632195F, 0.0020908006F, 0.0022266726F, 0.0023713743F, 
+	    0.0025254795F, 0.0026895994F, 0.0028643847F, 0.0030505286F, 
+	    0.0032487691F, 0.0034598925F, 0.0036847358F, 0.0039241906F, 
+	    0.0041792066F, 0.0044507950F, 0.0047400328F, 0.0050480668F, 
+	    0.0053761186F, 0.0057254891F, 0.0060975636F, 0.0064938176F, 
+	    0.0069158225F, 0.0073652516F, 0.0078438871F, 0.0083536271F, 
+	    0.0088964928F, 0.009474637F, 0.010090352F, 0.010746080F, 
+	    0.011444421F, 0.012188144F, 0.012980198F, 0.013823725F, 
+	    0.014722068F, 0.015678791F, 0.016697687F, 0.017782797F, 
+	    0.018938423F, 0.020169149F, 0.021479854F, 0.022875735F, 
+	    0.024362330F, 0.025945531F, 0.027631618F, 0.029427276F, 
+	    0.031339626F, 0.033376252F, 0.035545228F, 0.037855157F, 
+	    0.040315199F, 0.042935108F, 0.045725273F, 0.048696758F, 
+	    0.051861348F, 0.055231591F, 0.058820850F, 0.062643361F, 
+	    0.066714279F, 0.071049749F, 0.075666962F, 0.080584227F, 
+	    0.085821044F, 0.091398179F, 0.097337747F, 0.10366330F, 
+	    0.11039993F, 0.11757434F, 0.12521498F, 0.13335215F, 
+	    0.14201813F, 0.15124727F, 0.16107617F, 0.17154380F, 
+	    0.18269168F, 0.19456402F, 0.20720788F, 0.22067342F, 
+	    0.23501402F, 0.25028656F, 0.26655159F, 0.28387361F, 
+	    0.30232132F, 0.32196786F, 0.34289114F, 0.36517414F, 
+	    0.38890521F, 0.41417847F, 0.44109412F, 0.46975890F, 
+	    0.50028648F, 0.53279791F, 0.56742212F, 0.60429640F, 
+	    0.64356699F, 0.68538959F, 0.72993007F, 0.77736504F, 
+	    0.82788260F, 0.88168307F, 0.9389798F, 1.F, 
+	  };
+
           char buf[80];
           sprintf(buf,"maskI%d",k);
           float work[n/2];
           for(j=0;j<n/2;j++)
-	    work[j]=ilogmask[j];
-	  _analysis_output_always(buf,seq+i,work,n/2,1,0,0);
+	    work[j]=FLOOR1_fromdB_LOOKUP[ilogmask[j]];
+	  _analysis_output_always(buf,seq+i,work,n/2,1,1,0);
         }
 #endif
         _vp_remove_floor(psy_look,
                          mdct,
                          ilogmask,
                          res);
-
+	_vp_noise_normalize(psy_look,res,res+n/2,sortindex[i]);
+	
 #if 0
         {
           char buf[80];
@@ -516,13 +588,22 @@
          coupling.  Only one prequant/coupling step */
       
       /* quantize/couple */
-      _vp_quantize_couple(psy_look,
-			  info,
-			  vb->pcm,
-			  mag_memo,
-			  ilogmaskch,
-			  nonzero
-			  );
+      /* incomplete implementation that assumes the tree is all depth
+         one, or no tree at all */
+      if(info->coupling_steps){
+	_vp_couple(k,
+		   &ci->psy_g_param,
+		   psy_look,
+		   info,
+		   vb->pcm,
+		   mag_memo,
+		   mag_sort,
+		   ilogmaskch,
+		   nonzero);
+      }else{
+	for(i=0;i<vi->channels;i++)
+	  memcpy(vb->pcm[i]+n/2,vb->pcm[i],n/2*sizeof(**vb->pcm));
+      }
       
       /* classify and encode by submap */
       for(i=0;i<info->submaps;i++){
@@ -540,7 +621,7 @@
         }
         
         classifications=_residue_P[ci->residue_type[resnum]]->
-	  class(vb,b->residue[resnum],res_bundle,zerobundle,ch_in_bundle);
+	  class(vb,b->residue[resnum],couple_bundle,zerobundle,ch_in_bundle);
         
         _residue_P[ci->residue_type[resnum]]->
           forward(vb,b->residue[resnum],

<p><p>1.67.2.5  +164 -57   vorbis/lib/psy.c

Index: psy.c
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/psy.c,v
retrieving revision 1.67.2.4
retrieving revision 1.67.2.5
diff -u -r1.67.2.4 -r1.67.2.5
--- psy.c	2002/05/18 01:39:28	1.67.2.4
+++ psy.c	2002/05/31 00:16:10	1.67.2.5
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: psychoacoustics not including preecho
- last mod: $Id: psy.c,v 1.67.2.4 2002/05/18 01:39:28 xiphmont Exp $
+ last mod: $Id: psy.c,v 1.67.2.5 2002/05/31 00:16:10 xiphmont Exp $
 
  ********************************************************************/
 
@@ -911,10 +911,12 @@
                       float *mdct,
                       int *codedflr,
                       float *residue){ 
+
   int i,n=p->n;
   
   for(i=0;i<n;i++)
-      residue[i]=mdct[i]*FLOOR1_fromdB_INV_LOOKUP[codedflr[i]];
+    residue[i]=
+      mdct[i]*FLOOR1_fromdB_INV_LOOKUP[codedflr[i]];
 }
 
 void _vp_noisemask(vorbis_look_psy *p,
@@ -969,7 +971,6 @@
 
 }
 
-
 void _vp_offset_and_mix(vorbis_look_psy *p,
                         float *noise,
                         float *tone,
@@ -977,11 +978,11 @@
                         float *logmask){
   int i,n=p->n;
   float toneatt=p->vi->tone_masteratt[offset_select];
-
+  
   for(i=0;i<n;i++){
-    logmask[i]= noise[i]+p->noiseoffset[offset_select][i];
-    if(logmask[i]>p->vi->noisemaxsupp)logmask[i]=p->vi->noisemaxsupp;
-    logmask[i]=max(logmask[i],tone[i]+toneatt);
+    float val= noise[i]+p->noiseoffset[offset_select][i];
+    if(val>p->vi->noisemaxsupp)val=p->vi->noisemaxsupp;
+    logmask[i]=max(val,tone[i]+toneatt);
   }
 }
 
@@ -999,19 +1000,22 @@
 }
 
 static void couple_lossless(float A, float B, 
-			    float *mag, float *ang){
-  
-  if(fabs(A)>fabs(B)){
-    A=rint(A);B=rint(B);
-    *mag=A; *ang=(A>0.f?A-B:B-A);
+			    float *qA, float *qB){
+  int test1=fabs(*qA)>fabs(*qB);
+  test1-= fabs(*qA)<fabs(*qB);
+  
+  if(!test1)test1=((fabs(A)>fabs(B))<<1)-1;
+  if(test1==1){
+    *qB=(*qA>0.f?*qA-*qB:*qB-*qA);
   }else{
-    A=rint(A);B=rint(B);  
-    *mag=B; *ang=(B>0.f?A-B:B-A);
+    float temp=*qB;  
+    *qB=(*qB>0.f?*qA-*qB:*qB-*qA);
+    *qA=temp;
   }
 
-  if(*ang>fabs(*mag)*1.9999f){
-    *ang= -fabs(*mag)*2.f;
-    *mag= -*mag;
+  if(*qB>fabs(*qA)*1.9999f){
+    *qB= -fabs(*qA)*2.f;
+    *qA= -*qA;
   }
 }
 
@@ -1025,7 +1029,6 @@
   -0.159093, -0.175146, -0.192286, -0.210490, 
   -0.229718, -0.249913, -0.271001, -0.292893};
 
-/* floorA and B are the pre-lookup logscale integers from floor1 decode */
 static void precomputed_couple_point(float premag,
                                      float A, float B,
                                      int floorA,int floorB,
@@ -1034,14 +1037,14 @@
   int test=(floorA>floorB)-1;
   int offset=31-abs(floorA-floorB);
   float floormag=hypot_lookup[((offset<0)-1)&offset]+1.f;
-  
+
   floormag*=FLOOR1_fromdB_INV_LOOKUP[(floorB&test)|(floorA&(~test))];
+
   if(fabs(A)>fabs(B)){
-    premag*=unitnorm(A);
+    *mag=unitnorm(A)*premag*floormag;
   }else{
-    premag*=unitnorm(B);
+    *mag=unitnorm(B)*premag*floormag;
   }
-  *mag=premag*floormag;
   *ang=0.f;
 }
 
@@ -1057,30 +1060,118 @@
   float **ret=_vorbis_block_alloc(vb,vi->coupling_steps*sizeof(*ret));
   
   for(i=0;i<vi->coupling_steps;i++){
-    float point=stereo_threshholds[vi->coupling_pointamp];
-    int limit=vi->coupling_pointlimit;
+    float *mdctM=mdct[vi->coupling_mag[i]];
+    float *mdctA=mdct[vi->coupling_ang[i]];
+    ret[i]=_vorbis_block_alloc(vb,n*sizeof(**ret));
+    for(j=0;j<n;j++)
+      ret[i][j]=FAST_HYPOT(mdctM[j],mdctA[j]);
+  }
+
+  return(ret);
+}
+
+/* this is for per-channel noise normalization */
+static int apsort(const void *a, const void *b){
+  if(fabs(**(float **)a)>fabs(**(float **)b))return -1;
+  return 1;
+}
 
-    ret[i]=0;
-    if(point>0){
-      float *mdctM=mdct[vi->coupling_mag[i]];
-      float *mdctA=mdct[vi->coupling_ang[i]];
-      ret[i]=_vorbis_block_alloc(vb,(n-limit)*sizeof(**ret));
-      for(j=limit;j<n;j++)
-	ret[i][j-limit]=FAST_HYPOT(mdctM[j],mdctA[j]);
+int **_vp_quantize_couple_sort(vorbis_block *vb,
+				 vorbis_look_psy *p,
+				 vorbis_info_mapping0 *vi,
+				 float **mags){
+  
+  int i,j,k,n=p->n;
+  int **ret=_vorbis_block_alloc(vb,vi->coupling_steps*sizeof(*ret));
+  int partition=p->vi->normal_partition;
+  float **work=alloca(sizeof(*work)*partition);
+  
+  for(i=0;i<vi->coupling_steps;i++){
+    ret[i]=_vorbis_block_alloc(vb,n*sizeof(**ret));
+
+    for(j=0;j<n;j+=partition){
+      for(k=0;k<partition;k++)work[k]=mags[i]+k+j;
+      qsort(work,partition,sizeof(*work),apsort);
+      for(k=0;k<partition;k++)ret[i][k+j]=work[k]-mags[i];
     }
   }
+  
   return(ret);
 }
 
-void _vp_quantize_couple(vorbis_look_psy *p,
-			 vorbis_info_mapping0 *vi,
-			 float **res,
-			 float **mag_memo,
-			 int   **ifloor,
-			 int   *nonzero){
+void _vp_noise_normalize_sort(vorbis_look_psy *p,
+			      float *magnitudes,int *sortedindex){
+  int i,j,n=p->n;
+  vorbis_info_psy *vi=p->vi;
+  int partition=vi->normal_partition;
+  float **work=alloca(sizeof(*work)*partition);
+  int start=vi->normal_start;
+
+  for(j=start;j<n;j+=partition){
+    if(j+partition>n)partition=n-j;
+    for(i=0;i<partition;i++)work[i]=magnitudes+i+j;
+    qsort(work,partition,sizeof(*work),apsort);
+    for(i=0;i<partition;i++){
+      sortedindex[i+j-start]=work[i]-magnitudes;
+    }
+  }
+}
 
+void _vp_noise_normalize(vorbis_look_psy *p,
+			 float *in,float *out,int *sortedindex){
   int i,j,n=p->n;
+  vorbis_info_psy *vi=p->vi;
+  int partition=vi->normal_partition;
+  int start=vi->normal_start;
 
+  for(j=0;j<start;j++)
+    out[j]=rint(in[j]);
+    
+  for(;j+partition<=n;j+=partition){
+    float acc=0.,qacc=0.;
+    int flag=0;
+    for(i=0;i<partition;i++)
+      acc+=in[i+j]*in[i+j];
+    
+    for(i=0;i<partition;i++){
+      int k=sortedindex[i+j-start];
+      float qval=rint(in[k]);
+      
+      if(qval){
+	qacc+=in[k]*in[k];
+	flag=1;
+	out[k]=qval;
+      }else{
+	if(qacc>acc)break;
+	qacc+=1.;
+	out[k]=unitnorm(in[k]);
+      }
+    }
+
+    if(!flag && i<2)i=0;
+    for(;i<partition;i++){
+      int k=sortedindex[i+j-start];
+      out[k]=0.;
+    }
+  }
+
+  for(;j<n;j++)
+    out[j]=rint(in[j]);
+
+}
+
+void _vp_couple(int blobno,
+		vorbis_info_psy_global *g,
+		vorbis_look_psy *p,
+		vorbis_info_mapping0 *vi,
+		float **res,
+		float **mag_memo,
+		int   **mag_sort,
+		int   **ifloor,
+		int   *nonzero){
+
+  int i,j,k,n=p->n;
+
   /* perform any requested channel coupling */
   /* point stereo can only be used in a first stage (in this encoder)
      because of the dependency on floor lookups */
@@ -1099,34 +1190,50 @@
        nonzero[vi->coupling_ang[i]]){
      
 
-      float *resM=res[vi->coupling_mag[i]];
-      float *resA=res[vi->coupling_ang[i]];
+      float *rM=res[vi->coupling_mag[i]];
+      float *rA=res[vi->coupling_ang[i]];
+      float *qM=rM+n;
+      float *qA=rA+n;
       int *floorM=ifloor[vi->coupling_mag[i]];
       int *floorA=ifloor[vi->coupling_ang[i]];
-      float *outM=res[vi->coupling_mag[i]]+n;
-      float *outA=res[vi->coupling_ang[i]]+n;
-      int limit=vi->coupling_pointlimit;
-      float point=stereo_threshholds[vi->coupling_pointamp];
- 
+      int limit=g->coupling_pointlimit[p->vi->blockflag][blobno];
+      float point=stereo_threshholds[g->coupling_pointamp[blobno]];
+      int partition=p->vi->normal_partition;
+
       nonzero[vi->coupling_mag[i]]=1; 
       nonzero[vi->coupling_ang[i]]=1; 
 
-      for(j=0;j<limit;j++){
+      for(j=0;j<p->n;j+=partition){
+	float acc=0.f,qacc=0.f;
 
-	couple_lossless(resM[j],resA[j],outM+j,outA+j);
-      }
-
-      for(;j<p->n;j++){
-
-	if(fabs(resM[j])<point && fabs(resA[j])<point){
-	  precomputed_couple_point(mag_memo[i][j-limit],resM[j],resA[j],
-				   floorM[j],floorA[j],
-				   outM+j,outA+j);
-	  
-	}else{
-	  couple_lossless(resM[j],resA[j],outM+j,outA+j);
+	for(k=0;k<partition;k++){
+	  int l=k+j;
+	  if(l>=limit && fabs(rM[l])<point && fabs(rA[l])<point){
+	    precomputed_couple_point(mag_memo[i][l],rM[l],rA[l],
+				     floorM[l],floorA[l],
+				     qM+l,qA+l);
+	    if(rint(qM[l])==0.f)
+	      acc+=qM[l]*qM[l];
+	  }else{
+	    couple_lossless(rM[l],rA[l],qM+l,qA+l);
+	  }
         }
+
+	for(k=0;k<partition && qacc<acc;k++){
+	  int l=mag_sort[i][j+k];
+	  if(l>=limit && rint(qM[l])==0.f){
+	    qM[l]=unitnorm(qM[l]);
+	    qacc+=1.f;
+	  }
+	} 
       }
     }
   }
 }
+
+
+
+
+
+
+

<p><p>1.28.2.3  +28 -22    vorbis/lib/psy.h

Index: psy.h
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/psy.h,v
retrieving revision 1.28.2.2
retrieving revision 1.28.2.3
diff -u -r1.28.2.2 -r1.28.2.3
--- psy.h	2002/05/14 07:06:42	1.28.2.2
+++ psy.h	2002/05/31 00:16:11	1.28.2.3
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: random psychoacoustics (not including preecho)
- last mod: $Id: psy.h,v 1.28.2.2 2002/05/14 07:06:42 xiphmont Exp $
+ last mod: $Id: psy.h,v 1.28.2.3 2002/05/31 00:16:11 xiphmont Exp $
 
  ********************************************************************/
 
@@ -66,6 +66,8 @@
 
   float max_curve_dB;
 
+  int normal_start;
+  int normal_partition;
 } vorbis_info_psy;
 
 typedef struct{
@@ -83,8 +85,10 @@
      current block to aid in analysis? */
   int   delaycache;
 
-  /* channel monofilter config */
-  float monofilter_kHz[P_NOISECURVES];  
+  /* channel coupling config */
+  float monofilter_kHz[PACKETBLOBS];  
+  int   coupling_pointlimit[2][PACKETBLOBS];  
+  int   coupling_pointamp[PACKETBLOBS];  
 
 } vorbis_info_psy_global;
 
@@ -93,6 +97,7 @@
   int   channels;
 
   vorbis_info_psy_global *gi;
+  int   coupling_pointlimit[2][P_NOISECURVES];  
 } vorbis_look_psy_global;
 
 
@@ -150,25 +155,26 @@
                                         vorbis_info_mapping0 *vi,
                                         float **mdct);
 
-extern void _vp_quantize_couple(vorbis_look_psy *p,
-				vorbis_info_mapping0 *vi,
-				float **res,
-				float **mag_memo,
-				int   **ifloor,
-				int   *nonzero);
+extern void _vp_couple(int blobno,
+		       vorbis_info_psy_global *g,
+		       vorbis_look_psy *p,
+		       vorbis_info_mapping0 *vi,
+		       float **res,
+		       float **mag_memo,
+		       int   **mag_sort,
+		       int   **ifloor,
+		       int   *nonzero);
+
+extern void _vp_noise_normalize(vorbis_look_psy *p,
+				float *in,float *out,int *sortedindex);
+
+extern void _vp_noise_normalize_sort(vorbis_look_psy *p,
+				     float *magnitudes,int *sortedindex);
+
+extern int **_vp_quantize_couple_sort(vorbis_block *vb,
+				      vorbis_look_psy *p,
+				      vorbis_info_mapping0 *vi,
+				      float **mags);
 
 #endif
-
-
-
-
-
-
-
-
-
-
-
-
-
 

<p><p>1.45.4.4  +49 -62    vorbis/lib/res0.c

Index: res0.c
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/res0.c,v
retrieving revision 1.45.4.3
retrieving revision 1.45.4.4
diff -u -r1.45.4.3 -r1.45.4.4
--- res0.c	2002/05/18 01:39:28	1.45.4.3
+++ res0.c	2002/05/31 00:16:11	1.45.4.4
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: residue backend 0, 1 and 2 implementation
- last mod: $Id: res0.c,v 1.45.4.3 2002/05/18 01:39:28 xiphmont Exp $
+ last mod: $Id: res0.c,v 1.45.4.4 2002/05/31 00:16:11 xiphmont Exp $
 
  ********************************************************************/
 
@@ -55,7 +55,6 @@
   long      *training_data[8][64];
   float      training_max[8][64];
   float      training_min[8][64];
-  int       longp;
   float     tmin;
   float     tmax;
 #endif
@@ -279,24 +278,6 @@
   return(look);
 }
 
-static int _testhack(float *vec,int n,vorbis_look_residue0 *look,
-		     int auxparts,int auxpartnum){
-  vorbis_info_residue0 *info=look->info;
-  int i;
-  float max=0.f;
-
-  /* setup */
-  for(i=0;i<n;i++)
-    if(fabs(vec[i])>max)max=fabs(vec[i]);
-
-  for(i=0;i<auxparts-1;i++)
-    if(auxpartnum<info->blimit[i] &&
-       max<=info->ampmax[i])
-      break;
-
-  return(i);
-}
-
 /* break an abstraction and copy some code for performance purposes */
 static int local_book_besterror(codebook *book,float *a){
   int dim=book->dim,i,k,o;
@@ -376,21 +357,21 @@
 }
 
 static long **_01class(vorbis_block *vb,vorbis_look_residue *vl,
-		       float **in,int ch,
-		       int (*classify)(float *,int,vorbis_look_residue0 *,
-				       int,int)){
-  long i,j;
+		       float **in,int ch){
+  long i,j,k;
   vorbis_look_residue0 *look=(vorbis_look_residue0 *)vl;
   vorbis_info_residue0 *info=look->info;
+  vorbis_info           *vi=vb->vd->vi;
+  codec_setup_info      *ci=vi->codec_setup;
 
   /* move all this setup out later */
   int samples_per_partition=info->grouping;
   int possible_partitions=info->partitions;
   int n=info->end-info->begin;
-
+  
   int partvals=n/samples_per_partition;
   long **partword=_vorbis_block_alloc(vb,ch*sizeof(*partword));
-
+  float scale=1./ci->blocksizes[vb->W];
   /* 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 */
@@ -399,25 +380,31 @@
     partword[i]=_vorbis_block_alloc(vb,n/samples_per_partition*sizeof(*partword[i]));
     memset(partword[i],0,n/samples_per_partition*sizeof(*partword[i]));
   }
-
-  for(i=0;i<partvals;i++){
-    for(j=0;j<ch;j++)
-      /* do the partition decision based on the 'entropy'
-         int the block */
-      partword[j][i]=
-	classify(in[j]+i*samples_per_partition+info->begin,
-		 samples_per_partition,look,possible_partitions,i);
   
+  for(i=0;i<partvals;i++){
+    int offset=i*samples_per_partition+info->begin;
+    float cur=offset/scale*vi->rate;
+    for(j=0;j<ch;j++){
+      float max=0.;
+      for(k=0;k<samples_per_partition;k++)
+	if(fabs(in[j][offset+k])>max)max=fabs(in[j][offset+k]);
+      
+      for(k=0;k<possible_partitions-1;k++)
+	if(max<=info->classmetric1[k] &&
+	   cur<info->classmetric2[k])
+	  break;
+      
+      partword[j][i]=k;  
+    }
   }
 
 #ifdef TRAIN_RES
-  look->longp=vb->W;
   {
     FILE *of;
     char buffer[80];
   
     for(i=0;i<ch;i++){
-      sprintf(buffer,"resaux_%s.vqd",(vb->mode?"long":"short"));
+      sprintf(buffer,"resaux_%d.vqd",vb->mode);
       of=fopen(buffer,"a");
       for(j=0;j<partvals;j++)
         fprintf(of,"%ld, ",partword[i][j]);
@@ -431,10 +418,11 @@
   return(partword);
 }
 
-static long **_2class(vorbis_block *vb,vorbis_look_residue *vl,
-		       float **in,int ch,
-		       int (*classify)(float *,int,vorbis_look_residue0 *,
-				       int,int)){
+/* designed for stereo or other modes where the partition size is an
+   integer multiple of the number of channels encoded in the current
+   submap */
+static long **_2class(vorbis_block *vb,vorbis_look_residue *vl,float **in,
+		      int ch){
   long i,j,k,l;
   vorbis_look_residue0 *look=(vorbis_look_residue0 *)vl;
   vorbis_info_residue0 *info=look->info;
@@ -446,7 +434,6 @@
 
   int partvals=n/samples_per_partition;
   long **partword=_vorbis_block_alloc(vb,sizeof(*partword));
-  float *work=alloca(sizeof(*work)*samples_per_partition);
 
 #ifdef TRAIN_RES
   FILE *of;
@@ -455,26 +442,28 @@
   
   partword[0]=_vorbis_block_alloc(vb,n*ch/samples_per_partition*sizeof(*partword[0]));
   memset(partword[0],0,n*ch/samples_per_partition*sizeof(*partword[0]));
-
-  for(i=0,j=0,k=0,l=info->begin;i<partvals;i++){
-    for(k=0;k<samples_per_partition;k++){
-      work[k]=in[j][l];
-      j++;
-      if(j>=ch){
-	j=0;
-	l++;
-      }
-    }
 
-    partword[0][i]=
-      classify(work,samples_per_partition,look,possible_partitions,i);
+  for(i=0,l=info->begin/ch;i<partvals;i++){
+    float magmax=0.f;
+    float angmax=0.f;
+    for(j=0;j<samples_per_partition;j+=ch){
+      if(fabs(in[0][l])>magmax)magmax=fabs(in[0][l]);
+      for(k=1;k<ch;k++)
+	if(fabs(in[k][l])>angmax)angmax=fabs(in[k][l]);
+      l++;
+    }
+
+    for(j=0;j<possible_partitions-1;j++)
+      if(magmax<=info->classmetric1[j] &&
+	 angmax<=info->classmetric2[j])
+	break;
 
+    partword[0][i]=j;
 
   }  
-
+  
 #ifdef TRAIN_RES
-  look->longp=vb->W;
-  sprintf(buffer,"resaux_%s.vqd",(vb->mode?"long":"short"));
+  sprintf(buffer,"resaux_%d.vqd",vb->mode);
   of=fopen(buffer,"a");
   for(i=0;i<partvals;i++)
     fprintf(of,"%ld, ",partword[0][i]);
@@ -497,7 +486,6 @@
   vorbis_info_residue0 *info=look->info;
 
   vorbis_dsp_state      *vd=vb->vd;
-  vorbis_info           *vi=vd->vi;
 
   /* move all this setup out later */
   int samples_per_partition=info->grouping;
@@ -672,7 +660,7 @@
       in[used++]=in[i];
   if(used)
     /*return(_01class(vb,vl,in,used,_interleaved_testhack));*/
-    return(_01class(vb,vl,in,used,_testhack));
+    return(_01class(vb,vl,in,used));
   else
     return(0);
 }
@@ -756,7 +744,7 @@
     if(nonzero[i])
       in[used++]=in[i];
   if(used)
-    return(_01class(vb,vl,in,used,_testhack));
+    return(_01class(vb,vl,in,used));
   else
     return(0);
 }
@@ -777,10 +765,9 @@
                   float **in,int *nonzero,int ch){
   int i,used=0;
   for(i=0;i<ch;i++)
-    if(nonzero[i])
-      in[used++]=in[i];
+    if(nonzero[i])used++;
   if(used)
-    return(_2class(vb,vl,in,used,_testhack));
+    return(_2class(vb,vl,in,ch));
   else
     return(0);
 }

<p><p>1.39.2.4  +114 -137  vorbis/lib/vorbisenc.c

Index: vorbisenc.c
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/vorbisenc.c,v
retrieving revision 1.39.2.3
retrieving revision 1.39.2.4
diff -u -r1.39.2.3 -r1.39.2.4
--- vorbisenc.c	2002/05/18 01:39:29	1.39.2.3
+++ vorbisenc.c	2002/05/31 00:16:11	1.39.2.4
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: simple programmatic interface for encoder mode setup
- last mod: $Id: vorbisenc.c,v 1.39.2.3 2002/05/18 01:39:29 xiphmont Exp $
+ last mod: $Id: vorbisenc.c,v 1.39.2.4 2002/05/31 00:16:11 xiphmont Exp $
 
  ********************************************************************/
 
@@ -35,15 +35,9 @@
 typedef struct {
   vorbis_info_residue0 *res[2];
   static_codebook *book_aux[2];
-  static_codebook *books_base[5][10][3];
+  static_codebook *books_base[10][3];
 } vorbis_residue_template;
 
-typedef struct {
-  int     modenum[2][PACKETBLOBS];
-  float   couple_pointlimit_kHz[2][PACKETBLOBS];
-  int     couple_pointamp[2][PACKETBLOBS];
-} mode_easy_setup;
-
 typedef struct vp_adjblock{
   int block[P_BANDS][P_LEVELS];
 } vp_adjblock;
@@ -62,8 +56,8 @@
    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},0,0},
-  {1, {0,0}, {1}, {-1}, 0,{0},{0},0,0}
+  {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 small,
@@ -130,7 +124,8 @@
 }
 
 static int vorbis_encode_global_psych_setup(vorbis_info *vi,double q,
-					   vorbis_info_psy_global *in, ...){
+					    vorbis_info_psy_global *in, 
+					    ...){
   int i,iq=q*10;
   double x[11],dq;
   codec_setup_info *ci=vi->codec_setup;
@@ -141,16 +136,16 @@
   for(i=0;i<11;i++)
     x[i]=va_arg(ap,double);
   va_end(ap);
-
+  
   if(iq==10){
     iq=9;
     dq=1.;
   }else{
     dq=q*10.-iq;
   }
-
+  
   memcpy(g,in+(int)x[iq],sizeof(*g));
-
+  
   dq=x[iq]*(1.-dq)+x[iq+1]*dq;
   iq=(int)dq;
   dq-=iq;
@@ -158,7 +153,7 @@
     iq--;
     dq=1.;
   }
-
+  
   /* interpolate the trigger threshholds */
   for(i=0;i<4;i++){
     g->preecho_thresh[i]=in[iq].preecho_thresh[i]*(1.-dq)+in[iq+1].preecho_thresh[i]*dq;
@@ -168,28 +163,73 @@
   return(0);
 }
 
+static int vorbis_encode_global_stereo(vorbis_info *vi,
+				       highlevel_encode_setup *hi,
+				       int pdB[][PACKETBLOBS],
+				       double pkHz[][PACKETBLOBS]){
+  float q=hi->stereo_point_q;
+  int i,iq=q*10;
+  double dq;
+  codec_setup_info *ci=vi->codec_setup;
+  vorbis_info_psy_global *g=&ci->psy_g_param;
+
+  if(iq==10){
+    iq=9;
+    dq=1.;
+  }else{
+    dq=q*10.-iq;
+  }
+
+  if(hi->managed){
+    memcpy(g->coupling_pointamp,pdB[iq],sizeof(*pdB));
+    /* interpolate the kHz threshholds */
+    for(i=0;i<PACKETBLOBS;i++){
+      float kHz=pkHz[iq*2][i]*(1.-dq)+pkHz[iq*2+2][i]*dq;
+      g->coupling_pointlimit[0][i]=kHz*1000./vi->rate*ci->blocksizes[0];
+      kHz=pkHz[iq*2+1][i]*(1.-dq)+pkHz[iq*2+3][i]*dq;
+      g->coupling_pointlimit[1][i]=kHz*1000./vi->rate*ci->blocksizes[1];
+    }
+  }else{
+    int point_dB=pdB[iq][PACKETBLOBS/2];
+    float kHz=pkHz[iq*2][PACKETBLOBS/2]*(1.-dq)+pkHz[iq*2+2][PACKETBLOBS/2]*dq;
+    for(i=0;i<PACKETBLOBS;i++)
+      g->coupling_pointamp[i]=point_dB;
+    for(i=0;i<PACKETBLOBS;i++)
+      g->coupling_pointlimit[0][i]=kHz*1000./vi->rate*ci->blocksizes[0];
+    kHz=pkHz[iq*2+1][PACKETBLOBS/2]*(1.-dq)+pkHz[iq*2+3][PACKETBLOBS/2]*dq;
+    for(i=0;i<PACKETBLOBS;i++)
+      g->coupling_pointlimit[1][i]=kHz*1000./vi->rate*ci->blocksizes[1];
+  }
+
+  return(0);
+}
+
 static int vorbis_encode_psyset_setup(vorbis_info *vi,int block){
   codec_setup_info *ci=vi->codec_setup;
   vorbis_info_psy *p=ci->psy_param[block];
-
+  
   if(block>=ci->psys)
     ci->psys=block+1;
   if(!p){
     p=_ogg_calloc(1,sizeof(*p));
     ci->psy_param[block]=p;
   }
-
+  
   memcpy(p,&_psy_info_template,sizeof(*p));
   p->blockflag=block>>1;
 
+  /* temporary */
+  p->normal_start=(block<2?16:128);
+  p->normal_partition=(block<2?16:32);
+  
   return 0;
 }
 
 static int vorbis_encode_tonemask_setup(vorbis_info *vi,double q,int block,
-				       double att[11][3],
-				       double *max,
-				       int *peaklimit_bands,
-				       vp_adjblock *in){
+					double att[11][3],
+					double *max,
+					int *peaklimit_bands,
+					vp_adjblock *in){
   int i,j,iq;
   double dq;
   codec_setup_info *ci=vi->codec_setup;
@@ -371,22 +411,15 @@
   return(ci->books++);
 }
 
+static int vorbis_encode_residue_setup(vorbis_info *vi,double q,int block,
+				       int coupled_p,
+				       vorbis_residue_template *in){
 
-/* modes, mappings and residue backends all correlate by convention in
-   this coder, so we set them up together here */
-static int vorbis_encode_residue_one(vorbis_info *vi,
-				     double q,
-				     int block,
-				     int number,
-				     int coupled_p,
-				     vorbis_residue_template *in,
-				     int point_dB,
-				     double point_kHz){
+  codec_setup_info *ci=vi->codec_setup;
   int i,iq=q*10;
   int n,k;
-  int partition_position=0;
-  int res_position=0;
-  codec_setup_info *ci=vi->codec_setup;
+  int number=block;
+
   vorbis_info_residue0 *r=ci->residue_param[number]=
     _ogg_malloc(sizeof(*r));
   vorbis_info_mapping0 *map=ci->map_param[number]=
@@ -399,10 +432,9 @@
   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(*_mapping_template));
+  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;
 
@@ -425,22 +457,15 @@
   switch(ci->residue_type[number]){
   case 1:
     n=r->end=ci->blocksizes[block?1:0]>>1; /* to be adjusted by lowpass later */
-    partition_position=rint(point_kHz*1000./(vi->rate/2)*n/r->grouping);
-    res_position=partition_position*r->grouping;
     break;
   case 2:
     n=r->end=(ci->blocksizes[block?1:0]>>1)*vi->channels; /* to be adjusted by lowpass later */
-    partition_position=rint(point_kHz*1000./(vi->rate/2)*n/r->grouping);
-    res_position=partition_position*r->grouping/vi->channels;
     break;
   }
-
-  for(i=0;i<r->partitions;i++)
-    if(r->blimit[i]<0)r->blimit[i]=partition_position;
-
+  
   for(i=0;i<r->partitions;i++)
     for(k=0;k<3;k++)
-      if(in[iq].books_base[point_dB][i][k])
+      if(in[iq].books_base[i][k])
         r->secondstages[i]|=(1<<k);
   
   if(coupled_p){
@@ -450,27 +475,24 @@
     map->coupling_mag[0]=0;
     map->coupling_ang[0]=1;
     
-    map->coupling_pointlimit=res_position;
-    map->coupling_pointamp=stereo_threshholds[point_dB];
-    
   }
-  
+
   /* fill in all the books */
   {
     int booklist=0,k;
-    r->groupbook=ci->books;
-    ci->book_param[ci->books++]=in[iq].book_aux[block];
+    r->groupbook=book_dup_or_new(ci,in[iq].book_aux[block]);
+    ci->book_param[r->groupbook]=in[iq].book_aux[block];
     for(i=0;i<r->partitions;i++){
       for(k=0;k<3;k++){
-	if(in[iq].books_base[point_dB][i][k]){
-	  int bookid=book_dup_or_new(ci,in[iq].books_base[point_dB][i][k]);
+	if(in[iq].books_base[i][k]){
+	  int bookid=book_dup_or_new(ci,in[iq].books_base[i][k]);
           r->booklist[booklist++]=bookid;
-	  ci->book_param[bookid]=in[iq].books_base[point_dB][i][k];
+	  ci->book_param[bookid]=in[iq].books_base[i][k];
         }
       }
     }
   }
-
+  
   /* lowpass setup */
   {
     double freq=ci->hi.lowpass_kHz[block]*1000.;
@@ -485,7 +507,7 @@
        the encoding structure, only the samples used to fit the floor
        approximation */
     f->n=freq/nyq*blocksize; 
-
+    
     /* in the residue, we're constrained, physically, by partition
        boundaries.  We still lowpass 'wherever', but we have to round up
        here to next boundary, or the vorbis spec will round it *down* to
@@ -496,53 +518,8 @@
     else
       r->end=(int)((freq/nyq*blocksize)/r->grouping+.9)* /* round up only if we're well past */
         r->grouping;
-  }
-  
-  return(0);
-}
-
-static int vorbis_encode_residue_setup(vorbis_info *vi,double q,int block,
-				       int coupled_p,
-				       vorbis_residue_template *in,
-				       int *point_dB,
-				       double point_kHz){
-
-  int i;
-  int alternate_modes=1;
-   codec_setup_info *ci=vi->codec_setup;
- 
-  /* more complex than in rc3 due to coupling; we may be using
-     multiple modes, each with a different residue setup, as a helper
-     to bitrate managemnt, letting us change the stereo model
-     parameters in use. */
-
-  /* first assumption: short and long blocks use the same number of
-     alternate modes (things are currently configured that way) */
-  if(coupled_p){
-    int count=0;
-    for(i=1;i<PACKETBLOBS;i++)
-      if(point_dB[i-1]!=point_dB[i])alternate_modes++;
-
-    vorbis_encode_residue_one(vi,q,block,block*alternate_modes,
-			      coupled_p,in,point_dB[0],point_kHz);
-
-    ci->modeselect[block][0]=block*alternate_modes+count;
-    for(i=1;i<PACKETBLOBS;i++){
-      if(point_dB[i-1]!=point_dB[i])
-	vorbis_encode_residue_one(vi,q,block,block*alternate_modes+ ++count,
-				  coupled_p,in,point_dB[i],point_kHz);
-      ci->modeselect[block][i]=block*alternate_modes+count;
-    }
-
-
-  }else{
-    vorbis_encode_residue_one(vi,q,block,block*alternate_modes,
-			      coupled_p,in,0,
-			      point_kHz);
-    for(i=0;i<PACKETBLOBS;i++)
-      ci->modeselect[block][i]=block*alternate_modes;
   }
-
+   
   return(0);
 }      
 
@@ -559,16 +536,20 @@
   long channels=vi->channels;
   codec_setup_info *ci=vi->codec_setup;
   highlevel_encode_setup *hi=&ci->hi;
-
+  
   ret|=vorbis_encode_floor_setup(vi,hi->base_quality_short,0,
-				_floor_44_128_books,_floor_44_128,
-				0,1,1,2,2,2,2,2,2,2,2);
+				 _floor_44_128_books,_floor_44_128,
+				 0,1,1,2,0,2,2,2,2,2,2);
   ret|=vorbis_encode_floor_setup(vi,hi->base_quality_long,1,
-				_floor_44_1024_books,_floor_44_1024,
-				0,0,0,0,0,0,0,0,0,0,0);
+				 _floor_44_1024_books,_floor_44_1024,
+				 0,0,0,0,0,0,0,0,0,0,0);
   
   ret|=vorbis_encode_global_psych_setup(vi,hi->trigger_quality,_psy_global_44,
-				       0., 1., 1.5, 2., 2., 2.5, 3., 3.5, 4., 4., 4.);
+					0., 1., 1.5, 2., 2., 2.5, 3., 3.5, 4., 4., 4.);
+  
+  ret|=vorbis_encode_global_stereo(vi,hi,
+				   _psy_stereo_modes_44,
+				   _psy_stereo_pkHz_44);
 
   ret|=vorbis_encode_psyset_setup(vi,0);
   ret|=vorbis_encode_psyset_setup(vi,1);
@@ -653,37 +634,35 @@
 
   if(channels==2 && hi->stereo_couple_p){
     /* setup specific to stereo coupling */
-    
-    ret|=vorbis_encode_residue_setup(vi,hi->base_quality_short,0,
-				     1, /* coupled */
-				     _residue_template_44_stereo,
-				     _psy_stereo_modes_44[hi->stereo_point_dB_q],
-				     hi->stereo_point_kHz[0]);
+
+    if(hi->managed){
+      ret|=vorbis_encode_residue_setup(vi,hi->base_quality_short,0,
+				       1, /* coupled */
+				       _residue_template_44_stereo_m);
       
-    ret|=vorbis_encode_residue_setup(vi,hi->base_quality_long,1,
-				     1, /* coupled */
-				     _residue_template_44_stereo,
-				     _psy_stereo_modes_44[hi->stereo_point_dB_q],
-				     hi->stereo_point_kHz[1]);
+      ret|=vorbis_encode_residue_setup(vi,hi->base_quality_long,1,
+				       1, /* coupled */
+				       _residue_template_44_stereo_m);
+    }else{
+      ret|=vorbis_encode_residue_setup(vi,hi->base_quality_short,0,
+				       1, /* coupled */
+				       _residue_template_44_stereo);
+      
+      ret|=vorbis_encode_residue_setup(vi,hi->base_quality_long,1,
+				       1, /* coupled */
+				       _residue_template_44_stereo);
+    }
 
   }else{
     /* setup specific to non-stereo (mono or uncoupled polyphonic)
        coupling */
     ret|=vorbis_encode_residue_setup(vi,hi->base_quality_short,0,
                                      0, /* uncoupled */
-				     _residue_template_44_uncoupled,
-				     NULL,
-				     hi->stereo_point_kHz[0]); /* just
-				    used as an encoding partitioning
-				    point */
+				     _residue_template_44_uncoupled);
       
     ret|=vorbis_encode_residue_setup(vi,hi->base_quality_long,1,
                                     0, /* uncoupled */
-				    _residue_template_44_uncoupled,
-				    NULL,
-				    hi->stereo_point_kHz[1]); /* just
-				    used as an encoding partitioning
-				    point */
+				     _residue_template_44_uncoupled);
   }
     
   if(ret)
@@ -803,12 +782,7 @@
   hi->ath_absolute_dB=_psy_ath_abs[iq]*(1.-dq)+_psy_ath_abs[iq+1]*dq;
 
   /* set stereo dB and Hz */
-  /*iq=0;dq=0;*/
-  hi->stereo_point_dB_q=iq;
-  hi->stereo_point_kHz[0]=_psy_stereo_point_kHz_44[0][iq]*(1.-dq)+
-    _psy_stereo_point_kHz_44[0][iq+1]*dq;
-  hi->stereo_point_kHz[1]=_psy_stereo_point_kHz_44[1][iq]*(1.-dq)+
-    _psy_stereo_point_kHz_44[1][iq+1]*dq;
+  hi->stereo_point_q=base_quality;
   
   /* set lowpass */
   hi->lowpass_kHz[0]=
@@ -871,6 +845,8 @@
 
   approx_vbr=approx_bitrate_to_vbr(channels,(channels==2), 
                                    (float)nominal_bitrate,rate);
+  approx_vbr=.4;
+
   if(approx_vbr<0)return(OV_EIMPL);
 
 
@@ -891,7 +867,8 @@
     
     ci->bi.queue_avgmin=tnominal;
     ci->bi.queue_avgmax=tnominal;
-
+    
+    ci->hi.managed=1;
   }
   vi->bitrate_nominal = nominal_bitrate;
   vi->bitrate_lower = min_bitrate;

<p><p>No                   revision

<p>No                   revision

<p>1.5.6.1   +7 -7      vorbis/lib/books/coupled/_44c4_long.vqh

Index: _44c4_long.vqh
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/books/coupled/_44c4_long.vqh,v
retrieving revision 1.5
retrieving revision 1.5.6.1
diff -u -r1.5 -r1.5.6.1
--- _44c4_long.vqh	2001/12/19 01:08:19	1.5
+++ _44c4_long.vqh	2002/05/31 00:16:13	1.5.6.1
@@ -19,13 +19,13 @@
 #include "codebook.h"
 
 static long _huff_lengthlist__44c4_long[] = {
-	 2, 9, 7,12,10,13,11,10,12,15, 9, 4, 6, 5, 8, 7,
-	10, 8,11,17, 5,19, 3,19, 5,19, 8,11,18,19,12, 5,
-	 8, 4, 8, 5,10, 7,11,18,10,19, 5,19, 6,19, 8,12,
-	19,19,12, 7,11, 5,10, 6,11, 6,11,15,11,19, 8,19,
-	 8,19, 9,13,19,19,10, 7,10, 6,11, 5,11, 5, 8,13,
-	11,10,17,10,19, 9,18, 6, 7,11,11,13,19,13,19,11,
-	19, 7, 7,10,
+	 3, 9, 6,11,11,11,11,11,12,14, 8, 7, 7, 8,13,10,
+	12,13,15,16, 5, 7, 2, 5, 5, 6, 8, 9,11,13,10, 8,
+	 5, 5, 7, 7, 9,10,12,16,10,13, 4, 7, 5, 6, 7, 9,
+	11,15,10, 9, 6, 6, 6, 6, 6, 8,10,14,11,11, 7, 8,
+	 7, 6, 6, 7, 9,14,11,13, 9, 9, 8, 7, 6, 7, 8,12,
+	11,14,10,11,10, 9, 8, 7, 7, 9,11,15,12,13,13,10,
+	 9, 7, 7, 8,
 };
 
 static static_codebook _huff_book__44c4_long = {

<p><p>1.2.6.1   +6 -6      vorbis/lib/books/coupled/_44c4_s0_p2_0.vqh

Index: _44c4_s0_p2_0.vqh
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/books/coupled/_44c4_s0_p2_0.vqh,v
retrieving revision 1.2
retrieving revision 1.2.6.1
diff -u -r1.2 -r1.2.6.1
--- _44c4_s0_p2_0.vqh	2001/12/19 01:08:19	1.2
+++ _44c4_s0_p2_0.vqh	2002/05/31 00:16:14	1.2.6.1
@@ -28,10 +28,10 @@
 
 static long _vq_lengthlist__44c4_s0_p2_0[] = {
          1, 6, 6, 0, 0, 0, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0,
-	 8, 8, 0, 0, 0, 0, 0, 0, 0, 6, 8, 7, 0, 0, 0, 9,
-	 8, 0, 0, 0, 8, 8, 0, 0, 0,12,12, 0, 0, 0, 0, 0,
+	 8, 8, 0, 0, 0, 0, 0, 0, 0, 6, 8, 8, 0, 0, 0, 9,
+	 8, 0, 0, 0, 8, 8, 0, 0, 0,11,11, 0, 0, 0, 0, 0,
          0, 0, 6, 8, 8, 0, 0, 0, 8, 9, 0, 0, 0, 8, 8, 0,
-	 0, 0,12,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	 0, 0,11,11, 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, 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,
@@ -45,15 +45,15 @@
          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, 5, 9, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 7,
-	 0, 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0, 5, 8, 9, 0,
+	 0, 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0, 5, 8, 8, 0,
          0, 0, 8, 8, 0, 0, 0, 7, 8, 0, 0, 0,10,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, 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, 0, 0, 0, 0, 0,
          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 8,12,12, 0, 0, 0,10,10, 0, 0, 0,10,10, 0, 0, 0,
-	11,11, 0, 0, 0, 0, 0, 0, 0, 8,12,12, 0, 0, 0,10,
+	 8,11,11, 0, 0, 0,10,10, 0, 0, 0,10,10, 0, 0, 0,
+	11,11, 0, 0, 0, 0, 0, 0, 0, 8,11,11, 0, 0, 0,10,
         10, 0, 0, 0,10,10, 0, 0, 0,11,11, 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, 0, 0,

<p><p>1.5.6.1   +47 -18    vorbis/lib/books/coupled/_44c4_s0_p3_0.vqh

Index: _44c4_s0_p3_0.vqh
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/books/coupled/_44c4_s0_p3_0.vqh,v
retrieving revision 1.5
retrieving revision 1.5.6.1
diff -u -r1.5 -r1.5.6.1
--- _44c4_s0_p3_0.vqh	2001/12/19 01:08:19	1.5
+++ _44c4_s0_p3_0.vqh	2002/05/31 00:16:14	1.5.6.1
@@ -19,46 +19,75 @@
 #include "codebook.h"
 
 static long _vq_quantlist__44c4_s0_p3_0[] = {
-	4,
-	3,
-	5,
         2,
-	6,
         1,
-	7,
+	3,
         0,
-	8,
+	4,
 };
 
 static long _vq_lengthlist__44c4_s0_p3_0[] = {
-	 2, 3, 3, 6, 6, 0, 0, 0, 0, 0, 4, 4, 6, 6, 0, 0,
-	 0, 0, 0, 4, 4, 6, 6, 0, 0, 0, 0, 0, 5, 5, 6, 6,
-	 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0,
-	 7, 7, 0, 0, 0, 0, 0, 0, 0, 7, 8, 0, 0, 0, 0, 0,
-	 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	 2, 4, 4, 7, 7, 0, 6, 6, 8, 8, 0, 6, 6, 8, 8, 0,
+	 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 6, 8, 8, 0, 8,
+	 7, 9, 9, 0, 7, 7, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0,
+	 0, 0, 5, 6, 6, 8, 8, 0, 7, 8, 8, 9, 0, 7, 7, 9,
+	 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 9, 9,
+	 0,10,10,12,11, 0,10,10,11,11, 0, 0, 0, 0, 0, 0,
+	 0, 0, 0, 0, 7, 8, 8, 9, 9, 0,10,10,11,12, 0,10,
+	10,11,11, 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, 6, 7, 7,10,10, 0, 8, 8,10, 9,
+	 0, 8, 8,10,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,
+	 7, 7,10,10, 0, 8, 8, 9,10, 0, 8, 8,10,10, 0, 0,
+	 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 9,11,11, 0,10, 9,
+	11,11, 0,10,10,12,11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	 0, 8, 9, 9,11,11, 0, 9,10,11,11, 0,10,10,12,12,
+	 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, 6, 8, 7,10,10, 0, 8, 8,10,10, 0, 8, 8,
+	10, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 8,10,
+	10, 0, 8, 8,10,10, 0, 8, 8, 9,10, 0, 0, 0, 0, 0,
+	 0, 0, 0, 0, 0, 8, 9, 9,11,11, 0,10,10,12,11, 0,
+	10, 9,11,11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9,
+	 9,11,12, 0,10,10,11,12, 0, 9,10,11,11, 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,
+	 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, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
          0,
 };
 
 static float _vq_quantthresh__44c4_s0_p3_0[] = {
-	-3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 
+	-1.5, -0.5, 0.5, 1.5, 
 };
 
 static long _vq_quantmap__44c4_s0_p3_0[] = {
-	    7,    5,    3,    1,    0,    2,    4,    6,
-	    8,
+	    3,    1,    0,    2,    4,
 };
 
 static encode_aux_threshmatch _vq_auxt__44c4_s0_p3_0 = {
         _vq_quantthresh__44c4_s0_p3_0,
         _vq_quantmap__44c4_s0_p3_0,
-	9,
-	9
+	5,
+	5
 };
 
 static static_codebook _44c4_s0_p3_0 = {
-	2, 81,
+	4, 625,
         _vq_lengthlist__44c4_s0_p3_0,
-	1, -531628032, 1611661312, 4, 0,
+	1, -533725184, 1611661312, 3, 0,
         _vq_quantlist__44c4_s0_p3_0,
         NULL,
         &_vq_auxt__44c4_s0_p3_0,

<p><p>1.2.6.1   +5 -5      vorbis/lib/books/coupled/_44c4_s0_p4_0.vqh

Index: _44c4_s0_p4_0.vqh
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/books/coupled/_44c4_s0_p4_0.vqh,v
retrieving revision 1.2
retrieving revision 1.2.6.1
diff -u -r1.2 -r1.2.6.1
--- _44c4_s0_p4_0.vqh	2001/12/19 01:08:19	1.2
+++ _44c4_s0_p4_0.vqh	2002/05/31 00:16:14	1.2.6.1
@@ -31,11 +31,11 @@
 };
 
 static long _vq_lengthlist__44c4_s0_p4_0[] = {
-	 1, 4, 4, 7, 7, 0, 0, 0, 0, 0, 4, 4, 7, 7, 0, 0,
-	 0, 0, 0, 4, 4, 7, 7, 0, 0, 0, 0, 0, 6, 6, 7, 7,
-	 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0,
-	 9, 8, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0,
-	 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	 2, 4, 4, 8, 8, 0, 0, 0, 0, 0, 4, 3, 7, 7, 0, 0,
+	 0, 0, 0, 3, 3, 7, 7, 0, 0, 0, 0, 0, 5, 5, 6, 6,
+	 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0,
+	 8, 8, 0, 0, 0, 0, 0, 0, 0, 8, 7, 0, 0, 0, 0, 0,
+	 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
          0,
 };
 

<p><p>1.5.6.1   +17 -40    vorbis/lib/books/coupled/_44c4_s0_p5_0.vqh

Index: _44c4_s0_p5_0.vqh
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/books/coupled/_44c4_s0_p5_0.vqh,v
retrieving revision 1.5
retrieving revision 1.5.6.1
diff -u -r1.5 -r1.5.6.1
--- _44c4_s0_p5_0.vqh	2001/12/19 01:08:19	1.5
+++ _44c4_s0_p5_0.vqh	2002/05/31 00:16:14	1.5.6.1
@@ -19,69 +19,46 @@
 #include "codebook.h"
 
 static long _vq_quantlist__44c4_s0_p5_0[] = {
-	8,
-	7,
-	9,
-	6,
-	10,
-	5,
-	11,
         4,
-	12,
         3,
-	13,
+	5,
         2,
-	14,
+	6,
         1,
-	15,
+	7,
         0,
-	16,
+	8,
 };
 
 static long _vq_lengthlist__44c4_s0_p5_0[] = {
-	 2, 4, 4, 5, 6, 7, 7, 9, 9, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 5, 5, 7, 7, 8, 8, 9, 9, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 7, 6, 8, 8, 9, 9, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 8, 8,10,10, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 8, 8,10,10, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9,10,10,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9,10,
-	10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9,
-	11,11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,
-	 9,10,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	11,10,11,11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0,11,11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0,12,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0,12,12, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0,12,12, 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,
+	 2, 4, 3, 6, 6, 7, 7, 8, 8, 0, 4, 4, 6, 6, 7, 7,
+	 9, 9, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 6, 6, 7, 7,
+	 7, 7, 9, 9, 0, 0, 0, 7, 7, 7, 7, 9, 9, 0, 0, 0,
+	 8, 7, 8, 8,10,10, 0, 0, 0, 8, 8, 8, 8,10,10, 0,
+	 0, 0, 9, 9, 9, 9,10,10, 0, 0, 0, 0, 0, 9, 9,10,
+	10,
 };
 
 static float _vq_quantthresh__44c4_s0_p5_0[] = {
-	-7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 
-	0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 
+	-3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 
 };
 
 static long _vq_quantmap__44c4_s0_p5_0[] = {
-	   15,   13,   11,    9,    7,    5,    3,    1,
-	    0,    2,    4,    6,    8,   10,   12,   14,
-	   16,
+	    7,    5,    3,    1,    0,    2,    4,    6,
+	    8,
 };
 
 static encode_aux_threshmatch _vq_auxt__44c4_s0_p5_0 = {
         _vq_quantthresh__44c4_s0_p5_0,
         _vq_quantmap__44c4_s0_p5_0,
-	17,
-	17
+	9,
+	9
 };
 
 static static_codebook _44c4_s0_p5_0 = {
-	2, 289,
+	2, 81,
         _vq_lengthlist__44c4_s0_p5_0,
-	1, -529530880, 1611661312, 5, 0,
+	1, -531628032, 1611661312, 4, 0,
         _vq_quantlist__44c4_s0_p5_0,
         NULL,
         &_vq_auxt__44c4_s0_p5_0,

<p><p>1.2.6.1   +19 -19    vorbis/lib/books/coupled/_44c4_s0_p6_0.vqh

Index: _44c4_s0_p6_0.vqh
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/books/coupled/_44c4_s0_p6_0.vqh,v
retrieving revision 1.2
retrieving revision 1.2.6.1
diff -u -r1.2 -r1.2.6.1
--- _44c4_s0_p6_0.vqh	2001/12/19 01:08:19	1.2
+++ _44c4_s0_p6_0.vqh	2002/05/31 00:16:14	1.2.6.1
@@ -39,25 +39,25 @@
 };
 
 static long _vq_lengthlist__44c4_s0_p6_0[] = {
-	 2, 4, 4, 6, 6, 7, 7, 9, 9, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 5, 5, 7, 7, 7, 7,10,10, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 7, 6, 7, 7, 9,10, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 8, 8,10,10, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 8, 8,10,10, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 9, 9,11,11,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9,10,
-	10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9,
-	11,11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,
-	 9,11,11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	10,10,12,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0,12,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0,12,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0,13,13, 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,
+	 2, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,11,11,
+	11, 0, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,11,
+	12,12, 0, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,
+	11,12,12, 0, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9,10,11,
+	11,11,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9,10, 9,11,
+	10,11,12,12,12, 0, 0, 0, 7, 7, 9, 9,10,10,10,10,
+	11,11,12,11,12,12, 0, 0, 0, 7, 7, 9, 8,10,10,10,
+	10,11,11,12,12,12,12, 0, 0, 0, 8, 8, 9, 9,10,10,
+	10,10,11,11,12,12,12,12, 0, 0, 0, 0, 0, 9, 9,10,
+	10,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 9, 9,
+	 9, 9,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0, 9,
+	 9, 9, 9,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0,
+	10, 9,10,10,11,11,11,11,12,12,13,13, 0, 0, 0, 0,
+	 0, 0, 0,10,10,11,11,11,11,12,12,13,13, 0, 0, 0,
+	 0, 0, 0, 0,11,11,11,11,12,12,13,13,13,13, 0, 0,
+	 0, 0, 0, 0, 0,11,11,11,11,12,12,12,12,13,13, 0,
+	 0, 0, 0, 0, 0, 0,11,11,12,12,12,12,13,13,13,13,
+	 0, 0, 0, 0, 0, 0, 0, 0, 0,12,12,12,12,13,13,13,
+	13,
 };
 
 static float _vq_quantthresh__44c4_s0_p6_0[] = {

<p><p>1.4.6.1   +45 -9     vorbis/lib/books/coupled/_44c4_s1_p2_0.vqh

Index: _44c4_s1_p2_0.vqh
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/books/coupled/_44c4_s1_p2_0.vqh,v
retrieving revision 1.4
retrieving revision 1.4.6.1
diff -u -r1.4 -r1.4.6.1
--- _44c4_s1_p2_0.vqh	2001/12/19 01:08:20	1.4
+++ _44c4_s1_p2_0.vqh	2002/05/31 00:16:14	1.4.6.1
@@ -19,39 +19,75 @@
 #include "codebook.h"
 
 static long _vq_quantlist__44c4_s1_p2_0[] = {
+	2,
         1,
+	3,
         0,
-	2,
+	4,
 };
 
 static long _vq_lengthlist__44c4_s1_p2_0[] = {
-	 1, 3, 3, 0, 0, 0, 0, 0, 0, 4, 5, 5, 0, 0, 0, 0,
-	 0, 0, 4, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	 2, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0,
+	 7, 7, 0, 0, 0, 0, 0, 0, 0, 5, 7, 6, 0, 0, 0, 8,
+	 7, 0, 0, 0, 7, 7, 0, 0, 0,10,10, 0, 0, 0, 0, 0,
+	 0, 0, 5, 6, 7, 0, 0, 0, 7, 8, 0, 0, 0, 7, 7, 0,
+	 0, 0,10,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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 7, 7, 0, 0,
+	 0, 7, 7, 0, 0, 0, 9, 8, 0, 0, 0, 0, 0, 0, 0, 5,
+	 7, 7, 0, 0, 0, 6, 7, 0, 0, 0, 7, 7, 0, 0, 0, 9,
+	 9, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	 0, 0, 0, 5, 8, 7, 0, 0, 0, 7, 7, 0, 0, 0, 7, 6,
+	 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 5, 7, 8, 0,
+	 0, 0, 7, 7, 0, 0, 0, 7, 7, 0, 0, 0, 9, 9, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	 7,10,10, 0, 0, 0, 9, 9, 0, 0, 0, 9, 9, 0, 0, 0,
+	10, 9, 0, 0, 0, 0, 0, 0, 0, 7,10,10, 0, 0, 0, 9,
+	 9, 0, 0, 0, 9, 9, 0, 0, 0, 9,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, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
          0,
 };
 
 static float _vq_quantthresh__44c4_s1_p2_0[] = {
-	-0.5, 0.5, 
+	-1.5, -0.5, 0.5, 1.5, 
 };
 
 static long _vq_quantmap__44c4_s1_p2_0[] = {
-	    1,    0,    2,
+	    3,    1,    0,    2,    4,
 };
 
 static encode_aux_threshmatch _vq_auxt__44c4_s1_p2_0 = {
         _vq_quantthresh__44c4_s1_p2_0,
         _vq_quantmap__44c4_s1_p2_0,
-	3,
-	3
+	5,
+	5
 };
 
 static static_codebook _44c4_s1_p2_0 = {
-	4, 81,
+	4, 625,
         _vq_lengthlist__44c4_s1_p2_0,
-	1, -535822336, 1611661312, 2, 0,
+	1, -533725184, 1611661312, 3, 0,
         _vq_quantlist__44c4_s1_p2_0,
         NULL,
         &_vq_auxt__44c4_s1_p2_0,

<p><p>1.5.6.1   +18 -47    vorbis/lib/books/coupled/_44c4_s1_p4_0.vqh

Index: _44c4_s1_p4_0.vqh
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/books/coupled/_44c4_s1_p4_0.vqh,v
retrieving revision 1.5
retrieving revision 1.5.6.1
diff -u -r1.5 -r1.5.6.1
--- _44c4_s1_p4_0.vqh	2001/12/19 01:08:20	1.5
+++ _44c4_s1_p4_0.vqh	2002/05/31 00:16:14	1.5.6.1
@@ -19,75 +19,46 @@
 #include "codebook.h"
 
 static long _vq_quantlist__44c4_s1_p4_0[] = {
+	4,
+	3,
+	5,
         2,
+	6,
         1,
-	3,
+	7,
         0,
-	4,
+	8,
 };
 
 static long _vq_lengthlist__44c4_s1_p4_0[] = {
-	 2, 3, 3, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 7, 7, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 4, 4, 4, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 8, 8,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 7, 7, 7, 8, 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, 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, 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, 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, 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,
-	 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0, 0,
+	 2, 4, 4, 8, 8, 0, 0, 0, 0, 0, 3, 3, 7, 7, 0, 0,
+	 0, 0, 0, 4, 3, 7, 7, 0, 0, 0, 0, 0, 5, 5, 6, 6,
+	 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0,
+	 8, 7, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0,
+	 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
          0,
 };
 
 static float _vq_quantthresh__44c4_s1_p4_0[] = {
-	-1.5, -0.5, 0.5, 1.5, 
+	-3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 
 };
 
 static long _vq_quantmap__44c4_s1_p4_0[] = {
-	    3,    1,    0,    2,    4,
+	    7,    5,    3,    1,    0,    2,    4,    6,
+	    8,
 };
 
 static encode_aux_threshmatch _vq_auxt__44c4_s1_p4_0 = {
         _vq_quantthresh__44c4_s1_p4_0,
         _vq_quantmap__44c4_s1_p4_0,
-	5,
-	5
+	9,
+	9
 };
 
 static static_codebook _44c4_s1_p4_0 = {
-	4, 625,
+	2, 81,
         _vq_lengthlist__44c4_s1_p4_0,
-	1, -533725184, 1611661312, 3, 0,
+	1, -531628032, 1611661312, 4, 0,
         _vq_quantlist__44c4_s1_p4_0,
         NULL,
         &_vq_auxt__44c4_s1_p4_0,

<p><p>1.5.6.1   +19 -19    vorbis/lib/books/coupled/_44c4_s1_p6_0.vqh

Index: _44c4_s1_p6_0.vqh
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/books/coupled/_44c4_s1_p6_0.vqh,v
retrieving revision 1.5
retrieving revision 1.5.6.1
diff -u -r1.5 -r1.5.6.1
--- _44c4_s1_p6_0.vqh	2001/12/19 01:08:20	1.5
+++ _44c4_s1_p6_0.vqh	2002/05/31 00:16:14	1.5.6.1
@@ -39,25 +39,25 @@
 };
 
 static long _vq_lengthlist__44c4_s1_p6_0[] = {
-	 1, 2, 3, 5, 5, 8, 8,10,10, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 8, 8,10,10, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 8, 8,11,10, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 8, 9,11,11, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 8,11,11, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9,11,11, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9,11,11, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,10,10,12,12,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,10,10,11,
-	12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,11,11,
-	12,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,10,
-	10,13,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	12,12,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0,14,14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0,14,14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0,14,14, 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,
+	 2, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,10,11,
+	11, 0, 4, 4, 7, 6, 8, 8, 9, 9, 9, 9,10,10,11,11,
+	12,12, 0, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,
+	11,12,12, 0, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9,10,10,
+	11,11,12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,
+	10,11,11,12,12, 0, 0, 0, 8, 8, 8, 8, 9, 9,10, 9,
+	11,11,11,11,12,12, 0, 0, 0, 8, 8, 8, 8, 9,10,10,
+	10,11,11,12,12,12,12, 0, 0, 0, 8, 8, 9, 9,10,10,
+	10,10,11,11,12,11,12,12, 0, 0, 0, 0, 0, 9, 9,10,
+	10,10,10,11,11,12,12,13,12, 0, 0, 0, 0, 0, 8, 8,
+	 9, 9,10,10,11,11,12,12,13,12, 0, 0, 0, 0, 0, 8,
+	 8, 9, 9,10,10,11,11,12,12,13,13, 0, 0, 0, 0, 0,
+	 9, 9,10,10,11,11,11,11,12,12,13,13, 0, 0, 0, 0,
+	 0, 0, 0,10,10,11,10,11,11,12,12,13,13, 0, 0, 0,
+	 0, 0, 0, 0,11,11,11,11,12,12,12,12,13,13, 0, 0,
+	 0, 0, 0, 0, 0,10,11,11,11,12,12,12,12,13,13, 0,
+	 0, 0, 0, 0, 0, 0,11,11,12,12,12,12,12,13,13,13,
+	 0, 0, 0, 0, 0, 0, 0, 0, 0,12,12,12,12,12,13,13,
+	13,
 };
 
 static float _vq_quantthresh__44c4_s1_p6_0[] = {

<p><p>1.5.6.1   +21 -26    vorbis/lib/books/coupled/_44c4_s1_p7_0.vqh

Index: _44c4_s1_p7_0.vqh
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/books/coupled/_44c4_s1_p7_0.vqh,v
retrieving revision 1.5
retrieving revision 1.5.6.1
diff -u -r1.5 -r1.5.6.1
--- _44c4_s1_p7_0.vqh	2001/12/19 01:08:20	1.5
+++ _44c4_s1_p7_0.vqh	2002/05/31 00:16:14	1.5.6.1
@@ -19,56 +19,51 @@
 #include "codebook.h"
 
 static long _vq_quantlist__44c4_s1_p7_0[] = {
-	6,
         5,
-	7,
         4,
-	8,
+	6,
         3,
-	9,
+	7,
         2,
-	10,
+	8,
         1,
-	11,
+	9,
         0,
-	12,
+	10,
 };
 
 static long _vq_lengthlist__44c4_s1_p7_0[] = {
-	 1, 3, 4, 6, 6, 8, 9, 0, 0, 0, 0, 0, 0, 5, 5, 5,
-	 7, 7, 9, 9, 0, 0, 0, 0, 0, 0, 6, 5, 5, 7, 7, 9,
-	 9, 0, 0, 0, 0, 0, 0, 0, 7, 7, 8, 8,10,10, 0, 0,
-	 0, 0, 0, 0, 0, 8, 7, 8, 8,10,10, 0, 0, 0, 0, 0,
-	 0, 0,11,12, 9, 9,11,10, 0, 0, 0, 0, 0, 0, 0,13,
-	12, 9, 9,10,10, 0, 0, 0, 0, 0, 0, 0, 0, 0,11,11,
-	11,11, 0, 0, 0, 0, 0, 0, 0, 0, 0,11,11,11,11, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0,14,15,12,12, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0,15,15,12,12, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0,14,14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0,14,15, 0, 0, 0, 0, 0, 0,
+	 1, 4, 4, 7, 7, 7, 7, 8, 8,10,10, 5, 5, 5, 7, 7,
+	 8, 8, 9, 9,10,10, 0, 5, 5, 7, 7, 8, 8, 9, 9,10,
+	10, 0, 7, 7, 8, 8, 8, 8, 9, 9,10,11, 0, 8, 8, 8,
+	 8, 8, 8,10, 9,11,11, 0,11,11, 8, 8, 9, 9,10,10,
+	11,11, 0, 0, 0, 8, 8, 9, 9,10,10,11,11, 0, 0, 0,
+	10,10, 9, 9,10,10,11,11, 0, 0, 0,10,10, 9, 9,10,
+	10,11,11, 0, 0, 0,13,13,10,10,11,11,12,12, 0, 0,
+	 0, 0, 0,10,10,11,11,12,11,
 };
 
 static float _vq_quantthresh__44c4_s1_p7_0[] = {
-	-27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5, 
-	12.5, 17.5, 22.5, 27.5, 
+	-13.5, -10.5, -7.5, -4.5, -1.5, 1.5, 4.5, 7.5, 
+	10.5, 13.5, 
 };
 
 static long _vq_quantmap__44c4_s1_p7_0[] = {
-	   11,    9,    7,    5,    3,    1,    0,    2,
-	    4,    6,    8,   10,   12,
+	    9,    7,    5,    3,    1,    0,    2,    4,
+	    6,    8,   10,
 };
 
 static encode_aux_threshmatch _vq_auxt__44c4_s1_p7_0 = {
         _vq_quantthresh__44c4_s1_p7_0,
         _vq_quantmap__44c4_s1_p7_0,
-	13,
-	13
+	11,
+	11
 };
 
 static static_codebook _44c4_s1_p7_0 = {
-	2, 169,
+	2, 121,
         _vq_lengthlist__44c4_s1_p7_0,
-	1, -526516224, 1616117760, 4, 0,
+	1, -528613376, 1614282752, 4, 0,
         _vq_quantlist__44c4_s1_p7_0,
         NULL,
         &_vq_auxt__44c4_s1_p7_0,

<p><p>1.4.6.1   +8 -11     vorbis/lib/books/coupled/_44c4_s1_p7_1.vqh

Index: _44c4_s1_p7_1.vqh
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/books/coupled/_44c4_s1_p7_1.vqh,v
retrieving revision 1.4
retrieving revision 1.4.6.1
diff -u -r1.4 -r1.4.6.1
--- _44c4_s1_p7_1.vqh	2001/12/19 01:08:20	1.4
+++ _44c4_s1_p7_1.vqh	2002/05/31 00:16:14	1.4.6.1
@@ -19,37 +19,34 @@
 #include "codebook.h"
 
 static long _vq_quantlist__44c4_s1_p7_1[] = {
-	2,
         1,
-	3,
         0,
-	4,
+	2,
 };
 
 static long _vq_lengthlist__44c4_s1_p7_1[] = {
-	 2, 4, 4, 5, 5, 7, 4, 4, 6, 6, 7, 4, 4, 5, 5, 7,
-	 5, 5, 5, 6, 7, 7, 7, 5, 5,
+	 2, 3, 3, 5, 4, 3, 5, 3, 3,
 };
 
 static float _vq_quantthresh__44c4_s1_p7_1[] = {
-	-1.5, -0.5, 0.5, 1.5, 
+	-0.5, 0.5, 
 };
 
 static long _vq_quantmap__44c4_s1_p7_1[] = {
-	    3,    1,    0,    2,    4,
+	    1,    0,    2,
 };
 
 static encode_aux_threshmatch _vq_auxt__44c4_s1_p7_1 = {
         _vq_quantthresh__44c4_s1_p7_1,
         _vq_quantmap__44c4_s1_p7_1,
-	5,
-	5
+	3,
+	3
 };
 
 static static_codebook _44c4_s1_p7_1 = {
-	2, 25,
+	2, 9,
         _vq_lengthlist__44c4_s1_p7_1,
-	1, -533725184, 1611661312, 3, 0,
+	1, -535822336, 1611661312, 2, 0,
         _vq_quantlist__44c4_s1_p7_1,
         NULL,
         &_vq_auxt__44c4_s1_p7_1,

<p><p>1.5.6.1   +14 -14    vorbis/lib/books/coupled/_44c4_s1_p8_0.vqh

Index: _44c4_s1_p8_0.vqh
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/books/coupled/_44c4_s1_p8_0.vqh,v
retrieving revision 1.5
retrieving revision 1.5.6.1
diff -u -r1.5 -r1.5.6.1
--- _44c4_s1_p8_0.vqh	2001/12/19 01:08:20	1.5
+++ _44c4_s1_p8_0.vqh	2002/05/31 00:16:14	1.5.6.1
@@ -35,22 +35,22 @@
 };
 
 static long _vq_lengthlist__44c4_s1_p8_0[] = {
-	 1, 4, 3, 6, 5, 7, 7, 0, 0, 0, 0, 0, 0, 6, 5, 5,
-	 7, 7, 9, 9, 0, 0, 0, 0, 0, 0, 6, 5, 5, 7, 7, 9,
-	 9, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 9, 9, 0, 0,
-	 0, 0, 0, 0, 0, 8, 8, 8, 8, 9,10, 0, 0, 0, 0, 0,
-	 0, 0,12,12, 9, 9,10,11, 0, 0, 0, 0, 0, 0, 0,12,
-	12, 9, 9,11,11, 0, 0, 0, 0, 0, 0, 0, 0, 0,11,11,
-	11,11, 0, 0, 0, 0, 0, 0, 0, 0, 0,11,11,11,11, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0,14,15,12,12, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0,15,14,12,12, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0,14,14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0,14,13, 0, 0, 0, 0, 0, 0,
+	 1, 4, 4, 6, 6, 8, 8, 8, 8, 9, 9,10,10, 6, 5, 5,
+	 7, 7, 8, 8, 9, 9,10,10,10,10, 7, 5, 5, 7, 7, 8,
+	 8, 9, 9,10,10,11,10, 0, 8, 8, 8, 8, 9, 9, 9, 9,
+	10,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,10,10,11,
+	11, 0,12,11, 8, 9, 9, 9,10,10,11,10,11,11, 0,13,
+	13, 9, 9, 9, 9,10,10,11,11,12,12, 0, 0, 0, 9, 9,
+	 9, 9,10,10,11,11,12,12, 0, 0, 0,10,10, 9, 9,10,
+	10,11,11,12,12, 0, 0, 0,13,14,10,10,11,11,12,12,
+	13,13, 0, 0, 0,14,14,10,10,11,11,12,12,13,13, 0,
+	 0, 0, 0, 0,11,12,11,11,12,12,13,13, 0, 0, 0, 0,
+	 0,12,12,11,11,12,12,14,13,
 };
 
 static float _vq_quantthresh__44c4_s1_p8_0[] = {
-	-71.5, -58.5, -45.5, -32.5, -19.5, -6.5, 6.5, 19.5, 
-	32.5, 45.5, 58.5, 71.5, 
+	-27.5, -22.5, -17.5, -12.5, -7.5, -2.5, 2.5, 7.5, 
+	12.5, 17.5, 22.5, 27.5, 
 };
 
 static long _vq_quantmap__44c4_s1_p8_0[] = {
@@ -68,7 +68,7 @@
 static static_codebook _44c4_s1_p8_0 = {
         2, 169,
         _vq_lengthlist__44c4_s1_p8_0,
-	1, -523010048, 1618608128, 4, 0,
+	1, -526516224, 1616117760, 4, 0,
         _vq_quantlist__44c4_s1_p8_0,
         NULL,
         &_vq_auxt__44c4_s1_p8_0,

<p><p>1.5.6.1   +10 -29    vorbis/lib/books/coupled/_44c4_s1_p8_1.vqh

Index: _44c4_s1_p8_1.vqh
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/books/coupled/_44c4_s1_p8_1.vqh,v
retrieving revision 1.5
retrieving revision 1.5.6.1
diff -u -r1.5 -r1.5.6.1
--- _44c4_s1_p8_1.vqh	2001/12/19 01:08:20	1.5
+++ _44c4_s1_p8_1.vqh	2002/05/31 00:16:14	1.5.6.1
@@ -19,56 +19,37 @@
 #include "codebook.h"
 
 static long _vq_quantlist__44c4_s1_p8_1[] = {
-	6,
-	5,
-	7,
-	4,
-	8,
-	3,
-	9,
         2,
-	10,
         1,
-	11,
+	3,
         0,
-	12,
+	4,
 };
 
 static long _vq_lengthlist__44c4_s1_p8_1[] = {
-	 3, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 9, 5, 5,
-	 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 5, 5, 6, 6, 7,
-	 7, 8, 7, 8, 8, 8, 8, 9, 7, 7, 7, 7, 7, 7, 8, 8,
-	 8, 8, 8, 8, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, 8, 8,
-	 8, 9, 9,10, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,10, 9,
-	 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,10, 9,10, 8, 8,
-	 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 8, 8, 8,
-	 8, 8, 8, 8, 8, 9, 9,10, 9, 9, 8, 8, 8, 8, 8, 8,
-	 8, 8, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8,10,
-	 9,10, 9,10, 9, 9, 8, 8, 8, 8, 8, 8,10,10, 9,10,
-	10, 9, 9, 8, 8, 8, 8, 8, 8,
+	 2, 4, 4, 5, 5, 6, 5, 5, 5, 5, 6, 4, 5, 5, 5, 6,
+	 5, 5, 5, 5, 6, 6, 6, 5, 5,
 };
 
 static float _vq_quantthresh__44c4_s1_p8_1[] = {
-	-5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 
-	2.5, 3.5, 4.5, 5.5, 
+	-1.5, -0.5, 0.5, 1.5, 
 };
 
 static long _vq_quantmap__44c4_s1_p8_1[] = {
-	   11,    9,    7,    5,    3,    1,    0,    2,
-	    4,    6,    8,   10,   12,
+	    3,    1,    0,    2,    4,
 };
 
 static encode_aux_threshmatch _vq_auxt__44c4_s1_p8_1 = {
         _vq_quantthresh__44c4_s1_p8_1,
         _vq_quantmap__44c4_s1_p8_1,
-	13,
-	13
+	5,
+	5
 };
 
 static static_codebook _44c4_s1_p8_1 = {
-	2, 169,
+	2, 25,
         _vq_lengthlist__44c4_s1_p8_1,
-	1, -531103744, 1611661312, 4, 0,
+	1, -533725184, 1611661312, 3, 0,
         _vq_quantlist__44c4_s1_p8_1,
         NULL,
         &_vq_auxt__44c4_s1_p8_1,

<p><p>1.5.6.1   +10 -10    vorbis/lib/books/coupled/_44c4_s1_p9_0.vqh

Index: _44c4_s1_p9_0.vqh
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/books/coupled/_44c4_s1_p9_0.vqh,v
retrieving revision 1.5
retrieving revision 1.5.6.1
diff -u -r1.5 -r1.5.6.1
--- _44c4_s1_p9_0.vqh	2001/12/19 01:08:20	1.5
+++ _44c4_s1_p9_0.vqh	2002/05/31 00:16:14	1.5.6.1
@@ -35,17 +35,17 @@
 };
 
 static long _vq_lengthlist__44c4_s1_p9_0[] = {
-	 1, 3, 3, 9, 8,13,14,14,14,14,14,14,14, 5, 5, 6,
-	 9,10,14,14,14,14,14,14,14,14, 5, 6, 4,11,10,13,
-	13,14,14,14,14,14,14,14, 6,10,13,13,14,14,14,14,
-	14,14,14,14,14,11, 6,13,12,14,14,14,14,14,14,14,
-	14,14,12,13, 9,14,13,14,14,14,14,14,14,14,14,14,
-	12,14,12,14,14,14,14,14,14,14,14,14,14,14,13,13,
-	14,14,14,14,14,14,14,14,14,14,14,14, 9,14,13,14,
-	14,14,14,14,14,14,14,14,10,14,12,14,14,14,14,14,
-	14,14,14,14,14,14, 9,14, 9,14,14,14,14,14,14,14,
+	 1, 3, 3, 9,10,14,14,14,14,14,14,14,14, 5, 5, 6,
+	10,11,14,14,14,14,14,14,14,14, 4, 6, 4,11,11,14,
+	14,14,14,14,14,14,14,14, 8, 9,11,13,14,14,14,14,
+	14,14,14,14,14,10, 8,14,12,14,14,14,14,14,14,14,
+	14,14,13,14,11,12,14,14,14,14,14,14,14,14,14,13,
+	13,12,11,14,14,14,14,14,14,14,14,14,14,14, 9,14,
+	14,14,14,14,14,14,14,14,14,14,14,13, 9,14,14,14,
+	14,14,14,14,14,14,14,14,14,14,13,14,14,14,14,14,
         14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
-	14,14,14,14,13,13,13,13,13,
+	14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
+	14,14,14,14,14,14,14,14,14,
 };
 
 static float _vq_quantthresh__44c4_s1_p9_0[] = {

<p><p>1.5.6.1   +11 -11    vorbis/lib/books/coupled/_44c4_s1_p9_1.vqh

Index: _44c4_s1_p9_1.vqh
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/books/coupled/_44c4_s1_p9_1.vqh,v
retrieving revision 1.5
retrieving revision 1.5.6.1
diff -u -r1.5 -r1.5.6.1
--- _44c4_s1_p9_1.vqh	2001/12/19 01:08:20	1.5
+++ _44c4_s1_p9_1.vqh	2002/05/31 00:16:14	1.5.6.1
@@ -35,17 +35,17 @@
 };
 
 static long _vq_lengthlist__44c4_s1_p9_1[] = {
-	 1, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 6, 5, 6,
-	 7, 7, 8, 8, 8, 9, 9,10,10,10, 7, 6, 5, 7, 7, 8,
-	 8, 9, 9, 9, 9,10,10,12, 8, 8, 8, 8, 9, 9, 9, 9,
-	10,10,10,10,13, 8, 7, 8, 8, 9, 9, 9, 9,10,10,10,
-	10,13,11,12, 9, 9,10,10,10,10,10,11,10,11,13,11,
-	11, 9, 9,10,10,10,10,10,10,11,11,13,13,13,11,11,
-	10,11,10,10,11,11,11,11,13,12,12,11,10,10,11,11,
-	11,11,11,11,11,13,13,13,12,12,11,11,11,11,11,11,
-	12,11,13,13,13,13,12,11,11,10,10,11,11,11,12,14,
-	13,13,12,13,11,11,10,10,11,11,11,12,14,14,14,12,
-	13,10,11,10,10,11,11,12,12,
+	 1, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 6, 5, 5,
+	 7, 7, 8, 8, 9, 9,10,10,11,10, 6, 5, 5, 7, 7, 8,
+	 8, 9, 9,10,10,11,11,14, 8, 8, 8, 8, 9, 9,10,10,
+	10,11,11,11,14, 8, 8, 8, 8, 9, 9,10,10,10,11,11,
+	11,14,11,11, 8, 9,10,10,11,11,11,11,11,11,14,11,
+	12, 9, 8,10,10,10,11,11,11,11,11,15,14,15,10,10,
+	10,10,11,11,11,11,12,11,14,15,14,10,10,10,10,11,
+	11,12,12,12,12,15,15,15,13,14,11,11,11,11,11,11,
+	12,12,14,15,15,14,13,10,11,11,11,12,12,12,12,15,
+	14,15,14,14,12,12,11,11,12,12,12,12,14,14,15,15,
+	14,12,12,11,11,12,12,13,12,
 };
 
 static float _vq_quantthresh__44c4_s1_p9_1[] = {

<p><p>1.5.6.1   +4 -4      vorbis/lib/books/coupled/_44c4_s1_p9_2.vqh

Index: _44c4_s1_p9_2.vqh
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/books/coupled/_44c4_s1_p9_2.vqh,v
retrieving revision 1.5
retrieving revision 1.5.6.1
diff -u -r1.5 -r1.5.6.1
--- _44c4_s1_p9_2.vqh	2001/12/19 01:08:20	1.5
+++ _44c4_s1_p9_2.vqh	2002/05/31 00:16:14	1.5.6.1
@@ -35,10 +35,10 @@
 };
 
 static long _vq_lengthlist__44c4_s1_p9_2[] = {
-	 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 6, 6,
-	 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 6, 6, 6, 6, 7,
-	 7, 7, 7, 7, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7, 7, 7,
-	 7, 8, 7, 8, 9, 9, 9, 7, 7, 7, 7, 7, 7, 8, 8, 8,
+	 3, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 9, 6, 6,
+	 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 6, 6, 6, 6, 7,
+	 7, 7, 7, 7, 7, 7, 8, 9, 7, 7, 7, 7, 7, 7, 8, 8,
+	 8, 8, 8, 8, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, 8, 8,
          8, 9, 9, 9, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9,
          9, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 8, 8,
          8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 8, 8, 8,

<p><p>1.5.6.1   +7 -7      vorbis/lib/books/coupled/_44c4_short.vqh

Index: _44c4_short.vqh
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/books/coupled/_44c4_short.vqh,v
retrieving revision 1.5
retrieving revision 1.5.6.1
diff -u -r1.5 -r1.5.6.1
--- _44c4_short.vqh	2001/12/19 01:08:21	1.5
+++ _44c4_short.vqh	2002/05/31 00:16:14	1.5.6.1
@@ -19,13 +19,13 @@
 #include "codebook.h"
 
 static long _huff_lengthlist__44c4_short[] = {
-	 4,18, 9,18,12,16,13,14,17,17,16, 7, 7, 7, 6, 9,
-	 9,11,17,17, 4,17, 3,17, 6,17, 7,10,17,17,14, 6,
-	 6, 4, 5, 5, 6, 8,17,17, 8,17, 4,17, 5,17, 6,10,
-	17,17,13, 7, 7, 5, 5, 4, 6, 6,15,17, 9,17, 6,17,
-	 6,17, 7,11,17,17,12,10, 9, 7, 8, 6, 9, 7,15,17,
-	17,12,16, 7,17, 5,17, 6,12,16,17,12,17, 6,17, 5,
-	17, 5, 9,17,
+	 7, 9, 7,10,11,11,12,14,14,14, 8, 7, 7, 8,13, 9,
+	10,12,15,16, 6, 6, 3, 6, 5, 7, 8,11,12,14,10, 7,
+	 5, 5, 7, 6, 7,10,13,15,10,11, 5, 6, 5, 5, 7, 9,
+	12,14,10, 8, 5, 5, 5, 4, 5, 8,12,14,11, 9, 7, 7,
+	 6, 4, 5, 8,12,13,12,11, 9, 9, 8, 7, 7, 8,11,13,
+	15,13,11, 9, 8, 6, 7, 9,11,14,16,14,12, 8, 7, 4,
+	 5, 6, 9,12,
 };
 
 static static_codebook _huff_book__44c4_short = {

<p><p>No                   revision

<p>No                   revision

<p>1.15.2.4  +43 -12    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.3
retrieving revision 1.15.2.4
diff -u -r1.15.2.3 -r1.15.2.4
--- psych_44.h	2002/05/18 01:39:32	1.15.2.3
+++ psych_44.h	2002/05/31 00:16:17	1.15.2.4
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: key psychoacoustic settings for 44.1/48kHz
- last mod: $Id: psych_44.h,v 1.15.2.3 2002/05/18 01:39:32 xiphmont Exp $
+ last mod: $Id: psych_44.h,v 1.15.2.4 2002/05/31 00:16:17 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, 0,
-   {99.,99.,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, 0,
-   {99.,99.,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, 0,
-   {99.,99.,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, 0,
-   {99.,99.,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, 0,
-   {99.,99.,99.}
+   {99.,99.,99.},{{99.,99.,99.},{99.,99.,99.}},{99.,99.,99.}
   },
 };
 
@@ -524,7 +524,7 @@
   /* 4 */
   {{-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},
-   {-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30}},
+   {-30,-30,-30,-30,-30,-30,-30,-30,-26,-20,-20,-20,-20,-20,-16,-14,-10}},
   /* 5 */
   {{-20,-20,-20,-20,-20,-20,-20,-18,-10, -4, -6, -6, -3, -2, -2, -2,  0},
    {-20,-20,-20,-20,-20,-20,-20,-18,-10, -4, -6, -6, -3, -2, -2, -2,  0},
@@ -620,7 +620,7 @@
   /* 4 */
   {{-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},
-   {-40,-40,-40,-40,-40,-40,-40,-30,-30,-30,-30,-30,-30,-24,-24,-24,-24}},
+   {-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},
    {-30,-30,-30,-30,-30,-30,-24,-20,-10, -4, -6, -6, -3, -2, -2, -2,  0},
@@ -753,7 +753,7 @@
   /*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, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, /* 4 */
+  { 3, 3, 3, 3, 3, 2, 1, 1, 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*/
@@ -767,9 +767,40 @@
 
 };
 
-static double _psy_stereo_point_kHz_44[2][11]={
-  {4., 6., 6.,  6., 10., 6., 6., 4., 4., 4., 4.},
-  {6., 6., 6., 10., 10., 6., 6., 4., 4., 4., 4.}
+static double _psy_stereo_pkHz_44[22][PACKETBLOBS]={
+  /*0   1   2   3   4   5   6   7   8   9  10  11  12  13  14     0 */
+  {0},
+  {0},
+  /*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.,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     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 */
+  { 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.},
 };
 
 static double _psy_tone_monopass_44[11][3]={

<p><p>1.11.6.4  +169 -324  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.3
retrieving revision 1.11.6.4
diff -u -r1.11.6.3 -r1.11.6.4
--- residue_44.h	2002/05/18 01:39:32	1.11.6.3
+++ residue_44.h	2002/05/31 00:16:17	1.11.6.4
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: toplevel residue templates for 32/44.1/48kHz
- last mod: $Id: residue_44.h,v 1.11.6.3 2002/05/18 01:39:32 xiphmont Exp $
+ last mod: $Id: residue_44.h,v 1.11.6.4 2002/05/31 00:16:17 xiphmont Exp $
 
  ********************************************************************/
 
@@ -48,36 +48,36 @@
   0,-1, -1, 8,-1,
   {0},
   {-1},
-  {  .5,  1.5,  2.5,  4.5, 26.5,  1.5,  4.5},
-  {  99,   -1,   -1,   -1,   -1,   99,   99}
+  {  .5, 1.5,   4.5,  1.5,  2.5,  4.5, 26.5},
+  {  .5,   .5,   .5, 999., 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,  2.5,  4.5, 28.5,  1.5,  4.5},
+  {  .5,  1.5,  4.5,  1.5,  2.5,  4.5, 28.5},
   {  99,   -1,   -1,   -1,   -1,   99,   99}
 };
 
-/*     0   1   2   4   1   2   4  16  42   +      
-           0   0   0            
 
-       0   1   2   3   4   5   6   7   8   9
-   1                               .   .   .
-   2                               .   .   .
-   4       .   .   .   .   .   .           .
- 
-       0   4   4   4   4   4   4   3   3   7 */
 static vorbis_info_residue0 _residue_44_mid={
   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},
-  {  99,   -1,   99,   -1,   99,   -1,   99,   99,   99}
+  {  .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},
 };
 
+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,},
+};
 
 /*     0   8  42   1   2   4   8  16  56   +      
            0   0   0            
@@ -93,8 +93,8 @@
   /*  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, 56.5},
-  {  99,   -1,   -1,   99,   99,   99,   99,   99,   99}
+  {  .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={
@@ -115,22 +115,10 @@
 #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_s1_p5_0.vqh"
 #include "books/coupled/_44c0_s0_p6_0.vqh"
-#include "books/coupled/_44c0_s1_p6_0.vqh"
-#include "books/coupled/_44c0_s2_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/_44c0_s1_p7_0.vqh"
-#include "books/coupled/_44c0_s1_p7_1.vqh"
-#include "books/coupled/_44c0_s1_p7_2.vqh"
-#include "books/coupled/_44c0_s2_p7_0.vqh"
-#include "books/coupled/_44c0_s2_p7_1.vqh"
-#include "books/coupled/_44c0_s2_p7_2.vqh"
-#include "books/coupled/_44c0_s3_p7_0.vqh"
-#include "books/coupled/_44c0_s3_p7_1.vqh"
-#include "books/coupled/_44c0_s3_p7_2.vqh"
 
 #include "books/coupled/_44c1_short.vqh"
 #include "books/coupled/_44c1_long.vqh"
@@ -141,22 +129,11 @@
 #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_s1_p5_0.vqh"
 #include "books/coupled/_44c1_s0_p6_0.vqh"
-#include "books/coupled/_44c1_s1_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/_44c1_s1_p7_0.vqh"
-#include "books/coupled/_44c1_s1_p7_1.vqh"
-#include "books/coupled/_44c1_s1_p7_2.vqh"
-#include "books/coupled/_44c1_s2_p7_0.vqh"
-#include "books/coupled/_44c1_s2_p7_1.vqh"
-#include "books/coupled/_44c1_s2_p7_2.vqh"
-#include "books/coupled/_44c1_s3_p7_0.vqh"
-#include "books/coupled/_44c1_s3_p7_1.vqh"
-#include "books/coupled/_44c1_s3_p7_2.vqh"
 
 #include "books/coupled/_44c2_short.vqh"
 #include "books/coupled/_44c2_long.vqh"
@@ -167,23 +144,10 @@
 #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_s1_p5_0.vqh"
 #include "books/coupled/_44c2_s0_p6_0.vqh"
-#include "books/coupled/_44c2_s1_p6_0.vqh"
-#include "books/coupled/_44c2_s2_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/_44c2_s1_p7_0.vqh"
-#include "books/coupled/_44c2_s1_p7_1.vqh"
-#include "books/coupled/_44c2_s1_p7_2.vqh"
-#include "books/coupled/_44c2_s2_p7_0.vqh"
-#include "books/coupled/_44c2_s2_p7_1.vqh"
-#include "books/coupled/_44c2_s2_p7_2.vqh"
-#include "books/coupled/_44c2_s3_p7_0.vqh"
-#include "books/coupled/_44c2_s3_p7_1.vqh"
-#include "books/coupled/_44c2_s3_p7_2.vqh"
-
 
 #include "books/coupled/_44c3_short.vqh"
 #include "books/coupled/_44c3_long.vqh"
@@ -194,148 +158,79 @@
 #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_s1_p5_0.vqh"
 #include "books/coupled/_44c3_s0_p6_0.vqh"
-#include "books/coupled/_44c3_s1_p6_0.vqh"
-#include "books/coupled/_44c3_s2_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/_44c3_s1_p7_0.vqh"
-#include "books/coupled/_44c3_s1_p7_1.vqh"
-#include "books/coupled/_44c3_s1_p7_2.vqh"
-#include "books/coupled/_44c3_s2_p7_0.vqh"
-#include "books/coupled/_44c3_s2_p7_1.vqh"
-#include "books/coupled/_44c3_s2_p7_2.vqh"
-#include "books/coupled/_44c3_s3_p7_0.vqh"
-#include "books/coupled/_44c3_s3_p7_1.vqh"
-#include "books/coupled/_44c3_s3_p7_2.vqh"
-
-#include "books/coupled/_44c4_short.vqh"
-#include "books/coupled/_44c4_long.vqh"
-
-#include "books/coupled/_44c4_s0_p1_0.vqh"
-#include "books/coupled/_44c4_s0_p2_0.vqh"
-#include "books/coupled/_44c4_s1_p2_0.vqh"
-#include "books/coupled/_44c4_s0_p3_0.vqh"
-#include "books/coupled/_44c4_s0_p4_0.vqh"
-#include "books/coupled/_44c4_s1_p4_0.vqh"
-#include "books/coupled/_44c4_s0_p5_0.vqh"
-#include "books/coupled/_44c4_s0_p6_0.vqh"
-#include "books/coupled/_44c4_s1_p6_0.vqh"
-#include "books/coupled/_44c4_s2_p6_0.vqh"
-#include "books/coupled/_44c4_s0_p7_0.vqh"
-#include "books/coupled/_44c4_s0_p7_1.vqh"
-#include "books/coupled/_44c4_s1_p7_0.vqh"
-#include "books/coupled/_44c4_s1_p7_1.vqh"
-#include "books/coupled/_44c4_s2_p7_0.vqh"
-#include "books/coupled/_44c4_s2_p7_1.vqh"
-#include "books/coupled/_44c4_s3_p7_0.vqh"
-#include "books/coupled/_44c4_s3_p7_1.vqh"
-#include "books/coupled/_44c4_s0_p8_0.vqh"
-#include "books/coupled/_44c4_s0_p8_1.vqh"
-#include "books/coupled/_44c4_s1_p8_0.vqh"
-#include "books/coupled/_44c4_s1_p8_1.vqh"
-#include "books/coupled/_44c4_s2_p8_0.vqh"
-#include "books/coupled/_44c4_s2_p8_1.vqh"
-#include "books/coupled/_44c4_s3_p8_0.vqh"
-#include "books/coupled/_44c4_s3_p8_1.vqh"
-#include "books/coupled/_44c4_s0_p9_0.vqh"
-#include "books/coupled/_44c4_s0_p9_1.vqh"
-#include "books/coupled/_44c4_s0_p9_2.vqh"
-#include "books/coupled/_44c4_s1_p9_0.vqh"
-#include "books/coupled/_44c4_s1_p9_1.vqh"
-#include "books/coupled/_44c4_s1_p9_2.vqh"
-#include "books/coupled/_44c4_s2_p9_0.vqh"
-#include "books/coupled/_44c4_s2_p9_1.vqh"
-#include "books/coupled/_44c4_s2_p9_2.vqh"
-#include "books/coupled/_44c4_s3_p9_0.vqh"
-#include "books/coupled/_44c4_s3_p9_1.vqh"
-#include "books/coupled/_44c4_s3_p9_2.vqh"
 
+#include "books/coupled/_44c4_s_short.vqh"
+#include "books/coupled/_44c4_s_long.vqh"
+
+#include "books/coupled/_44c4_s_p1_0.vqh"
+#include "books/coupled/_44c4_s_p2_0.vqh"
+#include "books/coupled/_44c4_s_p3_0.vqh"
+#include "books/coupled/_44c4_s_p4_0.vqh"
+#include "books/coupled/_44c4_s_p5_0.vqh"
+#include "books/coupled/_44c4_s_p6_0.vqh"
+#include "books/coupled/_44c4_s_p7_0.vqh"
+#include "books/coupled/_44c4_s_p7_1.vqh"
+#include "books/coupled/_44c4_s_p8_0.vqh"
+#include "books/coupled/_44c4_s_p8_1.vqh"
+#include "books/coupled/_44c4_s_p9_0.vqh"
+#include "books/coupled/_44c4_s_p9_1.vqh"
+#include "books/coupled/_44c4_s_p9_2.vqh"
+
+#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_s1_p2_0.vqh"
 #include "books/coupled/_44c5_s0_p3_0.vqh"
 #include "books/coupled/_44c5_s0_p4_0.vqh"
-#include "books/coupled/_44c5_s1_p4_0.vqh"
 #include "books/coupled/_44c5_s0_p5_0.vqh"
 #include "books/coupled/_44c5_s0_p6_0.vqh"
-#include "books/coupled/_44c5_s1_p6_0.vqh"
-#include "books/coupled/_44c5_s2_p6_0.vqh"
 #include "books/coupled/_44c5_s0_p7_0.vqh"
 #include "books/coupled/_44c5_s0_p7_1.vqh"
-#include "books/coupled/_44c5_s1_p7_0.vqh"
-#include "books/coupled/_44c5_s1_p7_1.vqh"
-#include "books/coupled/_44c5_s2_p7_0.vqh"
-#include "books/coupled/_44c5_s2_p7_1.vqh"
-#include "books/coupled/_44c5_s3_p7_0.vqh"
-#include "books/coupled/_44c5_s3_p7_1.vqh"
 #include "books/coupled/_44c5_s0_p8_0.vqh"
 #include "books/coupled/_44c5_s0_p8_1.vqh"
-#include "books/coupled/_44c5_s1_p8_0.vqh"
-#include "books/coupled/_44c5_s1_p8_1.vqh"
-#include "books/coupled/_44c5_s2_p8_0.vqh"
-#include "books/coupled/_44c5_s2_p8_1.vqh"
-#include "books/coupled/_44c5_s3_p8_0.vqh"
-#include "books/coupled/_44c5_s3_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/_44c5_s1_p9_0.vqh"
-#include "books/coupled/_44c5_s1_p9_1.vqh"
-#include "books/coupled/_44c5_s1_p9_2.vqh"
-#include "books/coupled/_44c5_s2_p9_0.vqh"
-#include "books/coupled/_44c5_s2_p9_1.vqh"
-#include "books/coupled/_44c5_s2_p9_2.vqh"
-#include "books/coupled/_44c5_s3_p9_0.vqh"
-#include "books/coupled/_44c5_s3_p9_1.vqh"
-#include "books/coupled/_44c5_s3_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_s1_p2_0.vqh"
 #include "books/coupled/_44c6_s0_p3_0.vqh"
 #include "books/coupled/_44c6_s0_p4_0.vqh"
-#include "books/coupled/_44c6_s1_p4_0.vqh"
 #include "books/coupled/_44c6_s0_p5_0.vqh"
 #include "books/coupled/_44c6_s0_p6_0.vqh"
-#include "books/coupled/_44c6_s1_p6_0.vqh"
-#include "books/coupled/_44c6_s2_p6_0.vqh"
 #include "books/coupled/_44c6_s0_p7_0.vqh"
 #include "books/coupled/_44c6_s0_p7_1.vqh"
-#include "books/coupled/_44c6_s1_p7_0.vqh"
-#include "books/coupled/_44c6_s1_p7_1.vqh"
-#include "books/coupled/_44c6_s2_p7_0.vqh"
-#include "books/coupled/_44c6_s2_p7_1.vqh"
-#include "books/coupled/_44c6_s3_p7_0.vqh"
-#include "books/coupled/_44c6_s3_p7_1.vqh"
 #include "books/coupled/_44c6_s0_p8_0.vqh"
 #include "books/coupled/_44c6_s0_p8_1.vqh"
-#include "books/coupled/_44c6_s1_p8_0.vqh"
-#include "books/coupled/_44c6_s1_p8_1.vqh"
-#include "books/coupled/_44c6_s2_p8_0.vqh"
-#include "books/coupled/_44c6_s2_p8_1.vqh"
-#include "books/coupled/_44c6_s3_p8_0.vqh"
-#include "books/coupled/_44c6_s3_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/_44c6_s1_p9_0.vqh"
-#include "books/coupled/_44c6_s1_p9_1.vqh"
-#include "books/coupled/_44c6_s1_p9_2.vqh"
-#include "books/coupled/_44c6_s2_p9_0.vqh"
-#include "books/coupled/_44c6_s2_p9_1.vqh"
-#include "books/coupled/_44c6_s2_p9_2.vqh"
-#include "books/coupled/_44c6_s3_p9_0.vqh"
-#include "books/coupled/_44c6_s3_p9_1.vqh"
-#include "books/coupled/_44c6_s3_p9_2.vqh"
 
 #include "books/coupled/_44c7_short.vqh"
 #include "books/coupled/_44c7_long.vqh"
@@ -404,200 +299,150 @@
   /* mode 0; 64-ish */
   {{&_residue_44_low, &_residue_44_low},  
    {&_huff_book__44c0_short,&_huff_book__44c0_long},
-   /* mostly temporary entries pending training */
-   { {{0},{0,0,&_44c0_s0_p1_0},{0,0,&_44c0_s0_p2_0},{0,0,&_44c0_s0_p3_0},
-      {&_44c0_s0_p4_0,&_44c0_s0_p4_1},{0,0,&_44c0_s0_p5_0},{0,0,&_44c0_s0_p6_0},
-      {&_44c0_s0_p7_0,&_44c0_s0_p7_1,&_44c0_s0_p7_2}}, /* lossless stereo */
-     {{0},{0,0,&_44c0_s0_p1_0},{0,0,&_44c0_s0_p2_0},{0,0,&_44c0_s0_p3_0},
-      {&_44c0_s0_p4_0,&_44c0_s0_p4_1},{0,0,&_44c0_s1_p5_0},{0,0,&_44c0_s1_p6_0},
-      {&_44c0_s1_p7_0,&_44c0_s1_p7_1,&_44c0_s1_p7_2}}, /* 6dB (2.5) stereo */
-     {{0},{0,0,&_44c0_s0_p1_0},{0,0,&_44c0_s0_p2_0},{0,0,&_44c0_s0_p3_0},
-      {&_44c0_s0_p4_0,&_44c0_s0_p4_1},{0,0,&_44c0_s1_p5_0},{0,0,&_44c0_s2_p6_0},
-      {&_44c0_s2_p7_0,&_44c0_s2_p7_1,&_44c0_s2_p7_2}}, /* 12dB (4.5) stereo */
-     {{0},{0,0,&_44c0_s0_p1_0},{0,0,&_44c0_s0_p2_0},{0,0,&_44c0_s0_p3_0},
-      {&_44c0_s0_p4_0,&_44c0_s0_p4_1},{0,0,&_44c0_s1_p5_0},{0,0,&_44c0_s2_p6_0},
-      {&_44c0_s3_p7_0,&_44c0_s3_p7_1,&_44c0_s3_p7_2}}, /* 18dB (8.5) stereo */
-     {{0}}, /* 24dB (16.5) stereo */
+   { 
+     {0},{0,0,&_44c0_s0_p1_0},{0,0,&_44c0_s0_p2_0},{0,0,&_44c0_s0_p3_0},
+     {&_44c0_s0_p4_0,&_44c0_s0_p4_1},{0,0,&_44c0_s0_p5_0},{0,0,&_44c0_s0_p6_0},
+     {&_44c0_s0_p7_0,&_44c0_s0_p7_1,&_44c0_s0_p7_2}
    },
   },
   /* mode 1; 80-ish */
   {{&_residue_44_low, &_residue_44_low},  
    {&_huff_book__44c1_short,&_huff_book__44c1_long},
-   /* mostly temporary entries pending training */
-   { {{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}}, /* lossless stereo */
-     {{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_s1_p5_0},{0,0,&_44c1_s1_p6_0},
-      {&_44c1_s1_p7_0,&_44c1_s1_p7_1,&_44c1_s1_p7_2}}, /* 6dB (2.5) stereo */
-     {{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_s1_p5_0},{0,0,&_44c1_s2_p6_0},
-      {&_44c1_s2_p7_0,&_44c1_s2_p7_1,&_44c1_s2_p7_2}}, /* 12dB (4.5) stereo */
-     {{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_s1_p5_0},{0,0,&_44c1_s2_p6_0},
-      {&_44c1_s3_p7_0,&_44c1_s3_p7_1,&_44c1_s3_p7_2}}, /* 18dB (8.5) stereo */
-     {{0}}, /* 24dB (16.5) stereo */
+   { 
+     {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},
-   /* mostly temporary entries pending training */
-   { {{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}}, /* lossless stereo */
-     {{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_s1_p5_0},{0,0,&_44c2_s1_p6_0},
-      {&_44c2_s1_p7_0,&_44c2_s1_p7_1,&_44c2_s1_p7_2}}, /* 6dB (2.5) stereo */
-     {{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_s1_p5_0},{0,0,&_44c2_s2_p6_0},
-      {&_44c2_s2_p7_0,&_44c2_s2_p7_1,&_44c2_s2_p7_2}}, /* 12dB (4.5) stereo */
-     {{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_s1_p5_0},{0,0,&_44c2_s2_p6_0},
-      {&_44c2_s3_p7_0,&_44c2_s3_p7_1,&_44c2_s3_p7_2}}, /* 18dB (8.5) stereo */
-     {{0}}, /* 24dB (16.5) stereo */
-   },
+   { 
+     {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},
-   /* mostly temporary entries pending training */
-   { {{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}}, /* lossless stereo */
-     {{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_s1_p5_0},{0,0,&_44c3_s1_p6_0},
-      {&_44c3_s1_p7_0,&_44c3_s1_p7_1,&_44c3_s1_p7_2}}, /* 6dB (2.5) stereo */
-     {{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_s1_p5_0},{0,0,&_44c3_s2_p6_0},
-      {&_44c3_s2_p7_0,&_44c3_s2_p7_1,&_44c3_s2_p7_2}}, /* 12dB (4.5) stereo */
-     {{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_s1_p5_0},{0,0,&_44c3_s2_p6_0},
-      {&_44c3_s3_p7_0,&_44c3_s3_p7_1,&_44c3_s3_p7_2}}, /* 18dB (8.5) stereo */
-     {{0}}, /* 24dB (16.5) stereo */
+   { 
+     {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_short,&_huff_book__44c4_long},
-   { 
-     {{0},{0,0,&_44c4_s0_p1_0},{0,0,&_44c4_s0_p2_0},{0,0,&_44c4_s0_p3_0},
-      {0,0,&_44c4_s0_p4_0},{0,0,&_44c4_s0_p5_0},{0,0,&_44c4_s0_p6_0},
-      {&_44c4_s0_p7_0,&_44c4_s0_p7_1},{&_44c4_s0_p8_0,&_44c4_s0_p8_1},
-      {&_44c4_s0_p9_0,&_44c4_s0_p9_1,&_44c4_s0_p9_2}},
-     {{0},{0,0,&_44c4_s0_p1_0},{0,0,&_44c4_s1_p2_0},{0,0,&_44c4_s0_p3_0},
-      {0,0,&_44c4_s1_p4_0},{0,0,&_44c4_s0_p5_0},{0,0,&_44c4_s1_p6_0},
-      {&_44c4_s1_p7_0,&_44c4_s1_p7_1},{&_44c4_s1_p8_0,&_44c4_s1_p8_1},
-      {&_44c4_s1_p9_0,&_44c4_s1_p9_1,&_44c4_s1_p9_2}},
-     {{0},{0,0,&_44c4_s0_p1_0},{0,0,&_44c4_s1_p2_0},{0,0,&_44c4_s0_p3_0},
-      {0,0,&_44c4_s1_p4_0},{0,0,&_44c4_s0_p5_0},{0,0,&_44c4_s2_p6_0},
-      {&_44c4_s2_p7_0,&_44c4_s2_p7_1},{&_44c4_s2_p8_0,&_44c4_s2_p8_1},
-      {&_44c4_s2_p9_0,&_44c4_s2_p9_1,&_44c4_s2_p9_2}},
-     {{0},{0,0,&_44c4_s0_p1_0},{0,0,&_44c4_s1_p2_0},{0,0,&_44c4_s0_p3_0},
-      {0,0,&_44c4_s1_p4_0},{0,0,&_44c4_s0_p5_0},{0,0,&_44c4_s2_p6_0},
-      {&_44c4_s3_p7_0,&_44c4_s3_p7_1},{&_44c4_s3_p8_0,&_44c4_s3_p8_1},
-      {&_44c4_s3_p9_0,&_44c4_s3_p9_1,&_44c4_s3_p9_2}},
-     {{0}}, /* 24dB (16.5) stereo */
+   {&_huff_book__44c4_s_short,&_huff_book__44c4_s_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},
-   { 
-     {{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}},
-     {{0},{0,0,&_44c5_s0_p1_0},{0,0,&_44c5_s1_p2_0},{0,0,&_44c5_s0_p3_0},
-      {0,0,&_44c5_s1_p4_0},{0,0,&_44c5_s0_p5_0},{0,0,&_44c5_s1_p6_0},
-      {&_44c5_s1_p7_0,&_44c5_s1_p7_1},{&_44c5_s1_p8_0,&_44c5_s1_p8_1},
-      {&_44c5_s1_p9_0,&_44c5_s1_p9_1,&_44c5_s1_p9_2}},
-     {{0},{0,0,&_44c5_s0_p1_0},{0,0,&_44c5_s1_p2_0},{0,0,&_44c5_s0_p3_0},
-      {0,0,&_44c5_s1_p4_0},{0,0,&_44c5_s0_p5_0},{0,0,&_44c5_s2_p6_0},
-      {&_44c5_s2_p7_0,&_44c5_s2_p7_1},{&_44c5_s2_p8_0,&_44c5_s2_p8_1},
-      {&_44c5_s2_p9_0,&_44c5_s2_p9_1,&_44c5_s2_p9_2}},
-     {{0},{0,0,&_44c5_s0_p1_0},{0,0,&_44c5_s1_p2_0},{0,0,&_44c5_s0_p3_0},
-      {0,0,&_44c5_s1_p4_0},{0,0,&_44c5_s0_p5_0},{0,0,&_44c5_s2_p6_0},
-      {&_44c5_s3_p7_0,&_44c5_s3_p7_1},{&_44c5_s3_p8_0,&_44c5_s3_p8_1},
-      {&_44c5_s3_p9_0,&_44c5_s3_p9_1,&_44c5_s3_p9_2}},
-     {{0}}, /* 24dB (16.5) stereo */
+   {
+     {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},
    { 
-     {{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}},
-     {{0},{0,0,&_44c6_s0_p1_0},{0,0,&_44c6_s1_p2_0},{0,0,&_44c6_s0_p3_0},
-      {0,0,&_44c6_s1_p4_0},{0,0,&_44c6_s0_p5_0},{0,0,&_44c6_s1_p6_0},
-      {&_44c6_s1_p7_0,&_44c6_s1_p7_1},{&_44c6_s1_p8_0,&_44c6_s1_p8_1},
-      {&_44c6_s1_p9_0,&_44c6_s1_p9_1,&_44c6_s1_p9_2}},
-     {{0},{0,0,&_44c6_s0_p1_0},{0,0,&_44c6_s1_p2_0},{0,0,&_44c6_s0_p3_0},
-      {0,0,&_44c6_s1_p4_0},{0,0,&_44c6_s0_p5_0},{0,0,&_44c6_s2_p6_0},
-      {&_44c6_s2_p7_0,&_44c6_s2_p7_1},{&_44c6_s2_p8_0,&_44c6_s2_p8_1},
-      {&_44c6_s2_p9_0,&_44c6_s2_p9_1,&_44c6_s2_p9_2}},
-     {{0},{0,0,&_44c6_s0_p1_0},{0,0,&_44c6_s1_p2_0},{0,0,&_44c6_s0_p3_0},
-      {0,0,&_44c6_s1_p4_0},{0,0,&_44c6_s0_p5_0},{0,0,&_44c6_s2_p6_0},
-      {&_44c6_s3_p7_0,&_44c6_s3_p7_1},{&_44c6_s3_p8_0,&_44c6_s3_p8_1},
-      {&_44c6_s3_p9_0,&_44c6_s3_p9_1,&_44c6_s3_p9_2}},
-     {{0}}, /* 24dB (16.5) stereo */
+     {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},
-   { {{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}}, 
-     {{0}}, /* 6dB  (2.5) stereo */
-     {{0}}, /* 12dB (4.5) stereo */
-     {{0}}, /* 18dB (8.5) stereo */
-     {{0}}, /* 24dB (16.5) stereo */
-   },
+   { 
+     {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},
-   { {{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}}, 
-     {{0}}, /* 6dB  (2.5) stereo */
-     {{0}}, /* 12dB (4.5) stereo */
-     {{0}}, /* 18dB (8.5) stereo */
-     {{0}}, /* 24dB (16.5) stereo */
-   },
+   { 
+     {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},
-   { {{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}}, 
-     {{0}}, /* 6dB  (2.5) stereo */
-     {{0}}, /* 12dB (4.5) stereo */
-     {{0}}, /* 18dB (8.5) stereo */
-     {{0}}, /* 24dB (16.5) stereo */
-   },
+   { 
+     {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}
+   }, 
   }
+};
 
+static vorbis_residue_template _residue_template_44_stereo_m[11]={
+  /* mode 0; 64-ish */
+  { },
+  /* mode 1; 80-ish */
+  { },
+  /* mode 2; 96-ish */
+  { },
+  /* mode 3; 112-ish */
+  { },
+
+  /* mode 4; 128-ish */
+  {{&_residue_44_mid, &_residue_44_mid},  
+   {&_huff_book__44c4_sm_short,&_huff_book__44c4_sm_long},
+   {
+     {0},{0,0,&_44c4_sm_p1_0},{0,0,&_44c4_sm_p2_0},{0,0,&_44c4_sm_p3_0},
+     {0,0,&_44c4_sm_p4_0},{0,0,&_44c4_sm_p5_0},{0,0,&_44c4_sm_p6_0},
+     {&_44c4_sm_p7_0,&_44c4_sm_p7_1},{&_44c4_sm_p8_0,&_44c4_sm_p8_1},
+     {&_44c4_sm_p9_0,&_44c4_sm_p9_1,&_44c4_sm_p9_2}
+   },
+  },
+
+  /* mode 5; 160-ish */
+  { },
+
+  /* mode 6; 192-ish */
+  { },
+
+  /* mode 7; 224-ish */
+  { },
+
+  /* mode 8; 256-ish */
+  { },
+
+  /* mode 9; 320-ish */
+  { }
 };
 
 #include "books/uncoupled/_44u0_p1_0.vqh"
@@ -644,59 +489,59 @@
   /* mode 0; 40/c-ish */
   {{&_residue_44_low_un, &_residue_44_low_un},  
    {&_huff_book__44c0_short,&_huff_book__44c0_long},
-   { {{0},
+   { {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}},
+      {&_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},
-   { {{0},
+   { {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}},
+      {&_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},
-   { {{0},
+   { {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}},
+      {&_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},
-   { {{0},
+   { {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}},
+      {&_44u0_p7_0,&_44u0_p7_1,&_44u0_p7_2},
    },
   },
   /* mode 4; 80-ish */
   {{&_residue_44_mid, &_residue_44_mid},  
-   {&_huff_book__44c4_short,&_huff_book__44c4_long},
-   { {{0},
+   {&_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},
@@ -705,13 +550,13 @@
       {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}},
+      {&_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},
-   { {{0},
+   { {0},
       {0,0,&_44u4_p1_0},
       {0,0,&_44u4_p2_0},
       {0,0,&_44u4_p3_0},
@@ -720,13 +565,13 @@
       {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}},
+      {&_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},
-   { {{0},
+   { {0},
       {0,0,&_44u4_p1_0},
       {0,0,&_44u4_p2_0},
       {0,0,&_44u4_p3_0},
@@ -735,13 +580,13 @@
       {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}},
+      {&_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},
-   { {{0},
+   { {0},
       {0,0,&_44u7_p1_0},
       {&_44u7_p2_0,&_44u7_p2_1},
       {0,0,&_44u7_p3_0},
@@ -750,13 +595,13 @@
       {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}},
+      {&_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},
-   { {{0},
+   { {0},
       {0,0,&_44u7_p1_0},
       {&_44u7_p2_0,&_44u7_p2_1},
       {0,0,&_44u7_p3_0},
@@ -765,13 +610,13 @@
       {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}},
+      {&_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},
-   { {{0},
+   { {0},
       {0,0,&_44u7_p1_0},
       {&_44u7_p2_0,&_44u7_p2_1},
       {0,0,&_44u7_p3_0},
@@ -780,7 +625,7 @@
       {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}},
+      {&_44u7_p9_0,&_44u7_p9_1,&_44u7_p9_2},
    },
   },
 };

<p><p>No                   revision

<p>No                   revision

<p>1.2.6.1   +44 -87    vorbis/vq/44c4.vqs

Index: 44c4.vqs
===================================================================
RCS file: /usr/local/cvsroot/vorbis/vq/44c4.vqs,v
retrieving revision 1.2
retrieving revision 1.2.6.1
diff -u -r1.2 -r1.2.6.1
--- 44c4.vqs	2001/12/19 01:10:28	1.2
+++ 44c4.vqs	2002/05/31 00:16:18	1.2.6.1
@@ -1,105 +1,62 @@
-cp 44c4_s0/resaux_short.vqd _44c4_short.vqd
-cp 44c4_s0/resaux_long.vqd _44c4_long.vqd
+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
+
 GO
 
 >_44c4s noninterleaved
-haux _44c4_short.vqd 0,16,2
+haux _44c4_s_short.vqd 0,16,2
 
 >_44c4 noninterleaved
-haux _44c4_long.vqd 0,64,2
+haux _44c4_s_long.vqd 0,64,2
         
 #iter 0
 
-#     0   1   1   2   2   4   4  16  42   +      
-#         0       0       0    
+#     0   1   1   2   2   4   8  16  32   +      
+#         0  99   1  99   4   4  16  32   +
 
 #     0   1   2   3   4   5   6   7   8   9
 # 1                               .   .   .
 # 2                               .   .   .
 # 4       .   .   .   .   .   .           .
  
-:_s0_p1_0 44c4_s0/res_part1_pass2.vqd, 4, nonseq cull, 0 +- 1 2
-
-:_s0_p2_0 44c4_s0/res_part2_pass2.vqd, 4, nonseq cull, 0 +- 1 2
-:_s1_p2_0 44c4_s1/res_part2_pass2.vqd, 4, nonseq cull, 0 +- 1 
-
-:_s0_p3_0 44c4_s0/res_part3_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
-
-:_s0_p4_0 44c4_s0/res_part4_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
-:_s1_p4_0 44c4_s1/res_part4_pass2.vqd, 4, nonseq cull, 0 +- 1 2
-
-:_s0_p5_0 44c4_s0/res_part5_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
-
-:_s0_p6_0 44c4_s0/res_part6_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
-:_s1_p6_0 44c4_s1/res_part6_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
-:_s2_p6_0 44c4_s2/res_part6_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4 
-
-:_s0_p7_0 44c4_s0/res_part7_pass0.vqd, 2, nonseq cull, 0 +- 5 10 15 20 25 30
-:_s0_p7_1 44c4_s0/res_part7_pass1.vqd, 2, nonseq cull, 0 +- 1 2 
-:_s1_p7_0 44c4_s1/res_part7_pass0.vqd, 2, nonseq cull, 0 +- 5 10 15 20 25 30
-:_s1_p7_1 44c4_s1/res_part7_pass1.vqd, 2, nonseq cull, 0 +- 1 2 
-:_s2_p7_0 44c4_s2/res_part7_pass0.vqd, 2, nonseq cull, 0 +- 5 10 15 20 25 30
-:_s2_p7_1 44c4_s2/res_part7_pass1.vqd, 2, nonseq cull, 0 +- 1 2 
-:_s3_p7_0 44c4_s3/res_part7_pass0.vqd, 2, nonseq cull, 0 +- 5 10 15 20 25 30
-:_s3_p7_1 44c4_s3/res_part7_pass1.vqd, 2, nonseq cull, 0 +- 1 2 
-
-:_s0_p8_0 44c4_s0/res_part8_pass0.vqd, 2, nonseq cull, 0 +- 13 26 39 52 65 78
-:_s0_p8_1 44c4_s0/res_part8_pass1.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6
-:_s1_p8_0 44c4_s1/res_part8_pass0.vqd, 2, nonseq cull, 0 +- 13 26 39 52 65 78
-:_s1_p8_1 44c4_s1/res_part8_pass1.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6
-:_s2_p8_0 44c4_s2/res_part8_pass0.vqd, 2, nonseq cull, 0 +- 13 26 39 52 65 78
-:_s2_p8_1 44c4_s2/res_part8_pass1.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6
-:_s3_p8_0 44c4_s3/res_part8_pass0.vqd, 2, nonseq cull, 0 +- 13 26 39 52 65 78
-:_s3_p8_1 44c4_s3/res_part8_pass1.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6
-
-:_s0_p9_0 44c4_s0/res_part9_pass0.vqd, 2, nonseq, 0 +- 169 338 507 676 845 1014
-:_s0_p9_1 44c4_s0/res_part9_pass1.vqd, 2, nonseq, 0 +- 13 26 39 52 65 78 
-:_s0_p9_2 44c4_s0/res_part9_pass2.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6
-:_s1_p9_0 44c4_s1/res_part9_pass0.vqd, 2, nonseq, 0 +- 169 338 507 676 845 1014
-:_s1_p9_1 44c4_s1/res_part9_pass1.vqd, 2, nonseq, 0 +- 13 26 39 52 65 78 
-:_s1_p9_2 44c4_s1/res_part9_pass2.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6
-:_s2_p9_0 44c4_s2/res_part9_pass0.vqd, 2, nonseq, 0 +- 169 338 507 676 845 1014
-:_s2_p9_1 44c4_s2/res_part9_pass1.vqd, 2, nonseq, 0 +- 13 26 39 52 65 78 
-:_s2_p9_2 44c4_s2/res_part9_pass2.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6
-:_s3_p9_0 44c4_s3/res_part9_pass0.vqd, 2, nonseq, 0 +- 169 338 507 676 845 1014
-:_s3_p9_1 44c4_s3/res_part9_pass1.vqd, 2, nonseq, 0 +- 13 26 39 52 65 78 
-:_s3_p9_2 44c4_s3/res_part9_pass2.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6
+:_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
 
-#iter 1 (stereo 3(8.)->2 2(4.)->1 1(2.)->0)  shared for all 'mid' modes
-
-#     0   1   1   2   2   4   4  16  42   +      
-#         0       0       0    
-
-#     0   1   2   3   4   5   6   7   8   9
-# 1                               .   .   .
-# 2                               .   .   .
-# 4       .   .   .   .   .   .           .
- 
-:_s1_p2_s0 44cM_s1/res_part2_pass3.vqd, 2, nonseq, 0 +- 1 2 
-:_s1_p4_s0 44cM_s1/res_part4_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4 
-:_s1_p6_s0 44cM_s1/res_part6_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4 
-:_s1_p7_s0 44cM_s1/res_part7_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4 
-:_s1_p8_s0 44cM_s1/res_part8_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4 
-:_s1_p9_s0 44cM_s1/res_part9_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4 
-
-:_s2_p6_s0 44cM_s2/res_part6_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6 7 8
-:_s2_p7_s0 44cM_s2/res_part7_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6 7 8
-:_s2_p8_s0 44cM_s2/res_part8_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6 7 8
-:_s2_p9_s0 44cM_s2/res_part9_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6 7 8
-
-:_s3_p9_s0 44cM_s3/res_part789_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
-
-#iter 2 (residue backfill) shared for all 'mid' modes
-
-:_s0_p0_r0 44cM_s0/res_part0_r0.vqd, 2, nonseq, 0 +- .333333333 .666666667
-:_s0_pN_r0 44cM_s0/res_partN_r0.vqd, 2, nonseq, 0 +- .333333333 .666666667
-:_s1_pS_r0 44cM_s1/res_partS_r0.vqd, 2, nonseq, 0 +- .333333333
-
-#iter 3 (residue backfill)
-
-:_s0_p0_r1 44cM_s0/res_part0_r1.vqd, 2, nonseq, 0 +- .111111111 .222222222
-:_s0_pN_r1 44cM_s0/res_partN_r1.vqd, 2, nonseq, 0 +- .111111111 .222222222
-:_s1_pS_r1 44cM_s1/res_partS_r1.vqd, 2, nonseq, 0 +- .111111111 
+>_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>1.4.12.1  +2 -17     vorbis/vq/Makefile.am

Index: Makefile.am
===================================================================
RCS file: /usr/local/cvsroot/vorbis/vq/Makefile.am,v
retrieving revision 1.4
retrieving revision 1.4.12.1
diff -u -r1.4 -r1.4.12.1
--- Makefile.am	2001/08/13 01:37:16	1.4
+++ Makefile.am	2002/05/31 00:16:18	1.4.12.1
@@ -4,26 +4,13 @@
 
 INCLUDES = -I../lib -I$(top_srcdir)/include @OGG_CFLAGS@
 
-EXTRA_PROGRAMS = lspvqtrain genericvqtrain residuevqtrain vqbuild\
-	vqcascade vqmetrics latticebuild latticepare latticehint\
-	latticetune huffbuild residuesplit distribution
+EXTRA_PROGRAMS = latticebuild latticepare latticehint\
+	latticetune huffbuild distribution
 CLEANFILES = $(EXTRA_PROGRAMS)
 
 LDFLAGS = -static
 LDADD = ../lib/libvorbis.la
 
-lspvqtrain_SOURCES = lspdata.c train.c vqgen.c bookutil.c\
-	vqgen.h bookutil.h vqext.h
-genericvqtrain_SOURCES = genericdata.c train.c vqgen.c bookutil.c\
-	vqgen.h bookutil.h vqext.h
-residuevqtrain_SOURCES = residuedata.c train.c vqgen.c bookutil.c\
-	vqgen.h bookutil.h vqext.h
-vqbuild_SOURCES = build.c vqgen.c bookutil.c vqsplit.c\
-	vqgen.h bookutil.h vqext.h
-vqcascade_SOURCES = run.c cascade.c vqgen.c bookutil.c\
-	vqgen.h bookutil.h
-vqmetrics_SOURCES = run.c metrics.c vqgen.c bookutil.c\
-	vqgen.h bookutil.h
 latticebuild_SOURCES = latticebuild.c vqgen.c bookutil.c\
         vqgen.h bookutil.h
 latticepare_SOURCES = latticepare.c vqgen.c bookutil.c vqsplit.c\
@@ -33,8 +20,6 @@
 latticetune_SOURCES = latticetune.c vqgen.c bookutil.c\
         vqgen.h bookutil.h
 huffbuild_SOURCES = huffbuild.c vqgen.c bookutil.c\
-	vqgen.h bookutil.h
-residuesplit_SOURCES = residuesplit.c vqgen.c bookutil.c\
         vqgen.h bookutil.h
 distribution_SOURCES = distribution.c bookutil.c\
         bookutil.h

<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