cannam@86: /******************************************************************** cannam@86: * * cannam@86: * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * cannam@86: * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * cannam@86: * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * cannam@86: * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * cannam@86: * * cannam@86: * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * cannam@86: * by the Xiph.Org Foundation http://www.xiph.org/ * cannam@86: * * cannam@86: ******************************************************************** cannam@86: cannam@86: function: toplevel settings for 44.1/48kHz cannam@86: last mod: $Id: setup_44.h 16962 2010-03-11 07:30:34Z xiphmont $ cannam@86: cannam@86: ********************************************************************/ cannam@86: cannam@86: #include "modes/floor_all.h" cannam@86: #include "modes/residue_44.h" cannam@86: #include "modes/psych_44.h" cannam@86: cannam@86: static const double rate_mapping_44_stereo[12]={ cannam@86: 22500.,32000.,40000.,48000.,56000.,64000., cannam@86: 80000.,96000.,112000.,128000.,160000.,250001. cannam@86: }; cannam@86: cannam@86: static const double quality_mapping_44[12]={ cannam@86: -.1,.0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1.0 cannam@86: }; cannam@86: cannam@86: static const int blocksize_short_44[11]={ cannam@86: 512,256,256,256,256,256,256,256,256,256,256 cannam@86: }; cannam@86: static const int blocksize_long_44[11]={ cannam@86: 4096,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048 cannam@86: }; cannam@86: cannam@86: static const double _psy_compand_short_mapping[12]={ cannam@86: 0.5, 1., 1., 1.3, 1.6, 2., 2., 2., 2., 2., 2., 2. cannam@86: }; cannam@86: static const double _psy_compand_long_mapping[12]={ cannam@86: 3.5, 4., 4., 4.3, 4.6, 5., 5., 5., 5., 5., 5., 5. cannam@86: }; cannam@86: cannam@86: static const double _global_mapping_44[12]={ cannam@86: /* 1., 1., 1.5, 2., 2., 2.5, 2.7, 3.0, 3.5, 4., 4. */ cannam@86: 0., 1., 1., 1.5, 2., 2., 2.5, 2.7, 3.0, 3.7, 4., 4. cannam@86: }; cannam@86: cannam@86: static const int _floor_mapping_44a[11]={ cannam@86: 1,0,0,2,2,4,5,5,5,5,5 cannam@86: }; cannam@86: cannam@86: static const int _floor_mapping_44b[11]={ cannam@86: 8,7,7,7,7,7,7,7,7,7,7 cannam@86: }; cannam@86: cannam@86: static const int _floor_mapping_44c[11]={ cannam@86: 10,10,10,10,10,10,10,10,10,10,10 cannam@86: }; cannam@86: cannam@86: static const int *_floor_mapping_44[]={ cannam@86: _floor_mapping_44a, cannam@86: _floor_mapping_44b, cannam@86: _floor_mapping_44c, cannam@86: }; cannam@86: cannam@86: static const ve_setup_data_template ve_setup_44_stereo={ cannam@86: 11, cannam@86: rate_mapping_44_stereo, cannam@86: quality_mapping_44, cannam@86: 2, cannam@86: 40000, cannam@86: 50000, cannam@86: cannam@86: blocksize_short_44, cannam@86: blocksize_long_44, cannam@86: cannam@86: _psy_tone_masteratt_44, cannam@86: _psy_tone_0dB, cannam@86: _psy_tone_suppress, cannam@86: cannam@86: _vp_tonemask_adj_otherblock, cannam@86: _vp_tonemask_adj_longblock, cannam@86: _vp_tonemask_adj_otherblock, cannam@86: cannam@86: _psy_noiseguards_44, cannam@86: _psy_noisebias_impulse, cannam@86: _psy_noisebias_padding, cannam@86: _psy_noisebias_trans, cannam@86: _psy_noisebias_long, cannam@86: _psy_noise_suppress, cannam@86: cannam@86: _psy_compand_44, cannam@86: _psy_compand_short_mapping, cannam@86: _psy_compand_long_mapping, cannam@86: cannam@86: {_noise_start_short_44,_noise_start_long_44}, cannam@86: {_noise_part_short_44,_noise_part_long_44}, cannam@86: _noise_thresh_44, cannam@86: cannam@86: _psy_ath_floater, cannam@86: _psy_ath_abs, cannam@86: cannam@86: _psy_lowpass_44, cannam@86: cannam@86: _psy_global_44, cannam@86: _global_mapping_44, cannam@86: _psy_stereo_modes_44, cannam@86: cannam@86: _floor_books, cannam@86: _floor, cannam@86: 2, cannam@86: _floor_mapping_44, cannam@86: cannam@86: _mapres_template_44_stereo cannam@86: };