Minor fix (don;t encode 0...n-1 when 0 can't happen. do 0...n)
authorMonty <xiphmont@xiph.org>
Fri, 28 Jan 2000 14:34:44 +0000 (14:34 +0000)
committerMonty <xiphmont@xiph.org>
Fri, 28 Jan 2000 14:34:44 +0000 (14:34 +0000)
Monty

svn path=/trunk/vorbis/; revision=246

lib/floor0.c
lib/mapping0.c

index 51d5cec..2fc2952 100644 (file)
@@ -12,7 +12,7 @@
  ********************************************************************
 
  function: floor backend 0 implementation
- last mod: $Id: floor0.c,v 1.4 2000/01/28 14:31:25 xiphmont Exp $
+ last mod: $Id: floor0.c,v 1.5 2000/01/28 14:34:43 xiphmont Exp $
 
  ********************************************************************/
 
@@ -37,7 +37,7 @@ static void pack (vorbis_info_floor *i,oggpack_buffer *opb){
   _oggpack_write(opb,d->order,8);
   _oggpack_write(opb,d->rate,16);
   _oggpack_write(opb,d->barkmap,16);
-  _oggpack_write(opb,d->stages,4);
+  _oggpack_write(opb,d->stages-1,4);
   for(j=0;j<d->stages;j++)
     _oggpack_write(opb,d->books[j],8);
 }
@@ -48,7 +48,7 @@ static vorbis_info_floor *unpack (vorbis_info *vi,oggpack_buffer *opb){
   d->order=_oggpack_read(opb,8);
   d->rate=_oggpack_read(opb,16);
   d->barkmap=_oggpack_read(opb,16);
-  d->stages=_oggpack_read(opb,4);
+  d->stages=_oggpack_read(opb,4)+1;
   
   if(d->order<1)goto err_out;
   if(d->rate<1)goto err_out;
index 371be7e..acfb758 100644 (file)
@@ -12,7 +12,7 @@
  ********************************************************************
 
  function: channel mapping 0 implementation
- last mod: $Id: mapping0.c,v 1.4 2000/01/28 14:31:27 xiphmont Exp $
+ last mod: $Id: mapping0.c,v 1.5 2000/01/28 14:34:44 xiphmont Exp $
 
  ********************************************************************/
 
@@ -125,7 +125,7 @@ void pack(vorbis_info *vi,vorbis_info_mapping *vm,oggpack_buffer *opb){
   int i;
   vorbis_info_mapping0 *d=(vorbis_info_mapping0 *)vm;
 
-  _oggpack_write(opb,d->submaps,4);
+  _oggpack_write(opb,d->submaps-1,4);
   /* we don't write the channel submappings if we only have one... */
   if(d->submaps>1){
     for(i=0;i<vi->channels;i++)
@@ -144,7 +144,7 @@ vorbis_info_mapping *unpack(vorbis_info *vi,oggpack_buffer *opb){
   vorbis_info_mapping0 *d=calloc(1,sizeof(vorbis_info_mapping0));
   memset(d,0,sizeof(vorbis_info_mapping0));
 
-  d->submaps=_oggpack_read(opb,4);
+  d->submaps=_oggpack_read(opb,4)+1;
 
   if(d->submaps>1){
     for(i=0;i<vi->channels;i++){