summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMonty <xiphmont@xiph.org>2001-05-27 06:21:56 +0000
committerMonty <xiphmont@xiph.org>2001-05-27 06:21:56 +0000
commit0a87dbe1f9d8e0718d961dea3a505dfacc618888 (patch)
tree2cf3bf560eac5708318a80d6a367641e91c5c513
parentd3d4927b428b2651f27c93be9805caed1a2373db (diff)
downloadlibvorbis-git-monty-branch-20010404.tar.gz
Fixes/updates preparing for merge. floor1/res1 unused for now.monty-branch-20010404
Monty svn path=/branches/monty-branch-20010404/vorbis/; revision=1457
-rw-r--r--lib/modes/mode_A.h154
-rw-r--r--lib/modes/mode_AA.h313
-rw-r--r--lib/modes/mode_B.h314
-rw-r--r--lib/modes/mode_C.h314
-rw-r--r--lib/modes/mode_D.h310
-rw-r--r--lib/modes/mode_E.h276
6 files changed, 1556 insertions, 125 deletions
diff --git a/lib/modes/mode_A.h b/lib/modes/mode_A.h
index da4ff583..b27eda25 100644
--- a/lib/modes/mode_A.h
+++ b/lib/modes/mode_A.h
@@ -11,7 +11,7 @@
********************************************************************
function: predefined encoding modes
- last mod: $Id: mode_A.h,v 1.14.4.5 2001/05/23 02:15:24 xiphmont Exp $
+ last mod: $Id: mode_A.h,v 1.14.4.6 2001/05/27 06:21:55 xiphmont Exp $
********************************************************************/
@@ -22,33 +22,10 @@
#include "vorbis/codec.h"
#include "backends.h"
-#include "books/line0_class0.vqh"
-#include "books/line0_class1.vqh"
-#include "books/line0_class2.vqh"
-#include "books/line1_class0.vqh"
-#include "books/line1_class1.vqh"
-#include "books/line1_class2.vqh"
-#include "books/line1_class3.vqh"
-
-#include "books/line0_0sub0.vqh"
-#include "books/line0_0sub1.vqh"
-#include "books/line0_1sub1.vqh"
-#include "books/line0_1sub2.vqh"
-#include "books/line0_1sub3.vqh"
-#include "books/line0_2sub1.vqh"
-#include "books/line0_2sub2.vqh"
-#include "books/line0_2sub3.vqh"
-
-#include "books/line1_0sub0.vqh"
-#include "books/line1_0sub1.vqh"
-#include "books/line1_1sub0.vqh"
-#include "books/line1_1sub1.vqh"
-#include "books/line1_2sub1.vqh"
-#include "books/line1_2sub2.vqh"
-#include "books/line1_2sub3.vqh"
-#include "books/line1_3sub1.vqh"
-#include "books/line1_3sub2.vqh"
-#include "books/line1_3sub3.vqh"
+#include "books/lsp12_0.vqh"
+#include "books/lsp30_0.vqh"
+#include "books/lsp12_1.vqh"
+#include "books/lsp30_1.vqh"
#include "books/res0_128_128aux.vqh"
#include "books/res0_128_1024aux.vqh"
@@ -222,7 +199,7 @@ static vorbis_info_psy _psy_set_A={
.5f, /* high window */
25,
25,
- 40,
+ 50,
{.000f, 0.f, /*63*/
.000f, 0.f, /*88*/
.000f, 0.f, /*125*/
@@ -250,71 +227,22 @@ static vorbis_info_psy _psy_set_A={
/* with GNUisms, this could be short and readable. Oh well */
static vorbis_info_time0 _time_set0A={0};
-/*static vorbis_info_floor0 _floor_set0A={12, 44100, 64, 10,130, 2, {0,1},
- 0.199f, .285f};*/
-/*static vorbis_info_floor0 _floor_set1A={30, 44100, 256, 12,150, 2, {2,3},
- .082f, .126f};*/
-
-static vorbis_info_floor1 _floor_set0A={4,
- {0,1,2,2},
-
- {3,3,3},
- {1,2,2},
- {0,1,2},
- {{3,4},{-1,5,6,7},{-1,8,9,10}},
-
- 4,
- {0,128,
- 5,21,
-
- 2,1,3,
- 11,7,15,
- 45,30,73},
-
- 60,30,600,
- 999,999,0,18.,
- 8,96};
-
-static vorbis_info_floor1 _floor_set1A={10,
- {0,1,2,2,2,2,2, 3,3,3},
-
- {3,4,3,3},
- {1,1,2,2},
- {11,12,13,14},
- {{15,16},
- {17,18},
- {-1,19,20,21},
- {-1,22,23,24},
- },
-
- 4,
- {0,1024,
-
- 88,31,243,
-
- 14,54,143,460,
-
- 6,3,10, 22,18,26, 41,36,47,
- 69,61,78, 112,99,126, 185,162,211,
- 329,282,387, 672,553,825
- },
-
- 60,30,600,
- 20,8,1,18.,
- 20,600};
-
-static vorbis_info_residue0 _residue_set0A={0,96,16,6,25,
+static vorbis_info_floor0 _floor_set0A={12, 44100, 64, 10,130, 2, {0,1},
+ 0.199f, .285f};
+static vorbis_info_floor0 _floor_set1A={30, 44100, 256, 12,150, 2, {2,3},
+ .082f, .126f};
+static vorbis_info_residue0 _residue_set0A={0,96,16,6,4,
{0,1,1,1,1,1},
- {27,28,29,30,31},
+ {6,7,8,9,10},
{0,99999,9999,9999,9999},
{999.f,1.5f,3.5f,15.5f,26.5f},
{4,4,4,4,4},
{99,99,99,99,99}};
-static vorbis_info_residue0 _residue_set1A={0, 960, 32,10,26,
+static vorbis_info_residue0 _residue_set1A={0, 960, 32,10,5,
{0,1,1,1,1,1,1,1,1,1},
- {32,33,34,35,36,37,38,39,40},
+ {11,12,13,14,15,16,17,18,19},
{0,8,9999,16,9999,
24,9999,9999,9999},
@@ -334,7 +262,7 @@ codec_setup_info info_A={
/* smallblock, largeblock */
{256, 2048},
/* modes,maps,times,floors,residues,books,psys */
- 2, 2, 1, 2, 2, 41, 2,
+ 2, 2, 1, 2, 2, 20, 2,
/* modes */
{&_mode_set0A,&_mode_set1A},
/* maps */
@@ -342,56 +270,32 @@ codec_setup_info info_A={
/* times */
{0,0},{&_time_set0A},
/* floors */
- {1,1},{&_floor_set0A,&_floor_set1A},
+ {0,0},{&_floor_set0A,&_floor_set1A},
/* residue */
- {1,1},{&_residue_set0A,&_residue_set1A},
+ {0,0},{&_residue_set0A,&_residue_set1A},
/* books */
- {&_huff_book_line0_class0, /* 0 */
- &_huff_book_line0_class1,
- &_huff_book_line0_class2, /* 2 */
-
- &_huff_book_line0_0sub0, /* 3 */
- &_huff_book_line0_0sub1,
- &_huff_book_line0_1sub1, /* 5 */
- &_huff_book_line0_1sub2,
- &_huff_book_line0_1sub3, /* 7 */
- &_huff_book_line0_2sub1,
- &_huff_book_line0_2sub2, /* 9 */
- &_huff_book_line0_2sub3,
-
- &_huff_book_line1_class0,
- &_huff_book_line1_class1, /* 12 */
- &_huff_book_line1_class2,
- &_huff_book_line1_class3, /* 14 */
-
- &_huff_book_line1_0sub0,
- &_huff_book_line1_0sub1, /* 16 */
- &_huff_book_line1_1sub0,
- &_huff_book_line1_1sub1,
- &_huff_book_line1_2sub1,
- &_huff_book_line1_2sub2, /* 20 */
- &_huff_book_line1_2sub3,
- &_huff_book_line1_3sub1,
- &_huff_book_line1_3sub2,
- &_huff_book_line1_3sub3, /* 24 */
-
- &_huff_book_res0_128_128aux,
+ {&_vq_book_lsp12_0, /* 0 */
+ &_vq_book_lsp12_1, /* 1 */
+ &_vq_book_lsp30_0, /* 2 */
+ &_vq_book_lsp30_1, /* 3 */
+
+ &_huff_book_res0_128_128aux,
&_huff_book_res0_128_1024aux,
- &_vq_book_res0_128_128_1,
+ &_vq_book_res0_128_128_1,
&_vq_book_res0_128_128_2,
&_vq_book_res0_128_128_3,
&_vq_book_res0_128_128_4,
- &_vq_book_res0_128_128_5,
+ &_vq_book_res0_128_128_5,
&_vq_book_res0_128_1024_1,
- &_vq_book_res0_128_1024_2,
+ &_vq_book_res0_128_1024_2,
&_vq_book_res0_128_1024_3,
- &_vq_book_res0_128_1024_4,
+ &_vq_book_res0_128_1024_4,
&_vq_book_res0_128_1024_5,
- &_vq_book_res0_128_1024_6,
+ &_vq_book_res0_128_1024_6,
&_vq_book_res0_128_1024_7,
- &_vq_book_res0_128_1024_8,
+ &_vq_book_res0_128_1024_8,
&_vq_book_res0_128_1024_9,
},
diff --git a/lib/modes/mode_AA.h b/lib/modes/mode_AA.h
new file mode 100644
index 00000000..45031ef6
--- /dev/null
+++ b/lib/modes/mode_AA.h
@@ -0,0 +1,313 @@
+/********************************************************************
+ * *
+ * 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-2001 *
+ * by the XIPHOPHORUS Company http://www.xiph.org/ *
+
+ ********************************************************************
+
+ function: predefined encoding modes
+ last mod: $Id: mode_AA.h,v 1.10.4.1 2001/05/27 06:21:56 xiphmont Exp $
+
+ ********************************************************************/
+
+#ifndef _V_MODES_AA_H_
+#define _V_MODES_AA_H_
+
+#include <stdio.h>
+#include "vorbis/codec.h"
+#include "backends.h"
+
+#include "books/lsp9_0.vqh"
+#include "books/lsp30_0.vqh"
+#include "books/lsp9_1.vqh"
+#include "books/lsp30_1.vqh"
+
+#include "books/res0_96_128aux.vqh"
+#include "books/res0_96_1024aux.vqh"
+
+#include "books/res0_96_128_1.vqh"
+#include "books/res0_96_128_2.vqh"
+#include "books/res0_96_128_3.vqh"
+#include "books/res0_96_128_4.vqh"
+#include "books/res0_96_128_5.vqh"
+
+#include "books/res0_96_1024_1.vqh"
+#include "books/res0_96_1024_2.vqh"
+#include "books/res0_96_1024_3.vqh"
+#include "books/res0_96_1024_4.vqh"
+#include "books/res0_96_1024_5.vqh"
+#include "books/res0_96_1024_6.vqh"
+#include "books/res0_96_1024_7.vqh"
+#include "books/res0_96_1024_8.vqh"
+#include "books/res0_96_1024_9.vqh"
+
+
+static vorbis_info_psy _psy_set_AA0={
+ 1,/*athp*/
+ 1,/*decayp*/
+
+ -100.,
+ -140.,
+
+ 8,
+
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */
+ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */
+
+ 1,/* tonemaskp */
+ /* 0 10 20 30 40 50 60 70 80 90 100 */
+ {
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*63*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*88*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*125*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*175*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*250*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*350*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*500*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*700*/
+
+ {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1000*/
+ {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1400*/
+ {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2000*/
+ {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2800*/
+ {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*4000*/
+ {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*5600*/
+ {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*8000*/
+ {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*11500*/
+ {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*16000*/
+ },
+
+ 1,/* peakattp */
+ {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*63*/
+ {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*88*/
+ {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*125*/
+ {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-22.f,-22.f},/*175*/
+ {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-22.f,-22.f},/*250*/
+ {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-22.f,-22.f},/*350*/
+ {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-22.f,-22.f},/*500*/
+ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-14.f,-20.f,-22.f,-22.f,-22.f},/*700*/
+ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-14.f,-20.f,-22.f,-22.f,-22.f},/*1000*/
+ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*1400*/
+ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*2000*/
+ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*2400*/
+ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*4000*/
+ {-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-12.f,-13.f,-22.f,-22.f,-22.f},/*5600*/
+ {-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-12.f,-13.f,-22.f,-22.f,-22.f},/*8000*/
+ {-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-22.f,-22.f,-22.f},/*11500*/
+ {-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-20.f,-21.f,-22.f},/*16000*/
+ },
+
+ 1,/*noisemaskp */
+ -0.f, /* suppress any noise curve over maxspec+n */
+ .5f, /* low window */
+ .5f, /* high window */
+ 5,
+ 5,
+ 10,
+ {.000f, 0.f,/*63*/
+ .000f, 0.f,/*88*/
+ .000f, 0.f,/*125*/
+ .000f, 0.f,/*175*/
+ .000f, 0.f,/*250*/
+ .000f, 0.f,/*350*/
+ .000f, 0.f,/*500*/
+ .300f, 0.f,/*700*/
+ .500f, 0.f,/*1000*/
+ .500f, 0.f,/*1400*/
+ .500f, 0.f,/*2000*/
+ .500f, 0.f,/*2800*/
+ .600f, 0.f,/*4000*/
+ .700f, 0.f,/*5600*/
+ .850f, 0.f,/*8000*/
+ .900f, 2.f,/*11500*/
+ .900f, 3.f,/*16000*/
+ },
+
+ 95.f, /* even decade + 5 is important; saves an rint() later in a
+ tight loop) */
+ -22.,
+};
+
+static vorbis_info_psy _psy_set_AA={
+ 1,/*athp*/
+ 1,/*decayp*/
+
+ -100.f,
+ -140.f,
+
+ 8,
+
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */
+ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */
+ 1,/* tonemaskp */
+ /* 0 10 20 30 40 50 60 70 80 90 100 */
+ {
+ {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*63*/
+ {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*88*/
+ {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*125*/
+
+ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/
+ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/
+ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/
+ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/
+ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/
+
+ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/
+ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2000*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2800*/
+ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/
+ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/
+
+ {-20.f,-25.f,-30.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/
+ {-20.f,-25.f,-30.f,-35.f,-35.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f}, /*11500*/
+ {-20.f,-24.f,-26.f,-32.f,-35.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f}, /*16000*/
+
+ },
+
+ 1,/* peakattp */
+ {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*63*/
+ {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*88*/
+ {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*125*/
+ {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-22.f,-22.f},/*175*/
+ {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-22.f,-22.f},/*250*/
+ {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-22.f,-22.f},/*350*/
+ {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-22.f,-22.f},/*500*/
+ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*700*/
+ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*1000*/
+ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*1400*/
+ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*2000*/
+ {-10.f,-10.f,-10.f,-12.f,-16.f,-16.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*2400*/
+ {-10.f,-10.f,-10.f,-12.f,-16.f,-16.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*4000*/
+ {-10.f,-10.f,-10.f,-12.f,-12.f,-14.f,-16.f,-18.f,-22.f,-22.f,-22.f},/*5600*/
+ {-10.f,-10.f,-10.f,-10.f,-10.f,-14.f,-16.f,-18.f,-22.f,-22.f,-22.f},/*8000*/
+ {-10.f,-10.f,-10.f,-10.f,-10.f,-14.f,-16.f,-18.f,-22.f,-22.f,-22.f},/*11500*/
+ {-10.f,-10.f,-10.f,-10.f,-10.f,-12.f,-16.f,-18.f,-22.f,-22.f,-22.f},/*16000*/
+ },
+
+ 1,/*noisemaskp */
+ -0.f, /* suppress any noise curve over maxspec+n */
+ .7f, /* low window */
+ .7f, /* high window */
+ 25,
+ 25,
+ 50,
+ {.000f, 0.f, /*63*/
+ .000f, 0.f, /*88*/
+ .000f, 0.f, /*125*/
+ .000f, 0.f, /*175*/
+ .000f, 0.f, /*250*/
+ .000f, 0.f, /*350*/
+ .000f, 0.f, /*500*/
+ .200f, 0.f, /*700*/
+ .300f, 0.f, /*1000*/
+ .400f, 0.f, /*1400*/
+ .400f, 0.f, /*2000*/
+ .400f, 0.f, /*2800*/
+ .700f, 0.f, /*4000*/
+ .850f, 0.f, /*5600*/
+ .900f, 0.f, /*8000*/
+ .900f, 0.f, /*11500*/
+ .900f, 1.f, /*16000*/
+ },
+
+ 95.f, /* even decade + 5 is important; saves an rint() later in a
+ tight loop) */
+ -22.,
+
+};
+
+/* with GNUisms, this could be short and readable. Oh well */
+static vorbis_info_time0 _time_set0AA={0};
+static vorbis_info_floor0 _floor_set0AA={9, 44100, 64, 10,130, 2, {0,1},
+ 0.246f, .387f};
+static vorbis_info_floor0 _floor_set1AA={30, 44100, 256, 12,150, 2, {2,3},
+ .082f, .126f};
+static vorbis_info_residue0 _residue_set0AA={0,192,16,6,4,
+ {0,1,1,1,1,1},
+ {6,7,8,9,10},
+
+ {0,7,9999,9999,9999},
+ {999.f,2.f,2.f,9.5f,26.f},
+ {4,4,4,4,4},
+ {99,99,99,99,99}};
+
+static vorbis_info_residue0 _residue_set1AA={0, 768, 32,10,5,
+ {0,1,1,1,1,1,1,1,1,1},
+ {11,12,13,14,15,16,17,18,19},
+
+ {0,10,9999,16,9999,
+ 26,9999,9999,9999},
+ {999.f,2.f,2.f,4.f,4.f,
+ 9.5f,9.5f,18.f,37.f},
+ {5,5,5,5,5,5,5,5,5},
+ {99,99,99,99,99,99,99,99,99}};
+
+static vorbis_info_mapping0 _mapping_set0AA={1, {0,0}, {0}, {0}, {0}, {0}};
+static vorbis_info_mapping0 _mapping_set1AA={1, {0,0}, {0}, {1}, {1}, {1}};
+static vorbis_info_mode _mode_set0AA={0,0,0,0};
+static vorbis_info_mode _mode_set1AA={1,0,0,1};
+
+/* CD quality stereo, no channel coupling */
+codec_setup_info info_AA={
+
+ /* smallblock, largeblock */
+ {512, 2048},
+ /* modes,maps,times,floors,residues,books,psys */
+ 2, 2, 1, 2, 2, 20, 2,
+ /* modes */
+ {&_mode_set0AA,&_mode_set1AA},
+ /* maps */
+ {0,0},{&_mapping_set0AA,&_mapping_set1AA},
+ /* times */
+ {0,0},{&_time_set0AA},
+ /* floors */
+ {0,0},{&_floor_set0AA,&_floor_set1AA},
+ /* residue */
+ {0,0},{&_residue_set0AA,&_residue_set1AA},
+ /* books */
+ {&_vq_book_lsp9_0, /* 0 */
+ &_vq_book_lsp9_1, /* 1 */
+ &_vq_book_lsp30_0, /* 2 */
+ &_vq_book_lsp30_1, /* 3 */
+
+ &_huff_book_res0_96_128aux,
+ &_huff_book_res0_96_1024aux,
+
+ &_vq_book_res0_96_128_1,
+ &_vq_book_res0_96_128_2,
+ &_vq_book_res0_96_128_3,
+ &_vq_book_res0_96_128_4,
+ &_vq_book_res0_96_128_5,
+
+ &_vq_book_res0_96_1024_1,
+ &_vq_book_res0_96_1024_2,
+ &_vq_book_res0_96_1024_3,
+ &_vq_book_res0_96_1024_4,
+ &_vq_book_res0_96_1024_5,
+ &_vq_book_res0_96_1024_6,
+ &_vq_book_res0_96_1024_7,
+ &_vq_book_res0_96_1024_8,
+ &_vq_book_res0_96_1024_9,
+
+ },
+ /* psy */
+ {&_psy_set_AA0,&_psy_set_AA},
+ /* thresh sample period, preecho clamp trigger threshhold, range, minenergy */
+ 256, {30.f,30.f,30.f,34.f}, {-90.f,-90.f,-90.f,-90.f}, -90.f,
+
+ -10.,
+
+ 0,
+};
+
+#define PREDEF_INFO_MAX 0
+
+#endif
diff --git a/lib/modes/mode_B.h b/lib/modes/mode_B.h
new file mode 100644
index 00000000..51adf9ff
--- /dev/null
+++ b/lib/modes/mode_B.h
@@ -0,0 +1,314 @@
+/********************************************************************
+ * *
+ * 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-2001 *
+ * by the XIPHOPHORUS Company http://www.xiph.org/ *
+
+ ********************************************************************
+
+ function: predefined encoding modes
+ last mod: $Id: mode_B.h,v 1.13.4.1 2001/05/27 06:21:56 xiphmont Exp $
+
+ ********************************************************************/
+
+#ifndef _V_MODES_B_H_
+#define _V_MODES_B_H_
+
+#include <stdio.h>
+#include "vorbis/codec.h"
+#include "backends.h"
+
+#include "books/lsp12_0.vqh"
+#include "books/lsp30_0.vqh"
+#include "books/lsp12_1.vqh"
+#include "books/lsp30_1.vqh"
+
+#include "books/res0_160_128aux.vqh"
+#include "books/res0_160_1024aux.vqh"
+
+#include "books/res0_160_128_1.vqh"
+#include "books/res0_160_128_2.vqh"
+#include "books/res0_160_128_3.vqh"
+#include "books/res0_160_128_4.vqh"
+#include "books/res0_160_128_5.vqh"
+
+#include "books/res0_160_1024_1.vqh"
+#include "books/res0_160_1024_2.vqh"
+#include "books/res0_160_1024_3.vqh"
+#include "books/res0_160_1024_4.vqh"
+#include "books/res0_160_1024_5.vqh"
+#include "books/res0_160_1024_6.vqh"
+#include "books/res0_160_1024_7.vqh"
+#include "books/res0_160_1024_8.vqh"
+#include "books/res0_160_1024_9.vqh"
+
+
+static vorbis_info_psy _psy_set_B0={
+ 1,/*athp*/
+ 1,/*decayp*/
+
+ -100.,
+ -140.,
+
+ 8,
+
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */
+ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */
+
+ 1,/* tonemaskp */
+ /* 0 10 20 30 40 50 60 70 80 90 100 */
+ {
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*63*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*88*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*125*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*175*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*250*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*350*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*500*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*700*/
+
+ {-30.,-35.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1000*/
+ {-30.,-35.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1400*/
+ {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2000*/
+ {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2800*/
+ {-30.,-35.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*4000*/
+ {-30.,-35.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*5600*/
+ {-30.,-35.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*8000*/
+ {-30.,-35.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*11500*/
+ {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*16000*/
+ },
+
+ 1,/* peakattp */
+ {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-24.f,-24.f,-24.f,-24.f,-24.f},/*63*/
+ {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-24.f,-24.f,-24.f,-24.f,-24.f},/*88*/
+ {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-24.f,-24.f,-24.f,-24.f,-24.f},/*125*/
+ {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-24.f,-24.f,-24.f},/*175*/
+ {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-24.f,-24.f,-24.f},/*250*/
+ {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-24.f,-24.f,-24.f},/*350*/
+ {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-24.f,-24.f,-24.f},/*500*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-18.f,-24.f,-24.f,-24.f,-24.f},/*700*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-24.f,-24.f,-24.f,-24.f},/*1000*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-24.f,-24.f,-24.f},/*1400*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-24.f,-24.f,-24.f},/*2000*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-24.f,-24.f,-24.f},/*2400*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-24.f,-24.f,-24.f},/*4000*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-12.f,-20.f,-24.f,-24.f,-24.f},/*5600*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-20.f,-24.f,-24.f,-24.f},/*8000*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-20.f,-24.f,-24.f,-24.f},/*11500*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-20.f,-24.f,-24.f},/*16000*/
+ },
+
+ 1,/*noisemaskp */
+ -10.f, /* suppress any noise curve over maxspec+n */
+ .5f, /* low window */
+ .5f, /* high window */
+ 5,
+ 5,
+ 10,
+ {.000f, 0.f,/*63*/
+ .000f, 0.f,/*88*/
+ .000f, 0.f,/*125*/
+ .000f, 0.f,/*175*/
+ .000f, 0.f,/*250*/
+ .000f, 0.f,/*350*/
+ .000f, 0.f,/*500*/
+ .300f, 0.f,/*700*/
+ .500f, 0.f,/*1000*/
+ .500f, 0.f,/*1400*/
+ .500f, 0.f,/*2000*/
+ .500f, 0.f,/*2800*/
+ .600f, 0.f,/*4000*/
+ .700f, 0.f,/*5600*/
+ .800f, 0.f,/*8000*/
+ .800f, 0.f,/*11500*/
+ .800f, 0.f,/*16000*/
+ },
+
+ 95.f, /* even decade + 5 is important; saves an rint() later in a
+ tight loop) */
+ -26.,
+};
+
+static vorbis_info_psy _psy_set_B={
+ 1,/*athp*/
+ 1,/*decayp*/
+
+ -100.f,
+ -140.f,
+
+ 8,
+
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */
+ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */
+ 1,/* tonemaskp */
+ /* 0 10 20 30 40 50 60 70 80 90 100 */
+ {
+ {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*63*/
+ {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*88*/
+ {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*125*/
+
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/
+
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2000*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2800*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/
+
+ {-35.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/
+ {-35.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*11500*/
+ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*16000*/
+
+ },
+
+ 1,/* peakattp */
+ {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*63*/
+ {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*88*/
+ {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*125*/
+ {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-26.f,-26.f,-26.f},/*175*/
+ {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-26.f,-26.f,-26.f},/*250*/
+ {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-26.f,-26.f,-26.f},/*350*/
+ {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-26.f,-26.f,-26.f},/*500*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-18.f,-24.f,-26.f,-26.f,-26.f},/*700*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-24.f,-26.f,-26.f,-26.f},/*1000*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-26.f,-26.f,-26.f},/*1400*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-26.f,-26.f,-26.f},/*2000*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-26.f,-26.f,-26.f},/*2400*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-26.f,-26.f,-26.f},/*4000*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-12.f,-20.f,-26.f,-26.f,-26.f},/*5600*/
+ {-10.f,-10.f,-14.f,-14.f,-14.f,-14.f,-14.f,-20.f,-22.f,-24.f,-26.f},/*8000*/
+ {-10.f,-10.f,-10.f,-14.f,-14.f,-14.f,-14.f,-20.f,-22.f,-24.f,-26.f},/*11500*/
+ {-10.f,-10.f,-10.f,-14.f,-14.f,-14.f,-14.f,-14.f,-20.f,-24.f,-26.f},/*16000*/
+ },
+
+ 1,/*noisemaskp */
+ -28.f, /* suppress any noise curve over maxspec+n */
+ .5f, /* low window */
+ .5f, /* high window */
+ 25,
+ 25,
+ 40,
+ {.000f, 0.f, /*63*/
+ .000f, 0.f, /*88*/
+ .000f, 0.f, /*125*/
+ .000f, 0.f, /*175*/
+ .000f, 0.f, /*250*/
+ .000f, 0.f, /*350*/
+ .000f, 0.f, /*500*/
+ .000f, 0.f, /*700*/
+ .200f, 0.f, /*1000*/
+ .300f, 0.f, /*1400*/
+ .300f, 0.f, /*2000*/
+ .300f, 0.f, /*2800*/
+ .700f, 0.f, /*4000*/
+ .700f, 0.f, /*5600*/
+ .750f, 0.f, /*8000*/
+ .750f, 0.f, /*11500*/
+ .800f, 0.f, /*16000*/
+ },
+
+ 105.f, /* even decade + 5 is important; saves an rint() later in a
+ tight loop) */
+ -30.,
+
+};
+
+/* with GNUisms, this could be short and readable. Oh well */
+static vorbis_info_time0 _time_set0B={0};
+static vorbis_info_floor0 _floor_set0B={12, 44100, 64, 10,130, 2, {0,1},
+ 0.199f, .285f};
+static vorbis_info_floor0 _floor_set1B={30, 44100, 256, 12,150, 2, {2,3},
+ .082f, .126f};
+static vorbis_info_residue0 _residue_set0B={0,96,16,6,4,
+ {0,1,1,1,1,1},
+ {6,7,8,9,10},
+
+ {0,99999,9999,9999,9999},
+ {999.f,1.5f,3.5f,15.5f,26.5f},
+ {4,4,4,4,4},
+ {99,99,99,99,99}};
+
+static vorbis_info_residue0 _residue_set1B={0, 960, 32,10,5,
+ {0,1,1,1,1,1,1,1,1,1},
+ {11,12,13,14,15,16,17,18,19},
+
+ {0,8,9999,16,9999,
+ 24,9999,9999,9999},
+ {999.f,1.5f,1.5f,2.5f,2.5f,
+ 6.5f,6.5f,12.5f,22.5f},
+ {5,5,5,5,5,5,5,5,5},
+ {99,99,99,99,99,99,99,99,99}};
+
+static vorbis_info_mapping0 _mapping_set0B={1, {0,0}, {0}, {0}, {0}, {0}};
+static vorbis_info_mapping0 _mapping_set1B={1, {0,0}, {0}, {1}, {1}, {1}};
+static vorbis_info_mode _mode_set0B={0,0,0,0};
+static vorbis_info_mode _mode_set1B={1,0,0,1};
+
+/* CD quality stereo, no channel coupling */
+codec_setup_info info_B={
+
+ /* smallblock, largeblock */
+ {256, 2048},
+ /* modes,maps,times,floors,residues,books,psys */
+ 2, 2, 1, 2, 2, 20, 2,
+ /* modes */
+ {&_mode_set0B,&_mode_set1B},
+ /* maps */
+ {0,0},{&_mapping_set0B,&_mapping_set1B},
+ /* times */
+ {0,0},{&_time_set0B},
+ /* floors */
+ {0,0},{&_floor_set0B,&_floor_set1B},
+ /* residue */
+ {0,0},{&_residue_set0B,&_residue_set1B},
+ /* books */
+ {&_vq_book_lsp12_0, /* 0 */
+ &_vq_book_lsp12_1, /* 1 */
+ &_vq_book_lsp30_0, /* 2 */
+ &_vq_book_lsp30_1, /* 3 */
+
+ &_huff_book_res0_160_128aux,
+ &_huff_book_res0_160_1024aux,
+
+ &_vq_book_res0_160_128_1,
+ &_vq_book_res0_160_128_2,
+ &_vq_book_res0_160_128_3,
+ &_vq_book_res0_160_128_4,
+ &_vq_book_res0_160_128_5,
+
+ &_vq_book_res0_160_1024_1,
+ &_vq_book_res0_160_1024_2,
+ &_vq_book_res0_160_1024_3,
+ &_vq_book_res0_160_1024_4,
+ &_vq_book_res0_160_1024_5,
+ &_vq_book_res0_160_1024_6,
+ &_vq_book_res0_160_1024_7,
+ &_vq_book_res0_160_1024_8,
+ &_vq_book_res0_160_1024_9,
+
+ },
+ /* psy */
+ {&_psy_set_B0,&_psy_set_B},
+
+ /* thresh sample period, preecho clamp trigger threshhold, range, minenergy */
+ 256, {26.f,26.f,26.f,30.f}, {-90.f,-90.f,-90.f,-90.f}, -90.f,
+
+ -10.,
+
+ 0,
+};
+
+#define PREDEF_INFO_MAX 0
+
+#endif
diff --git a/lib/modes/mode_C.h b/lib/modes/mode_C.h
new file mode 100644
index 00000000..ef255e88
--- /dev/null
+++ b/lib/modes/mode_C.h
@@ -0,0 +1,314 @@
+/********************************************************************
+ * *
+ * 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-2001 *
+ * by the XIPHOPHORUS Company http://www.xiph.org/ *
+
+ ********************************************************************
+
+ function: predefined encoding modes
+ last mod: $Id: mode_C.h,v 1.12.4.1 2001/05/27 06:21:56 xiphmont Exp $
+
+ ********************************************************************/
+
+#ifndef _V_MODES_C_H_
+#define _V_MODES_C_H_
+
+#include <stdio.h>
+#include "vorbis/codec.h"
+#include "backends.h"
+
+#include "books/lsp12_0.vqh"
+#include "books/lsp30_0.vqh"
+#include "books/lsp12_1.vqh"
+#include "books/lsp30_1.vqh"
+
+#include "books/res0_192_128aux.vqh"
+#include "books/res0_192_1024aux.vqh"
+
+#include "books/res0_192_128_1.vqh"
+#include "books/res0_192_128_2.vqh"
+#include "books/res0_192_128_3.vqh"
+#include "books/res0_192_128_4.vqh"
+#include "books/res0_192_128_5.vqh"
+
+#include "books/res0_192_1024_1.vqh"
+#include "books/res0_192_1024_2.vqh"
+#include "books/res0_192_1024_3.vqh"
+#include "books/res0_192_1024_4.vqh"
+#include "books/res0_192_1024_5.vqh"
+#include "books/res0_192_1024_6.vqh"
+#include "books/res0_192_1024_7.vqh"
+#include "books/res0_192_1024_8.vqh"
+#include "books/res0_192_1024_9.vqh"
+
+
+static vorbis_info_psy _psy_set_C0={
+ 1,/*athp*/
+ 1,/*decayp*/
+
+ -100.,
+ -140.,
+
+ 8,
+
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */
+ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */
+
+ 1,/* tonemaskp */
+ /* 0 10 20 30 40 50 60 70 80 90 100 */
+ {
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*63*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*88*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*125*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*175*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*250*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*350*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*500*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*700*/
+
+ {-35.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1000*/
+ {-35.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1400*/
+ {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2000*/
+ {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2800*/
+ {-35.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*4000*/
+ {-35.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*5600*/
+ {-35.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*8000*/
+ {-35.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*11500*/
+ {-35.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*16000*/
+ },
+
+ 1,/* peakattp */
+ {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-24.f,-24.f,-24.f,-24.f,-24.f},/*63*/
+ {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-24.f,-24.f,-24.f,-24.f,-24.f},/*88*/
+ {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-24.f,-24.f,-24.f,-24.f,-24.f},/*125*/
+ {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-24.f,-24.f,-24.f},/*175*/
+ {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-24.f,-24.f,-24.f},/*250*/
+ {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-24.f,-24.f,-24.f},/*350*/
+ {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-24.f,-24.f,-24.f},/*500*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-18.f,-24.f,-24.f,-24.f,-24.f},/*700*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-24.f,-24.f,-24.f,-24.f},/*1000*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-24.f,-24.f,-24.f},/*1400*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-24.f,-24.f,-24.f},/*2000*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-24.f,-24.f,-24.f},/*2400*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-24.f,-24.f,-24.f},/*4000*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-12.f,-20.f,-24.f,-24.f,-24.f},/*5600*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-20.f,-24.f,-24.f,-24.f},/*8000*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-20.f,-24.f,-24.f,-24.f},/*11500*/
+ {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-20.f,-24.f,-24.f},/*16000*/
+ },
+
+ 1,/*noisemaskp */
+ -20.f, /* suppress any noise curve over maxspec+n */
+ .5f, /* low window */
+ .5f, /* high window */
+ 5,
+ 5,
+ 10,
+ {.000f, 0.f,/*63*/
+ .000f, 0.f,/*88*/
+ .000f, 0.f,/*125*/
+ .000f, 0.f,/*175*/
+ .000f, 0.f,/*250*/
+ .000f, 0.f,/*350*/
+ .000f, 0.f,/*500*/
+ .200f, 0.f,/*700*/
+ .300f, 0.f,/*1000*/
+ .300f, 0.f,/*1400*/
+ .300f, 0.f,/*2000*/
+ .300f, 0.f,/*2800*/
+ .500f, 0.f,/*4000*/
+ .600f, 0.f,/*5600*/
+ .700f, 0.f,/*8000*/
+ .700f, 0.f,/*11500*/
+ .700f, 1.f,/*16000*/
+ },
+
+ 105.f, /* even decade + 5 is important; saves an rint() later in a
+ tight loop) */
+ -26.,
+};
+
+static vorbis_info_psy _psy_set_C={
+ 1,/*athp*/
+ 1,/*decayp*/
+
+ -100.f,
+ -140.f,
+
+ 8,
+
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */
+ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */
+ 1,/* tonemaskp */
+ /* 0 10 20 30 40 50 60 70 80 90 100 */
+ {
+ {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*63*/
+ {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*88*/
+ {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*125*/
+
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/
+
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2000*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2800*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/
+
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*11500*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*16000*/
+
+ },
+
+ 1,
+ {{-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*63*/
+ {-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*88*/
+ {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*125*/
+ {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*175*/
+ {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*250*/
+ {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*350*/
+ {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-28.f,-24.f,-28.f,-28.f,-28.f},/*500*/
+ {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*700*/
+ {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*1000*/
+ {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*1400*/
+ {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*2000*/
+ {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*2800*/
+ {-20.f,-20.f,-20.f,-20.f,-22.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*4000*/
+ {-20.f,-20.f,-20.f,-20.f,-22.f,-20.f,-22.f,-24.f,-28.f,-28.f,-28.f},/*5600*/
+ {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-22.f,-24.f,-28.f,-28.f,-28.f},/*8000*/
+ {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-22.f,-24.f,-28.f,-28.f,-28.f},/*11500*/
+ {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-22.f,-24.f,-28.f,-28.f,-28.f},/*16000*/
+ },
+
+ 1,/*noisemaskp */
+ -28.f, /* suppress any noise curve over maxspec+n */
+ .5f, /* low window */
+ .5f, /* high window */
+ 25,
+ 25,
+ 40,
+ {.000f, 0.f, /*63*/
+ .000f, 0.f, /*88*/
+ .000f, 0.f, /*125*/
+ .000f, 0.f, /*175*/
+ .000f, 0.f, /*250*/
+ .000f, 0.f, /*350*/
+ .000f, 0.f, /*500*/
+ .000f, 0.f, /*700*/
+ .200f, 0.f, /*1000*/
+ .300f, 0.f, /*1400*/
+ .300f, 0.f, /*2000*/
+ .300f, 0.f, /*2800*/
+ .300f, 0.f, /*4000*/
+ .400f, 0.f, /*5600*/
+ .600f, 0.f, /*8000*/
+ .600f, 0.f, /*11500*/
+ .650f, 0.f, /*16000*/
+ },
+
+ 105.f, /* even decade + 5 is important; saves an rint() later in a
+ tight loop) */
+ -32.,
+
+};
+
+/* with GNUisms, this could be short and readable. Oh well */
+static vorbis_info_time0 _time_set0C={0};
+static vorbis_info_floor0 _floor_set0C={12, 44100, 64, 10,130, 2, {0,1},
+ 0.199f, .285f};
+static vorbis_info_floor0 _floor_set1C={30, 44100, 256, 12,150, 2, {2,3},
+ .082f, .126f};
+static vorbis_info_residue0 _residue_set0C={0,128,16,6,4,
+ {0,1,1,1,1,1},
+ {6,7,8,9,10},
+
+ {0,99999,9999,9999,9999},
+ {999.f,1.5f,3.5f,15.5f,26.5f},
+ {4,4,4,4,4},
+ {99,99,99,99,99}};
+
+static vorbis_info_residue0 _residue_set1C={0, 960, 32,10,5,
+ {0,1,1,1,1,1,1,1,1,1},
+ {11,12,13,14,15,16,17,18,19},
+
+ {0,8,9999,16,9999,
+ 24,9999,9999,9999},
+ {999.f,1.5f,1.5f,2.5f,2.5f,
+ 6.5f,6.5f,14.5f,30.f},
+ {5,5,5,5,5,5,5,5,5},
+ {99,99,99,99,99,99,99,99,99}};
+
+static vorbis_info_mapping0 _mapping_set0C={1, {0,0}, {0}, {0}, {0}, {0}};
+static vorbis_info_mapping0 _mapping_set1C={1, {0,0}, {0}, {1}, {1}, {1}};
+static vorbis_info_mode _mode_set0C={0,0,0,0};
+static vorbis_info_mode _mode_set1C={1,0,0,1};
+
+/* CD quality stereo, no channel coupling */
+codec_setup_info info_C={
+
+ /* smallblock, largeblock */
+ {256, 2048},
+ /* modes,maps,times,floors,residues,books,psys */
+ 2, 2, 1, 2, 2, 20, 2,
+ /* modes */
+ {&_mode_set0C,&_mode_set1C},
+ /* maps */
+ {0,0},{&_mapping_set0C,&_mapping_set1C},
+ /* times */
+ {0,0},{&_time_set0C},
+ /* floors */
+ {0,0},{&_floor_set0C,&_floor_set1C},
+ /* residue */
+ {0,0},{&_residue_set0C,&_residue_set1C},
+ /* books */
+ {&_vq_book_lsp12_0, /* 0 */
+ &_vq_book_lsp12_1, /* 1 */
+ &_vq_book_lsp30_0, /* 2 */
+ &_vq_book_lsp30_1, /* 3 */
+
+ &_huff_book_res0_192_128aux,
+ &_huff_book_res0_192_1024aux,
+
+ &_vq_book_res0_192_128_1,
+ &_vq_book_res0_192_128_2,
+ &_vq_book_res0_192_128_3,
+ &_vq_book_res0_192_128_4,
+ &_vq_book_res0_192_128_5,
+
+ &_vq_book_res0_192_1024_1,
+ &_vq_book_res0_192_1024_2,
+ &_vq_book_res0_192_1024_3,
+ &_vq_book_res0_192_1024_4,
+ &_vq_book_res0_192_1024_5,
+ &_vq_book_res0_192_1024_6,
+ &_vq_book_res0_192_1024_7,
+ &_vq_book_res0_192_1024_8,
+ &_vq_book_res0_192_1024_9,
+
+ },
+ /* psy */
+ {&_psy_set_C0,&_psy_set_C},
+
+ /* thresh sample period, preecho clamp trigger threshhold, range, minenergy */
+ 256, {26.f,26.f,26.f,30.f}, {-90.f,-90.f,-90.f,-90.f}, -90.f,
+
+ -10.,
+
+ 0,
+};
+
+#define PREDEF_INFO_MAX 0
+
+#endif
diff --git a/lib/modes/mode_D.h b/lib/modes/mode_D.h
new file mode 100644
index 00000000..064426aa
--- /dev/null
+++ b/lib/modes/mode_D.h
@@ -0,0 +1,310 @@
+/********************************************************************
+ * *
+ * 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-2001 *
+ * by the XIPHOPHORUS Company http://www.xiph.org/ *
+
+ ********************************************************************
+
+ function: predefined encoding modes
+ last mod: $Id: mode_D.h,v 1.13.4.1 2001/05/27 06:21:56 xiphmont Exp $
+
+ ********************************************************************/
+
+#ifndef _V_MODES_D_H_
+#define _V_MODES_D_H_
+
+#include <stdio.h>
+#include "vorbis/codec.h"
+#include "backends.h"
+
+#include "books/lsp12_0.vqh"
+#include "books/lsp30_0.vqh"
+#include "books/lsp12_1.vqh"
+#include "books/lsp30_1.vqh"
+
+#include "books/res0_256_128aux.vqh"
+#include "books/res0_256_1024aux.vqh"
+
+#include "books/res0_256_128_1.vqh"
+#include "books/res0_256_128_2.vqh"
+#include "books/res0_256_128_3.vqh"
+#include "books/res0_256_128_4.vqh"
+#include "books/res0_256_128_5.vqh"
+
+#include "books/res0_256_1024_1.vqh"
+#include "books/res0_256_1024_2.vqh"
+#include "books/res0_256_1024_3.vqh"
+#include "books/res0_256_1024_4.vqh"
+#include "books/res0_256_1024_5.vqh"
+#include "books/res0_256_1024_6.vqh"
+#include "books/res0_256_1024_7.vqh"
+
+
+static vorbis_info_psy _psy_set_D0={
+ 1,/*athp*/
+ 1,/*decayp*/
+
+ -100.,
+ -140.,
+
+ 8,
+
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */
+ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */
+
+ 1,/* tonemaskp */
+ /* 0 10 20 30 40 50 60 70 80 90 100 */
+ {
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*63*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*88*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*125*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*175*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*250*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*350*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*500*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*700*/
+
+ {-35.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1000*/
+ {-35.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1400*/
+ {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2000*/
+ {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2800*/
+ {-35.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*4000*/
+ {-35.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*5600*/
+ {-35.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*8000*/
+ {-35.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*11500*/
+ {-35.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*16000*/
+ },
+
+ 1,/* peakattp */
+ {{-16.f,-20.f,-20.f,-22.f,-22.f,-22.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*63*/
+ {-16.f,-20.f,-20.f,-22.f,-22.f,-22.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*88*/
+ {-16.f,-20.f,-20.f,-22.f,-22.f,-22.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*125*/
+ {-16.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-26.f,-26.f,-26.f,-26.f},/*175*/
+ {-16.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-26.f,-26.f,-26.f,-26.f},/*250*/
+ {-16.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-26.f,-26.f,-26.f,-26.f},/*350*/
+ {-16.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-26.f,-26.f,-26.f,-26.f},/*500*/
+ {-16.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-26.f,-26.f,-26.f,-26.f},/*700*/
+ {-16.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-26.f,-26.f,-26.f,-26.f},/*1000*/
+ {-16.f,-20.f,-20.f,-20.f,-20.f,-20.f,-22.f,-26.f,-26.f,-26.f,-26.f},/*2000*/
+ {-16.f,-20.f,-20.f,-20.f,-20.f,-20.f,-22.f,-26.f,-26.f,-26.f,-26.f},/*2000*/
+ {-16.f,-20.f,-20.f,-20.f,-20.f,-20.f,-22.f,-26.f,-26.f,-26.f,-26.f},/*2600*/
+ {-16.f,-20.f,-20.f,-20.f,-20.f,-20.f,-22.f,-26.f,-26.f,-26.f,-26.f},/*4000*/
+ {-16.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-26.f,-26.f,-26.f},/*5600*/
+ {-16.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-26.f,-26.f,-26.f},/*8000*/
+ {-16.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-26.f,-26.f,-26.f},/*11500*/
+ {-16.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-26.f,-26.f},/*16000*/
+ },
+
+ 1,/*noisemaskp */
+ -20.f, /* suppress any noise curve over maxspec+n */
+ .5f, /* low window */
+ .5f, /* high window */
+ 5,
+ 5,
+ 10,
+ {.000f, 0.f,/*63*/
+ .000f, 0.f,/*88*/
+ .000f, 0.f,/*125*/
+ .000f, 0.f,/*175*/
+ .000f, 0.f,/*250*/
+ .000f, 0.f,/*350*/
+ .000f, 0.f,/*500*/
+ .100f, 0.f,/*700*/
+ .100f, 0.f,/*1000*/
+ .100f, 0.f,/*1400*/
+ .100f, 0.f,/*2000*/
+ .100f, 0.f,/*2800*/
+ .200f, 0.f,/*4000*/
+ .300f, 0.f,/*5600*/
+ .400f, 0.f,/*8000*/
+ .400f, 0.f,/*11500*/
+ .400f, 0.f,/*16000*/
+ },
+
+ 105.f, /* even decade + 5 is important; saves an rint() later in a
+ tight loop) */
+ -28.,
+};
+
+static vorbis_info_psy _psy_set_D={
+ 1,/*athp*/
+ 1,/*decayp*/
+
+ -100.f,
+ -140.f,
+
+ 8,
+
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */
+ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */
+ 1,/* tonemaskp */
+ /* 0 10 20 30 40 50 60 70 80 90 100 */
+ {
+ {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*63*/
+ {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*88*/
+ {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*125*/
+
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/
+
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2000*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2800*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/
+
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*11500*/
+ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*16000*/
+
+ },
+
+ 1,
+ {{-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*63*/
+ {-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*88*/
+ {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*125*/
+ {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*175*/
+ {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*250*/
+ {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*350*/
+ {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-28.f,-24.f,-28.f,-28.f,-28.f},/*500*/
+ {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*700*/
+ {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*1000*/
+ {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*1400*/
+ {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*2000*/
+ {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*2800*/
+ {-20.f,-20.f,-20.f,-20.f,-22.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*4000*/
+ {-20.f,-20.f,-20.f,-20.f,-22.f,-20.f,-22.f,-24.f,-28.f,-28.f,-28.f},/*5600*/
+ {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-22.f,-24.f,-28.f,-28.f,-28.f},/*8000*/
+ {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-22.f,-24.f,-28.f,-28.f,-28.f},/*11500*/
+ {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-22.f,-24.f,-28.f,-28.f,-28.f},/*16000*/
+ },
+
+ 1,/*noisemaskp */
+ -28.f, /* suppress any noise curve over maxspec+n */
+ .5f, /* low window */
+ .5f, /* high window */
+ 25,
+ 25,
+ 40,
+ {.000f, 0.f, /*63*/
+ .000f, 0.f, /*88*/
+ .000f, 0.f, /*125*/
+ .000f, 0.f, /*175*/
+ .000f, 0.f, /*250*/
+ .000f, 0.f, /*350*/
+ .000f, 0.f, /*500*/
+ .000f, 0.f, /*700*/
+ .000f, 0.f, /*1000*/
+ .000f, 0.f, /*1400*/
+ .000f, 0.f, /*2000*/
+ .000f, 0.f, /*2800*/
+ .050f, 0.f, /*4000*/
+ .100f, 0.f, /*5600*/
+ .100f, 0.f, /*8000*/
+ .120f, 0.f, /*11500*/
+ .150f, 0.f, /*16000*/
+ },
+
+ 105.f, /* even decade + 5 is important; saves an rint() later in a
+ tight loop) */
+ -32.,
+
+};
+
+/* with GNUisms, this could be short and readable. Oh well */
+static vorbis_info_time0 _time_set0D={0};
+static vorbis_info_floor0 _floor_set0D={12, 44100, 64, 10,130, 2, {0,1},
+ 0.199f, .285f};
+static vorbis_info_floor0 _floor_set1D={30, 44100, 256, 12,150, 2, {2,3},
+ .082f, .126f};
+static vorbis_info_residue0 _residue_set0D={0,128,16,6,4,
+ {0,1,1,1,1,1},
+ {6,7,8,9,10},
+
+ {0,99999,9999,9999,9999},
+ {999.f,1.5f,2.5f,6.5f,40.5f},
+ {4,4,4,4,4},
+ {99,99,99,99,99}};
+
+static vorbis_info_residue0 _residue_set1D={0,1024, 32,8,5,
+ {0,1,1,1,1,1,1,1,1,1},
+ {11,12,13,14,15,16,17,18,19},
+
+ {0,9999,9999,60,9999,
+ 9999,9999},
+ {999.f,2.5f,4.5f,10.5f,10.5f,
+ 20.5f,40.f},
+ {5,5,5,5,5,5,5},
+ {99,99,99,99,99,99,99,99,99}};
+
+static vorbis_info_mapping0 _mapping_set0D={1, {0,0}, {0}, {0}, {0}, {0}};
+static vorbis_info_mapping0 _mapping_set1D={1, {0,0}, {0}, {1}, {1}, {1}};
+static vorbis_info_mode _mode_set0D={0,0,0,0};
+static vorbis_info_mode _mode_set1D={1,0,0,1};
+
+/* CD quality stereo, no channel coupling */
+codec_setup_info info_D={
+
+ /* smallblock, largeblock */
+ {256, 2048},
+ /* modes,maps,times,floors,residues,books,psys */
+ 2, 2, 1, 2, 2, 18, 2,
+ /* modes */
+ {&_mode_set0D,&_mode_set1D},
+ /* maps */
+ {0,0},{&_mapping_set0D,&_mapping_set1D},
+ /* times */
+ {0,0},{&_time_set0D},
+ /* floors */
+ {0,0},{&_floor_set0D,&_floor_set1D},
+ /* residue */
+ {0,0},{&_residue_set0D,&_residue_set1D},
+ /* books */
+ {&_vq_book_lsp12_0, /* 0 */
+ &_vq_book_lsp12_1, /* 1 */
+ &_vq_book_lsp30_0, /* 2 */
+ &_vq_book_lsp30_1, /* 3 */
+
+ &_huff_book_res0_256_128aux,
+ &_huff_book_res0_256_1024aux,
+
+ &_vq_book_res0_256_128_1,
+ &_vq_book_res0_256_128_2,
+ &_vq_book_res0_256_128_3,
+ &_vq_book_res0_256_128_4,
+ &_vq_book_res0_256_128_5,
+
+ &_vq_book_res0_256_1024_1,
+ &_vq_book_res0_256_1024_2,
+ &_vq_book_res0_256_1024_3,
+ &_vq_book_res0_256_1024_4,
+ &_vq_book_res0_256_1024_5,
+ &_vq_book_res0_256_1024_6,
+ &_vq_book_res0_256_1024_7,
+
+ },
+ /* psy */
+ {&_psy_set_D0,&_psy_set_D},
+
+ /* thresh sample period, preecho clamp trigger threshhold, range, minenergy */
+ 256, {26.f,26.f,26.f,30.f}, {-36.f,-36.f,-36.f,-36.f}, -90.f,
+
+ -10.,
+
+ 0,
+};
+
+#define PREDEF_INFO_MAX 0
+
+#endif
diff --git a/lib/modes/mode_E.h b/lib/modes/mode_E.h
new file mode 100644
index 00000000..f35de635
--- /dev/null
+++ b/lib/modes/mode_E.h
@@ -0,0 +1,276 @@
+/********************************************************************
+ * *
+ * 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-2001 *
+ * by the XIPHOPHORUS Company http://www.xiph.org/ *
+
+ ********************************************************************
+
+ function: predefined encoding modes
+ last mod: $Id: mode_E.h,v 1.12.4.1 2001/05/27 06:21:56 xiphmont Exp $
+
+ ********************************************************************/
+
+#ifndef _V_MODES_E_H_
+#define _V_MODES_E_H_
+
+#include <stdio.h>
+#include "vorbis/codec.h"
+#include "backends.h"
+
+#include "books/lsp12_0.vqh"
+#include "books/lsp30_0.vqh"
+#include "books/lsp12_1.vqh"
+#include "books/lsp30_1.vqh"
+
+#include "books/res0_256_128aux.vqh"
+#include "books/res0_256_1024aux.vqh"
+
+#include "books/res0_256_128_1.vqh"
+#include "books/res0_256_128_2.vqh"
+#include "books/res0_256_128_3.vqh"
+#include "books/res0_256_128_4.vqh"
+#include "books/res0_256_128_5.vqh"
+
+#include "books/res0_256_1024_1.vqh"
+#include "books/res0_256_1024_2.vqh"
+#include "books/res0_256_1024_3.vqh"
+#include "books/res0_256_1024_4.vqh"
+#include "books/res0_256_1024_5.vqh"
+#include "books/res0_256_1024_6.vqh"
+#include "books/res0_350_1024_7.vqh"
+
+
+static vorbis_info_psy _psy_set_E0={
+ 1,/*athp*/
+ 1,/*decayp*/
+
+ -100.,
+ -140.,
+
+ 8,
+
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */
+ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */
+
+ 1,/* tonemaskp */
+ /* 0 10 20 30 40 50 60 70 80 90 100 */
+ {
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*63*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*88*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*125*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*175*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*250*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*350*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*500*/
+ {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*700*/
+
+ {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1000*/
+ {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1400*/
+ {-40.,-45.,-45.,-45.,-45.,-55.,-65.,-75.,-85.,-95.,-105.}, /*2000*/
+ {-40.,-45.,-45.,-45.,-45.,-55.,-65.,-75.,-85.,-95.,-105.}, /*2800*/
+ {-40.,-45.,-45.,-45.,-45.,-55.,-65.,-75.,-85.,-95.,-105.}, /*4000*/
+ {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*5600*/
+ {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*8000*/
+ {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*11500*/
+ {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*16000*/
+ },
+
+ 1,/* peakattp */
+ {{-20.f,-22.f,-24.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*63*/
+ {-20.f,-22.f,-24.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*88*/
+ {-20.f,-22.f,-24.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*125*/
+ {-20.f,-22.f,-24.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*175*/
+ {-20.f,-22.f,-24.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*250*/
+ {-20.f,-22.f,-24.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*350*/
+ {-20.f,-22.f,-24.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*500*/
+ {-20.f,-22.f,-24.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*700*/
+ {-20.f,-22.f,-24.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*1000*/
+ {-20.f,-22.f,-24.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*1400*/
+ {-20.f,-22.f,-24.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*2000*/
+ {-20.f,-22.f,-24.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*2600*/
+ {-20.f,-22.f,-24.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*4000*/
+ {-20.f,-22.f,-24.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*5600*/
+ {-20.f,-22.f,-22.f,-24.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*8000*/
+ {-20.f,-22.f,-22.f,-22.f,-24.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*11500*/
+ {-16.f,-20.f,-22.f,-22.f,-24.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f},/*16000*/
+ },
+
+ 0,/*noisemaskp */
+ -20.f, /* suppress any noise curve over maxspec+n */
+ .5f, /* low window */
+ .5f, /* high window */
+ 5,
+ 5,
+ 10,
+ {0.f},
+
+ 105.f, /* even decade + 5 is important; saves an rint() later in a
+ tight loop) */
+ -28.,
+};
+
+static vorbis_info_psy _psy_set_E={
+ 1,/*athp*/
+ 1,/*decayp*/
+
+ -100.f,
+ -140.f,
+
+ 8,
+
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */
+ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */
+ 1,/* tonemaskp */
+ /* 0 10 20 30 40 50 60 70 80 90 100 */
+ {
+ {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*63*/
+ {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*88*/
+ {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*125*/
+
+ {-40.f,-45.f,-45.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*175*/
+ {-40.f,-45.f,-45.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*250*/
+ {-40.f,-45.f,-45.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*350*/
+ {-40.f,-45.f,-45.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*500*/
+ {-40.f,-45.f,-45.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*700*/
+
+ {-40.f,-45.f,-45.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*1000*/
+ {-40.f,-45.f,-50.f,-50.f,-50.f,-60.f,-70.f,-80.f,-90.f,-99.f,-110.f}, /*1400*/
+ {-40.f,-45.f,-50.f,-50.f,-50.f,-60.f,-70.f,-80.f,-90.f,-99.f,-110.f}, /*2000*/
+ {-40.f,-45.f,-50.f,-50.f,-50.f,-60.f,-70.f,-80.f,-90.f,-99.f,-110.f}, /*2800*/
+ {-40.f,-45.f,-50.f,-50.f,-50.f,-60.f,-70.f,-80.f,-90.f,-99.f,-110.f}, /*4000*/
+ {-40.f,-45.f,-45.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*5600*/
+
+ {-40.f,-45.f,-45.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*8000*/
+ {-40.f,-45.f,-45.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*11500*/
+ {-40.f,-40.f,-45.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*16000*/
+
+ },
+
+ 1,
+ {{-26.f,-26.f,-26.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*63*/
+ {-26.f,-26.f,-26.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*88*/
+ {-26.f,-26.f,-26.f,-26.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*125*/
+ {-26.f,-26.f,-26.f,-26.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*175*/
+ {-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*250*/
+ {-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*350*/
+ {-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*500*/
+ {-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*700*/
+ {-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*1000*/
+ {-26.f,-26.f,-26.f,-26.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*1400*/
+ {-26.f,-26.f,-26.f,-26.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*2000*/
+ {-26.f,-26.f,-26.f,-26.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*2800*/
+ {-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*4000*/
+ {-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-28.f,-28.f,-28.f,-28.f},/*5600*/
+ {-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-28.f,-28.f,-28.f,-28.f},/*8000*/
+ {-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-28.f,-28.f,-28.f,-28.f},/*11500*/
+ {-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-26.f,-28.f,-28.f,-28.f,-28.f},/*16000*/
+ },
+
+ 0,/*noisemaskp */
+ -28.f, /* suppress any noise curve over maxspec+n */
+ .5f, /* low window */
+ .5f, /* high window */
+ 25,
+ 25,
+ 40,
+ {0.f},
+
+ 105.f, /* even decade + 5 is important; saves an rint() later in a
+ tight loop) */
+ -32.,
+
+};
+
+/* with GNUisms, this could be short and readable. Oh well */
+static vorbis_info_time0 _time_set0E={0};
+static vorbis_info_floor0 _floor_set0E={12, 44100, 64, 10,130, 2, {0,1},
+ 0.199f, .285f};
+static vorbis_info_floor0 _floor_set1E={30, 44100, 256, 12,150, 2, {2,3},
+ .082f, .126f};
+static vorbis_info_residue0 _residue_set0E={0,128,16,6,4,
+ {0,1,1,1,1,1},
+ {6,7,8,9,10},
+
+ {0,99999,9999,9999,9999},
+ {999.f,1.5f,2.5f,6.5f,40.5f},
+ {4,4,4,4,4},
+ {99,99,99,99,99}};
+
+static vorbis_info_residue0 _residue_set1E={0,1024, 32,8,5,
+ {0,1,1,1,1,1,1,1,1,1},
+ {11,12,13,14,15,16,17,18,19},
+
+ {0,9999,9999,60,9999,
+ 9999,9999},
+ {999.f,2.5f,4.5f,10.5f,10.5f,
+ 20.5f,40.f},
+ {5,5,5,5,5,5,5},
+ {99,99,99,99,99,99,99,99,99}};
+
+static vorbis_info_mapping0 _mapping_set0E={1, {0,0}, {0}, {0}, {0}, {0}};
+static vorbis_info_mapping0 _mapping_set1E={1, {0,0}, {0}, {1}, {1}, {1}};
+static vorbis_info_mode _mode_set0E={0,0,0,0};
+static vorbis_info_mode _mode_set1E={1,0,0,1};
+
+/* CD quality stereo, no channel coupling */
+codec_setup_info info_E={
+
+ /* smallblock, largeblock */
+ {256, 2048},
+ /* modes,maps,times,floors,residues,books,psys */
+ 2, 2, 1, 2, 2, 18, 2,
+ /* modes */
+ {&_mode_set0E,&_mode_set1E},
+ /* maps */
+ {0,0},{&_mapping_set0E,&_mapping_set1E},
+ /* times */
+ {0,0},{&_time_set0E},
+ /* floors */
+ {0,0},{&_floor_set0E,&_floor_set1E},
+ /* residue */
+ {0,0},{&_residue_set0E,&_residue_set1E},
+ /* books */
+ {&_vq_book_lsp12_0, /* 0 */
+ &_vq_book_lsp12_1, /* 1 */
+ &_vq_book_lsp30_0, /* 2 */
+ &_vq_book_lsp30_1, /* 3 */
+
+ &_huff_book_res0_256_128aux,
+ &_huff_book_res0_256_1024aux,
+
+ &_vq_book_res0_256_128_1,
+ &_vq_book_res0_256_128_2,
+ &_vq_book_res0_256_128_3,
+ &_vq_book_res0_256_128_4,
+ &_vq_book_res0_256_128_5,
+
+ &_vq_book_res0_256_1024_1,
+ &_vq_book_res0_256_1024_2,
+ &_vq_book_res0_256_1024_3,
+ &_vq_book_res0_256_1024_4,
+ &_vq_book_res0_256_1024_5,
+ &_vq_book_res0_256_1024_6,
+ &_vq_book_res0_350_1024_7,
+
+ },
+ /* psy */
+ {&_psy_set_E0,&_psy_set_E},
+
+ /* thresh sample period, preecho clamp trigger threshhold, range, minenergy */
+ 256, {26.f,26.f,26.f,30.f}, {-36.f,-36.f,-36.f,-36.f}, -90.f,
+
+ -10.,
+
+ 0,
+};
+
+#define PREDEF_INFO_MAX 0
+
+#endif