212cc4c11d6f37dbbf52c4fefc7ce5e34bb0c595
[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 15 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), envelope segment size */
40     {5,5}, 64,
41     /* envelope channels, spectrum channels */
42     1,2, 
43     /* preecho clamp trigger threshhold, clamp range, dummy */
44     4, 2, NULL,
45     /* noise masking curve dB attenuation levels [20] */
46     {-12,-12,-18,-18,-18,-18,-18,-10,-5,-2,
47      0,0,0,0,1,2,3,3,4,5},
48     /* noise masking scale biases */
49     .95,1.01,.001,
50     /* tone masking curve dB attenuation levels [20] */
51     {-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,
52      -24,-24,-24,-24,-24,-24,-24,-24,-24,-24},
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