psych_8.h (4044B)
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 };