rev |
line source |
nuclear@1
|
1 /********************************************************************
|
nuclear@1
|
2 * *
|
nuclear@1
|
3 * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
|
nuclear@1
|
4 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
nuclear@1
|
5 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
nuclear@1
|
6 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
nuclear@1
|
7 * *
|
nuclear@1
|
8 * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
nuclear@1
|
9 * by the Xiph.Org Foundation http://www.xiph.org/ *
|
nuclear@1
|
10 * *
|
nuclear@1
|
11 ********************************************************************
|
nuclear@1
|
12
|
nuclear@1
|
13 function: 16kHz settings
|
nuclear@1
|
14 last mod: $Id: psych_16.h 16227 2009-07-08 06:58:46Z xiphmont $
|
nuclear@1
|
15
|
nuclear@1
|
16 ********************************************************************/
|
nuclear@1
|
17
|
nuclear@1
|
18 /* stereo mode by base quality level */
|
nuclear@1
|
19 static const adj_stereo _psy_stereo_modes_16[4]={
|
nuclear@1
|
20 /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */
|
nuclear@1
|
21 {{ 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
|
nuclear@1
|
22 { 6, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
|
nuclear@1
|
23 { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 4, 4},
|
nuclear@1
|
24 { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
nuclear@1
|
25 {{ 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
|
nuclear@1
|
26 { 6, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
|
nuclear@1
|
27 { 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 4, 4, 4, 4},
|
nuclear@1
|
28 { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
nuclear@1
|
29 {{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
|
nuclear@1
|
30 { 5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
|
nuclear@1
|
31 { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
|
nuclear@1
|
32 { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
nuclear@1
|
33 {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
nuclear@1
|
34 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
nuclear@1
|
35 { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
|
nuclear@1
|
36 { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
nuclear@1
|
37 };
|
nuclear@1
|
38
|
nuclear@1
|
39 static const double _psy_lowpass_16[4]={6.5,8,30.,99.};
|
nuclear@1
|
40
|
nuclear@1
|
41 static const att3 _psy_tone_masteratt_16[4]={
|
nuclear@1
|
42 {{ 30, 25, 12}, 0, 0}, /* 0 */
|
nuclear@1
|
43 {{ 25, 22, 12}, 0, 0}, /* 0 */
|
nuclear@1
|
44 {{ 20, 12, 0}, 0, 0}, /* 0 */
|
nuclear@1
|
45 {{ 15, 0, -14}, 0, 0}, /* 0 */
|
nuclear@1
|
46 };
|
nuclear@1
|
47
|
nuclear@1
|
48 static const vp_adjblock _vp_tonemask_adj_16[4]={
|
nuclear@1
|
49 /* adjust for mode zero */
|
nuclear@1
|
50 /* 63 125 250 500 1 2 4 8 16 */
|
nuclear@1
|
51 {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0,10, 0, 0, 0, 0, 0}}, /* 0 */
|
nuclear@1
|
52 {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0,10, 0, 0, 0, 0, 0}}, /* 1 */
|
nuclear@1
|
53 {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
|
nuclear@1
|
54 {{-30,-30,-30,-30,-30,-26,-20,-10, -5, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
|
nuclear@1
|
55 };
|
nuclear@1
|
56
|
nuclear@1
|
57
|
nuclear@1
|
58 static const noise3 _psy_noisebias_16_short[4]={
|
nuclear@1
|
59 /* 63 125 250 500 1k 2k 4k 8k 16k*/
|
nuclear@1
|
60 {{{-15,-15,-15,-15,-15,-10,-10,-5, 4, 10, 10, 10, 10, 12, 12, 14, 20},
|
nuclear@1
|
61 {-15,-15,-15,-15,-15,-10,-10, -5, 0, 0, 4, 5, 5, 6, 8, 8, 15},
|
nuclear@1
|
62 {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
|
nuclear@1
|
63
|
nuclear@1
|
64 {{{-15,-15,-15,-15,-15,-10,-10,-5, 4, 6, 6, 6, 6, 8, 10, 12, 20},
|
nuclear@1
|
65 {-15,-15,-15,-15,-15,-15,-15,-10, -5, -5, -5, 4, 5, 6, 8, 8, 15},
|
nuclear@1
|
66 {-30,-30,-30,-30,-30,-24,-20,-14,-10,-10,-10,-10,-10,-10,-10,-10,-10}}},
|
nuclear@1
|
67
|
nuclear@1
|
68 {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 5, 8, 12},
|
nuclear@1
|
69 {-20,-20,-20,-20,-16,-12,-20,-14,-10,-10, -8, 0, 0, 0, 0, 2, 5},
|
nuclear@1
|
70 {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
|
nuclear@1
|
71
|
nuclear@1
|
72 {{{-15,-15,-15,-15,-15,-12,-10, -8, -5, -5, -5, -5, -5, 0, 0, 0, 6},
|
nuclear@1
|
73 {-30,-30,-30,-30,-26,-22,-20,-14,-12,-12,-10,-10,-10,-10,-10,-10, -6},
|
nuclear@1
|
74 {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
|
nuclear@1
|
75 };
|
nuclear@1
|
76
|
nuclear@1
|
77 static const noise3 _psy_noisebias_16_impulse[4]={
|
nuclear@1
|
78 /* 63 125 250 500 1k 2k 4k 8k 16k*/
|
nuclear@1
|
79 {{{-15,-15,-15,-15,-15,-10,-10,-5, 4, 10, 10, 10, 10, 12, 12, 14, 20},
|
nuclear@1
|
80 {-15,-15,-15,-15,-15,-10,-10, -5, 0, 0, 4, 5, 5, 6, 8, 8, 15},
|
nuclear@1
|
81 {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
|
nuclear@1
|
82
|
nuclear@1
|
83 {{{-15,-15,-15,-15,-15,-10,-10,-5, 4, 4, 4, 4, 5, 5, 6, 8, 15},
|
nuclear@1
|
84 {-15,-15,-15,-15,-15,-15,-15,-10, -5, -5, -5, 0, 0, 0, 0, 4, 10},
|
nuclear@1
|
85 {-30,-30,-30,-30,-30,-24,-20,-14,-10,-10,-10,-10,-10,-10,-10,-10,-10}}},
|
nuclear@1
|
86
|
nuclear@1
|
87 {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 4, 10},
|
nuclear@1
|
88 {-20,-20,-20,-20,-16,-12,-20,-14,-10,-10,-10,-10,-10,-10,-10, -7, -5},
|
nuclear@1
|
89 {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
|
nuclear@1
|
90
|
nuclear@1
|
91 {{{-15,-15,-15,-15,-15,-12,-10, -8, -5, -5, -5, -5, -5, 0, 0, 0, 6},
|
nuclear@1
|
92 {-30,-30,-30,-30,-26,-22,-20,-18,-18,-18,-20,-20,-20,-20,-20,-20,-16},
|
nuclear@1
|
93 {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
|
nuclear@1
|
94 };
|
nuclear@1
|
95
|
nuclear@1
|
96 static const noise3 _psy_noisebias_16[4]={
|
nuclear@1
|
97 /* 63 125 250 500 1k 2k 4k 8k 16k*/
|
nuclear@1
|
98 {{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 6, 8, 8, 10, 10, 10, 14, 20},
|
nuclear@1
|
99 {-10,-10,-10,-10,-10, -5, -2, -2, 0, 0, 0, 4, 5, 6, 8, 8, 15},
|
nuclear@1
|
100 {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
|
nuclear@1
|
101
|
nuclear@1
|
102 {{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 6, 6, 6, 6, 8, 10, 12, 20},
|
nuclear@1
|
103 {-15,-15,-15,-15,-15,-10, -5, -5, 0, 0, 0, 4, 5, 6, 8, 8, 15},
|
nuclear@1
|
104 {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
|
nuclear@1
|
105
|
nuclear@1
|
106 {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 5, 8, 12},
|
nuclear@1
|
107 {-20,-20,-20,-20,-16,-12,-20,-10, -5, -5, 0, 0, 0, 0, 0, 2, 5},
|
nuclear@1
|
108 {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
|
nuclear@1
|
109
|
nuclear@1
|
110 {{{-15,-15,-15,-15,-15,-12,-10, -8, -5, -5, -5, -5, -5, 0, 0, 0, 6},
|
nuclear@1
|
111 {-30,-30,-30,-30,-26,-22,-20,-14,-12,-12,-10,-10,-10,-10,-10,-10, -6},
|
nuclear@1
|
112 {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
|
nuclear@1
|
113 };
|
nuclear@1
|
114
|
nuclear@1
|
115 static const noiseguard _psy_noiseguards_16[4]={
|
nuclear@1
|
116 {10,10,-1},
|
nuclear@1
|
117 {10,10,-1},
|
nuclear@1
|
118 {20,20,-1},
|
nuclear@1
|
119 {20,20,-1},
|
nuclear@1
|
120 };
|
nuclear@1
|
121
|
nuclear@1
|
122 static const double _noise_thresh_16[4]={ .3,.5,.5,.5 };
|
nuclear@1
|
123
|
nuclear@1
|
124 static const int _noise_start_16[3]={ 256,256,9999 };
|
nuclear@1
|
125 static const int _noise_part_16[4]={ 8,8,8,8 };
|
nuclear@1
|
126
|
nuclear@1
|
127 static const int _psy_ath_floater_16[4]={
|
nuclear@1
|
128 -100,-100,-100,-105,
|
nuclear@1
|
129 };
|
nuclear@1
|
130
|
nuclear@1
|
131 static const int _psy_ath_abs_16[4]={
|
nuclear@1
|
132 -130,-130,-130,-140,
|
nuclear@1
|
133 };
|