annotate src/libvorbis-1.3.3/lib/modes/floor_all.h @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents 05aa0afa9217
children
rev   line source
Chris@1 1 /********************************************************************
Chris@1 2 * *
Chris@1 3 * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
Chris@1 4 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
Chris@1 5 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
Chris@1 6 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
Chris@1 7 * *
Chris@1 8 * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
Chris@1 9 * by the Xiph.Org Foundation http://www.xiph.org/ *
Chris@1 10 * *
Chris@1 11 ********************************************************************
Chris@1 12
Chris@1 13 function: key floor settings
Chris@1 14 last mod: $Id: floor_all.h 17050 2010-03-26 01:34:42Z xiphmont $
Chris@1 15
Chris@1 16 ********************************************************************/
Chris@1 17
Chris@1 18 #include "vorbis/codec.h"
Chris@1 19 #include "backends.h"
Chris@1 20 #include "books/floor/floor_books.h"
Chris@1 21
Chris@1 22 static const static_codebook*const _floor_128x4_books[]={
Chris@1 23 &_huff_book_line_128x4_class0,
Chris@1 24 &_huff_book_line_128x4_0sub0,
Chris@1 25 &_huff_book_line_128x4_0sub1,
Chris@1 26 &_huff_book_line_128x4_0sub2,
Chris@1 27 &_huff_book_line_128x4_0sub3,
Chris@1 28 };
Chris@1 29 static const static_codebook*const _floor_256x4_books[]={
Chris@1 30 &_huff_book_line_256x4_class0,
Chris@1 31 &_huff_book_line_256x4_0sub0,
Chris@1 32 &_huff_book_line_256x4_0sub1,
Chris@1 33 &_huff_book_line_256x4_0sub2,
Chris@1 34 &_huff_book_line_256x4_0sub3,
Chris@1 35 };
Chris@1 36 static const static_codebook*const _floor_128x7_books[]={
Chris@1 37 &_huff_book_line_128x7_class0,
Chris@1 38 &_huff_book_line_128x7_class1,
Chris@1 39
Chris@1 40 &_huff_book_line_128x7_0sub1,
Chris@1 41 &_huff_book_line_128x7_0sub2,
Chris@1 42 &_huff_book_line_128x7_0sub3,
Chris@1 43 &_huff_book_line_128x7_1sub1,
Chris@1 44 &_huff_book_line_128x7_1sub2,
Chris@1 45 &_huff_book_line_128x7_1sub3,
Chris@1 46 };
Chris@1 47 static const static_codebook*const _floor_256x7_books[]={
Chris@1 48 &_huff_book_line_256x7_class0,
Chris@1 49 &_huff_book_line_256x7_class1,
Chris@1 50
Chris@1 51 &_huff_book_line_256x7_0sub1,
Chris@1 52 &_huff_book_line_256x7_0sub2,
Chris@1 53 &_huff_book_line_256x7_0sub3,
Chris@1 54 &_huff_book_line_256x7_1sub1,
Chris@1 55 &_huff_book_line_256x7_1sub2,
Chris@1 56 &_huff_book_line_256x7_1sub3,
Chris@1 57 };
Chris@1 58 static const static_codebook*const _floor_128x11_books[]={
Chris@1 59 &_huff_book_line_128x11_class1,
Chris@1 60 &_huff_book_line_128x11_class2,
Chris@1 61 &_huff_book_line_128x11_class3,
Chris@1 62
Chris@1 63 &_huff_book_line_128x11_0sub0,
Chris@1 64 &_huff_book_line_128x11_1sub0,
Chris@1 65 &_huff_book_line_128x11_1sub1,
Chris@1 66 &_huff_book_line_128x11_2sub1,
Chris@1 67 &_huff_book_line_128x11_2sub2,
Chris@1 68 &_huff_book_line_128x11_2sub3,
Chris@1 69 &_huff_book_line_128x11_3sub1,
Chris@1 70 &_huff_book_line_128x11_3sub2,
Chris@1 71 &_huff_book_line_128x11_3sub3,
Chris@1 72 };
Chris@1 73 static const static_codebook*const _floor_128x17_books[]={
Chris@1 74 &_huff_book_line_128x17_class1,
Chris@1 75 &_huff_book_line_128x17_class2,
Chris@1 76 &_huff_book_line_128x17_class3,
Chris@1 77
Chris@1 78 &_huff_book_line_128x17_0sub0,
Chris@1 79 &_huff_book_line_128x17_1sub0,
Chris@1 80 &_huff_book_line_128x17_1sub1,
Chris@1 81 &_huff_book_line_128x17_2sub1,
Chris@1 82 &_huff_book_line_128x17_2sub2,
Chris@1 83 &_huff_book_line_128x17_2sub3,
Chris@1 84 &_huff_book_line_128x17_3sub1,
Chris@1 85 &_huff_book_line_128x17_3sub2,
Chris@1 86 &_huff_book_line_128x17_3sub3,
Chris@1 87 };
Chris@1 88 static const static_codebook*const _floor_256x4low_books[]={
Chris@1 89 &_huff_book_line_256x4low_class0,
Chris@1 90 &_huff_book_line_256x4low_0sub0,
Chris@1 91 &_huff_book_line_256x4low_0sub1,
Chris@1 92 &_huff_book_line_256x4low_0sub2,
Chris@1 93 &_huff_book_line_256x4low_0sub3,
Chris@1 94 };
Chris@1 95 static const static_codebook*const _floor_1024x27_books[]={
Chris@1 96 &_huff_book_line_1024x27_class1,
Chris@1 97 &_huff_book_line_1024x27_class2,
Chris@1 98 &_huff_book_line_1024x27_class3,
Chris@1 99 &_huff_book_line_1024x27_class4,
Chris@1 100
Chris@1 101 &_huff_book_line_1024x27_0sub0,
Chris@1 102 &_huff_book_line_1024x27_1sub0,
Chris@1 103 &_huff_book_line_1024x27_1sub1,
Chris@1 104 &_huff_book_line_1024x27_2sub0,
Chris@1 105 &_huff_book_line_1024x27_2sub1,
Chris@1 106 &_huff_book_line_1024x27_3sub1,
Chris@1 107 &_huff_book_line_1024x27_3sub2,
Chris@1 108 &_huff_book_line_1024x27_3sub3,
Chris@1 109 &_huff_book_line_1024x27_4sub1,
Chris@1 110 &_huff_book_line_1024x27_4sub2,
Chris@1 111 &_huff_book_line_1024x27_4sub3,
Chris@1 112 };
Chris@1 113 static const static_codebook*const _floor_2048x27_books[]={
Chris@1 114 &_huff_book_line_2048x27_class1,
Chris@1 115 &_huff_book_line_2048x27_class2,
Chris@1 116 &_huff_book_line_2048x27_class3,
Chris@1 117 &_huff_book_line_2048x27_class4,
Chris@1 118
Chris@1 119 &_huff_book_line_2048x27_0sub0,
Chris@1 120 &_huff_book_line_2048x27_1sub0,
Chris@1 121 &_huff_book_line_2048x27_1sub1,
Chris@1 122 &_huff_book_line_2048x27_2sub0,
Chris@1 123 &_huff_book_line_2048x27_2sub1,
Chris@1 124 &_huff_book_line_2048x27_3sub1,
Chris@1 125 &_huff_book_line_2048x27_3sub2,
Chris@1 126 &_huff_book_line_2048x27_3sub3,
Chris@1 127 &_huff_book_line_2048x27_4sub1,
Chris@1 128 &_huff_book_line_2048x27_4sub2,
Chris@1 129 &_huff_book_line_2048x27_4sub3,
Chris@1 130 };
Chris@1 131
Chris@1 132 static const static_codebook*const _floor_512x17_books[]={
Chris@1 133 &_huff_book_line_512x17_class1,
Chris@1 134 &_huff_book_line_512x17_class2,
Chris@1 135 &_huff_book_line_512x17_class3,
Chris@1 136
Chris@1 137 &_huff_book_line_512x17_0sub0,
Chris@1 138 &_huff_book_line_512x17_1sub0,
Chris@1 139 &_huff_book_line_512x17_1sub1,
Chris@1 140 &_huff_book_line_512x17_2sub1,
Chris@1 141 &_huff_book_line_512x17_2sub2,
Chris@1 142 &_huff_book_line_512x17_2sub3,
Chris@1 143 &_huff_book_line_512x17_3sub1,
Chris@1 144 &_huff_book_line_512x17_3sub2,
Chris@1 145 &_huff_book_line_512x17_3sub3,
Chris@1 146 };
Chris@1 147
Chris@1 148 static const static_codebook*const _floor_Xx0_books[]={
Chris@1 149 0
Chris@1 150 };
Chris@1 151
Chris@1 152 static const static_codebook*const *const _floor_books[11]={
Chris@1 153 _floor_128x4_books,
Chris@1 154 _floor_256x4_books,
Chris@1 155 _floor_128x7_books,
Chris@1 156 _floor_256x7_books,
Chris@1 157 _floor_128x11_books,
Chris@1 158 _floor_128x17_books,
Chris@1 159 _floor_256x4low_books,
Chris@1 160 _floor_1024x27_books,
Chris@1 161 _floor_2048x27_books,
Chris@1 162 _floor_512x17_books,
Chris@1 163 _floor_Xx0_books,
Chris@1 164 };
Chris@1 165
Chris@1 166 static const vorbis_info_floor1 _floor[11]={
Chris@1 167 /* 0: 128 x 4 */
Chris@1 168 {
Chris@1 169 1,{0},{4},{2},{0},
Chris@1 170 {{1,2,3,4}},
Chris@1 171 4,{0,128, 33,8,16,70},
Chris@1 172
Chris@1 173 60,30,500, 1.,18., 128
Chris@1 174 },
Chris@1 175 /* 1: 256 x 4 */
Chris@1 176 {
Chris@1 177 1,{0},{4},{2},{0},
Chris@1 178 {{1,2,3,4}},
Chris@1 179 4,{0,256, 66,16,32,140},
Chris@1 180
Chris@1 181 60,30,500, 1.,18., 256
Chris@1 182 },
Chris@1 183 /* 2: 128 x 7 */
Chris@1 184 {
Chris@1 185 2,{0,1},{3,4},{2,2},{0,1},
Chris@1 186 {{-1,2,3,4},{-1,5,6,7}},
Chris@1 187 4,{0,128, 14,4,58, 2,8,28,90},
Chris@1 188
Chris@1 189 60,30,500, 1.,18., 128
Chris@1 190 },
Chris@1 191 /* 3: 256 x 7 */
Chris@1 192 {
Chris@1 193 2,{0,1},{3,4},{2,2},{0,1},
Chris@1 194 {{-1,2,3,4},{-1,5,6,7}},
Chris@1 195 4,{0,256, 28,8,116, 4,16,56,180},
Chris@1 196
Chris@1 197 60,30,500, 1.,18., 256
Chris@1 198 },
Chris@1 199 /* 4: 128 x 11 */
Chris@1 200 {
Chris@1 201 4,{0,1,2,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
Chris@1 202 {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
Chris@1 203
Chris@1 204 2,{0,128, 8,33, 4,16,70, 2,6,12, 23,46,90},
Chris@1 205
Chris@1 206 60,30,500, 1,18., 128
Chris@1 207 },
Chris@1 208 /* 5: 128 x 17 */
Chris@1 209 {
Chris@1 210 6,{0,1,1,2,3,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
Chris@1 211 {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
Chris@1 212 2,{0,128, 12,46, 4,8,16, 23,33,70, 2,6,10, 14,19,28, 39,58,90},
Chris@1 213
Chris@1 214 60,30,500, 1,18., 128
Chris@1 215 },
Chris@1 216 /* 6: 256 x 4 (low bitrate version) */
Chris@1 217 {
Chris@1 218 1,{0},{4},{2},{0},
Chris@1 219 {{1,2,3,4}},
Chris@1 220 4,{0,256, 66,16,32,140},
Chris@1 221
Chris@1 222 60,30,500, 1.,18., 256
Chris@1 223 },
Chris@1 224 /* 7: 1024 x 27 */
Chris@1 225 {
Chris@1 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},
Chris@1 227 {{4},{5,6},{7,8},{-1,9,10,11},{-1,12,13,14}},
Chris@1 228 2,{0,1024, 93,23,372, 6,46,186,750, 14,33,65, 130,260,556,
Chris@1 229 3,10,18,28, 39,55,79,111, 158,220,312, 464,650,850},
Chris@1 230
Chris@1 231 60,30,500, 3,18., 1024
Chris@1 232 },
Chris@1 233 /* 8: 2048 x 27 */
Chris@1 234 {
Chris@1 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},
Chris@1 236 {{4},{5,6},{7,8},{-1,9,10,11},{-1,12,13,14}},
Chris@1 237 2,{0,2048, 186,46,744, 12,92,372,1500, 28,66,130, 260,520,1112,
Chris@1 238 6,20,36,56, 78,110,158,222, 316,440,624, 928,1300,1700},
Chris@1 239
Chris@1 240 60,30,500, 3,18., 2048
Chris@1 241 },
Chris@1 242 /* 9: 512 x 17 */
Chris@1 243 {
Chris@1 244 6,{0,1,1,2,3,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
Chris@1 245 {{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
Chris@1 246 2,{0,512, 46,186, 16,33,65, 93,130,278,
Chris@1 247 7,23,39, 55,79,110, 156,232,360},
Chris@1 248
Chris@1 249 60,30,500, 1,18., 512
Chris@1 250 },
Chris@1 251
Chris@1 252 /* 10: X x 0 (LFE floor; edge posts only) */
Chris@1 253 {
Chris@1 254 0,{0}, {0},{0},{-1},
Chris@1 255 {{-1}},
Chris@1 256 2,{0,12},
Chris@1 257 60,30,500, 1.,18., 10
Chris@1 258 },
Chris@1 259
Chris@1 260 };