bc15b548a124dedf65489fbc2439137f9f322160
[platform/upstream/libvorbis.git] / lib / modes.h
1 /********************************************************************
2  *                                                                  *
3  * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE.  *
4  * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY *
5  * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE.    *
6  * PLEASE READ THESE TERMS DISTRIBUTING.                            *
7  *                                                                  *
8  * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999             *
9  * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company       *
10  * http://www.xiph.org/                                             *
11  *                                                                  *
12  ********************************************************************
13
14  function: predefined encoding modes
15  author: Monty <xiphmont@mit.edu>
16  modifications by: Monty
17  last modification date: Oct 22 1999
18
19  ********************************************************************/
20
21 #ifndef _V_MODES_H_
22 #define _V_MODES_H_
23
24 #include <stdio.h>
25 #include "codec.h"
26
27 double threshhold_points[THRESH_POINTS]=
28 /* 0Hz                                                             24kHz
29  0   1   2   3   4   5   6   7  8   9  10 11  12 13  14 15 16 17 18 19 */ 
30 {0.,.01,.02,.03,.04,.06,.08,.1,.15,.2,.25,.3,.34,.4,.45,.5,.6,.7,.8,1.};
31
32 vorbis_info predef_modes[]={
33   /* CD quality stereo, no channel coupling */
34
35     /* channels, sample rate,  dummy, dummy, dummy, dummy */
36   { 2, 44100,     0, NULL, 0, NULL, 
37     /* smallblock, largeblock, LPC order (small, large) */
38     {512, 2048}, {16,16}, 
39     /* spectral octaves (small, large), spectral channels */
40     {5,5}, 2,
41     /* thresh sample period, preecho clamp trigger threshhold, range, dummy */
42     128, 4, 2, NULL,
43     /* noise masking curve dB attenuation levels [20] */
44     {-12,-12,-18,-18,-18,-18,-18,-18,-18,-12,
45       -8,-4,0,0,1,2,3,3,4,5},
46     /*{-100,-100,-100,-100,-100,-100,-100,-24,-24,-24,
47       -24,-24,-24,-24,-24,-24,-24,-24,-24,-24}*/
48     /* noise masking scale biases */
49     .95,1.01,.01,
50     /* tone masking curve dB attenuation levels [20] */
51     {-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,
52      -20,-20,-20,-20,-20,-20,-20,-20,-20,-20},
53     /* tone masking rolloff settings (dB per octave), octave bias */
54     90,60,.001,
55     NULL,NULL,NULL},
56   
57 };
58
59 #define predef_mode_max 0
60
61 #endif