psych_8.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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 http://www.xiph.org/ *
  10. * *
  11. ********************************************************************
  12. function: 8kHz psychoacoustic settings
  13. ********************************************************************/
  14. static const att3 _psy_tone_masteratt_8[3]={
  15. {{ 32, 25, 12}, 0, 0}, /* 0 */
  16. {{ 30, 25, 12}, 0, 0}, /* 0 */
  17. {{ 20, 0, -14}, 0, 0}, /* 0 */
  18. };
  19. static const vp_adjblock _vp_tonemask_adj_8[3]={
  20. /* adjust for mode zero */
  21. /* 63 125 250 500 1 2 4 8 16 */
  22. {{-15,-15,-15,-15,-10,-10, -6, 0, 0, 0, 0,10, 0, 0,99,99,99}}, /* 1 */
  23. {{-15,-15,-15,-15,-10,-10, -6, 0, 0, 0, 0,10, 0, 0,99,99,99}}, /* 1 */
  24. {{-15,-15,-15,-15,-10,-10, -6, 0, 0, 0, 0, 0, 0, 0,99,99,99}}, /* 1 */
  25. };
  26. static const noise3 _psy_noisebias_8[3]={
  27. /* 63 125 250 500 1k 2k 4k 8k 16k*/
  28. {{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 8, 8, 8, 10, 10, 99, 99, 99},
  29. {-10,-10,-10,-10, -5, -5, -5, 0, 0, 4, 4, 4, 4, 4, 99, 99, 99},
  30. {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, 99, 99, 99}}},
  31. {{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 8, 8, 8, 10, 10, 99, 99, 99},
  32. {-10,-10,-10,-10,-10,-10, -5, -5, -5, 0, 0, 0, 0, 0, 99, 99, 99},
  33. {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, 99, 99, 99}}},
  34. {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 99, 99, 99},
  35. {-30,-30,-30,-30,-26,-22,-20,-14,-12,-12,-10,-10,-10,-10, 99, 99, 99},
  36. {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24, 99, 99, 99}}},
  37. };
  38. /* stereo mode by base quality level */
  39. static const adj_stereo _psy_stereo_modes_8[3]={
  40. /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */
  41. {{ 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
  42. { 6, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
  43. { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
  44. { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
  45. {{ 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
  46. { 6, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
  47. { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
  48. { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
  49. {{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
  50. { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
  51. { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
  52. { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
  53. };
  54. static const noiseguard _psy_noiseguards_8[2]={
  55. {10,10,-1},
  56. {10,10,-1},
  57. };
  58. static const compandblock _psy_compand_8[2]={
  59. {{
  60. 0, 1, 2, 3, 4, 5, 6, 7, /* 7dB */
  61. 8, 8, 9, 9,10,10,11, 11, /* 15dB */
  62. 12,12,13,13,14,14,15, 15, /* 23dB */
  63. 16,16,17,17,17,18,18, 19, /* 31dB */
  64. 19,19,20,21,22,23,24, 25, /* 39dB */
  65. }},
  66. {{
  67. 0, 1, 2, 3, 4, 5, 6, 6, /* 7dB */
  68. 7, 7, 6, 6, 5, 5, 4, 4, /* 15dB */
  69. 3, 3, 3, 4, 5, 6, 7, 8, /* 23dB */
  70. 9,10,11,12,13,14,15, 16, /* 31dB */
  71. 17,18,19,20,21,22,23, 24, /* 39dB */
  72. }},
  73. };
  74. static const double _psy_lowpass_8[3]={3.,4.,4.};
  75. static const int _noise_start_8[2]={
  76. 64,64,
  77. };
  78. static const int _noise_part_8[2]={
  79. 8,8,
  80. };
  81. static const int _psy_ath_floater_8[3]={
  82. -100,-100,-105,
  83. };
  84. static const int _psy_ath_abs_8[3]={
  85. -130,-130,-140,
  86. };