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 https://xiph.org/ *
|
---|
10 | * *
|
---|
11 | ********************************************************************
|
---|
12 |
|
---|
13 | function: 16kHz settings
|
---|
14 |
|
---|
15 | ********************************************************************/
|
---|
16 |
|
---|
17 | /* stereo mode by base quality level */
|
---|
18 | static const adj_stereo _psy_stereo_modes_16[4]={
|
---|
19 | /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */
|
---|
20 | {{ 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
|
---|
21 | { 6, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
|
---|
22 | { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 4, 4},
|
---|
23 | { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
---|
24 | {{ 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
|
---|
25 | { 6, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
|
---|
26 | { 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 4, 4, 4, 4},
|
---|
27 | { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
---|
28 | {{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
|
---|
29 | { 5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
|
---|
30 | { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
|
---|
31 | { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
---|
32 | {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
---|
33 | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
---|
34 | { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
|
---|
35 | { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
---|
36 | };
|
---|
37 |
|
---|
38 | static const double _psy_lowpass_16[4]={6.5,8,30.,99.};
|
---|
39 |
|
---|
40 | static const att3 _psy_tone_masteratt_16[4]={
|
---|
41 | {{ 30, 25, 12}, 0, 0}, /* 0 */
|
---|
42 | {{ 25, 22, 12}, 0, 0}, /* 0 */
|
---|
43 | {{ 20, 12, 0}, 0, 0}, /* 0 */
|
---|
44 | {{ 15, 0, -14}, 0, 0}, /* 0 */
|
---|
45 | };
|
---|
46 |
|
---|
47 | static const vp_adjblock _vp_tonemask_adj_16[4]={
|
---|
48 | /* adjust for mode zero */
|
---|
49 | /* 63 125 250 500 1 2 4 8 16 */
|
---|
50 | {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0,10, 0, 0, 0, 0, 0}}, /* 0 */
|
---|
51 | {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0,10, 0, 0, 0, 0, 0}}, /* 1 */
|
---|
52 | {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
|
---|
53 | {{-30,-30,-30,-30,-30,-26,-20,-10, -5, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
|
---|
54 | };
|
---|
55 |
|
---|
56 |
|
---|
57 | static const noise3 _psy_noisebias_16_short[4]={
|
---|
58 | /* 63 125 250 500 1k 2k 4k 8k 16k*/
|
---|
59 | {{{-15,-15,-15,-15,-15,-10,-10,-5, 4, 10, 10, 10, 10, 12, 12, 14, 20},
|
---|
60 | {-15,-15,-15,-15,-15,-10,-10, -5, 0, 0, 4, 5, 5, 6, 8, 8, 15},
|
---|
61 | {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
|
---|
62 |
|
---|
63 | {{{-15,-15,-15,-15,-15,-10,-10,-5, 4, 6, 6, 6, 6, 8, 10, 12, 20},
|
---|
64 | {-15,-15,-15,-15,-15,-15,-15,-10, -5, -5, -5, 4, 5, 6, 8, 8, 15},
|
---|
65 | {-30,-30,-30,-30,-30,-24,-20,-14,-10,-10,-10,-10,-10,-10,-10,-10,-10}}},
|
---|
66 |
|
---|
67 | {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 5, 8, 12},
|
---|
68 | {-20,-20,-20,-20,-16,-12,-20,-14,-10,-10, -8, 0, 0, 0, 0, 2, 5},
|
---|
69 | {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
|
---|
70 |
|
---|
71 | {{{-15,-15,-15,-15,-15,-12,-10, -8, -5, -5, -5, -5, -5, 0, 0, 0, 6},
|
---|
72 | {-30,-30,-30,-30,-26,-22,-20,-14,-12,-12,-10,-10,-10,-10,-10,-10, -6},
|
---|
73 | {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
|
---|
74 | };
|
---|
75 |
|
---|
76 | static const noise3 _psy_noisebias_16_impulse[4]={
|
---|
77 | /* 63 125 250 500 1k 2k 4k 8k 16k*/
|
---|
78 | {{{-15,-15,-15,-15,-15,-10,-10,-5, 4, 10, 10, 10, 10, 12, 12, 14, 20},
|
---|
79 | {-15,-15,-15,-15,-15,-10,-10, -5, 0, 0, 4, 5, 5, 6, 8, 8, 15},
|
---|
80 | {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
|
---|
81 |
|
---|
82 | {{{-15,-15,-15,-15,-15,-10,-10,-5, 4, 4, 4, 4, 5, 5, 6, 8, 15},
|
---|
83 | {-15,-15,-15,-15,-15,-15,-15,-10, -5, -5, -5, 0, 0, 0, 0, 4, 10},
|
---|
84 | {-30,-30,-30,-30,-30,-24,-20,-14,-10,-10,-10,-10,-10,-10,-10,-10,-10}}},
|
---|
85 |
|
---|
86 | {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 4, 10},
|
---|
87 | {-20,-20,-20,-20,-16,-12,-20,-14,-10,-10,-10,-10,-10,-10,-10, -7, -5},
|
---|
88 | {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
|
---|
89 |
|
---|
90 | {{{-15,-15,-15,-15,-15,-12,-10, -8, -5, -5, -5, -5, -5, 0, 0, 0, 6},
|
---|
91 | {-30,-30,-30,-30,-26,-22,-20,-18,-18,-18,-20,-20,-20,-20,-20,-20,-16},
|
---|
92 | {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
|
---|
93 | };
|
---|
94 |
|
---|
95 | static const noise3 _psy_noisebias_16[4]={
|
---|
96 | /* 63 125 250 500 1k 2k 4k 8k 16k*/
|
---|
97 | {{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 6, 8, 8, 10, 10, 10, 14, 20},
|
---|
98 | {-10,-10,-10,-10,-10, -5, -2, -2, 0, 0, 0, 4, 5, 6, 8, 8, 15},
|
---|
99 | {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
|
---|
100 |
|
---|
101 | {{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 6, 6, 6, 6, 8, 10, 12, 20},
|
---|
102 | {-15,-15,-15,-15,-15,-10, -5, -5, 0, 0, 0, 4, 5, 6, 8, 8, 15},
|
---|
103 | {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
|
---|
104 |
|
---|
105 | {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 5, 8, 12},
|
---|
106 | {-20,-20,-20,-20,-16,-12,-20,-10, -5, -5, 0, 0, 0, 0, 0, 2, 5},
|
---|
107 | {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
|
---|
108 |
|
---|
109 | {{{-15,-15,-15,-15,-15,-12,-10, -8, -5, -5, -5, -5, -5, 0, 0, 0, 6},
|
---|
110 | {-30,-30,-30,-30,-26,-22,-20,-14,-12,-12,-10,-10,-10,-10,-10,-10, -6},
|
---|
111 | {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
|
---|
112 | };
|
---|
113 |
|
---|
114 | static const noiseguard _psy_noiseguards_16[4]={
|
---|
115 | {10,10,-1},
|
---|
116 | {10,10,-1},
|
---|
117 | {20,20,-1},
|
---|
118 | {20,20,-1},
|
---|
119 | };
|
---|
120 |
|
---|
121 | static const double _noise_thresh_16[4]={ .3,.5,.5,.5 };
|
---|
122 |
|
---|
123 | static const int _noise_start_16[3]={ 256,256,9999 };
|
---|
124 | static const int _noise_part_16[4]={ 8,8,8,8 };
|
---|
125 |
|
---|
126 | static const int _psy_ath_floater_16[4]={
|
---|
127 | -100,-100,-100,-105,
|
---|
128 | };
|
---|
129 |
|
---|
130 | static const int _psy_ath_abs_16[4]={
|
---|
131 | -130,-130,-130,-140,
|
---|
132 | };
|
---|