diff options
author | Monty <xiphmont@xiph.org> | 2001-08-12 11:03:20 +0000 |
---|---|---|
committer | Monty <xiphmont@xiph.org> | 2001-08-12 11:03:20 +0000 |
commit | ba6b79fe1ccb0c4421069e6fcad6a8221b44c39c (patch) | |
tree | 04cb585e92fb2173f1bd20b75b8aab29269dae9b | |
parent | 4028ff3db0c6ffa3b68df44261a22d37d89da811 (diff) | |
download | libvorbis-git-ba6b79fe1ccb0c4421069e6fcad6a8221b44c39c.tar.gz |
Just to avoid losing any work
svn path=/branches/branch_monty_20010708/vorbis/; revision=1753
-rw-r--r-- | lib/modes/mode_A.h | 21 | ||||
-rw-r--r-- | lib/modes/mode_B.h | 408 | ||||
-rw-r--r-- | lib/modes/mode_C.h | 431 | ||||
-rw-r--r-- | lib/modes/mode_D.h | 574 | ||||
-rw-r--r-- | lib/modes/mode_E.h | 497 | ||||
-rw-r--r-- | lib/modes/mode_Za.h | 406 | ||||
-rw-r--r-- | lib/modes/mode_Zb.h | 410 | ||||
-rw-r--r-- | lib/modes/mode_Zc.h | 451 |
8 files changed, 2358 insertions, 840 deletions
diff --git a/lib/modes/mode_A.h b/lib/modes/mode_A.h index b9751667..9bbd62ad 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.2.7 2001/08/08 05:17:18 xiphmont Exp $ + last mod: $Id: mode_A.h,v 1.14.4.5.2.8 2001/08/12 11:03:20 xiphmont Exp $ ********************************************************************/ @@ -165,21 +165,20 @@ static vorbis_info_psy _psy_set_A0={ -100., -140., - 0.f, /* tonemaskp */ - 1, 0.f, &_vp_tonemask_consbass_A, + 0.f, -40.f,&_vp_tonemask_consbass_A, /* peakattp */ 1, &_vp_peakatt_A, 1,/*noisemaskp */ - -10.f, /* suppress any noise curve over maxspec+n */ + -30.f, /* suppress any noise curve over maxspec+n */ .6f, .6f, /* low/high window */ 5, 5, 10, /*63 125 250 500 1k 2k 4k 8k 16k*/ - {-30,-30,-30,-30,-30,-30,-30,-20, 0, 0, 0, 0, 0, 1, 1, 2, 3}, + {-30,-30,-30,-30,-30,-30,-20,-10, 0, 0, 0, 0, 0, 1, 1, 2, 3}, {.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.7f,.8f,.9f,.9f,.9f}, 95.f, /* even decade + 5 is important; saves an rint() later in a @@ -193,15 +192,14 @@ static vorbis_info_psy _psy_set_A={ -100.f, -140.f, - 0.f, /* tonemask */ - 1, 0.f,&_vp_tonemask_consbass_A, + 0.f,-40.f,&_vp_tonemask_consbass_A, /* peakattp */ 1, &_vp_peakatt_A, /*noisemaskp */ - 1, -10.f, /* suppress any noise curve over maxspec+n */ + 1, -30.f, /* suppress any noise curve over maxspec+n */ .4f,.4f, /* low/high window */ 10,10,100, @@ -219,15 +217,14 @@ static vorbis_info_psy _psy_set_AT={ -100.f, -140.f, - 0.f, /* tonemask */ - 1, 0.f,&_vp_tonemask_consbass_A, + 0.f,-40.f,&_vp_tonemask_consbass_A, /* peakattp */ 1, &_vp_peakatt_A, /*noisemaskp */ - 1, -10.f, /* suppress any noise curve over maxspec+n */ + 1, -30.f, /* suppress any noise curve over maxspec+n */ .4f,.4f, /* low/high window */ 10,10,100, @@ -264,7 +261,7 @@ static vorbis_info_floor1 _floor_set0A={6, 2,1,4, 11,8,14, 23,20,26, 41,35,48, 84,69,103}, - 60,30,300, + 60,30,500, 999,999,1,18., 8,70, 96}; diff --git a/lib/modes/mode_B.h b/lib/modes/mode_B.h index 416194bb..562ad16a 100644 --- a/lib/modes/mode_B.h +++ b/lib/modes/mode_B.h @@ -11,7 +11,7 @@ ******************************************************************** function: predefined encoding modes - last mod: $Id: mode_B.h,v 1.14.2.2 2001/08/03 06:48:13 xiphmont Exp $ + last mod: $Id: mode_B.h,v 1.14.2.3 2001/08/12 11:03:20 xiphmont Exp $ ********************************************************************/ @@ -57,7 +57,6 @@ #include "books/res0_128_1024_4.vqh" #include "books/res0_128_1024_5.vqh" #include "books/res0_128_1024_6.vqh" -#include "books/res0_128_1024_6a.vqh" #include "books/res0_128_1024_7.vqh" #include "books/res0_128_1024_7a.vqh" #include "books/res0_128_1024_8.vqh" @@ -78,96 +77,115 @@ static vorbis_info_psy_global _psy_set_BG={ 0, }; +static struct vp_couple_pass _psy_passB0[]={ + {1.f,1.f, + {{24, 0,0, 0,0, 0,0}, + {64, 4.5,0, 0,12, 0,0}, + {9999, 7.5,0, 4.5,12, 1.5,0}} + }, +}; + +static vp_couple_pass _psy_passB[]={ + {1.f,1.f, + {{288, 0,0, 0,0, 0,0}, + {512, 4.5,0, 0,12, 0,0}, + {9999, 7.5,0, 4.5,12, 1.5,0}} + } +}; + +static vp_attenblock _vp_tonemask_consbass_B={ + {{-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*63*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*88*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*125*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*175*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*250*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*350*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*500*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*700*/ + + {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ + {-35.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*/ + {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/ + {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/ + + {-30.f,-30.f,-33.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ + {-30.f,-30.f,-33.f,-35.f,-35.f,-45.f,-50.f,-60.f,-70.f,-90.f,-100.f}, /*11500*/ + {-24.f,-24.f,-26.f,-32.f,-32.f,-42.f,-50.f,-60.f,-70.f,-90.f,-100.f}, /*16000*/ +}}; + +static vp_attenblock _vp_tonemask_B={ + + {{-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*63*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*88*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*125*/ + + + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ + {-30.f,-30.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*/ + {-40.f,-40.f,-40.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*/ + + {-30.f,-30.f,-33.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ + {-30.f,-30.f,-33.f,-35.f,-40.f,-45.f,-50.f,-60.f,-70.f,-85.f,-100.f}, /*11500*/ + {-24.f,-24.f,-26.f,-32.f,-32.f,-42.f,-50.f,-60.f,-70.f,-85.f,-100.f}, /*16000*/ +}}; + + +static vp_attenblock _vp_peakatt_B={ + {{-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*63*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*88*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*125*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*175*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*250*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*350*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*500*/ + {-10.f,-10.f,-10.f,-14.f,-20.f,-20.f,-20.f,-24.f,-26.f,-32.f,-40.f},/*700*/ + {-10.f,-10.f,-10.f,-14.f,-20.f,-20.f,-20.f,-24.f,-26.f,-32.f,-40.f},/*1000*/ + {-10.f,-10.f,-10.f,-14.f,-20.f,-20.f,-20.f,-24.f,-26.f,-32.f,-40.f},/*1400*/ + {-10.f,-10.f,-10.f,-14.f,-20.f,-20.f,-20.f,-24.f,-26.f,-32.f,-40.f},/*2000*/ + {-10.f,-10.f,-10.f,-14.f,-20.f,-20.f,-20.f,-24.f,-26.f,-32.f,-40.f},/*2800*/ + {-10.f,-10.f,-10.f,-10.f,-18.f,-20.f,-20.f,-22.f,-24.f,-32.f,-40.f},/*4000*/ + {-10.f,-10.f,-10.f,-10.f,-12.f,-14.f,-16.f,-18.f,-22.f,-32.f,-40.f},/*5600*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-12.f,-13.f,-22.f,-32.f,-40.f},/*8000*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-22.f,-32.f,-40.f},/*11500*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-20.f,-32.f,-40.f},/*16000*/ +}}; + static vorbis_info_psy _psy_set_B0={ ATH_Bark_dB_lineaggressive, -100., -140., - 0.f, - /* 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.f, - /* 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.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ - {-35.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*/ - {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/ - {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/ - - {-30.f,-30.f,-33.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ - {-30.f,-30.f,-33.f,-35.f,-35.f,-45.f,-50.f,-60.f,-70.f,-90.f,-100.f}, /*11500*/ - {-24.f,-24.f,-26.f,-32.f,-32.f,-42.f,-50.f,-60.f,-70.f,-90.f,-100.f}, /*16000*/ + /* tonemaskp */ + -3.f, -40.f, &_vp_tonemask_consbass_B, - }, + /* peakattp */ + 1, &_vp_peakatt_B, - 1,/* peakattp */ - {{-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*63*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*88*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*125*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*175*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*250*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*350*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*500*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*700*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*1000*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*1400*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*2000*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*2800*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*4000*/ - {-10.f,-12.f,-14.f,-16.f,-16.f,-20.f,-24.f,-30.f,-32.f,-40.f,-40.f},/*5600*/ - {-10.f,-12.f,-14.f,-16.f,-16.f,-20.f,-24.f,-30.f,-32.f,-40.f,-40.f},/*8000*/ - {-10.f,-10.f,-10.f,-12.f,-14.f,-18.f,-22.f,-28.f,-32.f,-40.f,-40.f},/*11500*/ - {-10.f,-10.f,-10.f,-12.f,-14.f,-18.f,-22.f,-28.f,-32.f,-40.f,-40.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*/ - .200f, 0.f,/*700*/ - .500f, 0.f,/*1000*/ - .500f, 0.f,/*1400*/ - .500f, 0.f,/*2000*/ - .500f, 0.f,/*2800*/ - .500f, 0.f,/*4000*/ - .700f, 0.f,/*5600*/ - .850f, 0.f,/*8000*/ - .900f, 0.f,/*11500*/ - .900f, 0.f,/*16000*/ - }, - - 90.f, /* even decade + 5 is important; saves an rint() later in a - tight loop) */ - -44., + /*noisemaskp */ + 1,-10.f, /* suppress any noise curve over maxspec+n */ + .6f, .6f, /* low/high window */ + 5, 5, 10, - 12, - NULL,NULL + /*63 125 250 500 1k 2k 4k 8k 16k*/ + {-30,-30,-30,-30,-30,-30,-20,-10, 0, 0, 0, 0, 0, 1, 1, 2, 3}, + {.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.6f,.75f,.85f,.85f,.85f}, + 105.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + 1, + _psy_passB0 }; static vorbis_info_psy _psy_set_B={ @@ -175,120 +193,79 @@ static vorbis_info_psy _psy_set_B={ -100.f, -140.f, - 0.f, - - /* 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.f, - /* 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,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/ - {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/ - {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/ - {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/ - {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/ - {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ - {-30.f,-30.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*/ - {-40.f,-40.f,-40.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*/ - - {-30.f,-30.f,-33.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ - {-30.f,-30.f,-33.f,-35.f,-40.f,-45.f,-50.f,-60.f,-70.f,-85.f,-100.f}, /*11500*/ - {-24.f,-24.f,-26.f,-32.f,-32.f,-42.f,-50.f,-60.f,-70.f,-85.f,-100.f}, /*16000*/ - }, + /* tonemask */ + -3.f,-40.f,&_vp_tonemask_consbass_B, + /* peakattp */ + 1, &_vp_peakatt_B, - 1,/* peakattp */ - {{-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*63*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*88*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*125*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*175*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*250*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*350*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*500*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*700*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*1000*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*1400*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*2000*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*2800*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*4000*/ - {-10.f,-12.f,-14.f,-16.f,-16.f,-20.f,-24.f,-30.f,-32.f,-40.f,-40.f},/*5600*/ - {-10.f,-12.f,-14.f,-16.f,-16.f,-20.f,-24.f,-30.f,-32.f,-40.f,-40.f},/*8000*/ - {-10.f,-10.f,-10.f,-12.f,-14.f,-18.f,-22.f,-28.f,-32.f,-40.f,-40.f},/*11500*/ - {-10.f,-10.f,-10.f,-12.f,-14.f,-18.f,-22.f,-28.f,-32.f,-40.f,-40.f},/*16000*/ - }, + /*noisemaskp */ + 1, -10.f, /* suppress any noise curve over maxspec+n */ + .4f,.4f, /* low/high window */ + 10,10,100, - 1,/*noisemaskp */ - -10.f, /* suppress any noise curve over maxspec+n */ - .5f, /* low window */ - .5f, /* high window */ - 10, - 10, - 25, - {.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*/ - .300f, 0.f, /*1400*/ - .300f, 0.f, /*2000*/ - .300f, 0.f, /*2800*/ - .500f, 0.f, /*4000*/ - .700f, 0.f, /*5600*/ - .850f, 0.f, /*8000*/ - .900f, 0.f, /*11500*/ - .900f, 1.f, /*16000*/ - }, - - 95.f, /* even decade + 5 is important; saves an rint() later in a + /*63 125 250 500 1k 2k 4k 8k 16k*/ + { 0, 0, 0, 0, 0, 0, 0, 0, -6, -6, -6, -6, 0, 0, 0, 0, 0}, + {.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.6f,.7f,.75f,.8f}, + + 105.f, /* even decade + 5 is important; saves an rint() later in a tight loop) */ - -44., + 1,_psy_passB +}; + +static vorbis_info_psy _psy_set_BT={ + ATH_Bark_dB_lineaggressive, - 32, - NULL,NULL + -100.f, + -140.f, + + /* tonemask */ + -3.f,-40.f,&_vp_tonemask_consbass_B, + /* peakattp */ + 1, &_vp_peakatt_B, + + /*noisemaskp */ + 1, -10.f, /* suppress any noise curve over maxspec+n */ + .4f,.4f, /* low/high window */ + 10,10,100, + + /*63 125 250 500 1k 2k 4k 8k 16k*/ + {-30,-30,-30,-30,-30,-30,-30,-20, -6, -6, -6, -6, 0, 0, 0, 0, 0}, + {.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.6f,.7f,.75f,.8f}, + + 105.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + 1,_psy_passB }; /* with GNUisms, this could be short and readable. Oh well */ static vorbis_info_time0 _time_set0B={0}; -/*static vorbis_info_floor0 _floor_set0A={9, 44100, 64, 10,130, 2, {0,1}, +/*static vorbis_info_floor0 _floor_set0B={9, 44100, 64, 10,130, 2, {0,1}, 0.246f, .387f};*/ -/*static vorbis_info_floor0 _floor_set1A={30, 44100, 256, 12,150, 2, {2,3}, +/*static vorbis_info_floor0 _floor_set1B={30, 44100, 256, 12,150, 2, {2,3}, .082f, .126f};*/ -static vorbis_info_floor1 _floor_set0B={5, - {0,1,1,2,2}, - - {1,3,3}, - {0,2,2}, - {-1,0,1}, - {{2},{-1,3,4,5},{-1,6,7,8}}, - - 4, +static vorbis_info_floor1 _floor_set0B={6, + {0,1,1,1,2,2}, + + {4,3,3}, + {0,2,2}, + {-1,0,1}, + {{2},{-1,3,4,5},{-1,6,7,8}}, - {0,128, + 4, - 26,7,48, + {0,128, - 2,1,4, 18,13,22, - 35,30,41, 69,57,84}, + 6,17,30,58, + + 2,1,4, 11,8,14, 23,20,26, + 41,35,48, 84,69,103}, - 80,30,400, - 999,999,0,18., - 8,70, - 108}; + 60,30,500, + 999,999,1,18., + 8,70, + 112}; static vorbis_info_floor1 _floor_set1B={10, {0,1,2,2,2,2,2, 3,3,3}, @@ -314,50 +291,66 @@ static vorbis_info_floor1 _floor_set1B={10, 329,282,387, 672,553,825 }, - 60,30,400, + 60,30,300, 20,8,1,18., 20,600, - 864}; + 896}; -static vorbis_info_residue0 _residue_set0B={0,216,12,10,23, - {0,1,1,1,1,1,3,3,3,7}, - {25,26, +static vorbis_info_residue0 _residue_set0B={0,224,16,10,23, + {0,1,1,1,1,1,1,3,3,7}, + {25, + 26, 27, 28, 29, 30, 31,32, 33,34, - 35,36, - 37,38}, - {9999,9999,3,9999,4,9999,8, - 9999,9999,9999}, - {.7f,7.5f,1.5f,1.5f,2.5f,2.5f, - 7.5f,7.5f,22.5f}, + 35,36,37}, + {9999, + 7,9999,9999, + 11,9999, + 9999,9999,9999,9999}, + {.5f, + 1.5f,1.5f,1.5f, + 2.5f,2.5f, + 4.5f,16.5f,84.5f}, {0}, - {99,4,99,99,99,99,99,99,99,99}}; - -static vorbis_info_residue0 _residue_set1B={0,1728, 32,10,24, - {0,1,1,1,1,1,3,3,3,7}, - {25,26, + {99, + 8,8,99, + 99,99, + 99,99,99,99}, + {3}}; + +static vorbis_info_residue0 _residue_set1B={0,1792, 32,10,24, + {0,1,1,1,1,1,1,3,3,7}, + {25, + 26, 27, 28, 29, 30, 31,32, 33,34, - 35,36, - 37,38}, - {9999,9999,5,9999,10,9999,20, - 9999,9999,9999}, - {.7f,7.5f,1.5f,1.5f,2.5f,2.5f, - 7.5f,7.5f,22.5f}, + 35,36,37}, + {9999, + 10,9999,9999, + 20,9999, + 9999,9999,9999,9999}, + {.5f, + 1.5f,1.5f,1.5f, + 2.5f,2.5f, + 4.5f,16.5f,84.f}, {0}, - {99,18,99,99,99,99,99,99,99,99}}; + {99, + 32,32,99, + 99,99, + 99,99,99,99}, + {3}}; -static vorbis_info_mapping0 _mapping_set0B={1, {0,0}, {0}, {0}, {0}, 0, +static vorbis_info_mapping0 _mapping_set0B={1, {0,0}, {0}, {0}, {0}, {0,0}, 1,{0},{1}}; -static vorbis_info_mapping0 _mapping_set1B={1, {0,0}, {0}, {1}, {1}, 1, +static vorbis_info_mapping0 _mapping_set1B={1, {0,0}, {0}, {1}, {1}, {1,2}, 1,{0},{1}}; static vorbis_info_mode _mode_set0B={0,0,0,0}; static vorbis_info_mode _mode_set1B={1,0,0,1}; @@ -368,7 +361,7 @@ codec_setup_info info_B={ /* smallblock, largeblock */ {256, 2048}, /* modes,maps,times,floors,residues,books,psys */ - 2, 2, 1, 2, 2, 39, 2, + 2, 2, 1, 2, 2, 38, 3, /* modes */ {&_mode_set0B,&_mode_set1B}, /* maps */ @@ -418,7 +411,6 @@ codec_setup_info info_B={ &_vq_book_res0_128_1024_4, &_vq_book_res0_128_1024_5, &_vq_book_res0_128_1024_6, - &_vq_book_res0_128_1024_6a, &_vq_book_res0_128_1024_7, &_vq_book_res0_128_1024_7a, &_vq_book_res0_128_1024_8, @@ -429,7 +421,7 @@ codec_setup_info info_B={ }, /* psy */ - {&_psy_set_B0,&_psy_set_B}, + {&_psy_set_B0,&_psy_set_BT,&_psy_set_B}, &_psy_set_BG }; diff --git a/lib/modes/mode_C.h b/lib/modes/mode_C.h index 99706de2..a3da5daa 100644 --- a/lib/modes/mode_C.h +++ b/lib/modes/mode_C.h @@ -11,7 +11,7 @@ ******************************************************************** function: predefined encoding modes - last mod: $Id: mode_C.h,v 1.13.2.2 2001/08/03 06:48:13 xiphmont Exp $ + last mod: $Id: mode_C.h,v 1.13.2.3 2001/08/12 11:03:20 xiphmont Exp $ ********************************************************************/ @@ -56,14 +56,13 @@ #include "books/res0_128_1024_3.vqh" #include "books/res0_128_1024_4.vqh" #include "books/res0_128_1024_5.vqh" -#include "books/res0_128_1024_5a.vqh" #include "books/res0_128_1024_6.vqh" -#include "books/res0_128_1024_6a.vqh" #include "books/res0_128_1024_7.vqh" -#include "books/res0_128_1024_7a.vqh" #include "books/res0_128_1024_8.vqh" #include "books/res0_128_1024_8a.vqh" -#include "books/res0_128_1024_8b.vqh" +#include "books/res0_128_1024_9.vqh" +#include "books/res0_128_1024_9a.vqh" +#include "books/res0_128_1024_9b.vqh" static vorbis_info_psy_global _psy_set_CG={ @@ -77,94 +76,113 @@ static vorbis_info_psy_global _psy_set_CG={ 0, }; +static struct vp_couple_pass _psy_passC0[]={ + {1.f,1.f, + {{24, 0,0, 0,0, 0,0}, + {9999, 4.5,0, 0,12, 0,0}} + }, +}; + +static vp_couple_pass _psy_passC[]={ + {1.f,1.f, + {{512, 0,0, 0,0, 0,0}, + {9999, 4.5,0, 0,12, 0,0}} + } +}; + +static vp_attenblock _vp_tonemask_consbass_C={ + {{-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*63*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*88*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*125*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*175*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*250*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*350*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*500*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*700*/ + + {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ + {-35.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*/ + {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/ + {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/ + + {-30.f,-30.f,-33.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ + {-30.f,-30.f,-33.f,-35.f,-35.f,-45.f,-50.f,-60.f,-70.f,-90.f,-100.f}, /*11500*/ + {-24.f,-24.f,-26.f,-32.f,-32.f,-42.f,-50.f,-60.f,-70.f,-90.f,-100.f}, /*16000*/ +}}; + +static vp_attenblock _vp_tonemask_C={ + + {{-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*63*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*88*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*125*/ + + + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ + {-30.f,-30.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*/ + {-40.f,-40.f,-40.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*/ + + {-30.f,-30.f,-33.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ + {-30.f,-30.f,-33.f,-35.f,-40.f,-45.f,-50.f,-60.f,-70.f,-85.f,-100.f}, /*11500*/ + {-24.f,-24.f,-26.f,-32.f,-32.f,-42.f,-50.f,-60.f,-70.f,-85.f,-100.f}, /*16000*/ +}}; + + +static vp_attenblock _vp_peakatt_C={ + {{-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*63*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*88*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*125*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*175*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*250*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*350*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-32.f,-32.f,-32.f,-32.f,-40.f},/*500*/ + {-10.f,-10.f,-10.f,-14.f,-20.f,-20.f,-20.f,-24.f,-26.f,-32.f,-40.f},/*700*/ + {-10.f,-10.f,-10.f,-14.f,-20.f,-20.f,-20.f,-24.f,-26.f,-32.f,-40.f},/*1000*/ + {-10.f,-10.f,-10.f,-14.f,-20.f,-20.f,-20.f,-24.f,-26.f,-32.f,-40.f},/*1400*/ + {-10.f,-10.f,-10.f,-14.f,-20.f,-20.f,-20.f,-24.f,-26.f,-32.f,-40.f},/*2000*/ + {-10.f,-10.f,-10.f,-14.f,-20.f,-20.f,-20.f,-24.f,-26.f,-32.f,-40.f},/*2800*/ + {-10.f,-10.f,-10.f,-10.f,-18.f,-20.f,-20.f,-22.f,-24.f,-32.f,-40.f},/*4000*/ + {-10.f,-10.f,-10.f,-10.f,-12.f,-14.f,-16.f,-18.f,-22.f,-32.f,-40.f},/*5600*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-12.f,-13.f,-22.f,-32.f,-40.f},/*8000*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-22.f,-32.f,-40.f},/*11500*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-20.f,-32.f,-40.f},/*16000*/ +}}; + static vorbis_info_psy _psy_set_C0={ ATH_Bark_dB_lineaggressive, -100., -140., - 0.f, - - /* 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.f, - /* 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.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ - {-35.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*/ - {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/ - {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/ - {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ - {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*11500*/ - {-30.f,-30.f,-33.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*16000*/ - }, + /* tonemask */ + -3.f, -45.f, &_vp_tonemask_consbass_C, - 1,/* peakattp */ - {{-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*63*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*88*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*125*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*175*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*250*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*350*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*500*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*700*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*1000*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*1400*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*2000*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*2800*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*4000*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*5600*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*8000*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*11500*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*16000*/ - }, + /* peakattp */ + 0, &_vp_peakatt_C, - 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*/ - .200f, -2.f,/*700*/ - .500f, -2.f,/*1000*/ - .500f, -2.f,/*1400*/ - .500f, -3.f,/*2000*/ - .500f, -6.f,/*2800*/ - .500f, -3.f,/*4000*/ - .700f, -4.f,/*5600*/ - .850f, -5.f,/*8000*/ - .900f, -4.f,/*11500*/ - .900f, -3.f,/*16000*/ - }, - - 90.f, /* even decade + 5 is important; saves an rint() later in a - tight loop) */ - -44., + /*noisemaskp */ + 1,-30.f, /* suppress any noise curve over maxspec+n */ + .6f, .6f, /* low/high window */ + 5, 5, 10, + + /*63 125 250 500 1k 2k 4k 8k 16k*/ + {-30,-30,-30,-30,-30,-30,-20,-10, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.6f,.7f,.8f,.8f}, - 12, - NULL,NULL + 105.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + 1, + _psy_passC0 }; static vorbis_info_psy _psy_set_C={ @@ -172,117 +190,79 @@ static vorbis_info_psy _psy_set_C={ -100.f, -140.f, - 0.f, - /* 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.f, - /* 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*/ - - {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/ - {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/ - {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/ - {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/ - {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/ - {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ - {-35.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*/ - {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/ - - {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/ - {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ - {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*11500*/ - {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*16000*/ - }, + /* tonemask */ + -6.f,-45.f,&_vp_tonemask_consbass_C, + /* peakattp */ + 0, &_vp_peakatt_C, - 1,/* peakattp */ - {{-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*63*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*88*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*125*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*175*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*250*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*350*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*500*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*700*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*1000*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*1400*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*2000*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*2800*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*4000*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*5600*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*8000*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*11500*/ - {-14.f,-20.f,-20.f,-20.f,-26.f,-32.f,-40.f,-40.f,-40.f,-40.f,-40.f},/*16000*/ - }, + /*noisemaskp */ + 1, -30.f, /* suppress any noise curve over maxspec+n */ + .4f,.4f, /* low/high window */ + 10,10,100, - 1,/*noisemaskp */ - -00.f, /* suppress any noise curve over maxspec+n */ - .5f, /* low window */ - .5f, /* high window */ - 10, - 10, - 25, - {.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*/ - .300f,-4.f, /*1400*/ - .300f,-4.f, /*2000*/ - .300f,-4.f, /*2800*/ - .500f,-4.f, /*4000*/ - .700f,-4.f, /*5600*/ - .850f,-5.f, /*8000*/ - .900f,-5.f, /*11500*/ - .900f,-4.f, /*16000*/ - }, - - 95.f, /* even decade + 5 is important; saves an rint() later in a + /*63 125 250 500 1k 2k 4k 8k 16k*/ + { 0, 0, 0, 0, 0, 0, 0, 0, -6, -6, -6, -6, 0, 0, 0, 0, 0}, + {.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.5f,.6f,.7f,.7f}, + + 105.f, /* even decade + 5 is important; saves an rint() later in a tight loop) */ - -44., + 1,_psy_passC +}; + +static vorbis_info_psy _psy_set_CT={ + ATH_Bark_dB_lineaggressive, + + -100.f, + -140.f, + + /* tonemask */ + -6.f,-45.f,&_vp_tonemask_consbass_C, + /* peakattp */ + 0, &_vp_peakatt_C, - 32,NULL,NULL + /*noisemaskp */ + 1, -30.f, /* suppress any noise curve over maxspec+n */ + .4f,.4f, /* low/high window */ + 10,10,100, + + /*63 125 250 500 1k 2k 4k 8k 16k*/ + {-30,-30,-30,-30,-30,-30,-30,-20, -6, -6, -6, -6, 0, 0, 0, 0, 0}, + {.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.5f,.6f,.7f,.7f}, + + 105.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + 1,_psy_passC }; /* with GNUisms, this could be short and readable. Oh well */ static vorbis_info_time0 _time_set0C={0}; -/*static vorbis_info_floor0 _floor_set0A={9, 44100, 64, 10,130, 2, {0,1}, +/*static vorbis_info_floor0 _floor_set0B={9, 44100, 64, 10,130, 2, {0,1}, 0.246f, .387f};*/ -/*static vorbis_info_floor0 _floor_set1A={30, 44100, 256, 12,150, 2, {2,3}, +/*static vorbis_info_floor0 _floor_set1B={30, 44100, 256, 12,150, 2, {2,3}, .082f, .126f};*/ -static vorbis_info_floor1 _floor_set0C={5, - {0,1,1,2,2}, - - {1,3,3}, - {0,2,2}, - {-1,0,1}, - {{2},{-1,3,4,5},{-1,6,7,8}}, - - 4, +static vorbis_info_floor1 _floor_set0C={6, + {0,1,1,1,2,2}, + + {4,3,3}, + {0,2,2}, + {-1,0,1}, + {{2},{-1,3,4,5},{-1,6,7,8}}, - {0,128, + 4, - 26,7,48, + {0,128, - 2,1,4, 18,13,22, - 35,30,41, 69,57,84}, + 6,17,30,58, + + 2,1,4, 11,8,14, 23,20,26, + 41,35,48, 84,69,103}, - 80,30,400, - 999,999,0,18., - 8,70, - 128}; + 60,30,500, + 999,999,1,18., + 8,70, + 128}; static vorbis_info_floor1 _floor_set1C={10, {0,1,2,2,2,2,2, 3,3,3}, @@ -308,48 +288,78 @@ static vorbis_info_floor1 _floor_set1C={10, 329,282,387, 672,553,825 }, - 60,30,400, + 60,30,300, 20,8,1,18., 20,600, - 960}; + 1024}; -static vorbis_info_residue0 _residue_set0C={0,240,12,9,23, - {0,1,1,1,1,3,3,3,7}, +static vorbis_info_residue0 _residue_set0C={0,256,16,10,23, + {0,1,1,1,1,1,1,1,3,7}, {25, 26, 27, 28, - 29,30, + 29, + 30, 31,32, 33,34, - 35,36,37}, - {9999,4,9999,10,9999,18, - 9999,9999,9999}, - {.5f,1.5f,1.5f,2.5f,2.5f, - 7.5f,7.5f,22.5f}, + 35,36}, + {9999, + 9999, + 12,9999, + 18,9999, + 28,9999, + 9999,9999}, + {.5f, + 1.5f, + 2.5f,2.5f, + 4.5f,4.5, + 16.5f,16.5, + 84.5f}, {0}, - {99,99,99,99,99,99,99,99,99}}; - -static vorbis_info_residue0 _residue_set1C={0,1920, 32,9,24, - {0,1,1,1,1,3,3,3,7}, + {99, + 99, + 99,99, + 99,99, + 99,99, + 99,99}, + {3}}; + +static vorbis_info_residue0 _residue_set1C={0,2048, 32,10,24, + {0,1,1,1,1,1,1,1,3,7}, {25, 26, 27, 28, - 29,30, - 31,32, - 33,34, - 35,36,37}, - {9999,6,9999,24,9999,40, - 9999,9999,9999}, - {.5f,1.5f,1.5f,2.5f,2.5f, - 7.5f,7.5f,22.5f}, + 29, + 30, + 31, + 32,33, + 34,35,36}, + {9999, + 9999, + 22,9999, + 34,9999, + 64,999, + 9999,9999}, + {.5f, + 1.5f, + 2.5f,2.5f, + 4.5f,4.5, + 16.5f,16.5, + 84.f}, {0}, - {99,99,99,99,99,99,99,99,99}}; - -static vorbis_info_mapping0 _mapping_set0C={1, {0,0}, {0}, {0}, {0}, 0, + {99, + 99, + 99,99, + 99,99, + 99,99, + 99,99}, + {3}}; + +static vorbis_info_mapping0 _mapping_set0C={1, {0,0}, {0}, {0}, {0}, {0,0}, 1,{0},{1}}; -static vorbis_info_mapping0 _mapping_set1C={1, {0,0}, {0}, {1}, {1}, 1, +static vorbis_info_mapping0 _mapping_set1C={1, {0,0}, {0}, {1}, {1}, {1,2}, 1,{0},{1}}; static vorbis_info_mode _mode_set0C={0,0,0,0}; static vorbis_info_mode _mode_set1C={1,0,0,1}; @@ -360,7 +370,7 @@ codec_setup_info info_C={ /* smallblock, largeblock */ {256, 2048}, /* modes,maps,times,floors,residues,books,psys */ - 2, 2, 1, 2, 2, 38, 2, + 2, 2, 1, 2, 2, 37, 3, /* modes */ {&_mode_set0C,&_mode_set1C}, /* maps */ @@ -409,18 +419,17 @@ codec_setup_info info_C={ &_vq_book_res0_128_1024_3, &_vq_book_res0_128_1024_4, &_vq_book_res0_128_1024_5, - &_vq_book_res0_128_1024_5a, &_vq_book_res0_128_1024_6, - &_vq_book_res0_128_1024_6a, &_vq_book_res0_128_1024_7, - &_vq_book_res0_128_1024_7a, &_vq_book_res0_128_1024_8, &_vq_book_res0_128_1024_8a, - &_vq_book_res0_128_1024_8b, + &_vq_book_res0_128_1024_9, + &_vq_book_res0_128_1024_9a, + &_vq_book_res0_128_1024_9b, }, /* psy */ - {&_psy_set_C0,&_psy_set_C}, + {&_psy_set_C0,&_psy_set_CT,&_psy_set_C}, &_psy_set_CG }; diff --git a/lib/modes/mode_D.h b/lib/modes/mode_D.h index 6aab2516..5e7676a2 100644 --- a/lib/modes/mode_D.h +++ b/lib/modes/mode_D.h @@ -11,7 +11,7 @@ ******************************************************************** function: predefined encoding modes - last mod: $Id: mode_D.h,v 1.14.2.2 2001/08/03 06:48:13 xiphmont Exp $ + last mod: $Id: mode_D.h,v 1.14.2.3 2001/08/12 11:03:20 xiphmont Exp $ ********************************************************************/ @@ -22,240 +22,348 @@ #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/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_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/res0_128_128aux.vqh" +#include "books/res0_128_1024aux.vqh" + +#include "books/res0_128_1024_1.vqh" +#include "books/res0_128_1024_2.vqh" +#include "books/res0_128_1024_3.vqh" +#include "books/res0_128_1024_4.vqh" +#include "books/res0_128_1024_5.vqh" +#include "books/res0_128_1024_6.vqh" +#include "books/res0_128_1024_7.vqh" +#include "books/res0_128_1024_8.vqh" +#include "books/res0_128_1024_8a.vqh" +#include "books/res0_128_1024_9.vqh" +#include "books/res0_128_1024_9a.vqh" +#include "books/res0_128_1024_9b.vqh" + + +static vorbis_info_psy_global _psy_set_DG={ + 0, /* decaydBpms */ + 8, /* lines per eighth octave */ + + /* 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, + -6.f, + + 0, +}; -#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 struct vp_couple_pass _psy_passD[]={ + {1.f,1.f, + {{9999, 0,0, 0,0, 0,0}} + }, +}; +static vp_attenblock _vp_tonemask_consbass_D={ + {{-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*63*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*88*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*125*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*175*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*250*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*350*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*500*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*700*/ + + {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ + {-35.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*/ + {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/ + {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/ + + {-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f}, /*8000*/ + {-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f}, + {-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f}, +}}; + +static vp_attenblock _vp_tonemask_D={ + + {{-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*63*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*88*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*125*/ + + + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ + {-30.f,-30.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*/ + {-40.f,-40.f,-40.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*/ + {-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f}, /*8000*/ + {-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f}, + {-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f}, +}}; + + +static vp_attenblock _vp_peakatt_D={ + { + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*63*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*88*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*125*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*170*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*250*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*350*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*500*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*700*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*1000*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*1400*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*2000*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*2800*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*4000*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*5600*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*8000*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*11500*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*1600*/ + }}; static vorbis_info_psy _psy_set_D0={ ATH_Bark_dB_lineconservative, + -100., -140., - 0.f, - /* 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 */ + /* tonemaskp */ + -6.f, -45.f,&_vp_tonemask_consbass_D, - 1,/* tonemaskp */ - 0.f, - /* 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*/ - }, + /* peakattp */ + 0, &_vp_peakatt_D, - 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*/ - }, + /*noisemaskp */ + 1,-30.f, /* suppress any noise curve over maxspec+n */ + .6f, .6f, /* low/high window */ + 5, 5, 10, + + /*63 125 250 500 1k 2k 4k 8k 16k*/ + {-30,-30,-30,-30,-30,-30,-20,-10, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + {.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.4f,.4f,.5f,.5f,.6f,.7f,.7f}, - 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., - + 1, + _psy_passD }; static vorbis_info_psy _psy_set_D={ ATH_Bark_dB_lineconservative, + -100.f, -140.f, - 0.f, - /* 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.f, - /* 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*/ - }, + /* tonemask */ + -6.f,-45.f,&_vp_tonemask_consbass_D, + /* peakattp */ + 0, &_vp_peakatt_D, - 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*/ - }, + /*noisemaskp */ + 1, -30.f, /* suppress any noise curve over maxspec+n */ + .4f,.4f, /* low/high window */ + 10,10,100, + + /*63 125 250 500 1k 2k 4k 8k 16k*/ + { 0, 0, 0, 0, 0, 0, 0, -3,-10,-10,-12,-12, -6, -3, -2, -1, -0}, + {.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.5f,.6f,.7f,.7f}, - 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., + 1,_psy_passD +}; +static vorbis_info_psy _psy_set_DT={ + ATH_Bark_dB_lineconservative, + + -100.f, + -140.f, + + /* tonemask */ + -6.f,-45.f,&_vp_tonemask_consbass_D, + /* peakattp */ + 0, &_vp_peakatt_D, + + /*noisemaskp */ + 1, -30.f, /* suppress any noise curve over maxspec+n */ + .4f,.4f, /* low/high window */ + 10,10,100, + + /*63 125 250 500 1k 2k 4k 8k 16k*/ + {-30,-30,-30,-30,-30,-30,-30,-20,-10,-12,-16,-16, -10, -6, -6, -6, -6}, + {.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.4f,.4f,.4f,.4f,.4f,.5f,.5f,.6f}, + + 105.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + 1,_psy_passD }; /* 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, +/*static vorbis_info_floor0 _floor_set0B={9, 44100, 64, 10,130, 2, {0,1}, + 0.246f, .387f};*/ +/*static vorbis_info_floor0 _floor_set1B={30, 44100, 256, 12,150, 2, {2,3}, + .082f, .126f};*/ + +static vorbis_info_floor1 _floor_set0D={6, + {0,1,1,1,2,2}, + + {4,3,3}, + {0,2,2}, + {-1,0,1}, + {{2},{-1,3,4,5},{-1,6,7,8}}, + + 4, + + {0,128, + + 6,17,30,58, + + 2,1,4, 11,8,14, 23,20,26, + 41,35,48, 84,69,103}, + + 60,30,500, + 999,999,1,18., + 8,70, + 128}; + +static vorbis_info_floor1 _floor_set1D={10, + {0,1,2,2,2,2,2, 3,3,3}, + + {3,4,3,3}, + {1,1,2,2}, + {9,10,11,12}, + {{13,14}, + {15,16}, + {-1,17,18,19}, + {-1,20,21,22}, + }, + + 2, + {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,300, + 20,8,1,18., + 20,600, + 1024}; + +static vorbis_info_residue0 _residue_set0D={0,256,16,10,23, + {0,1,1,1,1,1,1,1,3,7}, + {25, + 26, + 27, + 28, + 29, + 30, + 31,32, + 33,34, + 35,36}, + {9999, + 9999, + 12,9999, + 18,9999, + 28,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}}; + {.5f, + 1.5f, + 2.5f,2.5f, + 4.5f,4.5, + 16.5f,16.5, + 84.5f}, + {0}, + {99, + 99, + 99,99, + 99,99, + 99,99, + 99,99}, + {3}}; + +static vorbis_info_residue0 _residue_set1D={0,2048, 32,10,24, + {0,1,1,1,1,1,1,1,3,7}, + {25, + 26, + 27, + 28, + 29, + 30, + 31, + 32,33, + 34,35,36}, + {9999, + 9999, + 22,9999, + 34,9999, + 64,999, + 9999,9999}, + {.5f, + 1.5f, + 2.5f,2.5f, + 4.5f,4.5, + 16.5f,16.5, + 84.f}, + {0}, + {99, + 99, + 99,99, + 99,99, + 99,99, + 99,99}, + {3}}; + +static vorbis_info_mapping0 _mapping_set0D={1, {0,0}, {0}, {0}, {0}, {0,0}, + 1,{0},{1}}; +static vorbis_info_mapping0 _mapping_set1D={1, {0,0}, {0}, {1}, {1}, {1,2}, + 1,{0},{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 */ +/* CD quality stereo, losslesschannel coupling */ codec_setup_info info_D={ /* smallblock, largeblock */ {256, 2048}, /* modes,maps,times,floors,residues,books,psys */ - 2, 2, 1, 2, 2, 18, 2, + 2, 2, 1, 2, 2, 37, 3, /* modes */ {&_mode_set0D,&_mode_set1D}, /* maps */ @@ -263,35 +371,59 @@ codec_setup_info info_D={ /* times */ {0,0},{&_time_set0D}, /* floors */ - {0,0},{&_floor_set0D,&_floor_set1D}, + {1,1},{&_floor_set0D,&_floor_set1D}, /* residue */ - {0,0},{&_residue_set0D,&_residue_set1D}, + {2,2},{&_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, + + { + &_huff_book_line0_class1, + &_huff_book_line0_class2, /* 1 */ + + &_huff_book_line0_0sub0, /* 2 */ + &_huff_book_line0_1sub1, /* 3 */ + &_huff_book_line0_1sub2, + &_huff_book_line0_1sub3, /* 5 */ + &_huff_book_line0_2sub1, + &_huff_book_line0_2sub2, /* 7 */ + &_huff_book_line0_2sub3, + + &_huff_book_line1_class0, + &_huff_book_line1_class1, /* 10 */ + &_huff_book_line1_class2, + &_huff_book_line1_class3, /* 12 */ + + &_huff_book_line1_0sub0, + &_huff_book_line1_0sub1, /* 14 */ + &_huff_book_line1_1sub0, + &_huff_book_line1_1sub1, + &_huff_book_line1_2sub1, + &_huff_book_line1_2sub2, /* 18 */ + &_huff_book_line1_2sub3, + &_huff_book_line1_3sub1, + &_huff_book_line1_3sub2, + &_huff_book_line1_3sub3, /* 22 */ + + &_huff_book_res0_128_128aux, + &_huff_book_res0_128_1024aux, + + &_vq_book_res0_128_1024_1, + &_vq_book_res0_128_1024_2, + &_vq_book_res0_128_1024_3, + &_vq_book_res0_128_1024_4, + &_vq_book_res0_128_1024_5, + &_vq_book_res0_128_1024_6, + &_vq_book_res0_128_1024_7, + &_vq_book_res0_128_1024_8, + &_vq_book_res0_128_1024_8a, + &_vq_book_res0_128_1024_9, + &_vq_book_res0_128_1024_9a, + &_vq_book_res0_128_1024_9b, }, /* psy */ - {&_psy_set_D0,&_psy_set_D}, + {&_psy_set_D0,&_psy_set_DT,&_psy_set_D}, + &_psy_set_DG }; #endif diff --git a/lib/modes/mode_E.h b/lib/modes/mode_E.h index 6f4bc0f1..fa5562f2 100644 --- a/lib/modes/mode_E.h +++ b/lib/modes/mode_E.h @@ -11,7 +11,7 @@ ******************************************************************** function: predefined encoding modes - last mod: $Id: mode_E.h,v 1.13.2.2 2001/08/03 06:48:13 xiphmont Exp $ + last mod: $Id: mode_E.h,v 1.13.2.3 2001/08/12 11:03:20 xiphmont Exp $ ********************************************************************/ @@ -22,206 +22,303 @@ #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/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_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/res0_128_128aux.vqh" +#include "books/res0_128_1024aux.vqh" + +#include "books/res0_128_1024_1.vqh" +#include "books/res0_128_1024_2.vqh" +#include "books/res0_128_1024_3.vqh" +#include "books/res0_128_1024_4.vqh" +#include "books/res0_128_1024_5.vqh" +#include "books/res0_128_1024_6.vqh" +#include "books/res0_128_1024_7.vqh" +#include "books/res0_128_1024_8.vqh" +#include "books/res0_128_1024_8a.vqh" +#include "books/res0_128_1024_9.vqh" +#include "books/res0_128_1024_9a.vqh" +#include "books/res0_128_1024_9b.vqh" + + +static vorbis_info_psy_global _psy_set_EG={ + 0, /* decaydBpms */ + 8, /* lines per eighth octave */ + + /* 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, + -6.f, + + 0, +}; -#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 struct vp_couple_pass _psy_passE[]={ + {1.f,1.f, + {{9999, 0,0, 0,0, 0,0}} + }, +}; +static vp_attenblock _vp_tonemask_E={ + {{-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*63*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*88*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*125*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*175*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*250*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*350*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*500*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*700*/ + + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, /*1k*/ + {-40.f,-40.f,-40.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f,-115.f}, + {-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f}, /*2k*/ + {-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f}, + {-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f}, /*4k*/ + {-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f}, /*8000*/ + + {-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f}, /*8000*/ + {-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f}, + {-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f,-9e9f}, +}}; + +static vp_attenblock _vp_peakatt_E={ + { + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*63*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f}, + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*125*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f}, + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*250*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f}, + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*500*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f}, + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*1k*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f}, + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*2k*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f}, + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*4k*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f}, + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*8k*/ + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f}, + {-14.f,-20.f,-24.f,-26.f,-32.f,-34.f,-36.f,-38.f,-40.f,-40.f,-40.f},/*16k*/ + }}; static vorbis_info_psy _psy_set_E0={ ATH_Bark_dB_lineconservative, - -100., + + -110., -140., - 0.f, - /* 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 */ + /* tonemaskp */ + -6.f, -50.f, &_vp_tonemask_E, - 1,/* tonemaskp */ - 0.f, + /* peakattp */ + 0, &_vp_peakatt_E, - /* 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*/ - }, + /*noisemaskp */ + 1,-30.f, /* suppress any noise curve over maxspec+n */ + .6f, .6f, /* low/high window */ + 5, 5, 10, - 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*/ - }, + /*63 125 250 500 1k 2k 4k 8k 16k*/ + {-30,-30,-30,-30,-30,-30,-20,-10,-10,-10,-10,-10,-6,-6,-6,-6,-6}, + {.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.4f,.4f,.5f,.5f,.5f,.5f,.6f}, - 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., + 1, + _psy_passE }; static vorbis_info_psy _psy_set_E={ ATH_Bark_dB_lineconservative, - -100.f, + + -110.f, -140.f, - 0.f, - /* 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.f, - /* 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*/ - }, + /* tonemask */ + -6.f,-50.f,&_vp_tonemask_E, + /* peakattp */ + 0, &_vp_peakatt_E, - 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*/ - }, + /*noisemaskp */ + 1, -30.f, /* suppress any noise curve over maxspec+n */ + .4f,.4f, /* low/high window */ + 10,10,100, + + /*63 125 250 500 1k 2k 4k 8k 16k*/ + {-30,-30,-30,-30,-30,-30,-30,-20,-10,-12,-16,-16, -10, -6, -6, -6, -6}, + {.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.4f,.4f,.4f,.4f,.4f,.5f,.5f,.6f}, - 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., - + 1,_psy_passE }; /* 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, +/*static vorbis_info_floor0 _floor_set0B={9, 44100, 64, 10,130, 2, {0,1}, + 0.246f, .387f};*/ +/*static vorbis_info_floor0 _floor_set1B={30, 44100, 256, 12,150, 2, {2,3}, + .082f, .126f};*/ + +static vorbis_info_floor1 _floor_set0E={6, + {0,1,1,1,2,2}, + + {4,3,3}, + {0,2,2}, + {-1,0,1}, + {{2},{-1,3,4,5},{-1,6,7,8}}, + + 4, + + {0,128, + + 6,17,30,58, + + 2,1,4, 11,8,14, 23,20,26, + 41,35,48, 84,69,103}, + + 60,30,500, + 999,999,1,18., + 8,70, + 128}; + +static vorbis_info_floor1 _floor_set1E={10, + {0,1,2,2,2,2,2, 3,3,3}, + + {3,4,3,3}, + {1,1,2,2}, + {9,10,11,12}, + {{13,14}, + {15,16}, + {-1,17,18,19}, + {-1,20,21,22}, + }, + + 2, + {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,300, + 20,8,1,18., + 20,600, + 1024}; + +static vorbis_info_residue0 _residue_set0E={0,256,16,10,23, + {0,1,1,1,1,1,1,1,3,7}, + {25, + 26, + 27, + 28, + 29, + 30, + 31,32, + 33,34, + 35,36}, + {9999, + 9999, + 9999, + 9999, + 40,9999, + 58,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}}; + {.5f, + 1.5f, + 2.5f, + 4.5f, + 7.5f,7.5f, + 16.5f,16.5, + 84.5f}, + {0}, + {99, + 99, + 99, + 99, + 99,99, + 99,99, + 99,99}, + {3}}; + +static vorbis_info_residue0 _residue_set1E={0,2048, 32,10,24, + {0,1,1,1,1,1,1,1,3,7}, + {25, + 26, + 27, + 28, + 29, + 30, + 31, + 32,33, + 34,35,36}, + {9999, + 9999, + 9999, + 9999, + 70,9999, + 110,9999, + 9999,9999}, + {.5f, + 1.5f, + 2.5f, + 4.5f, + 7.5,7.5, + 16.5f,16.5, + 84.f}, + {0}, + {99, + 99, + 99, + 99, + 99,99, + 99,99, + 99,99}, + {3}}; + +static vorbis_info_mapping0 _mapping_set0E={1, {0,0}, {0}, {0}, {0}, {0,0}, + 1,{0},{1}}; +static vorbis_info_mapping0 _mapping_set1E={1, {0,0}, {0}, {1}, {1}, {1,1}, + 1,{0},{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 */ +/* CD quality stereo, losslesschannel coupling */ codec_setup_info info_E={ /* smallblock, largeblock */ {256, 2048}, /* modes,maps,times,floors,residues,books,psys */ - 2, 2, 1, 2, 2, 18, 2, + 2, 2, 1, 2, 2, 37, 2, /* modes */ {&_mode_set0E,&_mode_set1E}, /* maps */ @@ -229,35 +326,59 @@ codec_setup_info info_E={ /* times */ {0,0},{&_time_set0E}, /* floors */ - {0,0},{&_floor_set0E,&_floor_set1E}, + {1,1},{&_floor_set0E,&_floor_set1E}, /* residue */ - {0,0},{&_residue_set0E,&_residue_set1E}, + {2,2},{&_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, + + { + &_huff_book_line0_class1, + &_huff_book_line0_class2, /* 1 */ + + &_huff_book_line0_0sub0, /* 2 */ + &_huff_book_line0_1sub1, /* 3 */ + &_huff_book_line0_1sub2, + &_huff_book_line0_1sub3, /* 5 */ + &_huff_book_line0_2sub1, + &_huff_book_line0_2sub2, /* 7 */ + &_huff_book_line0_2sub3, + + &_huff_book_line1_class0, + &_huff_book_line1_class1, /* 10 */ + &_huff_book_line1_class2, + &_huff_book_line1_class3, /* 12 */ + + &_huff_book_line1_0sub0, + &_huff_book_line1_0sub1, /* 14 */ + &_huff_book_line1_1sub0, + &_huff_book_line1_1sub1, + &_huff_book_line1_2sub1, + &_huff_book_line1_2sub2, /* 18 */ + &_huff_book_line1_2sub3, + &_huff_book_line1_3sub1, + &_huff_book_line1_3sub2, + &_huff_book_line1_3sub3, /* 22 */ + + &_huff_book_res0_128_128aux, + &_huff_book_res0_128_1024aux, + + &_vq_book_res0_128_1024_1, + &_vq_book_res0_128_1024_2, + &_vq_book_res0_128_1024_3, + &_vq_book_res0_128_1024_4, + &_vq_book_res0_128_1024_5, + &_vq_book_res0_128_1024_6, + &_vq_book_res0_128_1024_7, + &_vq_book_res0_128_1024_8, + &_vq_book_res0_128_1024_8a, + &_vq_book_res0_128_1024_9, + &_vq_book_res0_128_1024_9a, + &_vq_book_res0_128_1024_9b, }, /* psy */ {&_psy_set_E0,&_psy_set_E}, + &_psy_set_EG }; #endif diff --git a/lib/modes/mode_Za.h b/lib/modes/mode_Za.h new file mode 100644 index 00000000..1923243c --- /dev/null +++ b/lib/modes/mode_Za.h @@ -0,0 +1,406 @@ +/******************************************************************** + * * + * 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_Za.h,v 1.1.2.1 2001/08/12 11:03:20 xiphmont Exp $ + + ********************************************************************/ + +#ifndef _V_MODES_ZA_H_ +#define _V_MODES_ZA_H_ + +#include <stdio.h> +#include "vorbis/codec.h" +#include "backends.h" + +#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_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/res0_128_128aux.vqh" +#include "books/res0_128_1024aux.vqh" + +#include "books/res0_128_1024_1.vqh" +#include "books/res0_128_1024_2.vqh" +#include "books/res0_128_1024_3.vqh" +#include "books/res0_128_1024_4.vqh" +#include "books/res0_128_1024_5.vqh" +#include "books/res0_128_1024_5a.vqh" +#include "books/res0_128_1024_5b.vqh" + + +static vorbis_info_psy_global _psy_set_ZaG={ + 0, /* decaydBpms */ + 8, /* lines per eighth octave */ + + /* 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, + -6.f, + + 0, +}; + +static struct vp_couple_pass _psy_passZa0[]={ + {1.f,1.f, + {{24, 0,0, 0,0, 0,0}, + {9999, 0,0, 12.5f,12, 4.5f,0}} + }, +}; + +static vp_couple_pass _psy_passZa[]={ + {1.f,1.f, + {{288, 0,0, 0,0, 0,0}, + {9999, 0,0, 12.5f,12, 4.5f,0}} + } +}; + +static vp_attenblock _vp_tonemask_consbass_Za={ + + { + {-30.f,-30.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*63*/ + {-30.f,-30.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, + {-30.f,-30.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*125*/ + + {-30.f,-30.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, + {-30.f,-30.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*250*/ + {-30.f,-30.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, + + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ + {-30.f,-30.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*/ + {-40.f,-40.f,-40.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*/ + + {-30.f,-30.f,-33.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ + {-30.f,-30.f,-33.f,-35.f,-40.f,-45.f,-50.f,-60.f,-70.f,-85.f,-100.f}, /*11500*/ + {-24.f,-24.f,-26.f,-32.f,-32.f,-42.f,-50.f,-60.f,-70.f,-85.f,-100.f}, /*16000*/ +}}; + +static vp_attenblock _vp_tonemask_Za={ + + {{-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*63*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*88*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*125*/ + + + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ + {-30.f,-30.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*/ + {-40.f,-40.f,-40.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*/ + + {-30.f,-30.f,-33.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ + {-30.f,-30.f,-33.f,-35.f,-40.f,-45.f,-50.f,-60.f,-70.f,-85.f,-100.f}, /*11500*/ + {-24.f,-24.f,-26.f,-32.f,-32.f,-42.f,-50.f,-60.f,-70.f,-85.f,-100.f}, /*16000*/ +}}; + +static vp_attenblock _vp_peakatt_Za={ + {{-14.f,-20.f,-20.f,-20.f,-26.f,-22.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*63*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-22.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*88*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-22.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*125*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-22.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*175*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-22.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*250*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-22.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*350*/ + {-14.f,-20.f,-20.f,-20.f,-26.f,-22.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*500*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-14.f,-20.f,-26.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,-30.f,-30.f},/*2400*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-30.f,-30.f},/*4000*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-12.f,-13.f,-22.f,-30.f,-30.f},/*5600*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-12.f,-13.f,-22.f,-30.f,-30.f},/*8000*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-22.f,-30.f,-30.f},/*11500*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-20.f,-30.f,-30.f},/*16000*/ +}}; + +static vorbis_info_psy _psy_set_Za0={ + ATH_Bark_dB_lineaggressive, + + -100., + -140., + + /* tonemaskp */ + 0.f, -20.f,&_vp_tonemask_consbass_Za, + + /* peakattp */ + 1, &_vp_peakatt_Za, + + /*noisemaskp */ + 1,-20.f, /* suppress any noise curve over absolute dB */ + .6f, .6f, /* low/high window */ + 5, 5, -1, + + /*63 125 250 500 1k 2k 4k 8k 16k*/ + {-30,-30,-30,-30,-30,-20,-20,-10,-10,-10,-10,-10, -3, 1, 2, 3, 6}, + {.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f}, + + 95.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + 1, + _psy_passZa0 +}; + +static vorbis_info_psy _psy_set_Za={ + ATH_Bark_dB_lineaggressive, + + -100.f, + -140.f, + + /* tonemask */ + 0.f,-20.f,&_vp_tonemask_Za, + /* peakattp */ + 1, &_vp_peakatt_Za, + + /*noisemaskp */ + 1, -20.f, /* suppress any noise curve over maxspec+n */ + .4f,.4f, /* low/high window */ + 10,10,-1, + + /*63 125 250 500 1k 2k 4k 8k 16k*/ + {-6,-6,-6,-6,-6,-6, -6, -6,-10,-10,-10,-10,-3, -1, 1, 2, 3}, + {.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f}, + + 95.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + 1,_psy_passZa +}; + +static vorbis_info_psy _psy_set_ZaT={ + ATH_Bark_dB_lineaggressive, + + -100.f, + -140.f, + + /* tonemask */ + 0.f,-20.f,&_vp_tonemask_Za, + /* peakattp */ + 1, &_vp_peakatt_Za, + + /*noisemaskp */ + 1, -20.f, /* suppress any noise curve over maxspec+n */ + .4f,.4f, /* low/high window */ + 10,10,-1, + + /*63 125 250 500 1k 2k 4k 8k 16k*/ + {-30,-30,-30,-30,-30,-20, -6,-6,-10,-10,-10,-10, -3, -1, 1, 2, 3}, + {.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f,.9f}, + + 95.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + 1,_psy_passZa +}; + +/* with GNUisms, this could be short and readable. Oh well */ +static vorbis_info_time0 _time_set0Za={0}; +/*static vorbis_info_floor0 _floor_set0A={9, 44100, 64, 10,130, 2, {0,1}, + 0.246f, .387f};*/ +/*static vorbis_info_floor0 _floor_set1A={30, 44100, 256, 12,150, 2, {2,3}, + .082f, .126f};*/ + +static vorbis_info_floor1 _floor_set0Za={4, + {0,1,2,2}, + + {2,3,3}, + {0,2,2}, + {-1,0,1}, + {{2},{-1,3,4,5},{-1,6,7,8}}, + + 4, + + {0,128, + + 14,45, + + 4, 2, 8, + 26, 20, 35, + 70, 56, 88}, + + 60,30,500, + 999,999,1,18., + 8,70, + 88}; + +static vorbis_info_floor1 _floor_set1Za={10, + {0,1,2,2,2,2,2, 3,3,3}, + + {3,4,3,3}, + {1,1,2,2}, + {9,10,11,12}, + {{13,14}, + {15,16}, + {-1,17,18,19}, + {-1,20,21,22}, + }, + + 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,500, + 20,8,1,18., + 20,600, + 704}; + +static vorbis_info_residue0 _residue_set0Za={0,192,16,5,23, + {1,1,1,1,7}, + {25, + 26, + 27, + 28, + 29,30,31}, + {9999, + 9999, + 9999, + 9999, + 9999}, + {4.5, + 12.5, + 1.5f, + 7.5f}, + {0}, + {3,3,99,99,99}, + {3}}; + +static vorbis_info_residue0 _residue_set1Za={0,1408, 32,5,24, + {1,1,1,1,7}, + {25, + 26, + 27, + 28, + 29,30,31}, + {9999, + 9999, + 9999, + 9999, + 9999}, + {4.5f, + 12.5, + 1.5, + 7.5}, + {0}, + {18,18,99,99,99}, + {3}}; + +static vorbis_info_mapping0 _mapping_set0Za={1, {0,0}, {0}, {0}, {0}, {0,0}, + 1,{0},{1}}; +static vorbis_info_mapping0 _mapping_set1Za={1, {0,0}, {0}, {1}, {1}, {1,2}, + 1,{0},{1}}; +static vorbis_info_mode _mode_set0Za={0,0,0,0}; +static vorbis_info_mode _mode_set1Za={1,0,0,1}; + +/* CD quality stereo, no channel coupling */ +codec_setup_info info_Za={ + + /* smallblock, largeblock */ + {256, 2048}, + /* modes,maps,times,floors,residues,books,psys */ + 2, 2, 1, 2, 2, 32, 3, + /* modes */ + {&_mode_set0Za,&_mode_set1Za}, + /* maps */ + {0,0},{&_mapping_set0Za,&_mapping_set1Za}, + /* times */ + {0,0},{&_time_set0Za}, + /* floors */ + {1,1},{&_floor_set0Za,&_floor_set1Za}, + /* residue */ + {2,2},{&_residue_set0Za,&_residue_set1Za}, + /* books */ + + { + &_huff_book_line0_class1, + &_huff_book_line0_class2, /* 1 */ + + &_huff_book_line0_0sub0, /* 2 */ + &_huff_book_line0_1sub1, /* 3 */ + &_huff_book_line0_1sub2, + &_huff_book_line0_1sub3, /* 5 */ + &_huff_book_line0_2sub1, + &_huff_book_line0_2sub2, /* 7 */ + &_huff_book_line0_2sub3, + + &_huff_book_line1_class0, + &_huff_book_line1_class1, /* 10 */ + &_huff_book_line1_class2, + &_huff_book_line1_class3, /* 12 */ + + &_huff_book_line1_0sub0, + &_huff_book_line1_0sub1, /* 14 */ + &_huff_book_line1_1sub0, + &_huff_book_line1_1sub1, + &_huff_book_line1_2sub1, + &_huff_book_line1_2sub2, /* 18 */ + &_huff_book_line1_2sub3, + &_huff_book_line1_3sub1, + &_huff_book_line1_3sub2, + &_huff_book_line1_3sub3, /* 22 */ + + &_huff_book_res0_128_128aux, + &_huff_book_res0_128_1024aux, + + &_vq_book_res0_128_1024_1, + &_vq_book_res0_128_1024_2, + &_vq_book_res0_128_1024_3, + &_vq_book_res0_128_1024_4, + &_vq_book_res0_128_1024_5, + &_vq_book_res0_128_1024_5a, + &_vq_book_res0_128_1024_5b, + + }, + /* psy */ + {&_psy_set_Za0,&_psy_set_ZaT,&_psy_set_Za}, + &_psy_set_ZaG +}; + +#endif diff --git a/lib/modes/mode_Zb.h b/lib/modes/mode_Zb.h new file mode 100644 index 00000000..df3f6d22 --- /dev/null +++ b/lib/modes/mode_Zb.h @@ -0,0 +1,410 @@ +/******************************************************************** + * * + * 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_Zb.h,v 1.1.2.1 2001/08/12 11:03:20 xiphmont Exp $ + + ********************************************************************/ + +#ifndef _V_MODES_Zb_H_ +#define _V_MODES_Zb_H_ + +#include <stdio.h> +#include "vorbis/codec.h" +#include "backends.h" + +#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_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/res0_128_128aux.vqh" +#include "books/res0_128_1024aux.vqh" + +#include "books/res0_128_1024_1.vqh" +#include "books/res0_128_1024_2.vqh" +#include "books/res0_128_1024_3.vqh" +#include "books/res0_128_1024_4.vqh" +#include "books/res0_128_1024_5.vqh" +#include "books/res0_128_1024_5a.vqh" +#include "books/res0_128_1024_5b.vqh" + + +static vorbis_info_psy_global _psy_set_ZbG={ + 0, /* decaydBpms */ + 8, /* lines per eighth octave */ + + /* 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, + -6.f, + + 0, +}; + +static struct vp_couple_pass _psy_passZb0[]={ + {1.f,1.f, + {{24, 0,0, 0,0, 0,0}, + {9999, 0,0, 7.5f,12, 7.5f,0}} + }, +}; + +static vp_couple_pass _psy_passZb[]={ + {1.f,1.f, + {{288, 0,0, 0,0, 0,0}, + {9999, 0,0, 7.5f,12, 7.5f,0}} + } +}; + +static vp_attenblock _vp_tonemask_consbass_Zb={ + {{-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*63*/ + {-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*88*/ + {-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*125*/ + {-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*175*/ + {-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*250*/ + {-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*350*/ + + {-35.f,-35.f,-35.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*500*/ + {-35.f,-35.f,-35.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*700*/ + + {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ + {-35.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*/ + {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/ + {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/ + + {-30.f,-30.f,-33.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ + {-30.f,-30.f,-33.f,-35.f,-35.f,-45.f,-50.f,-60.f,-70.f,-90.f,-100.f}, /*11500*/ + {-24.f,-24.f,-26.f,-32.f,-32.f,-42.f,-50.f,-60.f,-70.f,-90.f,-100.f}, /*16000*/ +}}; + +static vp_attenblock _vp_tonemask_Zb={ + + {{-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*63*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*88*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*125*/ + + + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ + {-30.f,-30.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*/ + {-40.f,-40.f,-40.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*/ + + {-30.f,-30.f,-33.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ + {-30.f,-30.f,-33.f,-35.f,-40.f,-45.f,-50.f,-60.f,-70.f,-85.f,-100.f}, /*11500*/ + {-24.f,-24.f,-26.f,-32.f,-32.f,-42.f,-50.f,-60.f,-70.f,-85.f,-100.f}, /*16000*/ +}}; + +static vp_attenblock _vp_peakatt_Zb={ + {{-14.f,-16.f,-18.f,-19.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f},/*63*/ + {-14.f,-16.f,-18.f,-19.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f},/*88*/ + {-14.f,-16.f,-18.f,-19.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f},/*125*/ + {-10.f,-10.f,-10.f,-10.f,-16.f,-20.f,-26.f,-24.f,-24.f,-24.f,-24.f},/*175*/ + {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-26.f,-24.f,-24.f,-24.f},/*250*/ + {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-24.f,-24.f},/*350*/ + {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-24.f,-24.f},/*500*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*700*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*1000*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*1400*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*2000*/ + {-10.f,-10.f,-10.f,-12.f,-16.f,-16.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*2400*/ + {-10.f,-10.f,-10.f,-12.f,-16.f,-16.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*4000*/ + {-10.f,-10.f,-10.f,-12.f,-12.f,-14.f,-16.f,-18.f,-22.f,-24.f,-24.f},/*5600*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-14.f,-16.f,-18.f,-22.f,-24.f,-24.f},/*8000*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-14.f,-16.f,-18.f,-22.f,-24.f,-24.f},/*11500*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-12.f,-16.f,-18.f,-22.f,-24.f,-24.f},/*16000*/ +}}; + +static vorbis_info_psy _psy_set_Zb0={ + ATH_Bark_dB_lineaggressive, + + -90., + -140., + + /* tonemaskp */ + 6.f, -20.f,&_vp_tonemask_consbass_Zb, + + /* peakattp */ + 1, &_vp_peakatt_Zb, + + /*noisemaskp */ + 1,-24.f, /* suppress any noise curve over maxspec+n */ + .5f, .5f, /* low/high window */ + 5, 5, -1, + + /*63 125 250 500 1k 2k 4k 8k 16k*/ + {-20,-20,-20,-20,-20,-20,-10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + {1.f,1.f,1.f,1.f,1.f,1.f,1.f,.8f,.8f,.8f,.8f,.8f,.85f,.95f,.95f,1.f,1.f}, + + 95.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + 1, + _psy_passZb0 +}; + +static vorbis_info_psy _psy_set_Zb={ + ATH_Bark_dB_lineaggressive, + + -90.f, + -140.f, + + /* tonemask */ + 6.f,-20.f,&_vp_tonemask_Zb, + /* peakattp */ + 1, &_vp_peakatt_Zb, + + /*noisemaskp */ + 1, -24.f, /* suppress any noise curve over maxspec+n */ + .5f,.5f, /* low/high window */ + 10,10,-1, + + /*63 125 250 500 1k 2k 4k 8k 16k*/ + {-10,-10,-10,-10,-10,-10,-10, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3}, + {.8f,.8f,.8f,.8f,.8f,.8f,.8f,.8f,.8f,.8f,.8f,.8f,.9f,.9f,.9f,.95f,.95f}, + + 95.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + 1,_psy_passZb +}; + +static vorbis_info_psy _psy_set_ZbT={ + ATH_Bark_dB_lineaggressive, + + -90.f, + -140.f, + + /* tonemask */ + 6.f,-20.f,&_vp_tonemask_consbass_Zb, + /* peakattp */ + 1, &_vp_peakatt_Zb, + + /*noisemaskp */ + 1, -24.f, /* suppress any noise curve over maxspec+n */ + .5f,.5f, /* low/high window */ + 10,10,-1, + + /*63 125 250 500 1k 2k 4k 8k 16k*/ + {-20,-20,-20,-20,-20,-20,-10, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3}, + {1.f,1.f,1.f,1.f,1.f,1.f,.9f,.8f,.8f,.8f,.8f,.8f,.9f,.9f,.9f,.95f,.95f}, + + 95.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + 1,_psy_passZb +}; + +/* with GNUisms, this could be short and readable. Oh well */ +static vorbis_info_time0 _time_set0Zb={0}; +/*static vorbis_info_floor0 _floor_set0Zb={9, 44100, 64, 10,130, 2, {0,1}, + 0.246f, .387f};*/ +/*static vorbis_info_floor0 _floor_set1Zb={30, 44100, 256, 12,150, 2, {2,3}, + .082f, .126f};*/ + +static vorbis_info_floor1 _floor_set0Zb={3, + {0,1,2}, + + {1,3,3}, + {0,2,2}, + {-1,0,1}, + {{2},{-1,3,4,5},{-1,6,7,8}}, + + 4, + + {0,128, + + 7, + + 2,1,4, + 23,13,45}, + + 60,30,500, + 999,999,0,18., + 8,70, + 90}; + +static vorbis_info_floor1 _floor_set1Zb={10, + {0,1,2,2,2,2,2, 3,3,3}, + + {3,4,3,3}, + {1,1,2,2}, + {9,10,11,12}, + {{13,14}, + {15,16}, + {-1,17,18,19}, + {-1,20,21,22}, + }, + + 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,400, + 20,8,1,18., + 20,600, + 720}; + +static vorbis_info_residue0 _residue_set0Zb={0,180,12,5,23, + {1,1,1,1,7}, + {25, + 26, + 27, + 28, + 29,30,31}, + {9999, + 9999, + 9999, + 9999, + 9999}, + {2.5f, + 7.5, + 1.5f, + 22.5f}, + {0}, + {2, + 2, + 99, + 99, + 99}, + {3}}; + +static vorbis_info_residue0 _residue_set1Zb={0,1440, 32,5,24, + {1,1,1,1,7}, + {25, + 26, + 27, + 28, + 29,30,31}, + {9999, + 9999, + 9999, + 9999, + 9999}, + {2.5f, + 7.5f, + 1.5f, + 22.5f}, + {0}, + {18, + 18, + 99, + 99, + 99}, + {3}}; + +static vorbis_info_mapping0 _mapping_set0Zb={1, {0,0}, {0}, {0}, {0}, {0,0}, + 1,{0},{1}}; +static vorbis_info_mapping0 _mapping_set1Zb={1, {0,0}, {0}, {1}, {1}, {1,2}, + 1,{0},{1}}; +static vorbis_info_mode _mode_set0Zb={0,0,0,0}; +static vorbis_info_mode _mode_set1Zb={1,0,0,1}; + +/* CD quality stereo, no channel coupling */ +codec_setup_info info_Zb={ + + /* smallblock, largeblock */ + {256, 2048}, + /* modes,maps,times,floors,residues,books,psys */ + 2, 2, 1, 2, 2, 32, 3, + /* modes */ + {&_mode_set0Zb,&_mode_set1Zb}, + /* maps */ + {0,0},{&_mapping_set0Zb,&_mapping_set1Zb}, + /* times */ + {0,0},{&_time_set0Zb}, + /* floors */ + {1,1},{&_floor_set0Zb,&_floor_set1Zb}, + /* residue */ + {2,2},{&_residue_set0Zb,&_residue_set1Zb}, + /* books */ + + { + &_huff_book_line0_class1, + &_huff_book_line0_class2, /* 1 */ + + &_huff_book_line0_0sub0, /* 2 */ + &_huff_book_line0_1sub1, /* 3 */ + &_huff_book_line0_1sub2, + &_huff_book_line0_1sub3, /* 5 */ + &_huff_book_line0_2sub1, + &_huff_book_line0_2sub2, /* 7 */ + &_huff_book_line0_2sub3, + + &_huff_book_line1_class0, + &_huff_book_line1_class1, /* 10 */ + &_huff_book_line1_class2, + &_huff_book_line1_class3, /* 12 */ + + &_huff_book_line1_0sub0, + &_huff_book_line1_0sub1, /* 14 */ + &_huff_book_line1_1sub0, + &_huff_book_line1_1sub1, + &_huff_book_line1_2sub1, + &_huff_book_line1_2sub2, /* 18 */ + &_huff_book_line1_2sub3, + &_huff_book_line1_3sub1, + &_huff_book_line1_3sub2, + &_huff_book_line1_3sub3, /* 22 */ + + &_huff_book_res0_128_128aux, + &_huff_book_res0_128_1024aux, + + &_vq_book_res0_128_1024_1, + &_vq_book_res0_128_1024_2, + &_vq_book_res0_128_1024_3, + &_vq_book_res0_128_1024_4, + &_vq_book_res0_128_1024_5, + &_vq_book_res0_128_1024_5a, + &_vq_book_res0_128_1024_5b, + + }, + /* psy */ + {&_psy_set_Zb0,&_psy_set_ZbT,&_psy_set_Zb}, + &_psy_set_ZbG +}; + +#endif diff --git a/lib/modes/mode_Zc.h b/lib/modes/mode_Zc.h new file mode 100644 index 00000000..cca8da6d --- /dev/null +++ b/lib/modes/mode_Zc.h @@ -0,0 +1,451 @@ +/******************************************************************** + * * + * 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_Zc.h,v 1.1.2.1 2001/08/12 11:03:20 xiphmont Exp $ + + ********************************************************************/ + +#ifndef _V_MODES_Zc_H_ +#define _V_MODES_Zc_H_ + +#include <stdio.h> +#include "vorbis/codec.h" +#include "backends.h" + +#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_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/res0_128_128aux.vqh" +#include "books/res0_128_1024aux.vqh" + +#include "books/res0_128_1024_1.vqh" +#include "books/res0_128_1024_2.vqh" +#include "books/res0_128_1024_3.vqh" +#include "books/res0_128_1024_4.vqh" +#include "books/res0_128_1024_5.vqh" +#include "books/res0_128_1024_6.vqh" +#include "books/res0_128_1024_7.vqh" +#include "books/res0_128_1024_8.vqh" +#include "books/res0_128_1024_9.vqh" +#include "books/res0_128_1024_9a.vqh" +#include "books/res0_128_1024_9b.vqh" + + +static vorbis_info_psy_global _psy_set_ZcG={ + 0, /* decaydBpms */ + 8, /* lines per eighth octave */ + + /* 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, + -6.f, + + 0, +}; + +static struct vp_couple_pass _psy_passZc0[]={ + {1.f,1.f, + {{24, 0,0, 0,0, 0,0}, + {9999, 0,0, 7.5f,12, 7.5f,0}} + }, +}; + +static vp_couple_pass _psy_passZc[]={ + {1.f,1.f, + {{288, 0,0, 0,0, 0,0}, + {9999, 0,0, 7.5f,12, 7.5f,0}} + } +}; + +static vp_attenblock _vp_tonemask_consbass_Zc={ + {{-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*63*/ + {-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*88*/ + {-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*125*/ + {-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*175*/ + {-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*250*/ + {-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*350*/ + + {-35.f,-35.f,-35.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*500*/ + {-35.f,-35.f,-35.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*700*/ + + {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ + {-35.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/ + + {-30.f,-30.f,-30.f,-30.f,-30.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f}, /*2000*/ + {-30.f,-30.f,-30.f,-30.f,-30.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f}, + {-30.f,-30.f,-30.f,-30.f,-30.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f}, /*2000*/ + {-30.f,-30.f,-30.f,-30.f,-30.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f}, + {-30.f,-30.f,-30.f,-30.f,-30.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f}, /*2000*/ + {-30.f,-30.f,-30.f,-30.f,-30.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f}, + {-24.f,-24.f,-26.f,-30.f,-30.f,-35.f,-45.f,-55.f,-65.f,-75.f,-90.f}, /*16000*/ +}}; + +static vp_attenblock _vp_tonemask_Zc={ + + {{-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*63*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*88*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*125*/ + + + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/ + + + {-30.f,-30.f,-30.f,-30.f,-30.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f}, /*2000*/ + {-30.f,-30.f,-30.f,-30.f,-30.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f}, + {-30.f,-30.f,-30.f,-30.f,-30.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f}, /*2000*/ + {-30.f,-30.f,-30.f,-30.f,-30.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f}, + {-30.f,-30.f,-30.f,-30.f,-30.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f}, /*2000*/ + {-30.f,-30.f,-30.f,-30.f,-30.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f}, + {-24.f,-24.f,-26.f,-30.f,-30.f,-35.f,-45.f,-55.f,-65.f,-75.f,-90.f}, /*16000*/ + +}}; + +static vp_attenblock _vp_peakatt_Zc={ + {{-14.f,-16.f,-18.f,-19.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f},/*63*/ + {-14.f,-16.f,-18.f,-19.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f},/*88*/ + {-14.f,-16.f,-18.f,-19.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f},/*125*/ + {-14.f,-16.f,-18.f,-19.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f},/*125*/ + {-14.f,-16.f,-18.f,-19.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f},/*125*/ + {-14.f,-16.f,-18.f,-19.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f},/*125*/ + {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-24.f,-24.f},/*500*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*700*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*1000*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*1400*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*2000*/ + {-10.f,-10.f,-10.f,-12.f,-16.f,-16.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*2400*/ + {-10.f,-10.f,-10.f,-12.f,-16.f,-16.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*4000*/ + {-10.f,-10.f,-10.f,-12.f,-12.f,-14.f,-16.f,-18.f,-22.f,-24.f,-24.f},/*5600*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-14.f,-16.f,-18.f,-22.f,-24.f,-24.f},/*8000*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-14.f,-16.f,-18.f,-22.f,-24.f,-24.f},/*11500*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-12.f,-16.f,-18.f,-22.f,-24.f,-24.f},/*16000*/ +}}; + +static vorbis_info_psy _psy_set_Zc0={ + ATH_Bark_dB_lineaggressive, + + -100., + -110., + + /* tonemaskp */ + 3.f, -24.f,&_vp_tonemask_consbass_Zc, + + /* peakattp */ + 1, &_vp_peakatt_Zc, + + /*noisemaskp */ + 1,-24.f, /* suppress any noise curve over maxspec+n */ + .5f, .5f, /* low/high window */ + 2, 2, 12, + + /*63 125 250 500 1k 2k 4k 8k 16k*/ + {-20,-20,-20,-20,-20,-20,-20, -5, 3, 3, 3, 5, 5, 5, 5, 6, 10}, + {1.f,1.f,1.f,1.f,1.f,1.f,1.f,.7f,.7f,.7f,.7f,.7f,.85f,.88f,.89f,.9f,.9f}, + + 95.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + 1, + _psy_passZc0 +}; + +static vorbis_info_psy _psy_set_ZcT={ + ATH_Bark_dB_lineaggressive, + + -100.f, + -110.f, + + /* tonemask */ + 3.f,-20.f,&_vp_tonemask_consbass_Zc, + /* peakattp */ + 1, &_vp_peakatt_Zc, + + /*noisemaskp */ + 1, -24.f, /* suppress any noise curve over maxspec+n */ + .5f,.5f, /* low/high window */ + 10,10,100, + + /*63 125 250 500 1k 2k 4k 8k 16k*/ + {-20,-20,-20,-20,-20,-20,-20, -6, 3, 3, 4, 5, 5, 5, 5, 6, 10}, + {1.f,1.f,1.f,1.f,1.f,1.f,1.f,.7f,.7f,.7f,.7f,.7f,.85f,.88f,.89f,.9f,.9f}, + + 95.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + 1,_psy_passZc +}; + +static vorbis_info_psy _psy_set_Zc={ + ATH_Bark_dB_lineaggressive, + + -100.f, + -110.f, + + /* tonemask */ + 3.f,-20.f,&_vp_tonemask_Zc, + /* peakattp */ + 1, &_vp_peakatt_Zc, + + /*noisemaskp */ + 1, -24.f, /* suppress any noise curve over maxspec+n */ + .5f,.5f, /* low/high window */ + 10,10,100, + + /*63 125 250 500 1k 2k 4k 8k 16k*/ + {-20,-20,-20,-20,-20,-20,-10, 0, 3, 3, 4, 5, 5, 5, 5, 6, 10}, + {1.f,1.f,1.f,1.f,1.f,1.f,.8f,.75f,.75f,.75f,.75f,.75f,.85f,.88f,.89f,.9f,.9f}, + + 95.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + 1,_psy_passZc +}; + +/* with GNUisms, this could be short and readable. Oh well */ +static vorbis_info_time0 _time_set0Zc={0}; +/*static vorbis_info_floor0 _floor_set0Zc={9, 44100, 64, 10,130, 2, {0,1}, + 0.246f, .387f};*/ +/*static vorbis_info_floor0 _floor_set1Zc={30, 44100, 256, 12,150, 2, {2,3}, + .082f, .126f};*/ + +static vorbis_info_floor1 _floor_set0Zc={3, + {0,1,2}, + + {1,3,3}, + {0,2,2}, + {-1,0,1}, + {{2},{-1,3,4,5},{-1,6,7,8}}, + + 4, + + {0,128, + + 7, + + 2,1,4, + 23,13,45}, + + 60,30,500, + 999,999,0,18., + 8,70, + 90}; + +static vorbis_info_floor1 _floor_set1Zc={10, + {0,1,2,2,2,2,2, 3,3,3}, + + {3,4,3,3}, + {1,1,2,2}, + {9,10,11,12}, + {{13,14}, + {15,16}, + {-1,17,18,19}, + {-1,20,21,22}, + }, + + 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,400, + 20,8,1,18., + 20,600, + 720}; + +static vorbis_info_residue0 _residue_set0Zc={0,180,12,10,23, + {0,1,1,1,1,1,1,1,1,7}, + {25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33,34,35}, + {9999, + 9999, + 9999, + 9999, + 2,9999, + 9999, + 9999, + 9999, + 9999}, + {.5, + 1.5, + 2.5f, + 7.5, + 1.5f, + 1.5, + 2.5, + 7.5, + 22.5f}, + {0}, + {99, + 4, + 4, + 4, + 99,99, + 99, + 99, + 99}, + {3}}; + +static vorbis_info_residue0 _residue_set1Zc={0,1408, 32,10,24, + {0,1,1,1,1,1,1,1,1,7}, + {25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33,34,35}, + {9999, + 9999, + 9999, + 9999, + 3,9999, + 9999, + 9999, + 9999, + 9999}, + {.5, + 1.5, + 2.5f, + 7.5, + 1.5f, + 1.5, + 2.5, + 7.5, + 22.5f}, + {0}, + {99, + 18, + 18, + 18, + 99,99, + 99, + 99, + 99}, + {3}}; + +static vorbis_info_mapping0 _mapping_set0Zc={1, {0,0}, {0}, {0}, {0}, {0,0}, + 1,{0},{1}}; +static vorbis_info_mapping0 _mapping_set1Zc={1, {0,0}, {0}, {1}, {1}, {1,2}, + 1,{0},{1}}; +static vorbis_info_mode _mode_set0Zc={0,0,0,0}; +static vorbis_info_mode _mode_set1Zc={1,0,0,1}; + +/* CD quality stereo, no channel coupling */ +codec_setup_info info_Zc={ + + /* smallblock, largeblock */ + {256, 2048}, + /* modes,maps,times,floors,residues,books,psys */ + 2, 2, 1, 2, 2, 36, 3, + /* modes */ + {&_mode_set0Zc,&_mode_set1Zc}, + /* maps */ + {0,0},{&_mapping_set0Zc,&_mapping_set1Zc}, + /* times */ + {0,0},{&_time_set0Zc}, + /* floors */ + {1,1},{&_floor_set0Zc,&_floor_set1Zc}, + /* residue */ + {2,2},{&_residue_set0Zc,&_residue_set1Zc}, + /* books */ + + { + &_huff_book_line0_class1, + &_huff_book_line0_class2, /* 1 */ + + &_huff_book_line0_0sub0, /* 2 */ + &_huff_book_line0_1sub1, /* 3 */ + &_huff_book_line0_1sub2, + &_huff_book_line0_1sub3, /* 5 */ + &_huff_book_line0_2sub1, + &_huff_book_line0_2sub2, /* 7 */ + &_huff_book_line0_2sub3, + + &_huff_book_line1_class0, + &_huff_book_line1_class1, /* 10 */ + &_huff_book_line1_class2, + &_huff_book_line1_class3, /* 12 */ + + &_huff_book_line1_0sub0, + &_huff_book_line1_0sub1, /* 14 */ + &_huff_book_line1_1sub0, + &_huff_book_line1_1sub1, + &_huff_book_line1_2sub1, + &_huff_book_line1_2sub2, /* 18 */ + &_huff_book_line1_2sub3, + &_huff_book_line1_3sub1, + &_huff_book_line1_3sub2, + &_huff_book_line1_3sub3, /* 22 */ + + &_huff_book_res0_128_128aux, + &_huff_book_res0_128_1024aux, + + &_vq_book_res0_128_1024_1, + &_vq_book_res0_128_1024_2, + &_vq_book_res0_128_1024_3, + &_vq_book_res0_128_1024_4, + &_vq_book_res0_128_1024_5, + &_vq_book_res0_128_1024_6, + &_vq_book_res0_128_1024_7, + &_vq_book_res0_128_1024_8, + &_vq_book_res0_128_1024_9, + &_vq_book_res0_128_1024_9a, + &_vq_book_res0_128_1024_9b, + + }, + /* psy */ + {&_psy_set_Zc0,&_psy_set_ZcT,&_psy_set_Zc}, + &_psy_set_ZcG +}; + +#endif |