Get the new mode files in. They don't go live until the training commit.
authorMonty <xiphmont@xiph.org>
Wed, 10 Jul 2002 03:04:22 +0000 (03:04 +0000)
committerMonty <xiphmont@xiph.org>
Wed, 10 Jul 2002 03:04:22 +0000 (03:04 +0000)
svn path=/trunk/vorbis/; revision=3564

18 files changed:
lib/modes/Makefile.am
lib/modes/floor_44.h
lib/modes/psych_11.h [new file with mode: 0644]
lib/modes/psych_16.h [new file with mode: 0644]
lib/modes/psych_44.h
lib/modes/psych_8.h [new file with mode: 0644]
lib/modes/residue_16.h [new file with mode: 0644]
lib/modes/residue_44.h
lib/modes/residue_44u.h
lib/modes/residue_8.h [new file with mode: 0644]
lib/modes/setup_11.h [new file with mode: 0644]
lib/modes/setup_16.h [new file with mode: 0644]
lib/modes/setup_22.h [new file with mode: 0644]
lib/modes/setup_32.h
lib/modes/setup_44.h
lib/modes/setup_44u.h
lib/modes/setup_8.h [new file with mode: 0644]
lib/modes/setup_X.h

index 41483db..f2ad8b1 100644 (file)
@@ -2,4 +2,5 @@
 
 AUTOMAKE_OPTIONS = foreign
 
-EXTRA_DIST = floor_44.h  residue_44.h   setup_32.h  setup_44u.h psych_44.h  residue_44u.h  setup_44.h  setup_X.h
+EXTRA_DIST = floor_44.h  residue_44.h   setup_32.h  setup_44u.h psych_44.h  residue_44u.h  setup_44.h  setup_8.h setup_11.h setup_X.h
+
index 0cce5cd..ba2769e 100644 (file)
@@ -5,13 +5,13 @@
  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
  *                                                                  *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001             *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
  * by the XIPHOPHORUS Company http://www.xiph.org/                  *
  *                                                                  *
  ********************************************************************
 
  function: key floor settings for 44.1/48kHz
- last mod: $Id: floor_44.h,v 1.4 2002/07/01 11:20:19 xiphmont Exp $
+ last mod: $Id: floor_44.h,v 1.5 2002/07/10 03:04:21 xiphmont Exp $
 
  ********************************************************************/
 
@@ -26,6 +26,13 @@ static static_codebook *_floor_44_128x4_books[]={
   &_huff_book_line_128x4_0sub2,
   &_huff_book_line_128x4_0sub3,
 };
