vrshoot

diff libs/vorbis/modes/floor_all.h @ 0:b2f14e535253

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Sat, 01 Feb 2014 19:58:19 +0200
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/libs/vorbis/modes/floor_all.h	Sat Feb 01 19:58:19 2014 +0200
     1.3 @@ -0,0 +1,260 @@
     1.4 +/********************************************************************
     1.5 + *                                                                  *
     1.6 + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
     1.7 + * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
     1.8 + * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
     1.9 + * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
    1.10 + *                                                                  *
    1.11 + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009             *
    1.12 + * by the Xiph.Org Foundation http://www.xiph.org/                  *
    1.13 + *                                                                  *
    1.14 + ********************************************************************
    1.15 +
    1.16 + function: key floor settings
    1.17 + last mod: $Id: floor_all.h 17050 2010-03-26 01:34:42Z xiphmont $
    1.18 +
    1.19 + ********************************************************************/
    1.20 +
    1.21 +#include "vorbis/codec.h"
    1.22 +#include "backends.h"
    1.23 +#include "books/floor/floor_books.h"
    1.24 +
    1.25 +static const static_codebook*const _floor_128x4_books[]={
    1.26 +  &_huff_book_line_128x4_class0,
    1.27 +  &_huff_book_line_128x4_0sub0,
    1.28 +  &_huff_book_line_128x4_0sub1,
    1.29 +  &_huff_book_line_128x4_0sub2,
    1.30 +  &_huff_book_line_128x4_0sub3,
    1.31 +};
    1.32 +static const static_codebook*const _floor_256x4_books[]={
    1.33 +  &_huff_book_line_256x4_class0,
    1.34 +  &_huff_book_line_256x4_0sub0,
    1.35 +  &_huff_book_line_256x4_0sub1,
    1.36 +  &_huff_book_line_256x4_0sub2,
    1.37 +  &_huff_book_line_256x4_0sub3,
    1.38 +};
    1.39 +static const static_codebook*const _floor_128x7_books[]={
    1.40 +  &_huff_book_line_128x7_class0,
    1.41 +  &_huff_book_line_128x7_class1,
    1.42 +
    1.43 +  &_huff_book_line_128x7_0sub1,
    1.44 +  &_huff_book_line_128x7_0sub2,
    1.45 +  &_huff_book_line_128x7_0sub3,
    1.46 +  &_huff_book_line_128x7_1sub1,
    1.47 +  &_huff_book_line_128x7_1sub2,
    1.48 +  &_huff_book_line_128x7_1sub3,
    1.49 +};
    1.50 +static const static_codebook*const _floor_256x7_books[]={
    1.51 +  &_huff_book_line_256x7_class0,
    1.52 +  &_huff_book_line_256x7_class1,
    1.53 +
    1.54 +  &_huff_book_line_256x7_0sub1,
    1.55 +  &_huff_book_line_256x7_0sub2,
    1.56 +  &_huff_book_line_256x7_0sub3,
    1.57 +  &_huff_book_line_256x7_1sub1,
    1.58 +  &_huff_book_line_256x7_1sub2,
    1.59 +  &_huff_book_line_256x7_1sub3,
    1.60 +};
    1.61 +static const static_codebook*const _floor_128x11_books[]={
    1.62 +  &_huff_book_line_128x11_class1,
    1.63 +  &_huff_book_line_128x11_class2,
    1.64 +  &_huff_book_line_128x11_class3,
    1.65 +
    1.66 +  &_huff_book_line_128x11_0sub0,
    1.67 +  &_huff_book_line_128x11_1sub0,
    1.68 +  &_huff_book_line_128x11_1sub1,
    1.69 +  &_huff_book_line_128x11_2sub1,
    1.70 +  &_huff_book_line_128x11_2sub2,
    1.71 +  &_huff_book_line_128x11_2sub3,
    1.72 +  &_huff_book_line_128x11_3sub1,
    1.73 +  &_huff_book_line_128x11_3sub2,
    1.74 +  &_huff_book_line_128x11_3sub3,
    1.75 +};
    1.76 +static const static_codebook*const _floor_128x17_books[]={
    1.77 +  &_huff_book_line_128x17_class1,
    1.78 +  &_huff_book_line_128x17_class2,
    1.79 +  &_huff_book_line_128x17_class3,
    1.80 +
    1.81 +  &_huff_book_line_128x17_0sub0,
    1.82 +  &_huff_book_line_128x17_1sub0,
    1.83 +  &_huff_book_line_128x17_1sub1,
    1.84 +  &_huff_book_line_128x17_2sub1,
    1.85 +  &_huff_book_line_128x17_2sub2,
    1.86 +  &_huff_book_line_128x17_2sub3,
    1.87 +  &_huff_book_line_128x17_3sub1,
    1.88 +  &_huff_book_line_128x17_3sub2,
    1.89 +  &_huff_book_line_128x17_3sub3,
    1.90 +};
    1.91 +static const static_codebook*const _floor_256x4low_books[]={
    1.92 +  &_huff_book_line_256x4low_class0,
    1.93 +  &_huff_book_line_256x4low_0sub0,
    1.94 +  &_huff_book_line_256x4low_0sub1,
    1.95 +  &_huff_book_line_256x4low_0sub2,
    1.96 +  &_huff_book_line_256x4low_0sub3,
    1.97 +};
    1.98 +static const static_codebook*const _floor_1024x27_books[]={
    1.99 +  &_huff_book_line_1024x27_class1,
   1.100 +  &_huff_book_line_1024x27_class2,
   1.101 +  &_huff_book_line_1024x27_class3,
   1.102 +  &_huff_book_line_1024x27_class4,
   1.103 +
   1.104 +  &_huff_book_line_1024x27_0sub0,
   1.105 +  &_huff_book_line_1024x27_1sub0,
   1.106 +  &_huff_book_line_1024x27_1sub1,
   1.107 +  &_huff_book_line_1024x27_2sub0,
   1.108 +  &_huff_book_line_1024x27_2sub1,
   1.109 +  &_huff_book_line_1024x27_3sub1,
   1.110 +  &_huff_book_line_1024x27_3sub2,
   1.111 +  &_huff_book_line_1024x27_3sub3,
   1.112 +  &_huff_book_line_1024x27_4sub1,
   1.113 +  &_huff_book_line_1024x27_4sub2,
   1.114 +  &_huff_book_line_1024x27_4sub3,
   1.115 +};
   1.116 +static const static_codebook*const _floor_2048x27_books[]={
   1.117 +  &_huff_book_line_2048x27_class1,
   1.118 +  &_huff_book_line_2048x27_class2,
   1.119 +  &_huff_book_line_2048x27_class3,
   1.120 +  &_huff_book_line_2048x27_class4,
   1.121 +
   1.122 +  &_huff_book_line_2048x27_0sub0,
   1.123 +  &_huff_book_line_2048x27_1sub0,
   1.124 +  &_huff_book_line_2048x27_1sub1,
   1.125 +  &_huff_book_line_2048x27_2sub0,
   1.126 +  &_huff_book_line_2048x27_2sub1,
   1.127 +  &_huff_book_line_2048x27_3sub1,
   1.128 +  &_huff_book_line_2048x27_3sub2,
   1.129 +  &_huff_book_line_2048x27_3sub3,
   1.130 +  &_huff_book_line_2048x27_4sub1,
   1.131 +  &_huff_book_line_2048x27_4sub2,
   1.132 +  &_huff_book_line_2048x27_4sub3,
   1.133 +};
   1.134 +
   1.135 +static const static_codebook*const _floor_512x17_books[]={
   1.136 +  &_huff_book_line_512x17_class1,
   1.137 +  &_huff_book_line_512x17_class2,
   1.138 +  &_huff_book_line_512x17_class3,
   1.139 +
   1.140 +  &_huff_book_line_512x17_0sub0,
   1.141 +  &_huff_book_line_512x17_1sub0,
   1.142 +  &_huff_book_line_512x17_1sub1,
   1.143 +  &_huff_book_line_512x17_2sub1,
   1.144 +  &_huff_book_line_512x17_2sub2,
   1.145 +  &_huff_book_line_512x17_2sub3,
   1.146 +  &_huff_book_line_512x17_3sub1,
   1.147 +  &_huff_book_line_512x17_3sub2,
   1.148 +  &_huff_book_line_512x17_3sub3,
   1.149 +};
   1.150 +
   1.151 +static const static_codebook*const _floor_Xx0_books[]={
   1.152 +  0
   1.153 +};
   1.154 +
   1.155 +static const static_codebook*const *const _floor_books[11]={
   1.156 +  _floor_128x4_books,
   1.157 +  _floor_256x4_books,
   1.158 +  _floor_128x7_books,
   1.159 +  _floor_256x7_books,
   1.160 +  _floor_128x11_books,
   1.161 +  _floor_128x17_books,
   1.162 +  _floor_256x4low_books,
   1.163 +  _floor_1024x27_books,
   1.164 +  _floor_2048x27_books,
   1.165 +  _floor_512x17_books,
   1.166 +  _floor_Xx0_books,
   1.167 +};
   1.168 +
   1.169 +static const vorbis_info_floor1 _floor[11]={
   1.170 +  /* 0: 128 x 4 */
   1.171 +  {
   1.172 +    1,{0},{4},{2},{0},
   1.173 +    {{1,2,3,4}},
   1.174 +    4,{0,128, 33,8,16,70},
   1.175 +
   1.176 +    60,30,500,   1.,18.,  128
   1.177 +  },
   1.178 +  /* 1: 256 x 4 */
   1.179 +  {
   1.180 +    1,{0},{4},{2},{0},
   1.181 +    {{1,2,3,4}},
   1.182 +    4,{0,256, 66,16,32,140},
   1.183 +
   1.184 +    60,30,500,   1.,18.,  256
   1.185 +  },
   1.186 +  /* 2: 128 x 7 */
   1.187 +  {
   1.188 +    2,{0,1},{3,4},{2,2},{0,1},
   1.189 +    {{-1,2,3,4},{-1,5,6,7}},
   1.190 +    4,{0,128, 14,4,58, 2,8,28,90},
   1.191 +
   1.192 +    60,30,500,   1.,18.,  128
   1.193 +  },
   1.194 +  /* 3: 256 x 7 */
   1.195 +  {
   1.196 +    2,{0,1},{3,4},{2,2},{0,1},
   1.197 +    {{-1,2,3,4},{-1,5,6,7}},
   1.198 +    4,{0,256, 28,8,116, 4,16,56,180},
   1.199 +
   1.200 +    60,30,500,   1.,18.,  256
   1.201 +  },
   1.202 +  /* 4: 128 x 11 */
   1.203 +  {
   1.204 +    4,{0,1,2,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
   1.205 +    {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
   1.206 +
   1.207 +    2,{0,128,  8,33,  4,16,70,  2,6,12,  23,46,90},
   1.208 +
   1.209 +     60,30,500,   1,18.,  128
   1.210 +  },
   1.211 +  /* 5: 128 x 17 */
   1.212 +  {
   1.213 +    6,{0,1,1,2,3,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
   1.214 +    {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
   1.215 +    2,{0,128,  12,46,  4,8,16,  23,33,70,  2,6,10,  14,19,28,  39,58,90},
   1.216 +
   1.217 +    60,30,500,    1,18.,  128
   1.218 +  },
   1.219 +  /* 6: 256 x 4 (low bitrate version) */
   1.220 +  {
   1.221 +    1,{0},{4},{2},{0},
   1.222 +    {{1,2,3,4}},
   1.223 +    4,{0,256, 66,16,32,140},
   1.224 +
   1.225 +    60,30,500,   1.,18.,  256
   1.226 +  },
   1.227 +  /* 7: 1024 x 27 */
   1.228 +  {
   1.229 +    8,{0,1,2,2,3,3,4,4},{3,4,3,4,3},{0,1,1,2,2},{-1,0,1,2,3},
   1.230 +    {{4},{5,6},{7,8},{-1,9,10,11},{-1,12,13,14}},
   1.231 +    2,{0,1024,   93,23,372, 6,46,186,750,  14,33,65, 130,260,556,
   1.232 +       3,10,18,28,  39,55,79,111,  158,220,312,  464,650,850},
   1.233 +
   1.234 +    60,30,500,    3,18.,  1024
   1.235 +  },
   1.236 +  /* 8: 2048 x 27 */
   1.237 +  {
   1.238 +    8,{0,1,2,2,3,3,4,4},{3,4,3,4,3},{0,1,1,2,2},{-1,0,1,2,3},
   1.239 +    {{4},{5,6},{7,8},{-1,9,10,11},{-1,12,13,14}},
   1.240 +    2,{0,2048,   186,46,744, 12,92,372,1500,  28,66,130, 260,520,1112,
   1.241 +       6,20,36,56,  78,110,158,222,  316,440,624,  928,1300,1700},
   1.242 +
   1.243 +    60,30,500,    3,18.,  2048
   1.244 +  },
   1.245 +  /* 9: 512 x 17 */
   1.246 +  {
   1.247 +    6,{0,1,1,2,3,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
   1.248 +    {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
   1.249 +    2,{0,512,  46,186,  16,33,65,  93,130,278,
   1.250 +       7,23,39,  55,79,110,  156,232,360},
   1.251 +
   1.252 +    60,30,500,    1,18.,  512
   1.253 +  },
   1.254 +
   1.255 +  /* 10: X x 0 (LFE floor; edge posts only) */
   1.256 +  {
   1.257 +    0,{0}, {0},{0},{-1},
   1.258 +    {{-1}},
   1.259 +    2,{0,12},
   1.260 +    60,30,500,   1.,18.,  10
   1.261 +  },
   1.262 +
   1.263 +};