From 0a87dbe1f9d8e0718d961dea3a505dfacc618888 Mon Sep 17 00:00:00 2001 From: Monty Date: Sun, 27 May 2001 06:21:56 +0000 Subject: Fixes/updates preparing for merge. floor1/res1 unused for now. Monty svn path=/branches/monty-branch-20010404/vorbis/; revision=1457 --- lib/modes/mode_A.h | 154 +++++--------------------- lib/modes/mode_AA.h | 313 +++++++++++++++++++++++++++++++++++++++++++++++++++ lib/modes/mode_B.h | 314 ++++++++++++++++++++++++++++++++++++++++++++++++++++ lib/modes/mode_C.h | 314 ++++++++++++++++++++++++++++++++++++++++++++++++++++ lib/modes/mode_D.h | 310 +++++++++++++++++++++++++++++++++++++++++++++++++++ lib/modes/mode_E.h | 276 +++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 1556 insertions(+), 125 deletions(-) create mode 100644 lib/modes/mode_AA.h create mode 100644 lib/modes/mode_B.h create mode 100644 lib/modes/mode_C.h create mode 100644 lib/modes/mode_D.h create mode 100644 lib/modes/mode_E.h 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 +#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 +#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 +#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 +#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 +#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 -- cgit v1.2.1