| /******************************************************************** |
| * * |
| * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * |
| * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * |
| * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * |
| * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * |
| * * |
| * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * |
| * by the Xiph.Org Foundation http://www.xiph.org/ * |
| * * |
| ******************************************************************** |
| |
| function: key floor settings |
| last mod: $Id: floor_all.h 17050 2010-03-26 01:34:42Z xiphmont $ |
| |
| ********************************************************************/ |
| |
| #include "vorbis/codec.h" |
| #include "backends.h" |
| #include "books/floor/floor_books.h" |
| |
| static const static_codebook*const _floor_128x4_books[]={ |
| &_huff_book_line_128x4_class0, |
| &_huff_book_line_128x4_0sub0, |
| &_huff_book_line_128x4_0sub1, |
| &_huff_book_line_128x4_0sub2, |
| &_huff_book_line_128x4_0sub3, |
| }; |
| static const static_codebook*const _floor_256x4_books[]={ |
| &_huff_book_line_256x4_class0, |
| &_huff_book_line_256x4_0sub0, |
| &_huff_book_line_256x4_0sub1, |
| &_huff_book_line_256x4_0sub2, |
| &_huff_book_line_256x4_0sub3, |
| }; |
| static const static_codebook*const _floor_128x7_books[]={ |
| &_huff_book_line_128x7_class0, |
| &_huff_book_line_128x7_class1, |
| |
| &_huff_book_line_128x7_0sub1, |
| &_huff_book_line_128x7_0sub2, |
| &_huff_book_line_128x7_0sub3, |
| &_huff_book_line_128x7_1sub1, |
| &_huff_book_line_128x7_1sub2, |
| &_huff_book_line_128x7_1sub3, |
| }; |
| static const static_codebook*const _floor_256x7_books[]={ |
| &_huff_book_line_256x7_class0, |
| &_huff_book_line_256x7_class1, |
| |
| &_huff_book_line_256x7_0sub1, |
| &_huff_book_line_256x7_0sub2, |
| &_huff_book_line_256x7_0sub3, |
| &_huff_book_line_256x7_1sub1, |
| &_huff_book_line_256x7_1sub2, |
| &_huff_book_line_256x7_1sub3, |
| }; |
| static const static_codebook*const _floor_128x11_books[]={ |
| &_huff_book_line_128x11_class1, |
| &_huff_book_line_128x11_class2, |
| &_huff_book_line_128x11_class3, |
| |
| &_huff_book_line_128x11_0sub0, |
| &_huff_book_line_128x11_1sub0, |
| &_huff_book_line_128x11_1sub1, |
| &_huff_book_line_128x11_2sub1, |
| &_huff_book_line_128x11_2sub2, |
| &_huff_book_line_128x11_2sub3, |
| &_huff_book_line_128x11_3sub1, |
| &_huff_book_line_128x11_3sub2, |
| &_huff_book_line_128x11_3sub3, |
| }; |
| static const static_codebook*const _floor_128x17_books[]={ |
| &_huff_book_line_128x17_class1, |
| &_huff_book_line_128x17_class2, |
| &_huff_book_line_128x17_class3, |
| |
| &_huff_book_line_128x17_0sub0, |
| &_huff_book_line_128x17_1sub0, |
| &_huff_book_line_128x17_1sub1, |
| &_huff_book_line_128x17_2sub1, |
| &_huff_book_line_128x17_2sub2, |
| &_huff_book_line_128x17_2sub3, |
| &_huff_book_line_128x17_3sub1, |
| &_huff_book_line_128x17_3sub2, |
| &_huff_book_line_128x17_3sub3, |
| }; |
| static const static_codebook*const _floor_256x4low_books[]={ |
| &_huff_book_line_256x4low_class0, |
| &_huff_book_line_256x4low_0sub0, |
| &_huff_book_line_256x4low_0sub1, |
| &_huff_book_line_256x4low_0sub2, |
| &_huff_book_line_256x4low_0sub3, |
| }; |
| static const static_codebook*const _floor_1024x27_books[]={ |
| &_huff_book_line_1024x27_class1, |
| &_huff_book_line_1024x27_class2, |
| &_huff_book_line_1024x27_class3, |
| &_huff_book_line_1024x27_class4, |
| |
| &_huff_book_line_1024x27_0sub0, |
| &_huff_book_line_1024x27_1sub0, |
| &_huff_book_line_1024x27_1sub1, |
| &_huff_book_line_1024x27_2sub0, |
| &_huff_book_line_1024x27_2sub1, |
| &_huff_book_line_1024x27_3sub1, |
| &_huff_book_line_1024x27_3sub2, |
| &_huff_book_line_1024x27_3sub3, |
| &_huff_book_line_1024x27_4sub1, |
| &_huff_book_line_1024x27_4sub2, |
| &_huff_book_line_1024x27_4sub3, |
| }; |
| static const static_codebook*const _floor_2048x27_books[]={ |
| &_huff_book_line_2048x27_class1, |
| &_huff_book_line_2048x27_class2, |
| &_huff_book_line_2048x27_class3, |
| &_huff_book_line_2048x27_class4, |
| |
| &_huff_book_line_2048x27_0sub0, |
| &_huff_book_line_2048x27_1sub0, |
| &_huff_book_line_2048x27_1sub1, |
| &_huff_book_line_2048x27_2sub0, |
| &_huff_book_line_2048x27_2sub1, |
| &_huff_book_line_2048x27_3sub1, |
| &_huff_book_line_2048x27_3sub2, |
| &_huff_book_line_2048x27_3sub3, |
| &_huff_book_line_2048x27_4sub1, |
| &_huff_book_line_2048x27_4sub2, |
| &_huff_book_line_2048x27_4sub3, |
| }; |
| |
| static const static_codebook*const _floor_512x17_books[]={ |
| &_huff_book_line_512x17_class1, |
| &_huff_book_line_512x17_class2, |
| &_huff_book_line_512x17_class3, |
| |
| &_huff_book_line_512x17_0sub0, |
| &_huff_book_line_512x17_1sub0, |
| &_huff_book_line_512x17_1sub1, |
| &_huff_book_line_512x17_2sub1, |
| &_huff_book_line_512x17_2sub2, |
| &_huff_book_line_512x17_2sub3, |
| &_huff_book_line_512x17_3sub1, |
| &_huff_book_line_512x17_3sub2, |
| &_huff_book_line_512x17_3sub3, |
| }; |
| |
| static const static_codebook*const _floor_Xx0_books[]={ |
| 0 |
| }; |
| |
| static const static_codebook*const *const _floor_books[11]={ |
| _floor_128x4_books, |
| _floor_256x4_books, |
| _floor_128x7_books, |
| _floor_256x7_books, |
| _floor_128x11_books, |
| _floor_128x17_books, |
| _floor_256x4low_books, |
| _floor_1024x27_books, |
| _floor_2048x27_books, |
| _floor_512x17_books, |
| _floor_Xx0_books, |
| }; |
| |
| static const vorbis_info_floor1 _floor[11]={ |
| /* 0: 128 x 4 */ |
| { |
| 1,{0},{4},{2},{0}, |
| {{1,2,3,4}}, |
| 4,{0,128, 33,8,16,70}, |
| |
| 60,30,500, 1.,18., 128 |
| }, |
| /* 1: 256 x 4 */ |
| { |
| 1,{0},{4},{2},{0}, |
| {{1,2,3,4}}, |
| 4,{0,256, 66,16,32,140}, |
| |
| 60,30,500, 1.,18., 256 |
| }, |
| /* 2: 128 x 7 */ |
| { |
| 2,{0,1},{3,4},{2,2},{0,1}, |
| {{-1,2,3,4},{-1,5,6,7}}, |
| 4,{0,128, 14,4,58, 2,8,28,90}, |
| |
| 60,30,500, 1.,18., 128 |
| }, |
| /* 3: 256 x 7 */ |
| { |
| 2,{0,1},{3,4},{2,2},{0,1}, |
| {{-1,2,3,4},{-1,5,6,7}}, |
| 4,{0,256, 28,8,116, 4,16,56,180}, |
| |
| 60,30,500, 1.,18., 256 |
| }, |
| /* 4: 128 x 11 */ |
| { |
| 4,{0,1,2,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2}, |
| {{3},{4,5},{-1,6,7,8},{-1,9,10,11}}, |
| |
| 2,{0,128, 8,33, 4,16,70, 2,6,12, 23,46,90}, |
| |
| 60,30,500, 1,18., 128 |
| }, |
| /* 5: 128 x 17 */ |
| { |
| 6,{0,1,1,2,3,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2}, |
| {{3},{4,5},{-1,6,7,8},{-1,9,10,11}}, |
| 2,{0,128, 12,46, 4,8,16, 23,33,70, 2,6,10, 14,19,28, 39,58,90}, |
| |
| 60,30,500, 1,18., 128 |
| }, |
| /* 6: 256 x 4 (low bitrate version) */ |
| { |
| 1,{0},{4},{2},{0}, |
| {{1,2,3,4}}, |
| 4,{0,256, 66,16,32,140}, |
| |
| 60,30,500, 1.,18., 256 |
| }, |
| /* 7: 1024 x 27 */ |
| { |
| 8,{0,1,2,2,3,3,4,4},{3,4,3,4,3},{0,1,1,2,2},{-1,0,1,2,3}, |
| {{4},{5,6},{7,8},{-1,9,10,11},{-1,12,13,14}}, |
| 2,{0,1024, 93,23,372, 6,46,186,750, 14,33,65, 130,260,556, |
| 3,10,18,28, 39,55,79,111, 158,220,312, 464,650,850}, |
| |
| 60,30,500, 3,18., 1024 |
| }, |
| /* 8: 2048 x 27 */ |
| { |
| 8,{0,1,2,2,3,3,4,4},{3,4,3,4,3},{0,1,1,2,2},{-1,0,1,2,3}, |
| {{4},{5,6},{7,8},{-1,9,10,11},{-1,12,13,14}}, |
| 2,{0,2048, 186,46,744, 12,92,372,1500, 28,66,130, 260,520,1112, |
| 6,20,36,56, 78,110,158,222, 316,440,624, 928,1300,1700}, |
| |
| 60,30,500, 3,18., 2048 |
| }, |
| /* 9: 512 x 17 */ |
| { |
| 6,{0,1,1,2,3,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2}, |
| {{3},{4,5},{-1,6,7,8},{-1,9,10,11}}, |
| 2,{0,512, 46,186, 16,33,65, 93,130,278, |
| 7,23,39, 55,79,110, 156,232,360}, |
| |
| 60,30,500, 1,18., 512 |
| }, |
| |
| /* 10: X x 0 (LFE floor; edge posts only) */ |
| { |
| 0,{0}, {0},{0},{-1}, |
| {{-1}}, |
| 2,{0,12}, |
| 60,30,500, 1.,18., 10 |
| }, |
| |
| }; |