+static static_codebook *_floor_44_256x4_books[]={
+  &_huff_book_line_256x4_class0,
+  &_huff_book_line_256x4_0sub0,
+  &_huff_book_line_256x4_0sub1,
+  &_huff_book_line_256x4_0sub2,
+  &_huff_book_line_256x4_0sub3,
+};
 static static_codebook *_floor_44_128x7_books[]={
   &_huff_book_line_128x7_class0,
   &_huff_book_line_128x7_class1,
@@ -86,19 +93,23 @@ static static_codebook *_floor_44_1024x27_books[]={
   &_huff_book_line_1024x27_4sub3,
 };
 
-static static_codebook **_floor_44_books[9]={
-  _floor_44_128x4_books,
+static static_codebook **_floor_44_books[13]={
   _floor_44_128x4_books,
+  _floor_44_256x4_books,
   _floor_44_128x7_books,
   _floor_44_128x7_books,
   _floor_44_128x11_books,
   _floor_44_128x17_books,
   _floor_44_128x17_books,
   _floor_44_1024x27_books,
-  _floor_44_1024x27_books
+  _floor_44_1024x27_books,
+  _floor_44_128x4_books,
+  _floor_44_128x4_books,
+  _floor_44_128x17_books,
+  _floor_44_128x17_books,
 };
 
-static vorbis_info_floor1 _floor_44[9]={
+static vorbis_info_floor1 _floor_44[13]={
   /* 128 x 4 */
   {
     1,{0},{4},{2},{0},
@@ -177,6 +188,40 @@ static vorbis_info_floor1 _floor_44[9]={
        6,20,36,56,  78,110,158,222,  316,440,624,  928,1300,1700},
     
     60,30,500,    3,18.,  -1 /* lowpass */
-  }
+  },
+  /* 64 x 4 */
+  {
+    1,{0},{4},{2},{0},
+    {{1,2,3,4}},
+    4,{0,64, 16,4,8,35},
+
+    60,30,500,   1.,18.,  -1
+  },
+  /* 512 x 4 */
+  {
+    1,{0},{4},{2},{0},
+    {{1,2,3,4}},
+    4,{0,512, 132,32,54,280},
+
+    60,30,500,   1.,18.,  -1
+  },
+  /* 512 x 17 */
+  {
+    6,{0,1,1,2,3,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
+    {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
+    2,{0,512,  46,186,  16,33,65,  93,130,278,  
+       7,23,39,  55,79,110,  156,232,360},
+    
+    60,30,500,    1,18.,  -1 /* lowpass! */
+  },
+  /* 256 x 17 */
+  {
+    6,{0,1,1,2,3,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
+    {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
+    2,{0,256,  24,92,  8,16,32,  46,66,140,  4,12,20,  28,38,56,  78,116,180},
+
+    60,30,500,    1,18.,  -1 
+  },
+
 };
 
diff --git a/lib/modes/psych_11.h b/lib/modes/psych_11.h
new file mode 100644 (file)
index 0000000..bfed59f
--- /dev/null
@@ -0,0 +1,51 @@
+/********************************************************************
+ *                                                                  *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
+ *                                                                  *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
+ * by the XIPHOPHORUS Company http://www.xiph.org/                  *
+ *                                                                  *
+ ********************************************************************
+
+ function: 11kHz settings 
+ last mod: $Id: psych_11.h,v 1.1 2002/07/10 03:04:22 xiphmont Exp $
+
+ ********************************************************************/
+
+static double _psy_lowpass_11[3]={4.5,5.5,30.,};
+
+static att3 _psy_tone_masteratt_11[3]={
+  {{ 30,  25,  12},  0,   0},  /* 0 */
+  {{ 30,  25,  12},  0,   0},  /* 0 */
+  {{ 20,   0, -14},  0,  1.}, /* 0 */
+};
+
+static vp_adjblock _vp_tonemask_adj_11[3]={
+  /* adjust for mode zero */
+  /* 63     125     250     500     1     2     4     8    16 */
+  {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0,10, 2, 0,99,99,99}}, /* 0 */
+  {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0, 5, 0, 0,99,99,99}}, /* 1 */
+  {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0, 0, 0, 0,99,99,99}}, /* 2 */
+};
+
+
+static noise3 _psy_noisebias_11[3]={
+  /*  63     125     250     500      1k       2k      4k      8k     16k*/
+  {{{-10,-10,-10,-10, -5, -5, -5,  0,  4, 10, 10, 12, 12, 12, 99, 99, 99},
+    {-15,-15,-15,-15,-10,-10, -5,  0,  0,  4,  4,  5,  5, 10, 99, 99, 99},
+    {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, 99, 99, 99}}},
+
+  {{{-10,-10,-10,-10, -5, -5, -5,  0,  4, 10, 10, 12, 12, 12, 99, 99, 99},
+    {-15,-15,-15,-15,-10,-10, -5, -5, -5,  0,  0,  0,  0,  0, 99, 99, 99},
+    {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, 99, 99, 99}}},
+
+  {{{-15,-15,-15,-15,-15,-12,-10, -8,  0,  2,  4,  4,  5,  5, 99, 99, 99},
+    {-30,-30,-30,-30,-26,-22,-20,-14,-12,-12,-10,-10,-10,-10, 99, 99, 99},
+    {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24, 99, 99, 99}}},
+};
+
+static double _noise_thresh_11[3]={ .3,.5,.5 };
+
diff --git a/lib/modes/psych_16.h b/lib/modes/psych_16.h
new file mode 100644 (file)
index 0000000..c4f206d
--- /dev/null
@@ -0,0 +1,130 @@
+/********************************************************************
+ *                                                                  *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
+ *                                                                  *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
+ * by the XIPHOPHORUS Company http://www.xiph.org/                  *
+ *                                                                  *
+ ********************************************************************
+
+ function: 16kHz settings 
+ last mod: $Id: psych_16.h,v 1.1 2002/07/10 03:04:22 xiphmont Exp $
+
+ ********************************************************************/
+
+/* stereo mode by base quality level */
+static adj_stereo _psy_stereo_modes_16[4]={
+  /*  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  */
+  {{  4,  4,  4,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3},
+   {  6,  5,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4},
+   {  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  3,  3,  4,  4},
+   { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
+  {{  4,  4,  4,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3},
+   {  6,  5,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4},
+   {  2,  2,  2,  2,  2,  2,  2,  2,  2,  3,  4,  4,  4,  4,  4},
+   { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
+  {{  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3},
+   {  5,  4,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3},
+   {  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4},
+   { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
+  {{  0,  0,  0,  0,  0,  0,  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,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8},
+   { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
+};
+
+static double _psy_lowpass_16[4]={6.5,8,30.,99.};
+
+static att3 _psy_tone_masteratt_16[4]={
+  {{ 30,  25,  12},  0,   0},  /* 0 */
+  {{ 25,  22,  12},  0,   0},  /* 0 */
+  {{ 20,  12,   0},  0,   0},  /* 0 */
+  {{ 15,   0, -14},  0,   0}, /* 0 */
+};
+
+static vp_adjblock _vp_tonemask_adj_16[4]={
+  /* adjust for mode zero */
+  /* 63     125     250     500       1     2     4     8    16 */
+  {{-20,-20,-20,-20,-20,-16,-10,  0,  0, 0, 0,10, 0, 0, 0, 0, 0}}, /* 0 */
+  {{-20,-20,-20,-20,-20,-16,-10,  0,  0, 0, 0,10, 0, 0, 0, 0, 0}}, /* 1 */
+  {{-20,-20,-20,-20,-20,-16,-10,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
+  {{-30,-30,-30,-30,-30,-26,-20,-10, -5, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
+};
+
+
+static noise3 _psy_noisebias_16_short[4]={
+  /*  63     125     250     500      1k       2k      4k      8k     16k*/
+  {{{-15,-15,-15,-15,-15,-10,-10,-5,   4, 10, 10, 10, 10, 12, 12, 14, 20},
+    {-15,-15,-15,-15,-15,-10,-10, -5,  0,  0,  4,  5,  5,  6,  8,  8, 15},
+    {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
+
+  {{{-15,-15,-15,-15,-15,-10,-10,-5,   4,  6,  6,  6,  6,  8, 10, 12, 20},
+    {-15,-15,-15,-15,-15,-15,-15,-10, -5, -5, -5,  4,  5,  6,  8,  8, 15},
+    {-30,-30,-30,-30,-30,-24,-20,-14,-10,-10,-10,-10,-10,-10,-10,-10,-10}}},
+
+  {{{-15,-15,-15,-15,-15,-12,-10, -8,  0,  2,  4,  4,  5,  5,  5,  8, 12},
+    {-20,-20,-20,-20,-16,-12,-20,-14,-10,-10, -8,  0,  0,  0,  0,  2,  5},
+    {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
+
+  {{{-15,-15,-15,-15,-15,-12,-10, -8, -5, -5, -5, -5, -5,  0,  0,  0,  6},
+    {-30,-30,-30,-30,-26,-22,-20,-14,-12,-12,-10,-10,-10,-10,-10,-10, -6},
+    {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
+};
+
+static noise3 _psy_noisebias_16_impulse[4]={
+  /*  63     125     250     500      1k       2k      4k      8k     16k*/
+  {{{-15,-15,-15,-15,-15,-10,-10,-5,   4, 10, 10, 10, 10, 12, 12, 14, 20},
+    {-15,-15,-15,-15,-15,-10,-10, -5,  0,  0,  4,  5,  5,  6,  8,  8, 15},
+    {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
+
+  {{{-15,-15,-15,-15,-15,-10,-10,-5,   4,  4,  4,  4,  5,  5,  6,  8, 15},
+    {-15,-15,-15,-15,-15,-15,-15,-10, -5, -5, -5,  0,  0,  0,  0,  4, 10},
+    {-30,-30,-30,-30,-30,-24,-20,-14,-10,-10,-10,-10,-10,-10,-10,-10,-10}}},
+
+  {{{-15,-15,-15,-15,-15,-12,-10, -8,  0,  0,  0,  0,  0,  0,  0,  4, 10},
+    {-20,-20,-20,-20,-16,-12,-20,-14,-10,-10,-10,-10,-10,-10,-10, -7, -5},
+    {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
+
+  {{{-15,-15,-15,-15,-15,-12,-10, -8, -5, -5, -5, -5, -5,  0,  0,  0,  6},
+    {-30,-30,-30,-30,-26,-22,-20,-18,-18,-18,-20,-20,-20,-20,-20,-20,-16},
+    {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
+};
+
+static noise3 _psy_noisebias_16[4]={
+  /*  63     125     250     500      1k       2k      4k      8k     16k*/
+  {{{-10,-10,-10,-10, -5, -5, -5,  0,  4,  6,  8,  8, 10, 10, 10, 14, 20},
+    {-10,-10,-10,-10,-10, -5, -2, -2,  0,  0,  0,  4,  5,  6,  8,  8, 15},
+    {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
+
+  {{{-10,-10,-10,-10, -5, -5, -5,  0,  4,  6,  6,  6,  6,  8, 10, 12, 20},
+    {-15,-15,-15,-15,-15,-10, -5, -5,  0,  0,  0,  4,  5,  6,  8,  8, 15},
+    {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
+
+  {{{-15,-15,-15,-15,-15,-12,-10, -8,  0,  2,  4,  4,  5,  5,  5,  8, 12},
+    {-20,-20,-20,-20,-16,-12,-20,-10, -5, -5,  0,  0,  0,  0,  0,  2,  5},
+    {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
+
+  {{{-15,-15,-15,-15,-15,-12,-10, -8, -5, -5, -5, -5, -5,  0,  0,  0,  6},
+    {-30,-30,-30,-30,-26,-22,-20,-14,-12,-12,-10,-10,-10,-10,-10,-10, -6},
+    {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
+};
+
+static double _noise_thresh_16[4]={ .3,.5,.5,.5 };
+
+static int _noise_start_16_short[3]={ 256,128,9999 };
+static int _noise_start_16[3]={ 256,256,9999 };
+static int _noise_part_16[4]={ 8,8,8,8 };
+
+static int _psy_ath_floater_16[4]={
+  -100,-100,-100,-105,
+};
+
+static int _psy_ath_abs_16[4]={
+  -110,-110,-120,-140,
+};
+
+
+
index 92cb7d2..bc3bb9f 100644 (file)
@@ -5,13 +5,13 @@
  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
  *                                                                  *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001             *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
  * by the XIPHOPHORUS Company http://www.xiph.org/                  *
  *                                                                  *
  ********************************************************************
 
  function: key psychoacoustic settings for 44.1/48kHz
- last mod: $Id: psych_44.h,v 1.22 2002/07/02 04:25:21 xiphmont Exp $
+ last mod: $Id: psych_44.h,v 1.23 2002/07/10 03:04:22 xiphmont Exp $
 
  ********************************************************************/
 
@@ -108,8 +108,8 @@ static compandblock _psy_compand_44[6]={
 static vp_adjblock _vp_tonemask_adj_longblock[11]={
   /* adjust for mode zero */
   /* 63     125     250     500     1     2     4     8    16 */
-  {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 1 */
-  {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 1 */
+  {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0,10, 0, 0, 0, 0, 0}}, /* 0 */
+  {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 5, 0, 0, 0, 0, 0}}, /* 1 */
   {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
   {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 3 */
   {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 4 */
@@ -123,8 +123,8 @@ static vp_adjblock _vp_tonemask_adj_longblock[11]={
 static vp_adjblock _vp_tonemask_adj_otherblock[11]={
   /* adjust for mode zero */
   /* 63     125     250     500       1     2     4     8    16 */
-  {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 1 */
-  {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 1 */
+  {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0,10, 0, 0, 0, 0, 0}}, /* 0 */
+  {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 5, 0, 0, 0, 0, 0}}, /* 1 */
   {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
   {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 3 */
   {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 4 */
@@ -163,7 +163,7 @@ static noise3 _psy_noisebias_trans[11]={
   /*  63     125     250     500      1k       2k      4k      8k     16k*/
   /* 0 */
   {{{-15,-15,-15,-15,-15,-12,-10, -8,  0,  2,  4,  4,  5,  5,  5,  8,  10},
-    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2,  0,  0,  0,  2,  4,  10},
+    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2, -2,  0,  0,  2,  4,  10},
     {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -6, -4, -4, -4,  -2}}},
   /* 1 */
   {{{-15,-15,-15,-15,-15,-12,-10, -8,  0,  2,  4,  4,  5,  5,  5,  8,  10},
@@ -210,11 +210,11 @@ static noise3 _psy_noisebias_trans[11]={
 static noise3 _psy_noisebias_long[11]={
     /*63     125     250     500      1k       2k      4k      8k     16k*/
   /* 0 */
-  {{{-10,-10,-10,-10,-10,-10, -8, -8,  0,  2,  4,  4,  5,  5,  5,  8,  10},
-    {-20,-20,-20,-20,-20,-20,-20,-10, -6, -2,  0,  0,  0,  0,  2,  4,  10},
+  {{{-10,-10,-10,-10,-10,-10, -8,  2,  2,  2,  4,  4,  5,  5,  5,  8,  10},
+    {-20,-20,-20,-20,-20,-20,-10, -6, -4, -2, -2, -2,  0,  0,  2,  4,  10},
     {-20,-20,-20,-20,-20,-20,-20,-10, -6, -6, -6, -6, -6, -4, -4, -4, -2}}},
   /* 1 */
-  {{{-10,-10,-10,-10,-10,-10, -8, -8,  0,  2,  4,  4,  5,  5,  5,  8,  10},
+  {{{-10,-10,-10,-10,-10,-10, -8, -4,  0,  2,  4,  4,  5,  5,  5,  8,  10},
     {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -2, -2, -2, -2,  0,  2,  8},
     {-20,-20,-20,-20,-20,-20,-20,-14, -8, -8, -8, -8, -8, -6, -6, -6, -4}}},
   /* 2 */
@@ -259,7 +259,7 @@ static noise3 _psy_noisebias_impulse[11]={
   /*  63     125     250     500      1k      2k      4k      8k     16k*/
   /* 0 */
   {{{-10,-10,-10,-10,-10, -4,  0,  0,  4,  4,  8,  8,  8, 10, 12, 14, 20},
-    {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -2,  2,  2,  2,  2,  3,  6},
+    {-30,-30,-30,-30,-26,-22,-20,-14, -6, -2,  0,  0,  0,  0,  2,  4,  10},
     {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}},
   /* 1 */
   {{{-12,-12,-12,-12,-12, -8, -6, -4,  0,  4,  4,  4,  4, 10, 12, 14, 20},
@@ -420,7 +420,7 @@ static adj_stereo _psy_stereo_modes_44[11]={
   /*  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14         0  */
   {{  4,  4,  4,  4,  4,  4,  4,  3,  2,  2,  1,  0,  0,  0,  0},
    {  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  5,  4,  3},
-   {  1,  2,  3,  4,  4,  4,  4,  4,  4,  5,  6,  7,  8,  8,  8},
+   {  1,  2,  3,  4,  4,  4,  4,  6,  4,  5,  6,  7,  8,  8,  8},
    { 12,12.5, 13,13.5, 14,14.5, 15, 99, 99, 99, 99, 99, 99, 99, 99}},
   /*  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14         1  */
   {{  3,  3,  3,  3,  3,  3,  3,  3,  2,  1,  0,  0,  0,  0,  0},
@@ -477,12 +477,12 @@ static adj_stereo _psy_stereo_modes_44[11]={
 /* tone master attenuation by base quality mode and bitrate tweak */
 
 static att3 _psy_tone_masteratt_44_low[2]={
-  {{ 34,  20,   8}, -6, 1.25}, /* 0 */
+  {{ 34,  24,   8}, -6, 1.25}, /* 0 */
   {{ 34,  20,   8}, -6, 1.25}, /* 1 */
 };
 static att3 _psy_tone_masteratt_44[11]={
-  {{ 30,  20,   8}, -6, 1.25}, /* 0 */
-  {{ 25,  14,   4}, -4, 1.25}, /* 1 */
+  {{ 30,  20,   8}, -2, 1.25}, /* 0 */
+  {{ 25,  14,   4},  0,    0}, /* 1 */
   {{ 20,  10,  -2},  0,    0}, /* 2 */
   {{ 20,   9,  -4},  0,    0}, /* 3 */
   {{ 20,   9,  -4},  0,    0}, /* 4 */
diff --git a/lib/modes/psych_8.h b/lib/modes/psych_8.h
new file mode 100644 (file)
index 0000000..dde9199
--- /dev/null
@@ -0,0 +1,102 @@
+/********************************************************************
+ *                                                                  *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
+ *                                                                  *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
+ * by the XIPHOPHORUS Company http://www.xiph.org/                  *
+ *                                                                  *
+ ********************************************************************
+
+ function: 8kHz psychoacoustic settings 
+ last mod: $Id: psych_8.h,v 1.1 2002/07/10 03:04:22 xiphmont Exp $
+
+ ********************************************************************/
+
+static att3 _psy_tone_masteratt_8[3]={
+  {{ 32,  25,  12},  0,   0},  /* 0 */
+  {{ 30,  25,  12},  0,   0},  /* 0 */
+  {{ 20,   0, -14},  0,  1.}, /* 0 */
+};
+
+static vp_adjblock _vp_tonemask_adj_8[3]={
+  /* adjust for mode zero */
+  /* 63     125     250     500     1     2     4     8    16 */
+  {{-15,-15,-15,-15,-10,-10, -6, 0, 0, 0, 0,10, 0, 0,99,99,99}}, /* 1 */
+  {{-15,-15,-15,-15,-10,-10, -6, 0, 0, 0, 0,10, 0, 0,99,99,99}}, /* 1 */
+  {{-15,-15,-15,-15,-10,-10, -6, 0, 0, 0, 0, 0, 0, 0,99,99,99}}, /* 1 */
+};
+
+
+static noise3 _psy_noisebias_8[3]={
+  /*  63     125     250     500      1k       2k      4k      8k     16k*/
+  {{{-10,-10,-10,-10, -5, -5, -5,  0,  4,  8,  8,  8, 10, 10, 99, 99, 99},
+    {-10,-10,-10,-10, -5, -5, -5,  0,  0,  4,  4,  4,  4,  4, 99, 99, 99},
+    {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, 99, 99, 99}}},
+
+  {{{-10,-10,-10,-10, -5, -5, -5,  0,  4,  8,  8,  8, 10, 10, 99, 99, 99},
+    {-10,-10,-10,-10,-10,-10, -5, -5, -5,  0,  0,  0,  0,  0, 99, 99, 99},
+    {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, 99, 99, 99}}},
+
+  {{{-15,-15,-15,-15,-15,-12,-10, -8,  0,  2,  4,  4,  5,  5, 99, 99, 99},
+    {-30,-30,-30,-30,-26,-22,-20,-14,-12,-12,-10,-10,-10,-10, 99, 99, 99},
+    {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24, 99, 99, 99}}},
+};
+
+/* stereo mode by base quality level */
+static adj_stereo _psy_stereo_modes_8[3]={
+  /*  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  */
+  {{  4,  4,  4,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3},
+   {  6,  5,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4},
+   {  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1},
+   { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
+  {{  4,  4,  4,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3},
+   {  6,  5,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4},
+   {  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1},
+   { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
+  {{  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3},
+   {  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4},
+   {  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1},
+   { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
+};
+
+static noiseguard _psy_noiseguards_8[2]={
+  {10,10,-1},
+  {10,10,-1},
+};
+
+static compandblock _psy_compand_8[2]={
+  {{
+     0, 1, 2, 3, 4, 5, 6,  7,     /* 7dB */
+     8, 8, 9, 9,10,10,11, 11,     /* 15dB */
+    12,12,13,13,14,14,15, 15,     /* 23dB */
+    16,16,17,17,17,18,18, 19,     /* 31dB */
+    19,19,20,21,22,23,24, 25,     /* 39dB */
+  }},
+  {{
+     0, 1, 2, 3, 4, 5, 6,  6,     /* 7dB */
+     7, 7, 6, 6, 5, 5, 4,  4,     /* 15dB */
+     3, 3, 3, 4, 5, 6, 7,  8,     /* 23dB */
+     9,10,11,12,13,14,15, 16,     /* 31dB */
+    17,18,19,20,21,22,23, 24,     /* 39dB */
+  }},
+};
+
+static double _psy_lowpass_8[3]={3.,4.,4.};
+static int _noise_start_8[2]={
+  64,64,
+};
+static int _noise_part_8[2]={
+  8,8,
+};
+
+static int _psy_ath_floater_8[3]={
+  -100,-100,-105,
+};
+
+static int _psy_ath_abs_8[3]={
+  -110,-110,-140,
+};
+
diff --git a/lib/modes/residue_16.h b/lib/modes/residue_16.h
new file mode 100644 (file)
index 0000000..609e575
--- /dev/null
@@ -0,0 +1,57 @@
+/********************************************************************
+ *                                                                  *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
+ *                                                                  *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
+ * by the XIPHOPHORUS Company http://www.xiph.org/                  *
+ *                                                                  *
+ ********************************************************************
+
+ function: toplevel residue templates 16/22kHz
+ last mod: $Id: residue_16.h,v 1.1 2002/07/10 03:04:22 xiphmont Exp $
+
+ ********************************************************************/
+
+/***** residue backends *********************************************/
+
+/*static static_bookblock _resbook_16s_0={
+  {
+    {0},{0,0,&_16c0_s_p1_0},{0,0,&_16c0_s_p2_0},{0,0,&_16c0_s_p3_0},
+    {0,0,&_16c0_s_p4_0},{0,0,&_16c0_s_p5_0},{0,0,&_16c0_s_p6_0},
+    {&_16c0_s_p7_0,&_16c0_s_p7_1},{&_16c0_s_p8_0,&_16c0_s_p8_1},
+    {&_16c0_s_p9_0,&_16c0_s_p9_1,&_16c0_s_p9_2}
+   }
+};
+static static_bookblock _resbook_16s_1={
+  {
+    {0},{0,0,&_16c1_s_p1_0},{0,0,&_16c1_s_p2_0},{0,0,&_16c1_s_p3_0},
+    {0,0,&_16c1_s_p4_0},{0,0,&_16c1_s_p5_0},{0,0,&_16c1_s_p6_0},
+    {&_16c1_s_p7_0,&_16c1_s_p7_1},{&_16c1_s_p8_0,&_16c1_s_p8_1},
+    {&_16c1_s_p9_0,&_16c1_s_p9_1,&_16c1_s_p9_2}
+   }
+};
+
+static vorbis_residue_template _res_16s_0[]={
+  {2,0,  &_residue_44_mid,
+   &_huff_book__16c0_s_short,&_huff_book__16c0_sm_short,
+   &_resbook_16s_0,&_resbook_16s_0},
+
+  {2,0,  &_residue_44_mid,
+   &_huff_book__16c0_s_long,&_huff_book__16c0_sm_long,
+   &_resbook_16s_0,&_resbook_16s_0}
+   };*/
+
+
+static vorbis_mapping_template _mapres_template_16_stereo[3]={
+  { _map_nominal, _res_44s_0 }, /* 0 */
+  { _map_nominal, _res_44s_0 }, /* 1 */
+  { _map_nominal, _res_44s_6 }, /* 2 */
+};
+static vorbis_mapping_template _mapres_template_16_uncoupled[3]={
+  { _map_nominal_u, _res_44u_0 }, /* 0 */
+  { _map_nominal_u, _res_44u_0 }, /* 1 */
+  { _map_nominal_u, _res_44u_6 }, /* 2 */
+};
index 388008b..b7969c6 100644 (file)
@@ -5,13 +5,13 @@
  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
  *                                                                  *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001             *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
  * by the XIPHOPHORUS Company http://www.xiph.org/                  *
  *                                                                  *
  ********************************************************************
 
  function: toplevel residue templates for 32/44.1/48kHz
- last mod: $Id: residue_44.h,v 1.14 2002/07/02 04:25:21 xiphmont Exp $
+ last mod: $Id: residue_44.h,v 1.15 2002/07/10 03:04:22 xiphmont Exp $
 
  ********************************************************************/
 
@@ -39,14 +39,6 @@ static vorbis_info_residue0 _residue_44_high={
   {  .5,  1.5,  2.5,  3.5,  4.5,  8.5, 16.5, 71.5,157.5},
 };
 
-/* mapping conventions:
-   only one submap (this would change for efficient 5.1 support for example)*/
-/* Four psychoacoustic profiles are used, one for each blocktype */
-static vorbis_info_mapping0 _map_nominal[2]={
-  {1, {0,0}, {0}, {0}, 1,{0},{1}},
-  {1, {0,0}, {1}, {1}, 1,{0},{1}}
-};
-
 static static_bookblock _resbook_44s_0={
   {
     {0},{0,0,&_44c0_s_p1_0},{0,0,&_44c0_s_p2_0},{0,0,&_44c0_s_p3_0},
index 7f0c24d..599ccfb 100644 (file)
@@ -5,13 +5,13 @@
  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
  *                                                                  *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001             *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
  * by the XIPHOPHORUS Company http://www.xiph.org/                  *
  *                                                                  *
  ********************************************************************
 
  function: toplevel residue templates for 32/44.1/48kHz uncoupled
- last mod: $Id: residue_44u.h,v 1.1 2002/07/01 11:20:19 xiphmont Exp $
+ last mod: $Id: residue_44u.h,v 1.2 2002/07/10 03:04:22 xiphmont Exp $
 
  ********************************************************************/
 
diff --git a/lib/modes/residue_8.h b/lib/modes/residue_8.h
new file mode 100644 (file)
index 0000000..52bbe85
--- /dev/null
@@ -0,0 +1,43 @@
+/********************************************************************
+ *                                                                  *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
+ *                                                                  *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
+ * by the XIPHOPHORUS Company http://www.xiph.org/                  *
+ *                                                                  *
+ ********************************************************************
+
+ function: toplevel residue templates 8/11kHz
+ last mod: $Id: residue_8.h,v 1.1 2002/07/10 03:04:22 xiphmont Exp $
+
+ ********************************************************************/
+
+#include "vorbis/codec.h"
+#include "backends.h"
+
+/***** residue backends *********************************************/
+
+static vorbis_residue_template _res_8s_0[]={
+  {2,0,  &_residue_44_mid,
+   &_huff_book__8c0_s_single,&_huff_book__8c0_s_single,
+   &_resbook_44s_0,&_resbook_44sm_0},
+};
+
+static vorbis_mapping_template _mapres_template_8_stereo[2]={
+  { _map_nominal, _res_8s_0 }, /* 0 */
+  { _map_nominal, _res_8s_0 }, /* 1 */
+};
+
+static vorbis_residue_template _res_8u_0[]={
+  {1,0,  &_residue_44_low_un,
+   &_huff_book__44u0__short,&_huff_book__44u0__short,
+   &_resbook_44u_0,&_resbook_44u_0},
+};
+
+static vorbis_mapping_template _mapres_template_8_uncoupled[2]={
+  { _map_nominal_u, _res_8u_0 }, /* 0 */
+  { _map_nominal_u, _res_8u_0 }, /* 1 */
+};
diff --git a/lib/modes/setup_11.h b/lib/modes/setup_11.h
new file mode 100644 (file)
index 0000000..a3164a8
--- /dev/null
@@ -0,0 +1,141 @@
+/********************************************************************
+ *                                                                  *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
+ *                                                                  *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
+ * by the XIPHOPHORUS Company http://www.xiph.org/                  *
+ *                                                                  *
+ ********************************************************************
+
+ function: 11kHz settings 
+ last mod: $Id: setup_11.h,v 1.1 2002/07/10 03:04:22 xiphmont Exp $
+
+ ********************************************************************/
+
+#include "psych_11.h"
+
+static int blocksize_11[2]={
+  512,512
+};
+
+static int _floor_mapping_11[2]={
+  1,1,
+};
+
+static double rate_mapping_11[3]={
+  8000.,13000.,44000.,
+};
+
+static double rate_mapping_11_uncoupled[3]={
+  12000.,20000.,50000.,
+};
+
+static double quality_mapping_11[3]={
+  -.1,.0,1.
+};
+
+ve_setup_data_template ve_setup_11_stereo={
+  2,
+  rate_mapping_11,
+  quality_mapping_11,
+  2,
+  9000,
+  15000,
+  
+  blocksize_11,
+  blocksize_11,
+
+  _psy_tone_masteratt_11,
+  _psy_tone_0dB,
+  _psy_tone_suppress,
+
+  _vp_tonemask_adj_11,
+  NULL,
+  _vp_tonemask_adj_11,
+
+  _psy_noiseguards_8,
+  _psy_noisebias_11,
+  _psy_noisebias_11,
+  NULL,
+  NULL,
+  _psy_noise_suppress,
+  
+  _psy_compand_8,
+  _psy_compand_8_mapping,
+  NULL,
+
+  {_noise_start_8,_noise_start_8},
+  {_noise_part_8,_noise_part_8},
+  _noise_thresh_11,
+
+  _psy_ath_floater_8,
+  _psy_ath_abs_8,
+  
+  _psy_lowpass_11,
+
+  _psy_global_44,
+  _global_mapping_8,
+  _psy_stereo_modes_8,
+
+  _floor_44_books,
+  _floor_44,
+  _floor_mapping_11,
+  NULL,
+
+  _mapres_template_8_stereo
+};
+
+ve_setup_data_template ve_setup_11_uncoupled={
+  2,
+  rate_mapping_11_uncoupled,
+  quality_mapping_11,
+  -1,
+  9000,
+  15000,
+  
+  blocksize_11,
+  blocksize_11,
+
+  _psy_tone_masteratt_11,
+  _psy_tone_0dB,
+  _psy_tone_suppress,
+
+  _vp_tonemask_adj_11,
+  NULL,
+  _vp_tonemask_adj_11,
+
+  _psy_noiseguards_8,
+  _psy_noisebias_11,
+  _psy_noisebias_11,
+  NULL,
+  NULL,
+  _psy_noise_suppress,
+  
+  _psy_compand_8,
+  _psy_compand_8_mapping,
+  NULL,
+
+  {_noise_start_8,_noise_start_8},
+  {_noise_part_8,_noise_part_8},
+  _noise_thresh_11,
+
+  _psy_ath_floater_8,
+  _psy_ath_abs_8,
+  
+  _psy_lowpass_11,
+
+  _psy_global_44,
+  _global_mapping_8,
+  _psy_stereo_modes_8,
+
+  _floor_44_books,
+  _floor_44,
+  _floor_mapping_11,
+  NULL,
+
+  _mapres_template_8_uncoupled
+};
+
diff --git a/lib/modes/setup_16.h b/lib/modes/setup_16.h
new file mode 100644 (file)
index 0000000..ad5461f
--- /dev/null
@@ -0,0 +1,149 @@
+/********************************************************************
+ *                                                                  *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
+ *                                                                  *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
+ * by the XIPHOPHORUS Company http://www.xiph.org/                  *
+ *                                                                  *
+ ********************************************************************
+
+ function: 16kHz settings 
+ last mod: $Id: setup_16.h,v 1.1 2002/07/10 03:04:22 xiphmont Exp $
+
+ ********************************************************************/
+
+#include "psych_16.h"
+#include "residue_16.h"
+
+static int blocksize_16_short[3]={
+  1024,512,512
+};
+static int blocksize_16_long[3]={
+  1024,1024,1024
+};
+
+static int _floor_mapping_16_short[3]={
+  11,3,3
+};
+static int _floor_mapping_16[3]={
+  11,11,11
+};
+
+static double rate_mapping_16[4]={
+  12000.,20000.,44000.,86000.
+};
+
+static double rate_mapping_16_uncoupled[4]={
+  16000.,28000.,50000.,90000.
+};
+
+static double _global_mapping_16[4]={ 1., 2., 3., 4. };
+
+static double quality_mapping_16[4]={ -.1,.05,.5,1. };
+
+static double _psy_compand_16_mapping[4]={ 0., .8, 1., 1.};
+
+ve_setup_data_template ve_setup_16_stereo={
+  3,
+  rate_mapping_16,
+  quality_mapping_16,
+  2,
+  15000,
+  19000,
+  
+  blocksize_16_short,
+  blocksize_16_long,
+
+  _psy_tone_masteratt_16,
+  _psy_tone_0dB,
+  _psy_tone_suppress,
+
+  _vp_tonemask_adj_16,
+  _vp_tonemask_adj_16,
+  _vp_tonemask_adj_16,
+
+  _psy_noiseguards_8,
+  _psy_noisebias_16_impulse,
+  _psy_noisebias_16_short,
+  _psy_noisebias_16_short,
+  _psy_noisebias_16,
+  _psy_noise_suppress,
+  
+  _psy_compand_8,
+  _psy_compand_8_mapping,
+  _psy_compand_8_mapping,
+
+  {_noise_start_16,_noise_start_16},
+  { _noise_part_16, _noise_part_16},
+  _noise_thresh_16,
+
+  _psy_ath_floater_16,
+  _psy_ath_abs_16,
+  
+  _psy_lowpass_16,
+
+  _psy_global_44,
+  _global_mapping_16,
+  _psy_stereo_modes_16,
+
+  _floor_44_books,
+  _floor_44,
+  _floor_mapping_16_short,
+  _floor_mapping_16,
+
+  _mapres_template_16_stereo
+};
+
+ve_setup_data_template ve_setup_16_uncoupled={
+  3,
+  rate_mapping_16_uncoupled,
+  quality_mapping_16,
+  2,
+  15000,
+  19000,
+  
+  blocksize_16_short,
+  blocksize_16_long,
+
+  _psy_tone_masteratt_16,
+  _psy_tone_0dB,
+  _psy_tone_suppress,
+
+  _vp_tonemask_adj_16,
+  _vp_tonemask_adj_16,
+  _vp_tonemask_adj_16,
+
+  _psy_noiseguards_8,
+  _psy_noisebias_16_impulse,
+  _psy_noisebias_16_short,
+  _psy_noisebias_16_short,
+  _psy_noisebias_16,
+  _psy_noise_suppress,
+  
+  _psy_compand_8,
+  _psy_compand_8_mapping,
+  _psy_compand_8_mapping,
+
+  {_noise_start_16,_noise_start_16},
+  { _noise_part_16, _noise_part_16},
+  _noise_thresh_16,
+
+  _psy_ath_floater_16,
+  _psy_ath_abs_16,
+  
+  _psy_lowpass_16,
+
+  _psy_global_44,
+  _global_mapping_16,
+  _psy_stereo_modes_16,
+
+  _floor_44_books,
+  _floor_44,
+  _floor_mapping_16_short,
+  _floor_mapping_16,
+
+  _mapres_template_16_uncoupled
+};
diff --git a/lib/modes/setup_22.h b/lib/modes/setup_22.h
new file mode 100644 (file)
index 0000000..0208ca8
--- /dev/null
@@ -0,0 +1,128 @@
+/********************************************************************
+ *                                                                  *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
+ *                                                                  *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
+ * by the XIPHOPHORUS Company http://www.xiph.org/                  *
+ *                                                                  *
+ ********************************************************************
+
+ function: 22kHz settings 
+ last mod: $Id: setup_22.h,v 1.1 2002/07/10 03:04:22 xiphmont Exp $
+
+ ********************************************************************/
+
+static double rate_mapping_22[4]={
+  15000.,20000.,44000.,86000.
+};
+
+static double rate_mapping_22_uncoupled[4]={
+  16000.,28000.,50000.,90000.
+};
+
+static double _psy_lowpass_22[4]={9.5,11.,30.,99.};
+
+ve_setup_data_template ve_setup_22_stereo={
+  3,
+  rate_mapping_22,
+  quality_mapping_16,
+  2,
+  19000,
+  26000,
+  
+  blocksize_16_short,
+  blocksize_16_long,
+
+  _psy_tone_masteratt_16,
+  _psy_tone_0dB,
+  _psy_tone_suppress,
+
+  _vp_tonemask_adj_16,
+  _vp_tonemask_adj_16,
+  _vp_tonemask_adj_16,
+
+  _psy_noiseguards_8,
+  _psy_noisebias_16_impulse,
+  _psy_noisebias_16_short,
+  _psy_noisebias_16_short,
+  _psy_noisebias_16,
+  _psy_noise_suppress,
+  
+  _psy_compand_8,
+  _psy_compand_8_mapping,
+  _psy_compand_8_mapping,
+
+  {_noise_start_16,_noise_start_16},
+  { _noise_part_16, _noise_part_16},
+  _noise_thresh_16,
+
+  _psy_ath_floater_16,
+  _psy_ath_abs_16,
+  
+  _psy_lowpass_22,
+
+  _psy_global_44,
+  _global_mapping_16,
+  _psy_stereo_modes_16,
+
+  _floor_44_books,
+  _floor_44,
+  _floor_mapping_16_short,
+  _floor_mapping_16,
+
+  _mapres_template_16_stereo
+};
+
+ve_setup_data_template ve_setup_22_uncoupled={
+  3,
+  rate_mapping_22_uncoupled,
+  quality_mapping_16,
+  2,
+  19000,
+  26000,
+  
+  blocksize_16_short,
+  blocksize_16_long,
+
+  _psy_tone_masteratt_16,
+  _psy_tone_0dB,
+  _psy_tone_suppress,
+
+  _vp_tonemask_adj_16,
+  _vp_tonemask_adj_16,
+  _vp_tonemask_adj_16,
+
+  _psy_noiseguards_8,
+  _psy_noisebias_16_impulse,
+  _psy_noisebias_16_short,
+  _psy_noisebias_16_short,
+  _psy_noisebias_16,
+  _psy_noise_suppress,
+  
+  _psy_compand_8,
+  _psy_compand_8_mapping,
+  _psy_compand_8_mapping,
+
+  {_noise_start_16,_noise_start_16},
+  { _noise_part_16, _noise_part_16},
+  _noise_thresh_16,
+
+  _psy_ath_floater_16,
+  _psy_ath_abs_16,
+  
+  _psy_lowpass_22,
+
+  _psy_global_44,
+  _global_mapping_16,
+  _psy_stereo_modes_16,
+
+  _floor_44_books,
+  _floor_44,
+  _floor_mapping_16_short,
+  _floor_mapping_16,
+
+  _mapres_template_16_uncoupled
+};
index 6b6bdf9..31eb2db 100644 (file)
@@ -5,13 +5,13 @@
  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
  *                                                                  *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001             *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
  * by the XIPHOPHORUS Company http://www.xiph.org/                  *
  *                                                                  *
  ********************************************************************
 
  function: toplevel settings for 32kHz
- last mod: $Id: setup_32.h,v 1.1 2002/07/02 04:25:21 xiphmont Exp $
+ last mod: $Id: setup_32.h,v 1.2 2002/07/10 03:04:22 xiphmont Exp $
 
  ********************************************************************/
 
index 99fc0ba..e4a12dd 100644 (file)
@@ -5,13 +5,13 @@
  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
  *                                                                  *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001             *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
  * by the XIPHOPHORUS Company http://www.xiph.org/                  *
  *                                                                  *
  ********************************************************************
 
  function: toplevel settings for 44.1/48kHz
- last mod: $Id: setup_44.h,v 1.6 2002/07/01 11:20:19 xiphmont Exp $
+ last mod: $Id: setup_44.h,v 1.7 2002/07/10 03:04:22 xiphmont Exp $
 
  ********************************************************************/
 
@@ -54,19 +54,22 @@ static double _psy_compand_long_mapping[11]={
   4., 4., 4.3, 4.6, 5., 5., 5., 5., 5., 5., 5.
 };
 static double _global_mapping_44[11]={
-  0., 1., 1.5, 2., 2., 2.5, 2.7, 3.0, 3.5, 4., 4.
+  1., 1., 1.5, 2., 2., 2.5, 2.7, 3.0, 3.5, 4., 4.
 };
-static int _floor_short_mapping_44_low[2]={
-  1,1,
+static double _global_mapping_44_low[11]={
+  1., 1., 1.5, 2., 2., 2.5, 2.7, 3.0, 3.5, 4., 4.
 };
-static int _floor_short_mapping_44[11]={
-  0,0,2,2,4,5,5,5,5,5,5
+static int _floor_short_mapping_44_low[1]={
+  1,
+};
+static int _floor_long_mapping_44_low[1]={
+  8
 };
-static int _floor_long_mapping_44[11]={
-  7,7,7,7,7,7,7,7,7,7,7
+static int _floor_short_mapping_44[10]={
+  0,0,2,2,4,5,5,5,5,5
 };
-static int _floor_long_mapping_44_low[11]={
-  8,8
+static int _floor_long_mapping_44[10]={
+  7,7,7,7,7,7,7,7,7,7
 };
 
 ve_setup_data_template ve_setup_44_stereo={
@@ -160,7 +163,7 @@ ve_setup_data_template ve_setup_44_stereo_low={
   _psy_lowpass_44_low,
 
   _psy_global_44,
-  _global_mapping_44,
+  _global_mapping_44_low,
   _psy_stereo_modes_44_low,
 
   _floor_44_books,
index 2ad76a1..4b9f607 100644 (file)
@@ -5,13 +5,13 @@
  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
  *                                                                  *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001             *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
  * by the XIPHOPHORUS Company http://www.xiph.org/                  *
  *                                                                  *
  ********************************************************************
 
  function: toplevel settings for 44.1/48kHz uncoupled modes
- last mod: $Id: setup_44u.h,v 1.1 2002/07/01 11:20:19 xiphmont Exp $
+ last mod: $Id: setup_44u.h,v 1.2 2002/07/10 03:04:22 xiphmont Exp $
 
  ********************************************************************/
 
@@ -117,7 +117,7 @@ ve_setup_data_template ve_setup_44_uncoupled_low={
   _psy_lowpass_44_low,
 
   _psy_global_44,
-  _global_mapping_44,
+  _global_mapping_44_low,
   NULL,
 
   _floor_44_books,
diff --git a/lib/modes/setup_8.h b/lib/modes/setup_8.h
new file mode 100644 (file)
index 0000000..10a917f
--- /dev/null
@@ -0,0 +1,146 @@
+/********************************************************************
+ *                                                                  *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
+ *                                                                  *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
+ * by the XIPHOPHORUS Company http://www.xiph.org/                  *
+ *                                                                  *
+ ********************************************************************
+
+ function: 8kHz settings 
+ last mod: $Id: setup_8.h,v 1.1 2002/07/10 03:04:22 xiphmont Exp $
+
+ ********************************************************************/
+
+#include "psych_8.h"
+#include "residue_8.h"
+
+static int blocksize_8[2]={
+  512,512
+};
+
+static int _floor_mapping_8[2]={
+  1,1,
+};
+
+static double rate_mapping_8[3]={
+  6000.,9000.,32000.,
+};
+
+static double rate_mapping_8_uncoupled[3]={
+  8000.,14000.,42000.,
+};
+
+static double quality_mapping_8[3]={
+  -.1,.0,1.
+};
+
+static double _psy_compand_8_mapping[3]={ 0., 1., 1.};
+
+static double _global_mapping_8[3]={ 1., 2., 3. };
+
+ve_setup_data_template ve_setup_8_stereo={
+  2,
+  rate_mapping_8,
+  quality_mapping_8,
+  2,
+  8000,
+  9000,
+  
+  blocksize_8,
+  blocksize_8,
+
+  _psy_tone_masteratt_8,
+  _psy_tone_0dB,
+  _psy_tone_suppress,
+
+  _vp_tonemask_adj_8,
+  NULL,
+  _vp_tonemask_adj_8,
+
+  _psy_noiseguards_8,
+  _psy_noisebias_8,
+  _psy_noisebias_8,
+  NULL,
+  NULL,
+  _psy_noise_suppress,
+  
+  _psy_compand_8,
+  _psy_compand_8_mapping,
+  NULL,
+
+  {_noise_start_8,_noise_start_8},
+  {_noise_part_8,_noise_part_8},
+  _noise_thresh_44_2,
+
+  _psy_ath_floater_8,
+  _psy_ath_abs_8,
+  
+  _psy_lowpass_8,
+
+  _psy_global_44,
+  _global_mapping_8,
+  _psy_stereo_modes_8,
+
+  _floor_44_books,
+  _floor_44,
+  _floor_mapping_8,
+  NULL,
+
+  _mapres_template_8_stereo
+};
+
+ve_setup_data_template ve_setup_8_uncoupled={
+  2,
+  rate_mapping_8_uncoupled,
+  quality_mapping_8,
+  -1,
+  8000,
+  9000,
+  
+  blocksize_8,
+  blocksize_8,
+
+  _psy_tone_masteratt_8,
+  _psy_tone_0dB,
+  _psy_tone_suppress,
+
+  _vp_tonemask_adj_8,
+  NULL,
+  _vp_tonemask_adj_8,
+
+  _psy_noiseguards_8,
+  _psy_noisebias_8,
+  _psy_noisebias_8,
+  NULL,
+  NULL,
+  _psy_noise_suppress,
+  
+  _psy_compand_8,
+  _psy_compand_8_mapping,
+  NULL,
+
+  {_noise_start_8,_noise_start_8},
+  {_noise_part_8,_noise_part_8},
+  _noise_thresh_44_2,
+
+  _psy_ath_floater_8,
+  _psy_ath_abs_8,
+  
+  _psy_lowpass_8,
+
+  _psy_global_44,
+  _global_mapping_8,
+  _psy_stereo_modes_8,
+
+  _floor_44_books,
+  _floor_44,
+  _floor_mapping_8,
+  NULL,
+
+  _mapres_template_8_uncoupled
+};
+
index 42b1db7..5c33d89 100644 (file)
@@ -5,13 +5,13 @@
  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
  *                                                                  *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001             *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
  * by the XIPHOPHORUS Company http://www.xiph.org/                  *
  *                                                                  *
  ********************************************************************
 
  function: catch-all toplevel settings for q modes only
- last mod: $Id: setup_X.h,v 1.1 2002/07/02 04:25:21 xiphmont Exp $
+ last mod: $Id: setup_X.h,v 1.2 2002/07/10 03:04:22 xiphmont Exp $
 
  ********************************************************************/
 
@@ -25,7 +25,7 @@ ve_setup_data_template ve_setup_X_stereo={
   rate_mapping_X,
   quality_mapping_44,
   2,
-  4000,
+  50000,
   200000,
   
   blocksize_short_44,
@@ -76,7 +76,7 @@ ve_setup_data_template ve_setup_X_uncoupled={
   rate_mapping_X,
   quality_mapping_44,
   -1,
-  4000,
+  50000,
   200000,
   
   blocksize_short_44,
@@ -127,7 +127,7 @@ ve_setup_data_template ve_setup_X_stereo_low={
   rate_mapping_X,
   quality_mapping_44_stereo_low,
   2,
-  4000,
+  50000,
   200000,
   
   blocksize_short_44_low,
@@ -179,7 +179,7 @@ ve_setup_data_template ve_setup_X_uncoupled_low={
   rate_mapping_X,
   quality_mapping_44_stereo_low,
   -1,
-  4000,
+  50000,
   200000,
   
   blocksize_short_44_low,
@@ -224,3 +224,106 @@ ve_setup_data_template ve_setup_X_uncoupled_low={
 
   _mapres_template_44_uncoupled
 };
+
+ve_setup_data_template ve_setup_XX_stereo={
+  2,
+  rate_mapping_X,
+  quality_mapping_8,
+  2,
+  0,
+  8000,
+  
+  blocksize_8,
+  blocksize_8,
+
+  _psy_tone_masteratt_8,
+  _psy_tone_0dB,
+  _psy_tone_suppress,
+
+  _vp_tonemask_adj_8,
+  NULL,
+  _vp_tonemask_adj_8,
+
+  _psy_noiseguards_8,
+  _psy_noisebias_8,
+  _psy_noisebias_8,
+  NULL,
+  NULL,
+  _psy_noise_suppress,
+  
+  _psy_compand_8,
+  _psy_compand_8_mapping,
+  NULL,
+
+  {_noise_start_8,_noise_start_8},
+  {_noise_part_8,_noise_part_8},
+  _noise_thresh_44_2,
+
+  _psy_ath_floater_8,
+  _psy_ath_abs_8,
+  
+  _psy_lowpass_8,
+
+  _psy_global_44,
+  _global_mapping_8,
+  _psy_stereo_modes_8,
+
+  _floor_44_books,
+  _floor_44,
+  _floor_mapping_8,
+  NULL,
+
+  _mapres_template_8_stereo
+};
+
+ve_setup_data_template ve_setup_XX_uncoupled={
+  2,
+  rate_mapping_X,
+  quality_mapping_8,
+  -1,
+  0,
+  8000,
+  
+  blocksize_8,
+  blocksize_8,
+
+  _psy_tone_masteratt_8,
+  _psy_tone_0dB,
+  _psy_tone_suppress,
+
+  _vp_tonemask_adj_8,
+  NULL,
+  _vp_tonemask_adj_8,
+
+  _psy_noiseguards_8,
+  _psy_noisebias_8,
+  _psy_noisebias_8,
+  NULL,
+  NULL,
+  _psy_noise_suppress,
+  
+  _psy_compand_8,
+  _psy_compand_8_mapping,
+  NULL,
+
+  {_noise_start_8,_noise_start_8},
+  {_noise_part_8,_noise_part_8},
+  _noise_thresh_44_2,
+
+  _psy_ath_floater_8,
+  _psy_ath_abs_8,
+  
+  _psy_lowpass_8,
+
+  _psy_global_44,
+  _global_mapping_8,
+  _psy_stereo_modes_8,
+
+  _floor_44_books,
+  _floor_44,
+  _floor_mapping_8,
+  NULL,
+
+  _mapres_template_8_uncoupled
+};
+