Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/libvorbis-1.2.0/lib/modes/floor_all.h @ 16

Last change on this file since 16 was 16, checked in by landauf, 16 years ago

added libvorbis

File size: 7.0 KB
Line 
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-2007             *
9 * by the Xiph.Org Foundation http://www.xiph.org/                  *
10 *                                                                  *
11 ********************************************************************
12
13 function: key floor settings
14 last mod: $Id: floor_all.h 13293 2007-07-24 00:09:47Z xiphmont $
15
16 ********************************************************************/
17
18#include "vorbis/codec.h"
19#include "backends.h"
20#include "books/floor/floor_books.h"
21
22static static_codebook *_floor_128x4_books[]={
23  &_huff_book_line_128x4_class0,
24  &_huff_book_line_128x4_0sub0,
25  &_huff_book_line_128x4_0sub1,
26  &_huff_book_line_128x4_0sub2,
27  &_huff_book_line_128x4_0sub3,
28};
29static static_codebook *_floor_256x4_books[]={
30  &_huff_book_line_256x4_class0,
31  &_huff_book_line_256x4_0sub0,
32  &_huff_book_line_256x4_0sub1,
33  &_huff_book_line_256x4_0sub2,
34  &_huff_book_line_256x4_0sub3,
35};
36static static_codebook *_floor_128x7_books[]={
37  &_huff_book_line_128x7_class0,
38  &_huff_book_line_128x7_class1,
39 
40  &_huff_book_line_128x7_0sub1,
41  &_huff_book_line_128x7_0sub2,
42  &_huff_book_line_128x7_0sub3,
43  &_huff_book_line_128x7_1sub1,
44  &_huff_book_line_128x7_1sub2,
45  &_huff_book_line_128x7_1sub3, 
46};
47static static_codebook *_floor_256x7_books[]={
48  &_huff_book_line_256x7_class0,
49  &_huff_book_line_256x7_class1,
50 
51  &_huff_book_line_256x7_0sub1,
52  &_huff_book_line_256x7_0sub2,
53  &_huff_book_line_256x7_0sub3,
54  &_huff_book_line_256x7_1sub1,
55  &_huff_book_line_256x7_1sub2,
56  &_huff_book_line_256x7_1sub3, 
57};
58static static_codebook *_floor_128x11_books[]={
59  &_huff_book_line_128x11_class1,
60  &_huff_book_line_128x11_class2,
61  &_huff_book_line_128x11_class3,
62 
63  &_huff_book_line_128x11_0sub0,
64  &_huff_book_line_128x11_1sub0,
65  &_huff_book_line_128x11_1sub1,
66  &_huff_book_line_128x11_2sub1,
67  &_huff_book_line_128x11_2sub2,
68  &_huff_book_line_128x11_2sub3, 
69  &_huff_book_line_128x11_3sub1,
70  &_huff_book_line_128x11_3sub2,
71  &_huff_book_line_128x11_3sub3, 
72};
73static static_codebook *_floor_128x17_books[]={
74  &_huff_book_line_128x17_class1,
75  &_huff_book_line_128x17_class2,
76  &_huff_book_line_128x17_class3,
77 
78  &_huff_book_line_128x17_0sub0,
79  &_huff_book_line_128x17_1sub0,
80  &_huff_book_line_128x17_1sub1,
81  &_huff_book_line_128x17_2sub1,
82  &_huff_book_line_128x17_2sub2,
83  &_huff_book_line_128x17_2sub3, 
84  &_huff_book_line_128x17_3sub1,
85  &_huff_book_line_128x17_3sub2,
86  &_huff_book_line_128x17_3sub3, 
87};
88static static_codebook *_floor_256x4low_books[]={
89  &_huff_book_line_256x4low_class0,
90  &_huff_book_line_256x4low_0sub0,
91  &_huff_book_line_256x4low_0sub1,
92  &_huff_book_line_256x4low_0sub2,
93  &_huff_book_line_256x4low_0sub3,
94};
95static static_codebook *_floor_1024x27_books[]={
96  &_huff_book_line_1024x27_class1,
97  &_huff_book_line_1024x27_class2,
98  &_huff_book_line_1024x27_class3,
99  &_huff_book_line_1024x27_class4,
100 
101  &_huff_book_line_1024x27_0sub0,
102  &_huff_book_line_1024x27_1sub0,
103  &_huff_book_line_1024x27_1sub1,
104  &_huff_book_line_1024x27_2sub0,
105  &_huff_book_line_1024x27_2sub1,
106  &_huff_book_line_1024x27_3sub1,
107  &_huff_book_line_1024x27_3sub2,
108  &_huff_book_line_1024x27_3sub3,
109  &_huff_book_line_1024x27_4sub1,
110  &_huff_book_line_1024x27_4sub2,
111  &_huff_book_line_1024x27_4sub3,
112};
113static static_codebook *_floor_2048x27_books[]={
114  &_huff_book_line_2048x27_class1,
115  &_huff_book_line_2048x27_class2,
116  &_huff_book_line_2048x27_class3,
117  &_huff_book_line_2048x27_class4,
118 
119  &_huff_book_line_2048x27_0sub0,
120  &_huff_book_line_2048x27_1sub0,
121  &_huff_book_line_2048x27_1sub1,
122  &_huff_book_line_2048x27_2sub0,
123  &_huff_book_line_2048x27_2sub1,
124  &_huff_book_line_2048x27_3sub1,
125  &_huff_book_line_2048x27_3sub2,
126  &_huff_book_line_2048x27_3sub3,
127  &_huff_book_line_2048x27_4sub1,
128  &_huff_book_line_2048x27_4sub2,
129  &_huff_book_line_2048x27_4sub3,
130};
131
132static static_codebook *_floor_512x17_books[]={
133  &_huff_book_line_512x17_class1,
134  &_huff_book_line_512x17_class2,
135  &_huff_book_line_512x17_class3,
136 
137  &_huff_book_line_512x17_0sub0,
138  &_huff_book_line_512x17_1sub0,
139  &_huff_book_line_512x17_1sub1,
140  &_huff_book_line_512x17_2sub1,
141  &_huff_book_line_512x17_2sub2,
142  &_huff_book_line_512x17_2sub3, 
143  &_huff_book_line_512x17_3sub1,
144  &_huff_book_line_512x17_3sub2,
145  &_huff_book_line_512x17_3sub3, 
146};
147
148static static_codebook **_floor_books[10]={
149  _floor_128x4_books,
150  _floor_256x4_books,
151  _floor_128x7_books,
152  _floor_256x7_books,
153  _floor_128x11_books,
154  _floor_128x17_books,
155  _floor_256x4low_books,
156  _floor_1024x27_books,
157  _floor_2048x27_books,
158  _floor_512x17_books,
159};
160
161static vorbis_info_floor1 _floor[10]={
162  /* 128 x 4 */
163  {
164    1,{0},{4},{2},{0},
165    {{1,2,3,4}},
166    4,{0,128, 33,8,16,70},
167
168    60,30,500,   1.,18.,  -1
169  },
170  /* 256 x 4 */
171  {
172    1,{0},{4},{2},{0},
173    {{1,2,3,4}},
174    4,{0,256, 66,16,32,140},
175
176    60,30,500,   1.,18.,  -1
177  },
178  /* 128 x 7 */
179  {
180    2,{0,1},{3,4},{2,2},{0,1},
181    {{-1,2,3,4},{-1,5,6,7}},
182    4,{0,128, 14,4,58, 2,8,28,90},
183   
184    60,30,500,   1.,18.,  -1
185  },
186  /* 256 x 7 */
187  {
188    2,{0,1},{3,4},{2,2},{0,1},
189    {{-1,2,3,4},{-1,5,6,7}},
190    4,{0,256, 28,8,116, 4,16,56,180},
191   
192    60,30,500,   1.,18.,  -1
193  },
194  /* 128 x 11 */
195  {
196    4,{0,1,2,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
197    {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
198   
199    2,{0,128,  8,33,  4,16,70,  2,6,12,  23,46,90},
200   
201     60,30,500,   1,18.,  -1
202  },
203  /* 128 x 17 */
204  {
205    6,{0,1,1,2,3,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
206    {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
207    2,{0,128,  12,46,  4,8,16,  23,33,70,  2,6,10,  14,19,28,  39,58,90},
208   
209    60,30,500,    1,18.,  -1 
210  },
211  /* 256 x 4 (low bitrate version) */
212  {
213    1,{0},{4},{2},{0},
214    {{1,2,3,4}},
215    4,{0,256, 66,16,32,140},
216
217    60,30,500,   1.,18.,  -1
218  },
219  /* 1024 x 27 */
220  {
221    8,{0,1,2,2,3,3,4,4},{3,4,3,4,3},{0,1,1,2,2},{-1,0,1,2,3},
222    {{4},{5,6},{7,8},{-1,9,10,11},{-1,12,13,14}},
223    2,{0,1024,   93,23,372, 6,46,186,750,  14,33,65, 130,260,556,
224       3,10,18,28,  39,55,79,111,  158,220,312,  464,650,850},
225   
226    60,30,500,    3,18.,  -1 /* lowpass */
227  },
228  /* 2048 x 27 */
229  {
230    8,{0,1,2,2,3,3,4,4},{3,4,3,4,3},{0,1,1,2,2},{-1,0,1,2,3},
231    {{4},{5,6},{7,8},{-1,9,10,11},{-1,12,13,14}},
232    2,{0,2048,   186,46,744, 12,92,372,1500,  28,66,130, 260,520,1112,
233       6,20,36,56,  78,110,158,222,  316,440,624,  928,1300,1700},
234   
235    60,30,500,    3,18.,  -1 /* lowpass */
236  },
237  /* 512 x 17 */
238  {
239    6,{0,1,1,2,3,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
240    {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
241    2,{0,512,  46,186,  16,33,65,  93,130,278, 
242       7,23,39,  55,79,110,  156,232,360},
243   
244    60,30,500,    1,18.,  -1 /* lowpass! */
245  },
246
247};
248
Note: See TracBrowser for help on using the repository browser.