Home | History | Annotate | Download | only in modes
      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 
     13  function: toplevel settings for 44.1/48kHz
     14  last mod: $Id: setup_44.h 16962 2010-03-11 07:30:34Z xiphmont $
     15 
     16  ********************************************************************/
     17 
     18 #include "modes/floor_all.h"
     19 #include "modes/residue_44.h"
     20 #include "modes/psych_44.h"
     21 
     22 static const double rate_mapping_44_stereo[12]={
     23   22500.,32000.,40000.,48000.,56000.,64000.,
     24   80000.,96000.,112000.,128000.,160000.,250001.
     25 };
     26 
     27 static const double quality_mapping_44[12]={
     28   -.1,.0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1.0
     29 };
     30 
     31 static const int blocksize_short_44[11]={
     32   512,256,256,256,256,256,256,256,256,256,256
     33 };
     34 static const int blocksize_long_44[11]={
     35   4096,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048
     36 };
     37 
     38 static const double _psy_compand_short_mapping[12]={
     39   0.5, 1., 1., 1.3, 1.6, 2., 2., 2., 2., 2., 2., 2.
     40 };
     41 static const double _psy_compand_long_mapping[12]={
     42   3.5, 4., 4., 4.3, 4.6, 5., 5., 5., 5., 5., 5., 5.
     43 };
     44 
     45 static const double _global_mapping_44[12]={
     46   /* 1., 1., 1.5, 2., 2., 2.5, 2.7, 3.0, 3.5, 4., 4. */
     47  0., 1., 1., 1.5, 2., 2., 2.5, 2.7, 3.0, 3.7, 4., 4.
     48 };
     49 
     50 static const int _floor_mapping_44a[11]={
     51   1,0,0,2,2,4,5,5,5,5,5
     52 };
     53 
     54 static const int _floor_mapping_44b[11]={
     55   8,7,7,7,7,7,7,7,7,7,7
     56 };
     57 
     58 static const int _floor_mapping_44c[11]={
     59   10,10,10,10,10,10,10,10,10,10,10
     60 };
     61 
     62 static const int *_floor_mapping_44[]={
     63   _floor_mapping_44a,
     64   _floor_mapping_44b,
     65   _floor_mapping_44c,
     66 };
     67 
     68 static const ve_setup_data_template ve_setup_44_stereo={
     69   11,
     70   rate_mapping_44_stereo,
     71   quality_mapping_44,
     72   2,
     73   40000,
     74   50000,
     75 
     76   blocksize_short_44,
     77   blocksize_long_44,
     78 
     79   _psy_tone_masteratt_44,
     80   _psy_tone_0dB,
     81   _psy_tone_suppress,
     82 
     83   _vp_tonemask_adj_otherblock,
     84   _vp_tonemask_adj_longblock,
     85   _vp_tonemask_adj_otherblock,
     86 
     87   _psy_noiseguards_44,
     88   _psy_noisebias_impulse,
     89   _psy_noisebias_padding,
     90   _psy_noisebias_trans,
     91   _psy_noisebias_long,
     92   _psy_noise_suppress,
     93 
     94   _psy_compand_44,
     95   _psy_compand_short_mapping,
     96   _psy_compand_long_mapping,
     97 
     98   {_noise_start_short_44,_noise_start_long_44},
     99   {_noise_part_short_44,_noise_part_long_44},
    100   _noise_thresh_44,
    101 
    102   _psy_ath_floater,
    103   _psy_ath_abs,
    104 
    105   _psy_lowpass_44,
    106 
    107   _psy_global_44,
    108   _global_mapping_44,
    109   _psy_stereo_modes_44,
    110 
    111   _floor_books,
    112   _floor,
    113   2,
    114   _floor_mapping_44,
    115 
    116   _mapres_template_44_stereo
    117 };
    118