Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/thirdparty/libvorbis/modes/psych_8.h
9917 views
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: 8kHz psychoacoustic settings
14
15
********************************************************************/
16
17
static const att3 _psy_tone_masteratt_8[3]={
18
{{ 32, 25, 12}, 0, 0}, /* 0 */
19
{{ 30, 25, 12}, 0, 0}, /* 0 */
20
{{ 20, 0, -14}, 0, 0}, /* 0 */
21
};
22
23
static const vp_adjblock _vp_tonemask_adj_8[3]={
24
/* adjust for mode zero */
25
/* 63 125 250 500 1 2 4 8 16 */
26
{{-15,-15,-15,-15,-10,-10, -6, 0, 0, 0, 0,10, 0, 0,99,99,99}}, /* 1 */
27
{{-15,-15,-15,-15,-10,-10, -6, 0, 0, 0, 0,10, 0, 0,99,99,99}}, /* 1 */
28
{{-15,-15,-15,-15,-10,-10, -6, 0, 0, 0, 0, 0, 0, 0,99,99,99}}, /* 1 */
29
};
30
31
32
static const noise3 _psy_noisebias_8[3]={
33
/* 63 125 250 500 1k 2k 4k 8k 16k*/
34
{{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 8, 8, 8, 10, 10, 99, 99, 99},
35
{-10,-10,-10,-10, -5, -5, -5, 0, 0, 4, 4, 4, 4, 4, 99, 99, 99},
36
{-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, 99, 99, 99}}},
37
38
{{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 8, 8, 8, 10, 10, 99, 99, 99},
39
{-10,-10,-10,-10,-10,-10, -5, -5, -5, 0, 0, 0, 0, 0, 99, 99, 99},
40
{-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, 99, 99, 99}}},
41
42
{{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 99, 99, 99},
43
{-30,-30,-30,-30,-26,-22,-20,-14,-12,-12,-10,-10,-10,-10, 99, 99, 99},
44
{-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24, 99, 99, 99}}},
45
};
46
47
/* stereo mode by base quality level */
48
static const adj_stereo _psy_stereo_modes_8[3]={
49
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */
50
{{ 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
51
{ 6, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
52
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
53
{ 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
54
{{ 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
55
{ 6, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
56
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
57
{ 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
58
{{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
59
{ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
60
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
61
{ 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
62
};
63
64
static const noiseguard _psy_noiseguards_8[2]={
65
{10,10,-1},
66
{10,10,-1},
67
};
68
69
static const compandblock _psy_compand_8[2]={
70
{{
71
0, 1, 2, 3, 4, 5, 6, 7, /* 7dB */
72
8, 8, 9, 9,10,10,11, 11, /* 15dB */
73
12,12,13,13,14,14,15, 15, /* 23dB */
74
16,16,17,17,17,18,18, 19, /* 31dB */
75
19,19,20,21,22,23,24, 25, /* 39dB */
76
}},
77
{{
78
0, 1, 2, 3, 4, 5, 6, 6, /* 7dB */
79
7, 7, 6, 6, 5, 5, 4, 4, /* 15dB */
80
3, 3, 3, 4, 5, 6, 7, 8, /* 23dB */
81
9,10,11,12,13,14,15, 16, /* 31dB */
82
17,18,19,20,21,22,23, 24, /* 39dB */
83
}},
84
};
85
86
static const double _psy_lowpass_8[3]={3.,4.,4.};
87
static const int _noise_start_8[2]={
88
64,64,
89
};
90
static const int _noise_part_8[2]={
91
8,8,
92
};
93
94
static const int _psy_ath_floater_8[3]={
95
-100,-100,-105,
96
};
97
98
static const int _psy_ath_abs_8[3]={
99
-130,-130,-140,
100
};
101
102