added ogg/vorbis source code for ease of building on msvc
[laserbrain_demo] / libs / vorbis / modes / setup_44.h
1 /********************************************************************
2  *                                                                  *
3  * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
4  * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
5  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
7  *                                                                  *
8  * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009             *
9  * by the Xiph.Org Foundation http://www.xiph.org/                  *
10  *                                                                  *
11  ********************************************************************
12
13  function: toplevel settings for 44.1/48kHz
14  last mod: $Id: setup_44.h 16962 2010-03-11 07:30:34Z xiphmont $
15
16  ********************************************************************/
17
18 #include "modes/floor_all.h"
19 #include "modes/residue_44.h"
20 #include "modes/psych_44.h"
21
22 static const double rate_mapping_44_stereo[12]={
23   22500.,32000.,40000.,48000.,56000.,64000.,
24   80000.,96000.,112000.,128000.,160000.,250001.
25 };
26
27 static const double quality_mapping_44[12]={
28   -.1,.0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1.0
29 };
30
31 static const int blocksize_short_44[11]={
32   512,256,256,256,256,256,256,256,256,256,256
33 };
34 static const int blocksize_long_44[11]={
35   4096,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048
36 };
37
38 static const double _psy_compand_short_mapping[12]={
39   0.5, 1., 1., 1.3, 1.6, 2., 2., 2., 2., 2., 2., 2.
40 };
41 static const double _psy_compand_long_mapping[12]={
42   3.5, 4., 4., 4.3, 4.6, 5., 5., 5., 5., 5., 5., 5.
43 };
44
45 static const double _global_mapping_44[12]={
46   /* 1., 1., 1.5, 2., 2., 2.5, 2.7, 3.0, 3.5, 4., 4. */
47  0., 1., 1., 1.5, 2., 2., 2.5, 2.7, 3.0, 3.7, 4., 4.
48 };
49
50 static const int _floor_mapping_44a[11]={
51   1,0,0,2,2,4,5,5,5,5,5
52 };
53
54 static const int _floor_mapping_44b[11]={
55   8,7,7,7,7,7,7,7,7,7,7
56 };
57
58 static const int _floor_mapping_44c[11]={
59   10,10,10,10,10,10,10,10,10,10,10
60 };
61
62 static const int *_floor_mapping_44[]={
63   _floor_mapping_44a,
64   _floor_mapping_44b,
65   _floor_mapping_44c,
66 };
67
68 static const ve_setup_data_template ve_setup_44_stereo={
69   11,
70   rate_mapping_44_stereo,
71   quality_mapping_44,
72   2,
73   40000,
74   50000,
75
76   blocksize_short_44,
77   blocksize_long_44,
78
79   _psy_tone_masteratt_44,
80   _psy_tone_0dB,
81   _psy_tone_suppress,
82
83   _vp_tonemask_adj_otherblock,
84   _vp_tonemask_adj_longblock,
85   _vp_tonemask_adj_otherblock,
86
87   _psy_noiseguards_44,
88   _psy_noisebias_impulse,
89   _psy_noisebias_padding,
90   _psy_noisebias_trans,
91   _psy_noisebias_long,
92   _psy_noise_suppress,
93
94   _psy_compand_44,
95   _psy_compand_short_mapping,
96   _psy_compand_long_mapping,
97
98   {_noise_start_short_44,_noise_start_long_44},
99   {_noise_part_short_44,_noise_part_long_44},
100   _noise_thresh_44,
101
102   _psy_ath_floater,
103   _psy_ath_abs,
104
105   _psy_lowpass_44,
106
107   _psy_global_44,
108   _global_mapping_44,
109   _psy_stereo_modes_44,
110
111   _floor_books,
112   _floor,
113   2,
114   _floor_mapping_44,
115
116   _mapres_template_44_stereo
117 };