📄 hufftables.h
字号:
/******************************************************************** * * * THIS FILE IS PART OF THE OggTheora 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 Theora SOURCE CODE IS COPYRIGHT (C) 2002-2003 * * by the Xiph.Org Foundation http://www.xiph.org/ * * * ******************************************************************** function: last mod: $Id: hufftables.h 11442 2006-05-27 17:28:08Z giles $ ********************************************************************/#include "huffman.h"#include "codec_internal.h"const unsigned char ExtraBitLengths_VP31[MAX_ENTROPY_TOKENS] = { 0, 0, 0, 2, 3, 4, 12,3, 6, /* EOB and Zero-run tokens. */ 0, 0, 0, 0, /* Very low value tokens. */ 1, 1, 1, 1, 2, 3, 4, 5, 6, 10, /* Other value tokens */ 1, 1, 1, 1, 1, 3, 4, /* Category 1 runs. */ 2, 3, /* Category 2 runs. */};#define NEW_FREQS 0 /* dbm - test new frequency tables */#if NEW_FREQS/* New baseline frequency tables for encoder version >= 2 */const ogg_uint32_t FrequencyCounts_VP3[NUM_HUFF_TABLES][MAX_ENTROPY_TOKENS] = { /* DC Intra bias */ { 272, 84, 31, 36, 10, 2, 1, 92, 1, 701, 872, 410, 478, 630, 502, 417, 356, 582, 824, 985, 965, 697, 606, 125, 119, 40, 3, 9, 15, 10, 73, 37, }, { 311, 107, 41, 51, 18, 4, 2, 120, 1, 824, 1037, 468, 541, 714, 555, 451, 374, 595, 819, 929, 817, 474, 220, 172, 142, 27, 4, 9, 10, 2, 98, 48, }, { 353, 125, 49, 66, 24, 6, 2, 124, 1, 926, 1172, 512, 594, 766, 581, 458, 379, 590, 789, 849, 665, 306, 80, 204, 147, 25, 5, 12, 9, 2, 108, 54, }, { 392, 141, 57, 75, 31, 7, 4, 138, 1, 1050, 1321, 559, 649, 806, 594, 460, 372, 568, 727, 710, 475, 155, 19, 251, 174, 27, 7, 16, 8, 2, 126, 62, }, { 455, 168, 66, 87, 39, 10, 6, 124, 2, 1143, 1455, 592, 692, 824, 596, 453, 361, 542, 657, 592, 329, 78, 5, 269, 184, 27, 9, 19, 7, 2, 127, 66, }, { 544, 201, 80, 102, 45, 11, 6, 99, 1, 1236, 1587, 610, 720, 833, 590, 444, 348, 506, 588, 487, 226, 39, 2, 253, 178, 27, 10, 20, 7, 2, 118, 65, }, { 649, 241, 98, 121, 54, 14, 8, 84, 1, 1349, 1719, 634, 763, 847, 583, 428, 323, 456, 492, 349, 120, 13, 1, 231, 170, 24, 8, 19, 7, 1, 109, 67, }, { 824, 304, 129, 158, 66, 19, 10, 44, 2, 1476, 1925, 644, 794, 838, 559, 396, 289, 392, 384, 223, 53, 3, 1, 159, 121, 17, 6, 16, 6, 2, 69, 53, }, /* DC Inter Bias */ { 534, 174, 71, 68, 10, 1, 1, 68, 119, 1674, 1526, 560, 536, 539, 331, 229, 168, 233, 262, 231, 149, 71, 51, 629, 530, 284, 126, 182, 208, 184, 148, 87, }, { 594, 195, 77, 71, 9, 1, 1, 47, 89, 1723, 1592, 595, 570, 574, 351, 241, 176, 243, 271, 234, 144, 65, 37, 534, 449, 240, 117, 167, 277, 153, 96, 54, }, { 642, 213, 88, 83, 12, 1, 1, 40, 80, 1751, 1630, 621, 600, 598, 367, 250, 183, 251, 276, 235, 143, 62, 28, 485, 397, 212, 110, 161, 193, 141, 84, 48, }, { 693, 258, 114, 131, 27, 3, 1, 44, 79, 1794, 1644, 550, 533, 518, 314, 213, 154, 209, 223, 174, 97, 40, 14, 584, 463, 236, 138, 196, 249, 143, 94, 54, }, { 758, 303, 144, 189, 53, 8, 1, 37, 69, 1842, 1732, 513, 504, 478, 287, 191, 137, 182, 186, 137, 72, 31, 6, 589, 469, 199, 128, 177, 264, 161, 89, 49, }, { 817, 344, 170, 243, 84, 18, 2, 30, 65, 1836, 1733, 518, 511, 477, 281, 185, 130, 169, 166, 117, 59, 25, 3, 572, 450, 185, 121, 173, 232, 146, 80, 43, }, { 865, 389, 204, 322, 139, 42, 9, 26, 51, 1848, 1766, 531, 522, 477, 275, 177, 122, 153, 144, 97, 50, 16, 1, 485, 378, 167, 115, 164, 203, 128, 74, 42, }, { 961, 447, 243, 407, 196, 74, 26, 12, 34, 2003, 1942, 571, 565, 494, 278, 173, 116, 141, 129, 85, 44, 8, 1, 285, 223, 101, 66, 104, 120, 74, 35, 22, }, /* AC INTRA Tables */ /* AC Intra bias group 1 tables */ { 245, 68, 25, 28, 5, 1, 1, 359, 4, 910, 904, 570, 571, 766, 620, 478, 375, 554, 684, 652, 441, 182, 30, 535, 206, 118, 77, 69, 90, 16, 299, 100, }, { 302, 86, 32, 36, 8, 1, 1, 362, 3, 974, 968, 599, 599, 774, 635, 469, 365, 528, 628, 557, 337, 118, 14, 577, 219, 136, 82, 69, 65, 13, 317, 112, }, { 348, 102, 39, 44, 9, 2, 1, 363, 3, 1062, 1055, 607, 609, 787, 626, 457, 348, 494, 550, 452, 233, 60, 2, 636, 244, 159, 92, 74, 68, 12, 327, 119, }, { 400, 121, 47, 51, 11, 2, 1, 366, 3, 1109, 1102, 620, 622, 786, 624, 450, 331, 459, 490, 366, 163, 29, 1, 673, 257, 175, 98, 77, 63, 14, 344, 131, }, { 470, 151, 59, 67, 15, 3, 1, 354, 4, 1198, 1189, 640, 643, 769, 603, 410, 294, 386, 381, 240, 78, 5, 1, 746, 282, 205, 113, 87, 64, 15, 368, 145, }, { 553, 189, 77, 94, 24, 6, 1, 347, 4, 1244, 1232, 650, 653, 739, 551, 360, 249, 303, 261, 129, 24, 1, 1, 828, 313, 245, 135, 108, 77, 17, 403, 169, }, { 701, 253, 109, 140, 42, 12, 2, 350, 6, 1210, 1197, 652, 647, 673, 495, 299, 189, 211, 151, 50, 2, 1, 1, 892, 336, 284, 162, 134, 101, 25, 455, 205, }, { 924, 390, 180, 248, 85, 31, 13, 286, 14, 1242, 1206, 601, 577, 519, 342, 175, 100, 85, 36, 1, 1, 1, 1, 1031, 348, 346, 204, 166, 131, 34, 473, 197, }, /* AC Inter bias group 1 tables */ { 459, 128, 50, 48, 8, 1, 1, 224, 69, 1285, 1227, 587, 565, 573, 406, 261, 180, 228, 213, 130, 47, 11, 3, 1069, 540, 309, 231, 147, 279, 157, 383, 165, }, { 524, 155, 62, 64, 14, 2, 1, 209, 63, 1345, 1288, 523, 507, 515, 358, 225, 153, 183, 160, 87, 29, 7, 2, 1151, 591, 365, 282, 179, 308, 133, 344, 157, }, { 588, 181, 75, 81, 19, 3, 1, 204, 68, 1344, 1288, 517, 503, 505, 346, 216, 141, 169, 139, 71, 21, 5, 1, 1146, 584, 366, 286, 170, 298, 153, 342, 157, }, { 634, 196, 82, 89, 22, 4, 1, 194, 60, 1356, 1312, 515, 502, 489, 331, 199, 127, 145, 111, 51, 14, 3, 1, 1156, 589, 393, 300, 182, 285, 144, 340, 159, }, { 715, 231, 98, 113, 31, 7, 1, 181, 57, 1345, 1303, 498, 490, 448, 291, 166, 101, 106, 75, 30, 9, 1, 1, 1175, 584, 416, 321, 209, 333, 164, 330, 159, }, { 825, 283, 125, 149, 44, 11, 2, 160, 59, 1343, 1308, 476, 469, 405, 247, 131, 75, 76, 47, 18, 5, 1, 1, 1192, 579, 432, 332, 217, 327, 176, 320, 154, }, { 961, 361, 170, 215, 70, 20, 5, 161, 55, 1250, 1218, 463, 460, 354, 204, 101, 52, 48, 28, 11, 1, 1, 1, 1172, 570, 449, 350, 222, 332, 169, 338, 174, }, { 1139, 506, 266, 387, 156, 57, 26, 114, 48, 1192, 1170, 366, 366, 226, 113, 47, 22, 22, 12, 1, 1, 1, 1, 1222, 551, 462, 391, 220, 322, 156, 290, 136, }, /* AC Intra bias group 2 tables */ { 245, 49, 15, 11, 1, 1, 1, 332, 38, 1163, 1162, 685, 683, 813, 623, 437, 318, 421, 424, 288, 109, 14, 1, 729, 303, 179, 112, 87, 199, 46, 364, 135, }, { 305, 67, 22, 17, 2, 1, 1, 329, 39, 1250, 1245, 706, 705, 801, 584, 385, 267, 330, 296, 165, 40, 3, 1, 798, 340, 206, 131, 108, 258, 52, 382, 154, }, { 356, 82, 28, 23, 3, 1, 1, 312, 42, 1340, 1334, 701, 703, 770, 545, 346, 227, 269, 223, 100, 17, 1, 1, 846, 359, 222, 142, 120, 284, 55, 379, 157, }, { 402, 95, 33, 30, 4, 1, 1, 300, 43, 1379, 1371, 710, 714, 724, 486, 289, 182, 202, 144, 47, 5, 1, 1, 908, 394, 250, 161, 141, 350, 60, 391, 171, }, { 499, 122, 44, 42, 7, 1, 1, 267, 45, 1439, 1436, 690, 694, 628, 385, 213, 122, 117, 62, 14, 1, 1, 1, 992, 441, 288, 187, 167, 446, 82, 378, 176, }, { 641, 168, 62, 60, 12, 1, 1, 247, 49, 1435, 1436, 662, 669, 527, 298, 142, 71, 55, 22, 3, 1, 1, 1, 1036, 470, 319, 208, 193, 548, 106, 362, 184, }, { 860, 274, 111, 113, 23, 4, 1, 229, 59, 1331, 1323, 629, 645, 419, 192, 72, 30, 19, 6, 1, 1, 1, 1, 1022, 478, 339, 225, 213, 690, 142, 342, 198, }, { 1059, 437, 218, 285, 84, 17, 2, 152, 44, 1284, 1313, 530, 561, 212, 66, 17, 6, 3, 1, 1, 1, 1, 1, 1034, 485, 346, 226, 207, 819, 185, 248, 145, }, /* AC Inter bias group 2 tables */ { 407, 93, 31, 24, 2, 1, 1, 232, 108, 1365, 1349, 581, 578, 498, 305, 170, 100, 103, 67, 24, 5, 1, 1, 1175, 604, 393, 268, 209, 506, 217, 379, 193, }, { 521, 129, 46, 39, 4, 1, 1, 199, 116, 1419, 1403, 543, 540, 446, 263, 138, 78, 75, 44, 13, 2, 1, 1, 1201, 605, 392, 267, 214, 533, 252, 334, 167, }, { 575, 144, 52, 46, 6, 1, 1, 193, 124, 1394, 1384, 528, 528, 406, 227, 112, 59, 54, 28, 7, 1, 1, 1, 1210, 621, 412, 284, 235, 604, 265, 320, 167, }, { 673, 174, 64, 59, 9, 1, 1, 177, 128, 1392, 1385, 499, 499, 352, 183, 85, 42, 35, 16, 3, 1, 1, 1, 1210, 626, 418, 289, 246, 675, 297, 292, 158, }, { 804, 225, 85, 77, 12, 1, 1, 150, 129, 1387, 1384, 455, 455, 277, 129, 53, 23, 17, 7, 1, 1, 1, 1, 1212, 635, 433, 306, 268, 760, 313, 249, 137, }, { 975, 305, 123, 117, 20, 2, 1, 135, 140, 1312, 1310, 401, 399, 201, 80, 28, 11, 8, 2, 1, 1, 1, 1, 1162, 623, 439, 314, 283, 906, 368, 203, 121, }, { 1205, 452, 208, 231, 50, 6, 1, 123, 149, 1161, 1164, 370, 370, 137, 45, 14, 4, 2, 1, 1, 1, 1, 1, 1047, 562, 413, 300, 277, 1020, 404, 168, 105, }, { 1297, 662, 389, 574, 200, 39, 4, 55, 120, 1069, 1076, 273, 265, 66, 14, 2, 1, 1, 1, 1, 1, 1, 1, 930, 475, 345, 249, 236, 1124, 376, 91, 56, }, /* AC Intra bias group 3 tables */ { 278, 55, 17, 12, 1, 1, 1, 288, 71, 1315, 1304, 725, 724, 733, 506, 307, 195, 225, 175, 77, 12, 1, 1, 904, 414, 246, 170, 126, 290, 205, 423, 185, }, { 382, 80, 26, 21, 2, 1, 1, 239, 64, 1442, 1429, 706, 701, 664, 420, 239, 146, 152, 105, 34, 2, 1, 1, 975, 440, 263, 185, 140, 332, 229, 397, 169, },
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -