media/libvorbis/lib/modes/floor_all.h

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     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-2009             *
     9  * by the Xiph.Org Foundation http://www.xiph.org/                  *
    10  *                                                                  *
    11  ********************************************************************
    13  function: key floor settings
    14  last mod: $Id: floor_all.h 17050 2010-03-26 01:34:42Z xiphmont $
    16  ********************************************************************/
    18 #include "vorbis/codec.h"
    19 #include "backends.h"
    20 #include "books/floor/floor_books.h"
    22 static const static_codebook*const _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 };
    29 static const static_codebook*const _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 };
    36 static const static_codebook*const _floor_128x7_books[]={
    37   &_huff_book_line_128x7_class0,
    38   &_huff_book_line_128x7_class1,
    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 };
    47 static const static_codebook*const _floor_256x7_books[]={
    48   &_huff_book_line_256x7_class0,
    49   &_huff_book_line_256x7_class1,
    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 };
    58 static const static_codebook*const _floor_128x11_books[]={
    59   &_huff_book_line_128x11_class1,
    60   &_huff_book_line_128x11_class2,
    61   &_huff_book_line_128x11_class3,
    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 };
    73 static const static_codebook*const _floor_128x17_books[]={
    74   &_huff_book_line_128x17_class1,
    75   &_huff_book_line_128x17_class2,
    76   &_huff_book_line_128x17_class3,
    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 };
    88 static const static_codebook*const _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 };
    95 static const static_codebook*const _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,
   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 };
   113 static const static_codebook*const _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,
   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 };
   132 static const static_codebook*const _floor_512x17_books[]={
   133   &_huff_book_line_512x17_class1,
   134   &_huff_book_line_512x17_class2,
   135   &_huff_book_line_512x17_class3,
   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 };
   148 static const static_codebook*const _floor_Xx0_books[]={
   149   0
   150 };
   152 static const static_codebook*const *const _floor_books[11]={
   153   _floor_128x4_books,
   154   _floor_256x4_books,
   155   _floor_128x7_books,
   156   _floor_256x7_books,
   157   _floor_128x11_books,
   158   _floor_128x17_books,
   159   _floor_256x4low_books,
   160   _floor_1024x27_books,
   161   _floor_2048x27_books,
   162   _floor_512x17_books,
   163   _floor_Xx0_books,
   164 };
   166 static const vorbis_info_floor1 _floor[11]={
   167   /* 0: 128 x 4 */
   168   {
   169     1,{0},{4},{2},{0},
   170     {{1,2,3,4}},
   171     4,{0,128, 33,8,16,70},
   173     60,30,500,   1.,18.,  128
   174   },
   175   /* 1: 256 x 4 */
   176   {
   177     1,{0},{4},{2},{0},
   178     {{1,2,3,4}},
   179     4,{0,256, 66,16,32,140},
   181     60,30,500,   1.,18.,  256
   182   },
   183   /* 2: 128 x 7 */
   184   {
   185     2,{0,1},{3,4},{2,2},{0,1},
   186     {{-1,2,3,4},{-1,5,6,7}},
   187     4,{0,128, 14,4,58, 2,8,28,90},
   189     60,30,500,   1.,18.,  128
   190   },
   191   /* 3: 256 x 7 */
   192   {
   193     2,{0,1},{3,4},{2,2},{0,1},
   194     {{-1,2,3,4},{-1,5,6,7}},
   195     4,{0,256, 28,8,116, 4,16,56,180},
   197     60,30,500,   1.,18.,  256
   198   },
   199   /* 4: 128 x 11 */
   200   {
   201     4,{0,1,2,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
   202     {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
   204     2,{0,128,  8,33,  4,16,70,  2,6,12,  23,46,90},
   206      60,30,500,   1,18.,  128
   207   },
   208   /* 5: 128 x 17 */
   209   {
   210     6,{0,1,1,2,3,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
   211     {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
   212     2,{0,128,  12,46,  4,8,16,  23,33,70,  2,6,10,  14,19,28,  39,58,90},
   214     60,30,500,    1,18.,  128
   215   },
   216   /* 6: 256 x 4 (low bitrate version) */
   217   {
   218     1,{0},{4},{2},{0},
   219     {{1,2,3,4}},
   220     4,{0,256, 66,16,32,140},
   222     60,30,500,   1.,18.,  256
   223   },
   224   /* 7: 1024 x 27 */
   225   {
   226     8,{0,1,2,2,3,3,4,4},{3,4,3,4,3},{0,1,1,2,2},{-1,0,1,2,3},
   227     {{4},{5,6},{7,8},{-1,9,10,11},{-1,12,13,14}},
   228     2,{0,1024,   93,23,372, 6,46,186,750,  14,33,65, 130,260,556,
   229        3,10,18,28,  39,55,79,111,  158,220,312,  464,650,850},
   231     60,30,500,    3,18.,  1024
   232   },
   233   /* 8: 2048 x 27 */
   234   {
   235     8,{0,1,2,2,3,3,4,4},{3,4,3,4,3},{0,1,1,2,2},{-1,0,1,2,3},
   236     {{4},{5,6},{7,8},{-1,9,10,11},{-1,12,13,14}},
   237     2,{0,2048,   186,46,744, 12,92,372,1500,  28,66,130, 260,520,1112,
   238        6,20,36,56,  78,110,158,222,  316,440,624,  928,1300,1700},
   240     60,30,500,    3,18.,  2048
   241   },
   242   /* 9: 512 x 17 */
   243   {
   244     6,{0,1,1,2,3,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
   245     {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
   246     2,{0,512,  46,186,  16,33,65,  93,130,278,
   247        7,23,39,  55,79,110,  156,232,360},
   249     60,30,500,    1,18.,  512
   250   },
   252   /* 10: X x 0 (LFE floor; edge posts only) */
   253   {
   254     0,{0}, {0},{0},{-1},
   255     {{-1}},
   256     2,{0,12},
   257     60,30,500,   1.,18.,  10
   258   },
   260 };

mercurial