dbf-halloween2015
diff libs/vorbis/modes/psych_44.h @ 1:c3f5c32cb210
barfed all the libraries in the source tree to make porting easier
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sun, 01 Nov 2015 00:36:56 +0200 |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/libs/vorbis/modes/psych_44.h Sun Nov 01 00:36:56 2015 +0200 1.3 @@ -0,0 +1,642 @@ 1.4 +/******************************************************************** 1.5 + * * 1.6 + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 1.7 + * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 1.8 + * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 1.9 + * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 1.10 + * * 1.11 + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * 1.12 + * by the Xiph.Org Foundation http://www.xiph.org/ * 1.13 + * * 1.14 + ******************************************************************** 1.15 + 1.16 + function: key psychoacoustic settings for 44.1/48kHz 1.17 + last mod: $Id: psych_44.h 16962 2010-03-11 07:30:34Z xiphmont $ 1.18 + 1.19 + ********************************************************************/ 1.20 + 1.21 + 1.22 +/* preecho trigger settings *****************************************/ 1.23 + 1.24 +static const vorbis_info_psy_global _psy_global_44[5]={ 1.25 + 1.26 + {8, /* lines per eighth octave */ 1.27 + {20.f,14.f,12.f,12.f,12.f,12.f,12.f}, 1.28 + {-60.f,-30.f,-40.f,-40.f,-40.f,-40.f,-40.f}, 2,-75.f, 1.29 + -6.f, 1.30 + {99.},{{99.},{99.}},{0},{0},{{0.},{0.}} 1.31 + }, 1.32 + {8, /* lines per eighth octave */ 1.33 + {14.f,10.f,10.f,10.f,10.f,10.f,10.f}, 1.34 + {-40.f,-30.f,-25.f,-25.f,-25.f,-25.f,-25.f}, 2,-80.f, 1.35 + -6.f, 1.36 + {99.},{{99.},{99.}},{0},{0},{{0.},{0.}} 1.37 + }, 1.38 + {8, /* lines per eighth octave */ 1.39 + {12.f,10.f,10.f,10.f,10.f,10.f,10.f}, 1.40 + {-20.f,-20.f,-15.f,-15.f,-15.f,-15.f,-15.f}, 0,-80.f, 1.41 + -6.f, 1.42 + {99.},{{99.},{99.}},{0},{0},{{0.},{0.}} 1.43 + }, 1.44 + {8, /* lines per eighth octave */ 1.45 + {10.f,8.f,8.f,8.f,8.f,8.f,8.f}, 1.46 + {-20.f,-15.f,-12.f,-12.f,-12.f,-12.f,-12.f}, 0,-80.f, 1.47 + -6.f, 1.48 + {99.},{{99.},{99.}},{0},{0},{{0.},{0.}} 1.49 + }, 1.50 + {8, /* lines per eighth octave */ 1.51 + {10.f,6.f,6.f,6.f,6.f,6.f,6.f}, 1.52 + {-15.f,-15.f,-12.f,-12.f,-12.f,-12.f,-12.f}, 0,-85.f, 1.53 + -6.f, 1.54 + {99.},{{99.},{99.}},{0},{0},{{0.},{0.}} 1.55 + }, 1.56 +}; 1.57 + 1.58 +/* noise compander lookups * low, mid, high quality ****************/ 1.59 +static const compandblock _psy_compand_44[6]={ 1.60 + /* sub-mode Z short */ 1.61 + {{ 1.62 + 0, 1, 2, 3, 4, 5, 6, 7, /* 7dB */ 1.63 + 8, 9,10,11,12,13,14, 15, /* 15dB */ 1.64 + 16,17,18,19,20,21,22, 23, /* 23dB */ 1.65 + 24,25,26,27,28,29,30, 31, /* 31dB */ 1.66 + 32,33,34,35,36,37,38, 39, /* 39dB */ 1.67 + }}, 1.68 + /* mode_Z nominal short */ 1.69 + {{ 1.70 + 0, 1, 2, 3, 4, 5, 6, 6, /* 7dB */ 1.71 + 7, 7, 7, 7, 6, 6, 6, 7, /* 15dB */ 1.72 + 7, 8, 9,10,11,12,13, 14, /* 23dB */ 1.73 + 15,16,17,17,17,18,18, 19, /* 31dB */ 1.74 + 19,19,20,21,22,23,24, 25, /* 39dB */ 1.75 + }}, 1.76 + /* mode A short */ 1.77 + {{ 1.78 + 0, 1, 2, 3, 4, 5, 5, 5, /* 7dB */ 1.79 + 6, 6, 6, 5, 4, 4, 4, 4, /* 15dB */ 1.80 + 4, 4, 5, 5, 5, 6, 6, 6, /* 23dB */ 1.81 + 7, 7, 7, 8, 8, 8, 9, 10, /* 31dB */ 1.82 + 11,12,13,14,15,16,17, 18, /* 39dB */ 1.83 + }}, 1.84 + /* sub-mode Z long */ 1.85 + {{ 1.86 + 0, 1, 2, 3, 4, 5, 6, 7, /* 7dB */ 1.87 + 8, 9,10,11,12,13,14, 15, /* 15dB */ 1.88 + 16,17,18,19,20,21,22, 23, /* 23dB */ 1.89 + 24,25,26,27,28,29,30, 31, /* 31dB */ 1.90 + 32,33,34,35,36,37,38, 39, /* 39dB */ 1.91 + }}, 1.92 + /* mode_Z nominal long */ 1.93 + {{ 1.94 + 0, 1, 2, 3, 4, 5, 6, 7, /* 7dB */ 1.95 + 8, 9,10,11,12,12,13, 13, /* 15dB */ 1.96 + 13,14,14,14,15,15,15, 15, /* 23dB */ 1.97 + 16,16,17,17,17,18,18, 19, /* 31dB */ 1.98 + 19,19,20,21,22,23,24, 25, /* 39dB */ 1.99 + }}, 1.100 + /* mode A long */ 1.101 + {{ 1.102 + 0, 1, 2, 3, 4, 5, 6, 7, /* 7dB */ 1.103 + 8, 8, 7, 6, 5, 4, 4, 4, /* 15dB */ 1.104 + 4, 4, 5, 5, 5, 6, 6, 6, /* 23dB */ 1.105 + 7, 7, 7, 8, 8, 8, 9, 10, /* 31dB */ 1.106 + 11,12,13,14,15,16,17, 18, /* 39dB */ 1.107 + }} 1.108 +}; 1.109 + 1.110 +/* tonal masking curve level adjustments *************************/ 1.111 + 1.112 +static const vp_adjblock _vp_tonemask_adj_longblock[12]={ 1.113 + 1.114 + /* 63 125 250 500 1 2 4 8 16 */ 1.115 + 1.116 + {{ -3, -8,-13,-15,-10,-10,-10,-10,-10,-10,-10, 0, 0, 0, 0, 0, 0}}, /* -1 */ 1.117 + 1.118 +/* {{-15,-15,-15,-15,-10, -8, -4, -2, 0, 0, 0, 10, 0, 0, 0, 0, 0}}, 0 */ 1.119 + {{ -4,-10,-14,-16,-15,-14,-13,-12,-12,-12,-11, -1, -1, -1, -1, -1, 0}}, /* 0 */ 1.120 + 1.121 +/* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 5, 0, 0, 0, 0, 0}}, 1 */ 1.122 + {{ -6,-12,-14,-16,-15,-15,-14,-13,-13,-12,-12, -2, -2, -1, -1, -1, 0}}, /* 1 */ 1.123 + 1.124 +/* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, 2 */ 1.125 + {{-12,-13,-14,-16,-16,-16,-15,-14,-13,-12,-12, -6, -3, -1, -1, -1, 0}}, /* 2 */ 1.126 + 1.127 +/* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, 3 */ 1.128 + {{-15,-15,-15,-16,-16,-16,-16,-14,-13,-13,-13,-10, -4, -2, -1, -1, 0}}, /* 3 */ 1.129 + 1.130 +/* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, *//* 4 */ 1.131 + {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-13,-11, -7 -3, -1, -1 , 0}}, /* 4 */ 1.132 + 1.133 +/* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, 5 */ 1.134 + {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-13,-11, -7 -3, -1, -1 , 0}}, /* 5 */ 1.135 + 1.136 +/* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, 6 */ 1.137 + {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -8, -4, -2, -2, 0}}, /* 6 */ 1.138 + 1.139 +/* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, 7 */ 1.140 + {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2, 0}}, /* 7 */ 1.141 + 1.142 +/* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, 8 */ 1.143 + {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2, 0}}, /* 8 */ 1.144 + 1.145 +/* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, 9 */ 1.146 + {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2, 0}}, /* 9 */ 1.147 + 1.148 +/* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, 10 */ 1.149 + {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2, 0}}, /* 10 */ 1.150 +}; 1.151 + 1.152 +static const vp_adjblock _vp_tonemask_adj_otherblock[12]={ 1.153 + /* 63 125 250 500 1 2 4 8 16 */ 1.154 + 1.155 + {{ -3, -8,-13,-15,-10,-10, -9, -9, -9, -9, -9, 1, 1, 1, 1, 1, 1}}, /* -1 */ 1.156 + 1.157 +/* {{-20,-20,-20,-20,-14,-12,-10, -8, -4, 0, 0, 10, 0, 0, 0, 0, 0}}, 0 */ 1.158 + {{ -4,-10,-14,-16,-14,-13,-12,-12,-11,-11,-10, 0, 0, 0, 0, 0, 0}}, /* 0 */ 1.159 + 1.160 +/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 5, 0, 0, 0, 0, 0}}, 1 */ 1.161 + {{ -6,-12,-14,-16,-15,-15,-14,-13,-13,-12,-12, -2, -2, -1, 0, 0, 0}}, /* 1 */ 1.162 + 1.163 +/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 2 */ 1.164 + {{-12,-13,-14,-16,-16,-16,-15,-14,-13,-12,-12, -5, -2, -1, 0, 0, 0}}, /* 2 */ 1.165 + 1.166 +/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 3 */ 1.167 + {{-15,-15,-15,-16,-16,-16,-16,-14,-13,-13,-13,-10, -4, -2, 0, 0, 0}}, /* 3 */ 1.168 + 1.169 +/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 4 */ 1.170 + {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-13,-11, -7 -3, -1, -1 , 0}}, /* 4 */ 1.171 + 1.172 +/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 5 */ 1.173 + {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-13,-11, -7 -3, -1, -1 , 0}}, /* 5 */ 1.174 + 1.175 +/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 6 */ 1.176 + {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -8, -4, -2, -2, 0}}, /* 6 */ 1.177 + 1.178 +/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 7 */ 1.179 + {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2, 0}}, /* 7 */ 1.180 + 1.181 +/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 8 */ 1.182 + {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2, 0}}, /* 8 */ 1.183 + 1.184 +/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 9 */ 1.185 + {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2, 0}}, /* 9 */ 1.186 + 1.187 +/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 10 */ 1.188 + {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2, 0}}, /* 10 */ 1.189 +}; 1.190 + 1.191 +/* noise bias (transition block) */ 1.192 +static const noise3 _psy_noisebias_trans[12]={ 1.193 + /* 63 125 250 500 1k 2k 4k 8k 16k*/ 1.194 + /* -1 */ 1.195 + {{{-10,-10,-10,-10,-10, -4, 0, 0, 4, 8, 8, 8, 8, 10, 12, 14, 20}, 1.196 + {-30,-30,-30,-30,-26,-20,-16, -8, -6, -6, -2, 2, 2, 3, 6, 6, 15}, 1.197 + {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}}, 1.198 + /* 0 1.199 + {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 5, 8, 10}, 1.200 + {-30,-30,-30,-30,-26,-22,-20,-14, -8, -4, 0, 0, 0, 0, 2, 4, 10}, 1.201 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -6, -4, -4, -4, -2}}},*/ 1.202 + {{{-15,-15,-15,-15,-15,-12, -6, -4, 0, 2, 4, 4, 5, 5, 5, 8, 10}, 1.203 + {-30,-30,-30,-30,-26,-22,-20,-14, -8, -4, 0, 0, 0, 0, 2, 3, 6}, 1.204 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -6, -4, -4, -4, -2}}}, 1.205 + /* 1 1.206 + {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 5, 8, 10}, 1.207 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2, -2, -2, -2, 0, 2, 8}, 1.208 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -6, -6, -6, -4}}},*/ 1.209 + {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 5, 8, 10}, 1.210 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2, -2, -2, -2, 0, 1, 4}, 1.211 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -6, -6, -6, -4}}}, 1.212 + /* 2 1.213 + {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 2, 2, 4, 4, 5, 6, 10}, 1.214 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2, -2, -2, -2, 0, 2, 6}, 1.215 + {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}}, */ 1.216 + {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 2, 2, 4, 4, 5, 6, 10}, 1.217 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -3, -2, -1, 0, 3}, 1.218 + {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -7, -4}}}, 1.219 + /* 3 1.220 + {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 2, 2, 4, 4, 4, 5, 8}, 1.221 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -3, -3, -1, 1, 6}, 1.222 + {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},*/ 1.223 + {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 2, 2, 4, 4, 4, 5, 8}, 1.224 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -3, -3, -2, 0, 2}, 1.225 + {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}}, 1.226 + /* 4 1.227 + {{{-20,-20,-20,-20,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7}, 1.228 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -3, -3, -1, 1, 5}, 1.229 + {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},*/ 1.230 + {{{-20,-20,-20,-20,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7}, 1.231 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -3, -3, -2, -1, 1}, 1.232 + {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}}, 1.233 + /* 5 1.234 + {{{-24,-24,-24,-24,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7}, 1.235 + {-32,-32,-32,-32,-28,-24,-22,-16,-12, -6, -4, -4, -4, -4, -2, -1, 2}, 1.236 + {-34,-34,-34,-34,-30,-24,-24,-18,-14,-12,-12,-12,-12,-10,-10, -9, -5}}}, */ 1.237 + {{{-24,-24,-24,-24,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7}, 1.238 + {-32,-32,-32,-32,-28,-24,-22,-16,-12, -6, -4, -4, -4, -4, -3, -1, 0}, 1.239 + {-34,-34,-34,-34,-30,-24,-24,-18,-14,-12,-12,-12,-12,-10,-10, -9, -5}}}, 1.240 + /* 6 1.241 + {{{-24,-24,-24,-24,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7}, 1.242 + {-32,-32,-32,-32,-28,-24,-24,-18,-14, -8, -6, -6, -6, -6, -4, -2, 1}, 1.243 + {-34,-34,-34,-34,-30,-26,-24,-18,-17,-15,-15,-15,-15,-13,-13,-12, -8}}},*/ 1.244 + {{{-24,-24,-24,-24,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7}, 1.245 + {-32,-32,-32,-32,-28,-24,-24,-18,-14, -8, -6, -6, -6, -6, -5, -2, 0}, 1.246 + {-34,-34,-34,-34,-30,-26,-26,-24,-22,-19,-19,-19,-19,-18,-17,-16,-12}}}, 1.247 + /* 7 1.248 + {{{-24,-24,-24,-24,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7}, 1.249 + {-32,-32,-32,-32,-28,-24,-24,-18,-14,-12,-10, -8, -8, -8, -6, -4, 0}, 1.250 + {-34,-34,-34,-34,-30,-26,-26,-24,-22,-19,-19,-19,-19,-18,-17,-16,-12}}},*/ 1.251 + {{{-24,-24,-24,-24,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7}, 1.252 + {-32,-32,-32,-32,-28,-24,-24,-24,-18,-14,-12,-10,-10,-10, -8, -6, -2}, 1.253 + {-34,-34,-34,-34,-30,-26,-26,-26,-24,-24,-24,-24,-24,-24,-24,-20,-16}}}, 1.254 + /* 8 1.255 + {{{-24,-24,-24,-24,-22,-20,-15,-10, -8, -2, 0, 0, 0, 1, 2, 3, 7}, 1.256 + {-36,-36,-36,-36,-30,-30,-30,-24,-18,-14,-12,-10,-10,-10, -8, -6, -2}, 1.257 + {-36,-36,-36,-36,-34,-30,-28,-26,-24,-24,-24,-24,-24,-24,-24,-20,-16}}},*/ 1.258 + {{{-24,-24,-24,-24,-22,-20,-15,-10, -8, -2, 0, 0, 0, 1, 2, 3, 7}, 1.259 + {-36,-36,-36,-36,-30,-30,-30,-24,-20,-16,-16,-16,-16,-14,-12,-10, -7}, 1.260 + {-36,-36,-36,-36,-34,-30,-28,-26,-24,-30,-30,-30,-30,-30,-30,-24,-20}}}, 1.261 + /* 9 1.262 + {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -4, -4, -4, -4, -4, -2, 2}, 1.263 + {-36,-36,-36,-36,-34,-32,-32,-28,-20,-16,-16,-16,-16,-14,-12,-10, -7}, 1.264 + {-40,-40,-40,-40,-40,-40,-40,-32,-30,-30,-30,-30,-30,-30,-30,-24,-20}}},*/ 1.265 + {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -4, -4, -4, -4, -4, -2, 2}, 1.266 + {-38,-38,-38,-38,-36,-34,-34,-30,-24,-20,-20,-20,-20,-18,-16,-12,-10}, 1.267 + {-40,-40,-40,-40,-40,-40,-40,-38,-35,-35,-35,-35,-35,-35,-35,-35,-30}}}, 1.268 + /* 10 */ 1.269 + {{{-30,-30,-30,-30,-30,-30,-30,-28,-20,-14,-14,-14,-14,-14,-14,-12,-10}, 1.270 + {-40,-40,-40,-40,-40,-40,-40,-40,-35,-30,-30,-30,-30,-30,-30,-30,-20}, 1.271 + {-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40}}}, 1.272 +}; 1.273 + 1.274 +/* noise bias (long block) */ 1.275 +static const noise3 _psy_noisebias_long[12]={ 1.276 + /*63 125 250 500 1k 2k 4k 8k 16k*/ 1.277 + /* -1 */ 1.278 + {{{-10,-10,-10,-10,-10, -4, 0, 0, 0, 6, 6, 6, 6, 10, 10, 12, 20}, 1.279 + {-20,-20,-20,-20,-20,-20,-10, -2, 0, 0, 0, 0, 0, 2, 4, 6, 15}, 1.280 + {-20,-20,-20,-20,-20,-20,-20,-10, -6, -6, -6, -6, -6, -4, -4, -4, -2}}}, 1.281 + 1.282 + /* 0 */ 1.283 + /* {{{-10,-10,-10,-10,-10,-10, -8, 2, 2, 2, 4, 4, 5, 5, 5, 8, 10}, 1.284 + {-20,-20,-20,-20,-20,-20,-20,-14, -6, 0, 0, 0, 0, 0, 2, 4, 10}, 1.285 + {-20,-20,-20,-20,-20,-20,-20,-14, -8, -6, -6, -6, -6, -4, -4, -4, -2}}},*/ 1.286 + {{{-10,-10,-10,-10,-10,-10, -8, 2, 2, 2, 4, 4, 5, 5, 5, 8, 10}, 1.287 + {-20,-20,-20,-20,-20,-20,-20,-14, -6, 0, 0, 0, 0, 0, 2, 3, 6}, 1.288 + {-20,-20,-20,-20,-20,-20,-20,-14, -8, -6, -6, -6, -6, -4, -4, -4, -2}}}, 1.289 + /* 1 */ 1.290 + /* {{{-10,-10,-10,-10,-10,-10, -8, -4, 0, 2, 4, 4, 5, 5, 5, 8, 10}, 1.291 + {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -2, -2, -2, -2, 0, 2, 8}, 1.292 + {-20,-20,-20,-20,-20,-20,-20,-14,-10, -8, -8, -8, -8, -6, -6, -6, -4}}},*/ 1.293 + {{{-10,-10,-10,-10,-10,-10, -8, -4, 0, 2, 4, 4, 5, 5, 5, 8, 10}, 1.294 + {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -2, -2, -2, -2, 0, 1, 4}, 1.295 + {-20,-20,-20,-20,-20,-20,-20,-14,-10, -8, -8, -8, -8, -6, -6, -6, -4}}}, 1.296 + /* 2 */ 1.297 + /* {{{-10,-10,-10,-10,-10,-10,-10, -8, 0, 2, 2, 2, 4, 4, 5, 6, 10}, 1.298 + {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -2, -2, -2, -2, 0, 2, 6}, 1.299 + {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},*/ 1.300 + {{{-10,-10,-10,-10,-10,-10,-10, -8, 0, 2, 2, 2, 4, 4, 5, 6, 10}, 1.301 + {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -3, -3, -3, -2, -1, 0, 3}, 1.302 + {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}}, 1.303 + /* 3 */ 1.304 + /* {{{-10,-10,-10,-10,-10,-10,-10, -8, 0, 2, 2, 2, 4, 4, 4, 5, 8}, 1.305 + {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -3, -3, -3, -3, -1, 1, 6}, 1.306 + {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},*/ 1.307 + {{{-10,-10,-10,-10,-10,-10,-10, -8, 0, 2, 2, 2, 4, 4, 4, 5, 8}, 1.308 + {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -3, -3, -3, -3, -2, 0, 2}, 1.309 + {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -5}}}, 1.310 + /* 4 */ 1.311 + /* {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7}, 1.312 + {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -3, -3, -3, -3, -1, 1, 5}, 1.313 + {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},*/ 1.314 + {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7}, 1.315 + {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -3, -3, -3, -3, -2, -1, 1}, 1.316 + {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -7}}}, 1.317 + /* 5 */ 1.318 + /* {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7}, 1.319 + {-22,-22,-22,-22,-22,-22,-22,-16,-12, -6, -4, -4, -4, -4, -2, -1, 2}, 1.320 + {-24,-24,-24,-24,-24,-24,-24,-18,-14,-12,-12,-12,-12,-10,-10, -9, -5}}},*/ 1.321 + {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7}, 1.322 + {-22,-22,-22,-22,-22,-22,-22,-16,-12, -6, -4, -4, -4, -4, -3, -1, 0}, 1.323 + {-24,-24,-24,-24,-24,-24,-24,-18,-14,-12,-12,-12,-12,-10,-10, -9, -8}}}, 1.324 + /* 6 */ 1.325 + /* {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7}, 1.326 + {-24,-24,-24,-24,-24,-24,-24,-18,-14, -8, -6, -6, -6, -6, -4, -2, 1}, 1.327 + {-26,-26,-26,-26,-26,-26,-26,-18,-16,-15,-15,-15,-15,-13,-13,-12, -8}}},*/ 1.328 + {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7}, 1.329 + {-24,-24,-24,-24,-24,-24,-24,-18,-14, -8, -6, -6, -6, -6, -5, -2, 0}, 1.330 + {-26,-26,-26,-26,-26,-26,-26,-18,-16,-15,-15,-15,-15,-13,-13,-12,-10}}}, 1.331 + /* 7 */ 1.332 + {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7}, 1.333 + {-24,-24,-24,-24,-24,-24,-24,-18,-14,-10, -8, -8, -8, -8, -6, -4, 0}, 1.334 + {-26,-26,-26,-26,-26,-26,-26,-22,-20,-19,-19,-19,-19,-18,-17,-16,-12}}}, 1.335 + /* 8 */ 1.336 + {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 0, 0, 0, 0, 1, 2, 3, 7}, 1.337 + {-26,-26,-26,-26,-26,-26,-26,-20,-16,-12,-10,-10,-10,-10, -8, -6, -2}, 1.338 + {-28,-28,-28,-28,-28,-28,-28,-26,-24,-24,-24,-24,-24,-24,-24,-20,-16}}}, 1.339 + /* 9 */ 1.340 + {{{-22,-22,-22,-22,-22,-22,-22,-18,-14, -8, -4, -4, -4, -4, -4, -2, 2}, 1.341 + {-26,-26,-26,-26,-26,-26,-26,-22,-18,-16,-16,-16,-16,-14,-12,-10, -7}, 1.342 + {-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-24,-20}}}, 1.343 + /* 10 */ 1.344 + {{{-24,-24,-24,-24,-24,-24,-24,-24,-24,-18,-14,-14,-14,-14,-14,-12,-10}, 1.345 + {-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-20}, 1.346 + {-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40}}}, 1.347 +}; 1.348 + 1.349 +/* noise bias (impulse block) */ 1.350 +static const noise3 _psy_noisebias_impulse[12]={ 1.351 + /* 63 125 250 500 1k 2k 4k 8k 16k*/ 1.352 + /* -1 */ 1.353 + {{{-10,-10,-10,-10,-10, -4, 0, 0, 4, 8, 8, 8, 8, 10, 12, 14, 20}, 1.354 + {-30,-30,-30,-30,-26,-20,-16, -8, -6, -6, -2, 2, 2, 3, 6, 6, 15}, 1.355 + {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}}, 1.356 + 1.357 + /* 0 */ 1.358 + /* {{{-10,-10,-10,-10,-10, -4, 0, 0, 4, 4, 8, 8, 8, 10, 12, 14, 20}, 1.359 + {-30,-30,-30,-30,-26,-22,-20,-14, -6, -2, 0, 0, 0, 0, 2, 4, 10}, 1.360 + {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}},*/ 1.361 + {{{-10,-10,-10,-10,-10, -4, 0, 0, 4, 4, 8, 8, 8, 10, 12, 14, 20}, 1.362 + {-30,-30,-30,-30,-26,-22,-20,-14, -6, -2, 0, 0, 0, 0, 2, 3, 6}, 1.363 + {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}}, 1.364 + /* 1 */ 1.365 + {{{-12,-12,-12,-12,-12, -8, -6, -4, 0, 4, 4, 4, 4, 10, 12, 14, 20}, 1.366 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -4, -4, -2, -2, -2, -2, 2}, 1.367 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8,-10,-10, -8, -8, -8, -6, -4}}}, 1.368 + /* 2 */ 1.369 + {{{-14,-14,-14,-14,-14,-10, -8, -6, -2, 2, 2, 2, 2, 8, 10, 10, 16}, 1.370 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -4, -4, -4, -2, 0}, 1.371 + {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10,-10,-10, -8, -4}}}, 1.372 + /* 3 */ 1.373 + {{{-14,-14,-14,-14,-14,-10, -8, -6, -2, 2, 2, 2, 2, 6, 8, 8, 14}, 1.374 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -4, -4, -4, -2, 0}, 1.375 + {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10,-10,-10, -8, -4}}}, 1.376 + /* 4 */ 1.377 + {{{-16,-16,-16,-16,-16,-12,-10, -6, -2, 0, 0, 0, 0, 4, 6, 6, 12}, 1.378 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -4, -4, -4, -2, 0}, 1.379 + {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10,-10,-10, -8, -4}}}, 1.380 + /* 5 */ 1.381 + {{{-20,-20,-20,-20,-20,-18,-14,-10, -4, 0, 0, 0, 0, 4, 4, 6, 11}, 1.382 + {-32,-32,-32,-32,-28,-24,-22,-16,-10, -6, -8, -8, -6, -6, -6, -4, -2}, 1.383 + {-34,-34,-34,-34,-30,-26,-24,-18,-14,-12,-12,-12,-12,-12,-10, -9, -5}}}, 1.384 + /* 6 1.385 + {{{-20,-20,-20,-20,-20,-18,-14,-10, -4, 0, 0, 0, 0, 4, 4, 6, 11}, 1.386 + {-34,-34,-34,-34,-30,-30,-24,-20,-12,-12,-14,-14,-10, -9, -8, -6, -4}, 1.387 + {-34,-34,-34,-34,-34,-30,-26,-20,-16,-15,-15,-15,-15,-15,-13,-12, -8}}},*/ 1.388 + {{{-20,-20,-20,-20,-20,-18,-14,-10, -4, 0, 0, 0, 0, 4, 4, 6, 11}, 1.389 + {-34,-34,-34,-34,-30,-30,-30,-24,-16,-16,-16,-16,-16,-16,-14,-14,-12}, 1.390 + {-36,-36,-36,-36,-36,-34,-28,-24,-20,-20,-20,-20,-20,-20,-20,-18,-16}}}, 1.391 + /* 7 */ 1.392 + /* {{{-22,-22,-22,-22,-22,-20,-14,-10, -6, 0, 0, 0, 0, 4, 4, 6, 11}, 1.393 + {-34,-34,-34,-34,-30,-30,-24,-20,-14,-14,-16,-16,-14,-12,-10,-10,-10}, 1.394 + {-34,-34,-34,-34,-32,-32,-30,-24,-20,-19,-19,-19,-19,-19,-17,-16,-12}}},*/ 1.395 + {{{-22,-22,-22,-22,-22,-20,-14,-10, -6, 0, 0, 0, 0, 4, 4, 6, 11}, 1.396 + {-34,-34,-34,-34,-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-24,-22}, 1.397 + {-40,-40,-40,-40,-40,-40,-40,-32,-30,-30,-30,-30,-30,-30,-30,-30,-24}}}, 1.398 + /* 8 */ 1.399 + /* {{{-24,-24,-24,-24,-24,-22,-14,-10, -6, -1, -1, -1, -1, 3, 3, 5, 10}, 1.400 + {-34,-34,-34,-34,-30,-30,-30,-24,-20,-20,-20,-20,-20,-18,-16,-16,-14}, 1.401 + {-36,-36,-36,-36,-36,-34,-28,-24,-24,-24,-24,-24,-24,-24,-24,-20,-16}}},*/ 1.402 + {{{-24,-24,-24,-24,-24,-22,-14,-10, -6, -1, -1, -1, -1, 3, 3, 5, 10}, 1.403 + {-34,-34,-34,-34,-34,-32,-32,-30,-26,-26,-26,-26,-26,-26,-26,-26,-24}, 1.404 + {-40,-40,-40,-40,-40,-40,-40,-32,-30,-30,-30,-30,-30,-30,-30,-30,-24}}}, 1.405 + /* 9 */ 1.406 + /* {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -4, -4, -4, -4, -4, -2, 2}, 1.407 + {-36,-36,-36,-36,-34,-32,-32,-30,-26,-26,-26,-26,-26,-22,-20,-20,-18}, 1.408 + {-40,-40,-40,-40,-40,-40,-40,-32,-30,-30,-30,-30,-30,-30,-30,-24,-20}}},*/ 1.409 + {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -4, -4, -4, -4, -4, -2, 2}, 1.410 + {-36,-36,-36,-36,-34,-32,-32,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26}, 1.411 + {-40,-40,-40,-40,-40,-40,-40,-32,-30,-30,-30,-30,-30,-30,-30,-24,-20}}}, 1.412 + /* 10 */ 1.413 + {{{-30,-30,-30,-30,-30,-26,-24,-24,-24,-20,-16,-16,-16,-16,-16,-14,-12}, 1.414 + {-40,-40,-40,-40,-40,-40,-40,-40,-35,-30,-30,-30,-30,-30,-30,-30,-26}, 1.415 + {-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40}}}, 1.416 +}; 1.417 + 1.418 +/* noise bias (padding block) */ 1.419 +static const noise3 _psy_noisebias_padding[12]={ 1.420 + /* 63 125 250 500 1k 2k 4k 8k 16k*/ 1.421 + 1.422 + /* -1 */ 1.423 + {{{-10,-10,-10,-10,-10, -4, 0, 0, 4, 8, 8, 8, 8, 10, 12, 14, 20}, 1.424 + {-30,-30,-30,-30,-26,-20,-16, -8, -6, -6, -2, 2, 2, 3, 6, 6, 15}, 1.425 + {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}}, 1.426 + 1.427 + /* 0 */ 1.428 + {{{-10,-10,-10,-10,-10, -4, 0, 0, 4, 8, 8, 8, 8, 10, 12, 14, 20}, 1.429 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2, 2, 3, 6, 6, 8, 10}, 1.430 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -4, -4, -4, -4, -2, 0, 2}}}, 1.431 + /* 1 */ 1.432 + {{{-12,-12,-12,-12,-12, -8, -6, -4, 0, 4, 4, 4, 4, 10, 12, 14, 20}, 1.433 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, 0, 0, 0, 2, 2, 4, 8}, 1.434 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -6, -6, -4, -2, 0}}}, 1.435 + /* 2 */ 1.436 + /* {{{-14,-14,-14,-14,-14,-10, -8, -6, -2, 2, 2, 2, 2, 8, 10, 10, 16}, 1.437 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, 0, 0, 0, 2, 2, 4, 8}, 1.438 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -8, -6, -4, -2}}},*/ 1.439 + {{{-14,-14,-14,-14,-14,-10, -8, -6, -2, 2, 2, 2, 2, 8, 10, 10, 16}, 1.440 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -1, -1, -1, 0, 0, 2, 6}, 1.441 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -8, -6, -4, -2}}}, 1.442 + /* 3 */ 1.443 + {{{-14,-14,-14,-14,-14,-10, -8, -6, -2, 2, 2, 2, 2, 6, 8, 8, 14}, 1.444 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -1, -1, -1, 0, 0, 2, 6}, 1.445 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -8, -6, -4, -2}}}, 1.446 + /* 4 */ 1.447 + {{{-16,-16,-16,-16,-16,-12,-10, -6, -2, 0, 0, 0, 0, 4, 6, 6, 12}, 1.448 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -1, -1, -1, -1, 0, 2, 6}, 1.449 + {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -8, -6, -4, -2}}}, 1.450 + /* 5 */ 1.451 + {{{-20,-20,-20,-20,-20,-18,-14,-10, -4, 0, 0, 0, 0, 4, 6, 6, 12}, 1.452 + {-32,-32,-32,-32,-28,-24,-22,-16,-12, -6, -3, -3, -3, -3, -2, 0, 4}, 1.453 + {-34,-34,-34,-34,-30,-26,-24,-18,-14,-10,-10,-10,-10,-10, -8, -5, -3}}}, 1.454 + /* 6 */ 1.455 + {{{-20,-20,-20,-20,-20,-18,-14,-10, -4, 0, 0, 0, 0, 4, 6, 6, 12}, 1.456 + {-34,-34,-34,-34,-30,-30,-24,-20,-14, -8, -4, -4, -4, -4, -3, -1, 4}, 1.457 + {-34,-34,-34,-34,-34,-30,-26,-20,-16,-13,-13,-13,-13,-13,-11, -8, -6}}}, 1.458 + /* 7 */ 1.459 + {{{-20,-20,-20,-20,-20,-18,-14,-10, -4, 0, 0, 0, 0, 4, 6, 6, 12}, 1.460 + {-34,-34,-34,-34,-30,-30,-30,-24,-16,-10, -8, -6, -6, -6, -5, -3, 1}, 1.461 + {-34,-34,-34,-34,-32,-32,-28,-22,-18,-16,-16,-16,-16,-16,-14,-12,-10}}}, 1.462 + /* 8 */ 1.463 + {{{-22,-22,-22,-22,-22,-20,-14,-10, -4, 0, 0, 0, 0, 3, 5, 5, 11}, 1.464 + {-34,-34,-34,-34,-30,-30,-30,-24,-16,-12,-10, -8, -8, -8, -7, -5, -2}, 1.465 + {-36,-36,-36,-36,-36,-34,-28,-22,-20,-20,-20,-20,-20,-20,-20,-16,-14}}}, 1.466 + /* 9 */ 1.467 + {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -2, -2, -2, -2, 0, 2, 6}, 1.468 + {-36,-36,-36,-36,-34,-32,-32,-24,-16,-12,-12,-12,-12,-12,-10, -8, -5}, 1.469 + {-40,-40,-40,-40,-40,-40,-40,-32,-26,-24,-24,-24,-24,-24,-24,-20,-18}}}, 1.470 + /* 10 */ 1.471 + {{{-30,-30,-30,-30,-30,-26,-24,-24,-24,-20,-12,-12,-12,-12,-12,-10, -8}, 1.472 + {-40,-40,-40,-40,-40,-40,-40,-40,-35,-30,-25,-25,-25,-25,-25,-25,-15}, 1.473 + {-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40}}}, 1.474 +}; 1.475 + 1.476 + 1.477 +static const noiseguard _psy_noiseguards_44[4]={ 1.478 + {3,3,15}, 1.479 + {3,3,15}, 1.480 + {10,10,100}, 1.481 + {10,10,100}, 1.482 +}; 1.483 + 1.484 +static const int _psy_tone_suppress[12]={ 1.485 + -20,-20,-20,-20,-20,-24,-30,-40,-40,-45,-45,-45, 1.486 +}; 1.487 +static const int _psy_tone_0dB[12]={ 1.488 + 90,90,95,95,95,95,105,105,105,105,105,105, 1.489 +}; 1.490 +static const int _psy_noise_suppress[12]={ 1.491 + -20,-20,-24,-24,-24,-24,-30,-40,-40,-45,-45,-45, 1.492 +}; 1.493 + 1.494 +static const vorbis_info_psy _psy_info_template={ 1.495 + /* blockflag */ 1.496 + -1, 1.497 + /* ath_adjatt, ath_maxatt */ 1.498 + -140.,-140., 1.499 + /* tonemask att boost/decay,suppr,curves */ 1.500 + {0.f,0.f,0.f}, 0.,0., -40.f, {0.}, 1.501 + 1.502 + /*noisemaskp,supp, low/high window, low/hi guard, minimum */ 1.503 + 1, -0.f, .5f, .5f, 0,0,0, 1.504 + /* noiseoffset*3, noisecompand, max_curve_dB */ 1.505 + {{-1},{-1},{-1}},{-1},105.f, 1.506 + /* noise normalization - noise_p, start, partition, thresh. */ 1.507 + 0,-1,-1,0., 1.508 +}; 1.509 + 1.510 +/* ath ****************/ 1.511 + 1.512 +static const int _psy_ath_floater[12]={ 1.513 + -100,-100,-100,-100,-100,-100,-105,-105,-105,-105,-110,-120, 1.514 +}; 1.515 +static const int _psy_ath_abs[12]={ 1.516 + -130,-130,-130,-130,-140,-140,-140,-140,-140,-140,-140,-150, 1.517 +}; 1.518 + 1.519 +/* stereo setup. These don't map directly to quality level, there's 1.520 + an additional indirection as several of the below may be used in a 1.521 + single bitmanaged stream 1.522 + 1.523 +****************/ 1.524 + 1.525 +/* various stereo possibilities */ 1.526 + 1.527 +/* stereo mode by base quality level */ 1.528 +static const adj_stereo _psy_stereo_modes_44[12]={ 1.529 + /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 -1 */ 1.530 + {{ 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 1, 0, 0, 0, 0}, 1.531 + { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 4, 3}, 1.532 + { 1, 2, 3, 4, 4, 4, 4, 4, 4, 5, 6, 7, 8, 8, 8}, 1.533 + { 12,12.5, 13,13.5, 14,14.5, 15, 99, 99, 99, 99, 99, 99, 99, 99}}, 1.534 + 1.535 +/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 */ 1.536 + {{ 4, 4, 4, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0}, 1.537 + { 8, 8, 8, 8, 6, 6, 5, 5, 5, 5, 5, 5, 5, 4, 3}, 1.538 + { 1, 2, 3, 4, 4, 5, 6, 6, 6, 6, 6, 8, 8, 8, 8}, 1.539 + { 12,12.5, 13,13.5, 14,14.5, 15, 99, 99, 99, 99, 99, 99, 99, 99}}, 1.540 + 1.541 + 1.542 + /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 */ 1.543 + {{ 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 0, 0, 0, 0, 0}, 1.544 + { 8, 8, 8, 8, 6, 6, 5, 5, 5, 5, 5, 5, 5, 4, 3}, 1.545 + { 1, 2, 3, 4, 4, 5, 6, 6, 6, 6, 6, 8, 8, 8, 8}, 1.546 + { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}}, 1.547 + 1.548 + 1.549 + /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 */ 1.550 + {{ 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 0, 0, 0, 0, 0}, 1.551 + { 8, 8, 6, 6, 5, 5, 4, 4, 4, 4, 4, 4, 3, 2, 1}, 1.552 + { 3, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8}, 1.553 + { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}}, 1.554 + /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 */ 1.555 + {{ 2, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0}, 1.556 + { 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 1}, 1.557 + { 4, 4, 5, 6, 6, 6, 6, 6, 8, 8, 10, 10, 10, 10, 10}, 1.558 + { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}}, 1.559 + /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 */ 1.560 + {{ 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1.561 + { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 0}, 1.562 + { 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 10}, 1.563 + { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}}, 1.564 + /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 */ 1.565 + {{ 2, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1.566 + { 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0}, 1.567 + { 6, 7, 8, 8, 8, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12}, 1.568 + { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}}, 1.569 + /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 6 */ 1.570 + {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1.571 + { 3, 3, 3, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1.572 + { 8, 8, 8, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12}, 1.573 + { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}}, 1.574 + /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 7 */ 1.575 + {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1.576 + { 3, 3, 3, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1.577 + { 8, 8, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12}, 1.578 + { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}}, 1.579 + /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 8 */ 1.580 + {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1.581 + { 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1.582 + { 8, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12}, 1.583 + { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}}, 1.584 + /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 9 */ 1.585 + {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1.586 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1.587 + { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}, 1.588 + { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}}, 1.589 + /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 10 */ 1.590 + {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1.591 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1.592 + { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}, 1.593 + { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}}, 1.594 +}; 1.595 + 1.596 +/* tone master attenuation by base quality mode and bitrate tweak */ 1.597 +static const att3 _psy_tone_masteratt_44[12]={ 1.598 + {{ 35, 21, 9}, 0, 0}, /* -1 */ 1.599 + {{ 30, 20, 8}, -2, 1.25}, /* 0 */ 1.600 + /* {{ 25, 14, 4}, 0, 0}, *//* 1 */ 1.601 + {{ 25, 12, 2}, 0, 0}, /* 1 */ 1.602 + /* {{ 20, 10, -2}, 0, 0}, *//* 2 */ 1.603 + {{ 20, 9, -3}, 0, 0}, /* 2 */ 1.604 + {{ 20, 9, -4}, 0, 0}, /* 3 */ 1.605 + {{ 20, 9, -4}, 0, 0}, /* 4 */ 1.606 + {{ 20, 6, -6}, 0, 0}, /* 5 */ 1.607 + {{ 20, 3, -10}, 0, 0}, /* 6 */ 1.608 + {{ 18, 1, -14}, 0, 0}, /* 7 */ 1.609 + {{ 18, 0, -16}, 0, 0}, /* 8 */ 1.610 + {{ 18, -2, -16}, 0, 0}, /* 9 */ 1.611 + {{ 12, -2, -20}, 0, 0}, /* 10 */ 1.612 +}; 1.613 + 1.614 +/* lowpass by mode **************/ 1.615 +static const double _psy_lowpass_44[12]={ 1.616 + /* 15.1,15.8,16.5,17.9,20.5,48.,999.,999.,999.,999.,999. */ 1.617 + 13.9,15.1,15.8,16.5,17.2,18.9,20.1,48.,999.,999.,999.,999. 1.618 +}; 1.619 + 1.620 +/* noise normalization **********/ 1.621 + 1.622 +static const int _noise_start_short_44[11]={ 1.623 + /* 16,16,16,16,32,32,9999,9999,9999,9999 */ 1.624 + 32,16,16,16,32,9999,9999,9999,9999,9999,9999 1.625 +}; 1.626 +static const int _noise_start_long_44[11]={ 1.627 + /* 128,128,128,256,512,512,9999,9999,9999,9999 */ 1.628 + 256,128,128,256,512,9999,9999,9999,9999,9999,9999 1.629 +}; 1.630 + 1.631 +static const int _noise_part_short_44[11]={ 1.632 + 8,8,8,8,8,8,8,8,8,8,8 1.633 +}; 1.634 +static const int _noise_part_long_44[11]={ 1.635 + 32,32,32,32,32,32,32,32,32,32,32 1.636 +}; 1.637 + 1.638 +static const double _noise_thresh_44[11]={ 1.639 + /* .2,.2,.3,.4,.5,.5,9999.,9999.,9999.,9999., */ 1.640 + .2,.2,.2,.4,.6,9999.,9999.,9999.,9999.,9999.,9999., 1.641 +}; 1.642 + 1.643 +static const double _noise_thresh_5only[2]={ 1.644 + .5,.5, 1.645 +};