annotate src/libvorbis-1.3.3/lib/modes/psych_16.h @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents 05aa0afa9217
children
rev   line source
Chris@1 1 /********************************************************************
Chris@1 2 * *
Chris@1 3 * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
Chris@1 4 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
Chris@1 5 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
Chris@1 6 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
Chris@1 7 * *
Chris@1 8 * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
Chris@1 9 * by the Xiph.Org Foundation http://www.xiph.org/ *
Chris@1 10 * *
Chris@1 11 ********************************************************************
Chris@1 12
Chris@1 13 function: 16kHz settings
Chris@1 14 last mod: $Id: psych_16.h 16227 2009-07-08 06:58:46Z xiphmont $
Chris@1 15
Chris@1 16 ********************************************************************/
Chris@1 17
Chris@1 18 /* stereo mode by base quality level */
Chris@1 19 static const adj_stereo _psy_stereo_modes_16[4]={
Chris@1 20 /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */
Chris@1 21 {{ 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
Chris@1 22 { 6, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
Chris@1 23 { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 4, 4},
Chris@1 24 { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
Chris@1 25 {{ 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
Chris@1 26 { 6, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
Chris@1 27 { 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 4, 4, 4, 4},
Chris@1 28 { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
Chris@1 29 {{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
Chris@1 30 { 5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
Chris@1 31 { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
Chris@1 32 { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
Chris@1 33 {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
Chris@1 34 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
Chris@1 35 { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
Chris@1 36 { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
Chris@1 37 };
Chris@1 38
Chris@1 39 static const double _psy_lowpass_16[4]={6.5,8,30.,99.};
Chris@1 40
Chris@1 41 static const att3 _psy_tone_masteratt_16[4]={
Chris@1 42 {{ 30, 25, 12}, 0, 0}, /* 0 */
Chris@1 43 {{ 25, 22, 12}, 0, 0}, /* 0 */
Chris@1 44 {{ 20, 12, 0}, 0, 0}, /* 0 */
Chris@1 45 {{ 15, 0, -14}, 0, 0}, /* 0 */
Chris@1 46 };
Chris@1 47
Chris@1 48 static const vp_adjblock _vp_tonemask_adj_16[4]={
Chris@1 49 /* adjust for mode zero */
Chris@1 50 /* 63 125 250 500 1 2 4 8 16 */
Chris@1 51 {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0,10, 0, 0, 0, 0, 0}}, /* 0 */
Chris@1 52 {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0,10, 0, 0, 0, 0, 0}}, /* 1 */
Chris@1 53 {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
Chris@1 54 {{-30,-30,-30,-30,-30,-26,-20,-10, -5, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
Chris@1 55 };
Chris@1 56
Chris@1 57
Chris@1 58 static const noise3 _psy_noisebias_16_short[4]={
Chris@1 59 /* 63 125 250 500 1k 2k 4k 8k 16k*/
Chris@1 60 {{{-15,-15,-15,-15,-15,-10,-10,-5, 4, 10, 10, 10, 10, 12, 12, 14, 20},
Chris@1 61 {-15,-15,-15,-15,-15,-10,-10, -5, 0, 0, 4, 5, 5, 6, 8, 8, 15},
Chris@1 62 {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
Chris@1 63
Chris@1 64 {{{-15,-15,-15,-15,-15,-10,-10,-5, 4, 6, 6, 6, 6, 8, 10, 12, 20},
Chris@1 65 {-15,-15,-15,-15,-15,-15,-15,-10, -5, -5, -5, 4, 5, 6, 8, 8, 15},
Chris@1 66 {-30,-30,-30,-30,-30,-24,-20,-14,-10,-10,-10,-10,-10,-10,-10,-10,-10}}},
Chris@1 67
Chris@1 68 {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 5, 8, 12},
Chris@1 69 {-20,-20,-20,-20,-16,-12,-20,-14,-10,-10, -8, 0, 0, 0, 0, 2, 5},
Chris@1 70 {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
Chris@1 71
Chris@1 72 {{{-15,-15,-15,-15,-15,-12,-10, -8, -5, -5, -5, -5, -5, 0, 0, 0, 6},
Chris@1 73 {-30,-30,-30,-30,-26,-22,-20,-14,-12,-12,-10,-10,-10,-10,-10,-10, -6},
Chris@1 74 {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
Chris@1 75 };
Chris@1 76
Chris@1 77 static const noise3 _psy_noisebias_16_impulse[4]={
Chris@1 78 /* 63 125 250 500 1k 2k 4k 8k 16k*/
Chris@1 79 {{{-15,-15,-15,-15,-15,-10,-10,-5, 4, 10, 10, 10, 10, 12, 12, 14, 20},
Chris@1 80 {-15,-15,-15,-15,-15,-10,-10, -5, 0, 0, 4, 5, 5, 6, 8, 8, 15},
Chris@1 81 {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
Chris@1 82
Chris@1 83 {{{-15,-15,-15,-15,-15,-10,-10,-5, 4, 4, 4, 4, 5, 5, 6, 8, 15},
Chris@1 84 {-15,-15,-15,-15,-15,-15,-15,-10, -5, -5, -5, 0, 0, 0, 0, 4, 10},
Chris@1 85 {-30,-30,-30,-30,-30,-24,-20,-14,-10,-10,-10,-10,-10,-10,-10,-10,-10}}},
Chris@1 86
Chris@1 87 {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 4, 10},
Chris@1 88 {-20,-20,-20,-20,-16,-12,-20,-14,-10,-10,-10,-10,-10,-10,-10, -7, -5},
Chris@1 89 {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
Chris@1 90
Chris@1 91 {{{-15,-15,-15,-15,-15,-12,-10, -8, -5, -5, -5, -5, -5, 0, 0, 0, 6},
Chris@1 92 {-30,-30,-30,-30,-26,-22,-20,-18,-18,-18,-20,-20,-20,-20,-20,-20,-16},
Chris@1 93 {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
Chris@1 94 };
Chris@1 95
Chris@1 96 static const noise3 _psy_noisebias_16[4]={
Chris@1 97 /* 63 125 250 500 1k 2k 4k 8k 16k*/
Chris@1 98 {{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 6, 8, 8, 10, 10, 10, 14, 20},
Chris@1 99 {-10,-10,-10,-10,-10, -5, -2, -2, 0, 0, 0, 4, 5, 6, 8, 8, 15},
Chris@1 100 {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
Chris@1 101
Chris@1 102 {{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 6, 6, 6, 6, 8, 10, 12, 20},
Chris@1 103 {-15,-15,-15,-15,-15,-10, -5, -5, 0, 0, 0, 4, 5, 6, 8, 8, 15},
Chris@1 104 {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -6, -6}}},
Chris@1 105
Chris@1 106 {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 5, 8, 12},
Chris@1 107 {-20,-20,-20,-20,-16,-12,-20,-10, -5, -5, 0, 0, 0, 0, 0, 2, 5},
Chris@1 108 {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
Chris@1 109
Chris@1 110 {{{-15,-15,-15,-15,-15,-12,-10, -8, -5, -5, -5, -5, -5, 0, 0, 0, 6},
Chris@1 111 {-30,-30,-30,-30,-26,-22,-20,-14,-12,-12,-10,-10,-10,-10,-10,-10, -6},
Chris@1 112 {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24,-20,-20,-20}}},
Chris@1 113 };
Chris@1 114
Chris@1 115 static const noiseguard _psy_noiseguards_16[4]={
Chris@1 116 {10,10,-1},
Chris@1 117 {10,10,-1},
Chris@1 118 {20,20,-1},
Chris@1 119 {20,20,-1},
Chris@1 120 };
Chris@1 121
Chris@1 122 static const double _noise_thresh_16[4]={ .3,.5,.5,.5 };
Chris@1 123
Chris@1 124 static const int _noise_start_16[3]={ 256,256,9999 };
Chris@1 125 static const int _noise_part_16[4]={ 8,8,8,8 };
Chris@1 126
Chris@1 127 static const int _psy_ath_floater_16[4]={
Chris@1 128 -100,-100,-100,-105,
Chris@1 129 };
Chris@1 130
Chris@1 131 static const int _psy_ath_abs_16[4]={
Chris@1 132 -130,-130,-130,-140,
Chris@1 133 };