diff options
author | Monty <xiphmont@xiph.org> | 2001-01-19 16:04:02 +0000 |
---|---|---|
committer | Monty <xiphmont@xiph.org> | 2001-01-19 16:04:02 +0000 |
commit | 0a0723008659d40975042ed8672fb5229271939e (patch) | |
tree | 1116dcdf5ece871697a9987a184ec74980bac3e0 | |
parent | e8961cc2f7db6225d4414d08c949858c0707b7ee (diff) | |
download | libvorbis-git-0a0723008659d40975042ed8672fb5229271939e.tar.gz |
Initial tuning/cut for beta 4
svn path=/branches/monty_branch_20001226/vorbis/; revision=1183
99 files changed, 20126 insertions, 3429 deletions
diff --git a/examples/encoder_example.c b/examples/encoder_example.c index cb5da7df..b967f256 100644 --- a/examples/encoder_example.c +++ b/examples/encoder_example.c @@ -12,7 +12,7 @@ ******************************************************************** function: simple example encoder - last mod: $Id: encoder_example.c,v 1.17.2.1 2000/12/27 23:46:33 xiphmont Exp $ + last mod: $Id: encoder_example.c,v 1.17.2.2 2001/01/19 16:03:33 xiphmont Exp $ ********************************************************************/ @@ -80,7 +80,7 @@ int main(){ /* choose an encoding mode */ /* (mode 0: 44kHz stereo uncoupled, roughly 128kbps VBR) */ vorbis_info_init(&vi); - vorbis_encode_init(&vi,2,44100, -1, 128000, -1); + vorbis_encode_init(&vi,2,44100, -1, 350000, -1); /* add a comment */ vorbis_comment_init(&vc); diff --git a/lib/analysis.c b/lib/analysis.c index bd6029fe..78451682 100644 --- a/lib/analysis.c +++ b/lib/analysis.c @@ -12,7 +12,7 @@ ******************************************************************** function: single-block PCM analysis mode dispatch - last mod: $Id: analysis.c,v 1.40.2.1 2000/12/27 23:46:34 xiphmont Exp $ + last mod: $Id: analysis.c,v 1.40.2.2 2001/01/19 16:03:33 xiphmont Exp $ ********************************************************************/ @@ -55,9 +55,9 @@ int vorbis_analysis(vorbis_block *vb,ogg_packet *op){ if(vb->W){ oggpack_write(&vb->opb,vb->lW,1); oggpack_write(&vb->opb,vb->nW,1); - fprintf(stderr,"*"); + /*fprintf(stderr,"*"); }else{ - fprintf(stderr,"."); + fprintf(stderr,".");*/ } if((ret=_mapping_P[type]->forward(vb,b->mode[mode]))) diff --git a/lib/books/lsp12_0.vqh b/lib/books/lsp12_0.vqh index cfcf4600..081bf1fc 100644 --- a/lib/books/lsp12_0.vqh +++ b/lib/books/lsp12_0.vqh @@ -20,326 +20,143 @@ static long _vq_quantlist_lsp12_0[] = { 0, - 3, - 6, - 9, - 12, + 5, + 10, 15, - 18, - 21, - 24, - 27, + 20, + 25, 30, - 34, - 38, - 42, - 46, - 51, - 56, - 61, - 69, + 35, + 40, + 45, + 50, + 55, + 60, + 65, + 68, + 71, + 74, + 77, + 80, + 83, + 86, 89, - 114, - 139, - 164, - 189, + 92, + 95, + 98, + 101, + 104, + 107, + 110, + 115, + 120, + 125, + 130, + 135, + 145, + 160, + 180, + 205, + 235, + 270, + 310, + 355, + 405, }; static long _vq_lengthlist_lsp12_0[] = { - 11,11,11,11,11,11,11,11, 9,11,11,11,11,11,11,11, - 11,11,11,11,11,10,11,11,11,11,11,10,11,11,11,11, - 10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, - 11,11,10,11,11,11,11,10,11, 9, 8, 9,11,11,11,11, - 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, 9, - 9, 8,10,11,11,11,11,11,11,11,11,10,11,11,11,11, - 11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,11, - 10,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11, - 11,11,10,11,11,11,10,10,11,10,10,11,11,11,11, 9, - 11,11, 9, 8,10,11,11,11,11,11, 9,10,11, 9,11,11, - 11, 8, 9,11,11,11,11,11,11,11, 8, 9,11,11,11,11, - 10, 9, 9,10,11,10,10, 9,11, 8, 9,11,11,11,11,11, - 11,11,11,11,11, 9,11,11,11, 7,10, 8, 9,11,10, 9, - 9, 7, 9,11,11,11,11,11,11,11,10,10,11, 9,10,11, - 9, 7, 7, 7, 8,10,10, 9, 8, 7, 9,10,10,10,10,10, - 10,10,10,10,10,10, 9, 9, 7, 6, 6, 6, 7, 9, 7, 9, - 8, 8, 9,10,10,10,10,10,10,10,10,10, 9, 9, 9,10, - 7, 6, 5, 6, 6, 8, 6, 9, 8, 9,10,10,10,10,10,10, - 10,10,10,10,10, 9, 8, 9, 8, 6, 5, 6, 6, 6, 8, 8, - 9, 9,10,10,10,10,10,10, 8, 9,10,10,10,10, 9,10, - 9, 8, 6, 5, 6, 7, 9,10,10,10, 9,10,10,10,10,10, - 9,10,10,10,10, 9,10, 9, 9, 8, 7, 7, 6, 9, 9, 9, - 9,10,10,10,10,10,10,10, 9, 9,10,10,10,10, 9, 9, - 9,10, 9, 8, 8,10, 9,10,10,10,10,10,10,10,10,10, - 9,10,10,10,10,10,10,10,10, 9,10, 9,10, 8,10,10, - 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, - 9, 9, 9, 9, 9,10, 9,10,10,10,10,10,10,10,10,10, - 10,10,10,10,10,10,10,10,10,10,10, 9,10,10,10,10, - 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, - 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, - 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, - 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, - 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, - 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, - 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, - 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, + 13,14,14,12,13,12,13,13,11,11,10, 9, 8, 6, 6, 6, + 5, 5, 4, 3, 3, 3, 3, 4, 4, 5, 5, 5, 6, 4, 6, 8, + 10,11,13,13,14,12,14,12,13,13,12, }; static long _vq_pigeonmap_lsp12_0[] = { 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, + 1, 1, 1, 1, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, + 7, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, }; static long _vq_fitlist_lsp12_0[] = { - 0, 1, 24, 2, 25, 3, 26, 48, - 27, 50, 49, 73, 72, 51, 74, 3, - 4, 27, 5, 28, 6, 29, 26, 50, - 51, 52, 30, 53, 75, 76, 54, 77, - 6, 7, 30, 8, 31, 9, 32, 29, - 53, 54, 55, 33, 56, 78, 79, 57, - 80, 9, 10, 33, 11, 34, 12, 35, - 58, 57, 59, 36, 81, 82, 60, 83, - 12, 13, 36, 37, 14, 38, 15, 62, - 60, 61, 39, 86, 84, 85, 63, 110, - 15, 39, 16, 40, 17, 41, 65, 18, - 63, 64, 89, 87, 88, 42, 113, 111, - 112, 66, 18, 42, 66, 90, 114, 138, - 19, 43, 67, 91, 115, 139, 163, 20, - 44, 68, 92, 116, 140, 164, 187, 162, - 188, 186, 211, 212, 21, 92, 116, 140, - 164, 21, 45, 69, 93, 117, 141, 165, - 22, 46, 70, 94, 118, 142, 166, 23, - 188, 189, 190, 47, 71, 213, 214, 72, - 49, 73, 96, 50, 74, 51, 75, 98, - 97, 99, 122, 120, 121, 145, 123, 146, - 144, 51, 74, 75, 98, 52, 76, 99, - 53, 77, 100, 54, 78, 101, 123, 124, - 102, 125, 122, 146, 147, 126, 149, 148, - 54, 77, 78, 101, 55, 79, 56, 80, - 103, 57, 81, 102, 104, 126, 127, 105, - 128, 125, 149, 150, 151, 129, 152, 57, - 81, 58, 82, 59, 106, 83, 60, 105, - 107, 84, 104, 130, 129, 108, 131, 153, - 154, 132, 155, 60, 84, 61, 108, 85, - 62, 86, 109, 110, 39, 63, 87, 134, - 132, 133, 111, 158, 156, 157, 135, 182, - 63, 87, 40, 64, 111, 88, 112, 41, - 65, 89, 113, 42, 66, 137, 135, 136, - 90, 161, 159, 160, 114, 185, 183, 184, - 138, 42, 66, 90, 114, 138, 162, 186, - 19, 43, 67, 91, 115, 139, 163, 187, - 211, 20, 44, 68, 92, 116, 140, 164, - 188, 212, 21, 235, 236, 210, 45, 259, - 260, 234, 69, 258, 283, 93, 284, 21, - 45, 69, 93, 117, 141, 165, 189, 213, - 22, 46, 70, 94, 118, 142, 166, 190, - 214, 23, 47, 71, 95, 237, 238, 119, - 261, 262, 143, 285, 286, 144, 121, 145, - 168, 122, 146, 123, 147, 170, 169, 192, - 193, 171, 194, 195, 218, 216, 217, 123, - 146, 147, 170, 124, 148, 125, 149, 172, - 126, 150, 173, 171, 195, 196, 174, 197, - 194, 218, 219, 220, 198, 221, 126, 149, - 150, 173, 127, 151, 128, 152, 175, 129, - 153, 176, 174, 198, 199, 177, 200, 197, - 221, 223, 201, 222, 224, 129, 153, 130, - 154, 131, 178, 155, 132, 177, 179, 156, - 201, 202, 180, 203, 225, 226, 227, 204, - 132, 156, 133, 180, 157, 134, 158, 181, - 182, 111, 135, 159, 206, 204, 205, 183, - 230, 228, 229, 207, 254, 135, 159, 112, - 136, 183, 160, 184, 113, 137, 161, 185, - 114, 138, 209, 207, 208, 162, 233, 231, - 232, 186, 257, 255, 256, 210, 114, 138, - 162, 186, 210, 234, 258, 67, 43, 91, - 115, 139, 163, 187, 211, 235, 259, 283, - 20, 44, 68, 92, 116, 140, 164, 188, - 212, 236, 260, 284, 21, 45, 69, 93, - 117, 282, 307, 308, 141, 306, 331, 332, - 165, 45, 69, 93, 117, 141, 165, 189, - 213, 237, 261, 285, 22, 46, 70, 94, - 118, 142, 166, 190, 214, 238, 262, 286, - 23, 47, 71, 95, 119, 143, 167, 309, - 310, 191, 215, 333, 334, 216, 193, 217, - 194, 218, 195, 219, 242, 240, 241, 264, - 265, 243, 266, 267, 288, 289, 290, 195, - 218, 219, 242, 196, 220, 197, 221, 244, - 198, 222, 245, 243, 267, 268, 246, 269, - 266, 270, 291, 292, 293, 290, 198, 222, - 199, 223, 200, 224, 247, 201, 225, 248, - 246, 270, 271, 249, 272, 269, 273, 294, - 295, 296, 293, 201, 225, 202, 226, 203, - 250, 227, 204, 249, 251, 228, 252, 273, - 274, 275, 272, 298, 276, 299, 297, 296, - 204, 228, 205, 252, 229, 206, 230, 253, - 254, 183, 207, 231, 278, 276, 277, 255, - 300, 301, 302, 279, 207, 231, 184, 208, - 255, 232, 256, 185, 209, 233, 257, 186, - 210, 281, 234, 279, 280, 258, 305, 303, - 304, 282, 329, 186, 210, 234, 258, 282, - 306, 139, 115, 163, 187, 211, 235, 259, - 283, 307, 331, 92, 116, 140, 164, 188, - 212, 236, 260, 284, 308, 332, 93, 117, - 141, 165, 330, 355, 189, 356, 213, 354, - 379, 380, 237, 117, 141, 165, 189, 213, - 237, 261, 285, 309, 333, 94, 118, 142, - 166, 190, 214, 238, 262, 286, 310, 334, - 95, 119, 143, 167, 191, 215, 239, 357, - 358, 263, 287, 381, 382, 311, 288, 265, - 289, 266, 290, 267, 291, 312, 313, 314, - 315, 336, 337, 338, 339, 361, 362, 360, - 267, 290, 291, 268, 292, 269, 293, 270, - 294, 315, 316, 317, 314, 318, 339, 340, - 341, 338, 342, 365, 362, 363, 364, 270, - 293, 294, 271, 295, 272, 296, 273, 297, - 318, 319, 320, 317, 321, 342, 343, 344, - 341, 345, 366, 367, 365, 368, 273, 297, - 274, 298, 275, 299, 276, 300, 323, 321, - 322, 320, 346, 324, 347, 345, 344, 348, - 370, 371, 368, 369, 276, 300, 277, 301, - 278, 302, 325, 279, 326, 324, 303, 348, - 349, 350, 327, 372, 373, 351, 374, 279, - 303, 280, 327, 304, 281, 328, 305, 329, - 258, 282, 306, 353, 351, 352, 330, 377, - 375, 376, 354, 282, 306, 330, 354, 235, - 378, 211, 259, 283, 307, 331, 355, 379, - 188, 212, 236, 260, 284, 308, 332, 356, - 380, 189, 213, 237, 261, 403, 404, 285, - 402, 427, 428, 309, 426, 189, 213, 237, - 261, 285, 309, 333, 357, 381, 190, 214, - 238, 262, 286, 310, 334, 358, 382, 191, - 215, 239, 263, 287, 311, 405, 406, 335, - 429, 430, 359, 337, 360, 338, 361, 339, - 362, 363, 386, 384, 385, 387, 408, 410, - 409, 411, 432, 433, 434, 339, 340, 362, - 363, 341, 364, 342, 365, 366, 389, 386, - 387, 388, 390, 411, 413, 410, 412, 414, - 434, 435, 436, 437, 342, 343, 365, 366, - 344, 367, 345, 368, 369, 390, 391, 389, - 392, 393, 413, 414, 415, 416, 417, 437, - 438, 439, 440, 345, 346, 368, 369, 370, - 347, 371, 348, 372, 394, 395, 392, 393, - 396, 418, 419, 417, 416, 420, 440, 441, - 442, 443, 348, 372, 349, 373, 350, 374, - 351, 396, 397, 375, 398, 420, 421, 399, - 422, 423, 446, 443, 444, 445, 351, 375, - 352, 376, 353, 377, 330, 354, 401, 398, - 399, 400, 378, 425, 423, 424, 402, 449, - 426, 447, 448, 446, 354, 378, 402, 426, - 307, 331, 355, 379, 403, 427, 284, 308, - 332, 356, 380, 404, 428, 285, 309, 333, - 451, 452, 357, 450, 381, 405, 285, 309, - 333, 357, 381, 405, 429, 286, 310, 334, - 358, 382, 406, 430, 287, 311, 335, 359, - 383, 453, 454, 407, 431, 455, 409, 432, - 433, 410, 434, 411, 435, 436, 456, 437, - 457, 458, 459, 460, 461, 480, 481, 482, - 483, 484, 485, 504, 505, 412, 434, 435, - 413, 436, 437, 414, 438, 439, 457, 458, - 459, 440, 460, 461, 462, 463, 464, 480, - 481, 482, 483, 484, 485, 486, 487, 488, - 504, 505, 506, 507, 508, 415, 437, 438, - 439, 416, 440, 417, 441, 442, 460, 461, - 462, 463, 464, 465, 466, 467, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 507, - 508, 509, 510, 511, 418, 440, 441, 442, - 419, 420, 443, 444, 445, 463, 464, 465, - 466, 467, 468, 469, 486, 487, 488, 489, - 490, 470, 491, 492, 493, 510, 511, 512, - 513, 514, 494, 420, 421, 443, 444, 422, - 445, 446, 423, 447, 467, 468, 469, 448, - 466, 470, 471, 472, 490, 491, 492, 493, - 494, 495, 496, 514, 515, 516, 517, 423, - 446, 447, 424, 448, 425, 449, 426, 450, - 472, 470, 471, 473, 469, 474, 495, 493, - 494, 496, 497, 498, 519, 517, 518, 520, - 521, 426, 450, 379, 403, 427, 451, 380, - 404, 428, 452, 381, 405, 475, 476, 429, - 474, 473, 453, 499, 500, 477, 498, 497, - 523, 501, 524, 522, 521, 381, 405, 429, - 453, 382, 406, 430, 454, 383, 407, 431, - 455, 477, 478, 479, 501, 502, 503, 526, - 525, 482, 483, 484, 504, 485, 505, 506, - 507, 508, 509, 528, 529, 530, 531, 532, - 533, 552, 553, 554, 555, 485, 504, 505, - 506, 486, 487, 507, 488, 508, 509, 510, - 511, 512, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 552, 553, 554, 555, 556, - 557, 558, 488, 507, 508, 489, 509, 490, - 510, 511, 491, 512, 513, 514, 515, 531, - 532, 533, 534, 535, 536, 537, 538, 539, - 555, 556, 557, 558, 559, 560, 561, 491, - 510, 511, 512, 492, 513, 493, 514, 515, - 516, 517, 534, 535, 536, 537, 538, 518, - 539, 540, 541, 558, 559, 560, 561, 562, - 542, 563, 564, 493, 494, 514, 515, 516, - 495, 517, 496, 518, 519, 520, 538, 539, - 540, 541, 542, 543, 544, 562, 563, 564, - 565, 566, 567, 496, 517, 518, 497, 519, - 520, 498, 521, 522, 543, 541, 542, 544, - 545, 546, 567, 565, 566, 568, 569, 570, - 521, 522, 499, 523, 500, 524, 501, 547, - 525, 548, 546, 545, 571, 549, 572, 570, - 569, 501, 525, 502, 526, 503, 527, 550, - 549, 551, 574, 573, 575, + 0, 1, 2, 3, 3, 4, 5, 6, + 6, 7, 8, 9, 9, 10, 11, 12, + 12, 13, 14, 15, 15, 16, 17, 18, + 18, 19, 20, 21, 21, 22, 23, 24, + 24, 25, 26, 27, 27, 28, 29, 30, + 30, 31, 32, 33, 33, 34, 35, 36, + 36, 37, 38, 39, 39, 40, 41, 42, }; static long _vq_fitmap_lsp12_0[] = { - 0, 15, 32, 49, 64, 80, 98, 125, - 151, 169, 192, 215, 235, 256, 281, 319, - 349, 367, 390, 413, 432, 453, 478, 521, - 557, 575, 598, 619, 640, 660, 683, 723, - 758, 776, 799, 822, 844, 863, 883, 917, - 947, 965, 988, 1011, 1034, 1054, 1076, 1102, - 1126, 1149, 1181, 1212, 1243, 1271, 1297, 1325, - 1345, 1365, 1394, 1423, 1451, 1475, 1496, 1513, + 0, 4, 8, 12, 16, 20, 24, 28, + 32, 36, 40, 44, 48, 52, 52, }; static long _vq_fitlength_lsp12_0[] = { - 15, 17, 17, 15, 16, 18, 27, 26, - 18, 23, 23, 20, 21, 25, 38, 30, - 18, 23, 23, 19, 21, 25, 43, 36, - 18, 23, 21, 21, 20, 23, 40, 35, - 18, 23, 23, 22, 19, 20, 34, 30, - 18, 23, 23, 23, 20, 22, 26, 24, - 23, 32, 31, 31, 28, 26, 28, 20, - 20, 29, 29, 28, 24, 21, 17, 12, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, }; static encode_aux_pigeonhole _vq_auxp_lsp12_0 = { - 0.172, 0.002, 189, 8, + 0.06, 0.002, 405, 15, _vq_pigeonmap_lsp12_0, - 1525, + 56, _vq_fitlist_lsp12_0, _vq_fitmap_lsp12_0, _vq_fitlength_lsp12_0 }; static static_codebook _vq_book_lsp12_0 = { - 2, 576, + 1, 43, _vq_lengthlist_lsp12_0, - 1, 1605764121, 1592812110, 8, 1, + 1, 1602140242, 1592812110, 9, 1, _vq_quantlist_lsp12_0, NULL, NULL, diff --git a/lib/books/lsp12_1.vqh b/lib/books/lsp12_1.vqh index 7c918792..0db9d000 100644 --- a/lib/books/lsp12_1.vqh +++ b/lib/books/lsp12_1.vqh @@ -20,351 +20,2954 @@ static long _vq_quantlist_lsp12_1[] = { 0, + 1, + 2, 3, + 4, + 5, 6, + 7, + 8, 9, + 10, + 11, + 12, 13, - 17, - 21, - 25, - 30, }; static long _vq_lengthlist_lsp12_1[] = { - 17,17,16,16,16,16,16,16,16,16,16,16,14,16,15,16, - 16,16,15,16,15,15,15,15,15,15,16,13,12,14,15,13, - 15,15,15,15,14,15,16,13,12,14,14,16,15,16,15,14, - 12,11,13,15,15,14,16,16,15,14,14,14,15,14,15,16, - 16,16,14,14,15,16,15,15,16,16,15,15,15,14,15,15, - 16,16,16,16,16,15,15,15,16,16,16,15,14,15,14,16, - 15,15,15,15,14,15,13,13,15,15,14,15,12,12,13,11, - 11,12,15,14,14,14,14,13, 9,10,11,13,12,12,16,14, - 13,10,10,12,13,13,12,16,16,14,12,12,12,13,13,14, - 16,16,15,13,14,13,13,14,15,16,16,15,15,16,16,14, - 14,16,16,16,15,15,16,15,14,14,16,14,14,16,16,13, - 13,14,14,14,16,16,14,12,10,12,12,13,13,15,13,12, - 9, 9,10,11,12,12,16,14, 9, 7, 7, 9,11,12,11,15, - 13,10, 8, 8, 9,10,11,13,15,15,14,10, 9,10,11,12, - 14,16,16,14,12,11,11,12,13,15,16,15,16,16,13,14, - 14,15,15,16,15,16,15,15,13,13,13,14,14,14,15,13, - 10,11,11,12,12,15,15,13, 9, 8,10,10,11,11,16,15, - 9, 7, 7, 8, 9,10,10,14,12, 8, 6, 5, 7, 9,10,12, - 16,13, 9, 6, 6, 8, 9,10,14,14,15,11, 9, 8, 9,10, - 11,13,15,14,14,11,10,10,11,12,15,16,16,15,14,12, - 13,15,14,15,15,14,16,14,12,11,11,12,14,16,15,14, - 11, 8, 9,10,11,11,16,14,10, 8, 7, 7, 8, 9,11,16, - 12, 8, 6, 5, 6, 7, 9,11,14,10, 8, 5, 3, 5, 8,11, - 12,13,11, 9, 5, 4, 7, 8,10,13,16,12,11, 8, 8, 8, - 9,11,13,14,13,13,10, 9,10,11,12,15,15,16,14,12, - 12,13,13,14,15,15,16,14,14,13,12,11,11,15,16,16, - 12,11,11,10, 9,11,14,16,13,10, 9, 8, 7, 9,11,14, - 15,11, 9, 7, 5, 6, 9,11,13,13,10, 8, 6, 4, 6, 8, - 10,13,13,11, 9, 7, 7, 7, 8,10,13,15,12,10, 8, 8, - 8, 9,11,13,15,13,12,10,10,10,11,13,14,15,14,12, - 12,12,13,14,15,16,15,16,15,13,14,14,14,14,14,16, - 15,14,11,11,11,13,14,15,16,14,11,10, 9, 9,11,12, - 15,15,12,10, 9, 7, 8,10,11,14,12,11,10, 8, 8, 8, - 9,10,14,13,12,10, 9, 8, 8, 9,11,14,13,12,11, 9, - 9, 9,10,12,14,14,13,12,10,10,10,11,14,15,14,14, - 12,12,13,15,15,15,15,13,15,15,14,13,13,14,16,15, - 14,15,14,13,12,12,13,15,16,15,15,13,11,10,11,12, - 14,16,15,14,12,10, 9,10,11,12,14,13,12,11,10, 9, - 9,10,12,13,15,12,11,10, 9, 9,11,13,14,15,13,12, - 11,10,11,12,16,16,15,14,13,13,12,13,15,16,16,15, - 15,13,13,16,14,15,16,16,14,15,14,13,14,14,15,15, - 16,15,14,13,13,13,13,13,15,16,15,15,12,13,11,13, - 13,15,16,16,12,13,12,11,12,13,15,15,14,13,13,12, - 12,12,13,15,16,16,15,12,12,12,13,14,16,16,15,16, - 13,14,13,16,15,16,16,16,16,15,15,15,15,16,16,16, - 16,16,16,16,15,16,16,16,16, + 17,15,15,17,16,16,16,16,16,16,16,15,16,16,16,16, + 15,15,16,15,16,15,14,15,15,15,16,16,15,16,16,14, + 14,15,16,14,16,14,16,16,16,16,16,15,14,15,14,14, + 14,15,14,15,15,16,15,16,15,15,14,14,14,14,15,15, + 15,16,16,16,15,16,15,16,16,16,15,15,15,14,16,15, + 14,15,16,16,16,15,16,16,16,16,15,15,15,15,16,16, + 15,16,16,16,16,16,15,15,15,14,13,15,16,15,16,16, + 16,16,15,16,16,16,15,14,13,15,16,14,16,16,16,16, + 16,16,15,16,15,15,14,15,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16, + 16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16, + 16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16, + 16,16,16,16,15,15,15,15,16,16,15,15,16,16,16,16, + 16,15,15,15,15,15,15,14,15,14,14,15,16,16,16,16, + 16,16,15,15,14,14,14,15,16,15,15,16,16,16,15,14, + 13,13,14,14,14,15,16,15,16,15,16,16,15,15,15,13, + 14,13,14,16,16,16,15,15,16,16,16,14,16,15,13,13, + 15,14,15,15,16,16,16,16,16,15,15,14,14,12,13,15, + 14,16,16,16,16,16,16,16,15,14,14,12,13,14,15,14, + 15,16,16,16,16,16,16,14,15,13,15,14,15,15,15,15, + 16,16,16,16,15,14,15,16,14,15,15,16,15,16,16,16, + 16,15,15,15,16,15,15,16,16,16,16,16,16,15,15,16, + 15,15,16,14,15,14,15,16,16,16,16,16,16,16,15,15, + 16,16,16,15,16,16,15,16,16,16,14,16,16,16,16,16, + 15,16,15,16,16,16,16,16,16,15,15,14,15,14,15,16, + 16,15,16,16,16,16,16,15,15,15,15,13,14,13,14,16, + 16,16,16,16,16,16,13,13,13,13,14,14,14,15,15,15, + 16,16,15,14,12,12,12,12,13,14,16,15,14,15,16,16, + 16,13,13,13,12,12,13,13,14,15,14,16,16,16,16,16, + 13,13,12,12,12,13,15,15,15,16,16,16,16,16,15,12, + 12,11,12,13,14,15,15,16,16,16,16,15,14,14,12,12, + 12,13,14,14,15,16,16,16,16,16,16,15,12,13,13,14, + 13,14,14,15,16,16,16,16,15,14,14,14,13,13,14,15, + 15,16,15,16,16,16,14,16,15,14,15,14,14,14,16,16, + 16,16,16,16,15,15,16,14,14,15,14,15,16,16,16,16, + 16,15,15,15,15,15,16,15,15,16,16,16,16,16,15,15, + 15,15,16,15,15,16,16,15,16,16,16,16,16,15,15,15, + 14,14,14,16,16,15,16,16,16,16,16,15,14,14,13,14, + 14,15,15,14,14,15,16,16,15,14,13,12,12,12,13,13, + 15,16,14,16,16,16,16,13,11,11,12,12,12,13,14,13, + 16,15,16,15,15,13,10,11,10,11,12,12,13,14,14,15, + 15,16,15,14,11,10,10,11,11,12,12,14,14,15,16,16, + 16,15,12,11,11,10,11,12,13,14,15,14,16,16,16,15, + 13,12,11,11,11,12,13,14,14,16,16,16,16,15,14,13, + 13,12,12,12,13,13,14,15,16,16,15,15,14,13,14,13, + 12,12,13,14,15,15,16,16,16,15,14,13,14,12,13,14, + 14,13,14,16,16,15,16,16,16,14,14,14,13,13,15,14, + 15,16,16,16,15,14,14,14,16,15,14,15,14,15,16,16, + 16,16,16,16,15,15,14,15,16,15,15,15,16,16,16,16, + 16,14,14,13,13,14,14,15,15,15,15,15,16,16,15,14, + 12,12,12,12,13,13,13,13,13,13,16,16,14,12,11,11, + 11,11,11,11,11,12,12,14,16,16,14,12,10, 9,10,10, + 10,11,11,12,13,14,16,14,13,13, 9, 8, 9, 9,10,10, + 10,12,12,13,16,16,15,13,10, 9, 9, 9, 9,10,12,13, + 13,13,15,15,15,13,11, 9, 9, 9, 9,10,11,12,13,14, + 16,15,16,14,12,11,10, 9,10,11,12,12,14,16,16,15, + 14,14,12,12,11,10,11,11,12,12,14,15,15,16,16,14, + 13,13,11,12,12,12,13,13,13,13,15,15,15,14,14,13, + 13,13,12,12,13,13,14,16,16,16,15,14,14,13,13,14, + 13,14,13,13,15,14,16,16,15,14,14,15,14,15,14,14, + 14,15,16,16,16,16,16,16,16,14,16,15,14,16,15,15, + 16,15,16,16,15,15,13,13,12,12,13,14,14,15,14,13, + 16,16,14,12,11,10,10,11,12,12,13,12,12,12,16,15, + 14,12,10, 9, 9,10,10,10,11,11,11,12,16,15,14,11, + 9, 8, 8, 9, 9, 9, 9,10,11,12,16,16,14,11, 9, 7, + 7, 8, 8, 8, 9,10,11,13,16,14,14,11, 9, 7, 7, 7, + 8, 9,10,11,12,12,16,15,14,12,10, 8, 8, 7, 8, 9, + 11,12,13,13,14,15,15,13,11,10, 9, 8, 9,10,11,12, + 13,14,16,16,16,13,11,11,10, 9,10,10,11,13,13,13, + 16,16,15,14,12,11,11,11,11,11,12,13,13,15,16,15, + 15,12,13,12,12,12,11,13,13,15,14,15,16,16,15,14, + 14,13,12,13,12,13,14,14,15,16,16,15,15,14,14,15, + 13,14,14,14,15,14,15,16,16,16,16,16,15,14,14,13, + 13,15,15,15,15,16,15,16,15,14,12,11,11,12,12,13, + 14,15,15,15,16,16,14,11,10,10, 9,10,12,12,13,12, + 12,13,16,14,13,11, 9, 8, 9,10,10, 9,10,11,11,11, + 15,15,12,10, 8, 8, 8, 9, 9, 8, 9,10,11,12,14,13, + 11,10, 8, 7, 6, 7, 7, 8, 8, 9,11,13,15,13,12,10, + 8, 6, 6, 6, 7, 8, 9,11,11,13,15,15,13,11, 9, 7, + 6, 7, 8, 9,10,12,12,13,15,15,14,12,10, 9, 8, 8, + 8, 9,11,11,13,14,15,14,13,13,11,10, 9, 9,10,10, + 11,12,12,13,15,15,14,12,12,11,10,10,11,11,12,13, + 14,14,15,15,13,12,12,11,11,12,12,12,13,14,15,15, + 16,15,14,13,12,13,13,12,13,13,14,14,15,15,16,15, + 14,13,14,13,13,13,14,14,14,15,15,16,16,16,15,15, + 14,14,13,13,14,14,15,15,16,16,16,16,15,13,12,11, + 11,12,13,13,15,14,14,16,15,14,14,11,10,10,11,11, + 12,13,14,15,14,15,16,14,13,10, 9, 9,10,10,10,11, + 11,11,12,13,15,13,11, 9, 8, 8, 8, 9, 9, 9, 9,11, + 12,13,15,13,11, 9, 8, 7, 7, 7, 8, 9,10,11,12,14, + 14,13,11, 9, 8, 7, 6, 7, 8, 9,10,12,12,14,15,14, + 11,10, 9, 7, 7, 7, 8, 9,10,12,12,15,16,14,13,11, + 10, 9, 8, 8, 9,10,10,12,13,13,16,14,13,12,10, 9, + 9, 9,10,10,11,13,13,14,16,15,14,12,11,11,10,10, + 10,11,12,13,13,15,16,15,13,12,12,11,12,11,12,12, + 12,13,14,16,16,14,14,13,12,12,12,12,12,13,14,13, + 15,15,16,15,14,14,13,12,12,13,13,15,14,15,16,15, + 16,16,16,15,14,13,14,14,15,16,16,15,16,15,15,16, + 15,14,13,12,13,13,14,14,15,15,16,16,16,16,15,12, + 11,11,12,12,13,12,13,14,15,14,15,13,12,10,10,10, + 10,11,11,12,13,13,14,14,14,12,11,10, 9, 9, 9,10, + 10,11,11,12,13,14,16,12,11,10, 8, 8, 8, 8, 9,10, + 11,12,13,14,14,12,11,10, 9, 8, 7, 8, 9,10,12,12, + 13,13,16,15,11,10, 9, 8, 8, 8, 8,10,11,12,14,15, + 16,13,13,11,10, 9, 9, 8, 9,10,11,12,13,13,16,15, + 14,12,11,10,10,10,10,10,11,12,13,15,16,16,13,12, + 11,10,10,10,10,11,12,13,13,15,14,14,13,12,12,11, + 11,11,11,12,13,13,14,15,16,15,15,15,12,12,12,12, + 13,13,14,14,16,15,15,15,15,14,14,13,12,12,13,15, + 15,14,15,16,16,16,16,15,14,14,16,14,15,15,16,16, + 16,16,16,15,15,14,12,13,13,14,14,15,15,16,16,16, + 16,15,14,12,12,12,12,13,14,13,14,15,15,16,16,12, + 12,11,11,10,11,11,12,12,13,14,14,15,15,12,12,11, + 10, 9,10,10,10,11,12,13,15,14,14,12,11,10, 9, 9, + 9, 9,10,11,12,14,15,16,14,12,11,10, 9, 9, 9, 9, + 9,10,11,12,14,15,15,13,12,11,10, 9, 9, 9,10,10, + 11,12,14,13,15,15,13,11,11,10, 9, 9, 9,10,11,12, + 13,14,15,15,13,12,11,10,10,10,10,11,12,13,14,15, + 15,14,14,13,12,11,10,10,11,11,13,12,14,15,14,15, + 14,13,12,11,12,11,11,12,13,15,14,15,16,15,14,14, + 13,12,12,12,12,13,14,14,15,15,16,15,14,13,13,12, + 13,13,13,13,14,14,15,15,16,16,16,14,14,15,15,15, + 15,14,16,16,16,16,15,15,16,14,14,14,14,14,14,15, + 15,16,16,16,16,14,14,13,12,13,12,13,14,14,14,15, + 15,16,14,13,12,12,12,11,11,11,13,14,13,16,15,15, + 16,12,12,11,11,10,10,11,11,12,14,14,14,16,14,12, + 12,11,10, 9,10,10,11,12,12,14,14,15,14,13,12,12, + 10, 9,10,10,11,11,13,13,13,15,14,13,13,11,11,10, + 10,10,10,11,12,13,15,15,15,14,14,12,12,11,10,10, + 10,11,12,13,14,14,16,15,13,12,11,11,11,10,11,11, + 12,13,13,15,13,14,14,13,11,11,11,11,11,12,13,14, + 14,15,15,15,14,12,12,11,11,11,12,13,13,15,15,15, + 15,15,15,14,13,12,13,13,13,12,14,15,16,16,14,15, + 14,14,14,14,13,12,13,14,14,15,15,16,16,15,15,15, + 16,15,15,14,15,15,15,16,15,16,16,16,15,15,14,13, + 14,15,14,16,15,16,15,15,15,15,14,14,14,14,13,14, + 14,15,16,15,16,16,15,13,14,12,13,12,13,12,13,14, + 15,15,15,16,15,13,12,12,12,11,12,12,12,12,15,15, + 14,16,15,13,13,12,11,11,11,11,12,13,13,14,16,16, + 14,14,12,12,11,10,11,11,11,12,12,14,14,15,14,15, + 12,12,11,11,11,11,11,12,12,13,14,16,16,14,13,12, + 12,11,11,11,11,12,13,14,15,15,15,15,14,13,12,12, + 11,12,12,12,13,14,14,16,14,15,14,13,12,12,12,12, + 12,14,13,14,16,15,15,14,13,14,12,12,12,13,13,14, + 14,15,16,16,15,14,13,14,13,13,14,14,14,14,15,16, + 16,16,14,14,14,13,15,14,14,14,15,16,15,16,16,16, + 16,15,15,16,16,14,14,15,16,16,15,16,16,16,16,16, + 14,16,15,15,15,14,16,15,16,16,16,16,16,15,13,14, + 14,14,14,15,15,15,15,15,15,16,16,15,13,13,13,13, + 13,13,13,14,15,16,16,16,16,14,14,12,13,13,12,12, + 13,14,14,14,15,16,16,14,13,13,12,12,12,12,12,12, + 14,14,16,16,15,15,13,13,12,11,12,12,12,13,14,14, + 16,16,16,16,13,12,12,12,12,12,11,12,13,14,15,16, + 15,14,13,13,12,12,12,12,12,12,14,14,14,15,14,16, + 13,13,14,12,12,12,12,14,14,15,14,16,15,15,13,13, + 12,12,12,13,13,14,15,16,16,16,15,14,15,13,13,13, + 14,15,15,16,16,16,16,16,16,15,15,15,14,14,16,15, + 15,15,16,16,16,16,15,16,15,15,15,15,15,16,16,16, + 16,16,16,16,15,16,16,15,16,15,14,16,16,15,16,15, + 16,16,16,15,15,16,14,14,16,15,16,16,16,16,16,16, + 16,15,14,14,14,14,14,15,15,15,14,15,15,16,15,14, + 15,13,13,14,14,14,14,15,14,16,16,16,16,14,13,13, + 14,15,13,12,13,13,15,16,15,15,15,14,13,15,12,12, + 12,12,13,14,16,15,16,16,15,15,14,13,13,12,12,13, + 12,13,14,15,15,16,16,15,14,13,13,12,12,12,12,13, + 16,15,15,15,16,14,14,13,13,14,14,13,14,13,14,16, + 15,16,16,14,13,14,14,13,14,14,14,15,16,16,16,16, + 16,15,16,14,13,14,14,15,15,16,16,16,16,16,16,15, + 14,15,14,15,15,15,15,16,16,16,16,16,15,15,16,16, + 14,16,16,16,16,16,16,16,16,16,15,14,14,15,15,16, + 16,16,15,16,16,16,16,16, }; static long _vq_pigeonmap_lsp12_1[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, + 0, 0, 0, 1, 1, 1, 2, 2, + 2, 3, 3, 3, 4, }; static long _vq_fitlist_lsp12_1[] = { - 0, 1, 9, 81, 2, 10, 82, 3, - 11, 83, 90, 18, 91, 19, 84, 92, - 12, 20, 99, 27, 100, 28, 93, 101, - 21, 29, 108, 109, 102, 110, 162, 163, - 164, 171, 172, 165, 173, 180, 181, 174, - 182, 189, 190, 183, 191, 243, 244, 245, - 252, 253, 246, 254, 261, 262, 255, 263, - 270, 271, 264, 272, 3, 12, 84, 4, - 13, 85, 5, 6, 14, 86, 11, 20, - 92, 93, 21, 94, 22, 95, 87, 23, - 15, 29, 101, 102, 30, 103, 104, 96, - 31, 32, 24, 111, 112, 113, 110, 105, - 165, 166, 167, 174, 175, 176, 168, 183, - 184, 185, 177, 173, 182, 192, 193, 194, - 191, 186, 246, 247, 248, 255, 256, 257, - 249, 264, 265, 266, 258, 254, 263, 273, - 274, 275, 272, 267, 6, 15, 87, 7, - 16, 88, 8, 97, 96, 24, 25, 89, - 17, 106, 105, 33, 34, 98, 26, 115, - 114, 107, 35, 168, 169, 178, 170, 177, - 187, 179, 186, 196, 251, 259, 195, 43, - 188, 116, 249, 250, 258, 268, 260, 267, - 277, 276, 124, 269, 197, 27, 19, 100, - 108, 28, 20, 101, 109, 29, 21, 102, - 110, 36, 37, 30, 38, 117, 118, 111, - 119, 45, 46, 39, 47, 126, 127, 120, - 128, 54, 55, 48, 56, 135, 136, 129, - 137, 99, 180, 181, 182, 189, 190, 183, - 191, 198, 199, 192, 200, 207, 208, 201, - 209, 216, 217, 210, 272, 282, 218, 261, - 262, 263, 270, 271, 264, 273, 279, 280, - 281, 288, 289, 290, 297, 298, 291, 299, - 21, 29, 30, 102, 110, 22, 111, 103, - 31, 23, 112, 104, 32, 24, 113, 105, - 39, 40, 41, 33, 38, 119, 114, 120, - 121, 122, 42, 48, 49, 50, 47, 128, - 123, 129, 130, 131, 51, 57, 58, 59, - 56, 137, 132, 94, 95, 96, 193, 194, - 201, 202, 203, 211, 212, 138, 139, 140, - 183, 184, 185, 192, 186, 195, 204, 210, - 191, 200, 209, 218, 213, 175, 176, 177, - 274, 275, 282, 283, 219, 220, 221, 264, - 265, 266, 273, 267, 276, 284, 292, 285, - 293, 291, 272, 281, 290, 299, 294, 256, - 257, 258, 300, 301, 302, 24, 33, 105, - 25, 114, 106, 34, 115, 26, 98, 107, - 35, 42, 43, 124, 116, 44, 123, 51, - 52, 133, 125, 53, 132, 60, 61, 214, - 142, 134, 62, 97, 196, 205, 197, 141, - 186, 187, 179, 188, 195, 204, 206, 213, - 215, 223, 143, 178, 277, 286, 295, 222, - 267, 268, 260, 269, 276, 278, 285, 287, - 294, 296, 304, 224, 259, 303, 54, 46, - 127, 135, 55, 47, 128, 136, 56, 48, - 129, 137, 63, 64, 57, 65, 144, 145, - 138, 146, 66, 72, 73, 74, 147, 153, - 154, 155, 210, 218, 219, 225, 226, 227, - 75, 228, 208, 209, 216, 217, 234, 235, - 236, 289, 291, 298, 299, 306, 307, 308, - 156, 290, 297, 300, 309, 315, 316, 317, - 237, 48, 56, 57, 129, 137, 49, 138, - 58, 130, 50, 139, 59, 67, 131, 51, - 140, 60, 68, 132, 66, 65, 146, 141, - 147, 148, 149, 69, 75, 74, 76, 77, - 230, 150, 155, 156, 157, 158, 78, 211, - 212, 219, 220, 228, 221, 229, 222, 231, - 210, 213, 237, 238, 239, 218, 227, 309, - 311, 236, 159, 301, 302, 310, 303, 312, - 291, 292, 300, 293, 294, 318, 319, 320, - 299, 308, 317, 240, 392, 51, 60, 132, - 52, 141, 61, 133, 142, 53, 134, 62, - 70, 69, 151, 143, 71, 150, 79, 78, - 224, 232, 152, 159, 160, 80, 223, 231, - 158, 233, 240, 213, 214, 222, 215, 241, - 161, 304, 312, 305, 313, 314, 296, 239, - 322, 294, 295, 303, 321, 242, 320, 243, - 163, 171, 244, 252, 164, 172, 245, 253, - 165, 173, 246, 254, 180, 181, 174, 182, - 261, 262, 255, 263, 189, 190, 183, 191, - 270, 271, 264, 272, 324, 325, 326, 333, - 334, 327, 335, 342, 343, 336, 344, 351, - 352, 345, 353, 405, 406, 407, 414, 417, - 425, 415, 408, 416, 423, 424, 432, 433, - 426, 434, 487, 488, 495, 498, 506, 486, - 496, 489, 497, 504, 505, 513, 514, 507, - 515, 165, 173, 246, 254, 166, 174, 255, - 247, 167, 175, 256, 248, 168, 176, 257, - 249, 183, 184, 185, 182, 177, 263, 264, - 265, 266, 258, 192, 193, 338, 194, 191, - 186, 272, 273, 274, 275, 267, 337, 347, - 327, 328, 329, 335, 336, 330, 345, 346, - 339, 344, 354, 355, 356, 353, 348, 409, - 410, 417, 418, 419, 411, 427, 428, 408, - 425, 426, 420, 416, 435, 436, 437, 434, - 429, 490, 491, 498, 492, 499, 508, 509, - 489, 497, 500, 506, 507, 501, 516, 517, - 518, 515, 510, 168, 249, 169, 177, 258, - 250, 178, 259, 89, 170, 331, 251, 186, - 187, 268, 179, 260, 267, 195, 196, 277, - 332, 188, 269, 276, 348, 330, 340, 339, - 349, 341, 205, 358, 197, 278, 350, 357, - 411, 412, 421, 413, 430, 429, 420, 422, - 439, 359, 431, 438, 492, 493, 502, 494, - 511, 501, 503, 510, 520, 440, 512, 519, - 181, 189, 261, 262, 270, 190, 271, 182, - 263, 191, 272, 183, 264, 192, 198, 118, - 199, 119, 200, 273, 279, 280, 281, 201, - 207, 208, 209, 282, 288, 289, 290, 210, - 216, 217, 137, 218, 291, 297, 298, 370, - 299, 343, 344, 351, 352, 345, 353, 354, - 360, 361, 362, 369, 363, 371, 378, 379, - 372, 342, 380, 425, 433, 426, 434, 432, - 442, 443, 441, 452, 450, 451, 424, 435, - 444, 459, 460, 453, 423, 461, 506, 514, - 507, 515, 513, 516, 524, 522, 523, 525, - 533, 531, 532, 505, 540, 541, 534, 504, - 542, 192, 264, 272, 273, 184, 265, 193, - 274, 185, 266, 194, 275, 186, 267, 195, - 200, 201, 282, 121, 202, 283, 203, 276, - 347, 284, 356, 348, 281, 210, 211, 123, - 204, 212, 209, 129, 291, 292, 131, 285, - 364, 293, 290, 219, 220, 132, 213, 221, - 218, 300, 139, 301, 294, 302, 299, 345, - 346, 354, 355, 363, 357, 365, 371, 372, - 373, 366, 374, 353, 337, 338, 339, 362, - 380, 381, 382, 375, 383, 435, 427, 436, - 428, 437, 444, 445, 438, 446, 453, 454, - 447, 455, 426, 434, 429, 443, 452, 418, - 419, 420, 461, 462, 463, 456, 464, 516, - 508, 517, 509, 518, 525, 526, 519, 527, - 534, 528, 535, 536, 507, 515, 510, 524, - 533, 499, 500, 501, 542, 543, 544, 537, - 545, 195, 267, 276, 187, 268, 196, 277, - 124, 188, 205, 260, 269, 341, 197, 278, - 123, 204, 285, 286, 350, 206, 213, 214, - 287, 132, 294, 125, 295, 367, 359, 215, - 222, 223, 296, 141, 142, 134, 304, 376, - 303, 368, 224, 348, 349, 358, 357, 366, - 375, 305, 377, 340, 384, 385, 422, 438, - 430, 439, 431, 440, 448, 447, 449, 457, - 456, 429, 386, 458, 421, 465, 466, 503, - 519, 511, 520, 512, 521, 529, 528, 530, - 538, 537, 510, 467, 539, 502, 546, 547, - 475, 216, 289, 297, 217, 298, 290, 218, - 299, 291, 219, 144, 225, 370, 226, 227, - 300, 372, 306, 307, 308, 380, 228, 309, - 234, 235, 236, 153, 387, 315, 154, 388, - 316, 155, 389, 317, 237, 371, 378, 379, - 381, 390, 396, 397, 318, 398, 451, 452, - 453, 459, 461, 460, 462, 468, 469, 470, - 477, 471, 478, 399, 479, 532, 533, 534, - 540, 541, 542, 550, 551, 549, 543, 552, - 558, 559, 480, 560, 219, 291, 299, 300, - 292, 139, 220, 228, 301, 293, 221, 229, - 302, 294, 141, 222, 230, 227, 147, 309, - 303, 310, 311, 308, 150, 231, 237, 238, - 239, 312, 156, 318, 382, 390, 157, 383, - 391, 158, 384, 392, 236, 317, 319, 320, - 159, 240, 393, 372, 380, 373, 381, 374, - 375, 398, 399, 400, 321, 401, 389, 473, - 453, 454, 455, 462, 456, 463, 464, 465, - 471, 472, 481, 474, 461, 470, 480, 479, - 402, 482, 552, 554, 534, 535, 536, 537, - 543, 544, 545, 546, 553, 562, 555, 551, - 561, 483, 563, 560, 542, 635, 222, 294, - 303, 295, 142, 223, 231, 304, 215, 232, - 296, 143, 224, 305, 150, 312, 313, 385, - 377, 233, 152, 314, 240, 160, 241, 386, - 394, 151, 159, 321, 393, 322, 320, 161, - 242, 395, 402, 323, 375, 376, 384, 403, - 401, 456, 457, 458, 465, 466, 467, 474, - 475, 476, 404, 483, 484, 556, 482, 537, - 538, 539, 546, 547, 548, 555, 557, 565, - 485, 564, 563, 486, 406, 414, 487, 495, - 407, 415, 488, 496, 408, 416, 489, 497, - 569, 423, 424, 417, 425, 504, 505, 498, - 506, 576, 577, 432, 433, 426, 434, 513, - 514, 507, 515, 585, 579, 587, 567, 568, - 570, 578, 586, 594, 595, 588, 596, 648, - 649, 650, 657, 658, 651, 659, 666, 667, - 660, 668, 675, 676, 597, 669, 677, 408, - 489, 497, 409, 417, 498, 490, 570, 410, - 418, 499, 491, 571, 411, 419, 500, 492, - 572, 426, 427, 428, 425, 420, 506, 507, - 508, 509, 501, 579, 435, 436, 581, 437, - 429, 515, 516, 517, 518, 510, 588, 580, - 589, 590, 582, 578, 573, 587, 597, 598, - 599, 596, 591, 651, 652, 653, 661, 662, - 654, 671, 660, 669, 670, 663, 659, 668, - 677, 678, 679, 680, 650, 606, 607, 672, - 600, 608, 411, 492, 412, 420, 501, 493, - 421, 502, 413, 430, 574, 494, 573, 429, - 422, 511, 503, 510, 582, 438, 583, 439, - 575, 431, 520, 512, 519, 591, 592, 584, - 601, 521, 593, 600, 654, 655, 664, 656, - 672, 673, 665, 663, 682, 602, 590, 599, - 681, 674, 662, 671, 680, 609, 610, 432, - 504, 505, 513, 433, 514, 506, 434, 515, - 507, 435, 441, 442, 443, 516, 522, 523, - 524, 588, 596, 594, 595, 450, 451, 444, - 452, 525, 597, 531, 603, 532, 533, 605, - 604, 459, 460, 453, 461, 534, 606, 540, - 612, 541, 613, 542, 614, 586, 587, 621, - 622, 615, 585, 623, 667, 675, 668, 676, - 669, 677, 684, 685, 678, 686, 693, 694, - 687, 695, 702, 703, 666, 658, 659, 660, - 696, 704, 630, 435, 507, 515, 516, 508, - 436, 517, 509, 437, 518, 510, 438, 444, - 445, 526, 446, 519, 525, 597, 589, 598, - 590, 527, 599, 591, 524, 452, 453, 454, - 447, 455, 534, 606, 535, 607, 528, 536, - 600, 608, 533, 461, 462, 463, 456, 464, - 543, 615, 544, 616, 537, 545, 609, 617, - 542, 443, 588, 596, 614, 580, 581, 582, - 605, 623, 624, 625, 618, 626, 678, 670, - 671, 679, 672, 680, 681, 687, 688, 689, - 690, 696, 697, 698, 669, 661, 662, 663, - 686, 695, 704, 705, 706, 627, 699, 707, - 677, 438, 510, 519, 511, 439, 520, 431, - 440, 448, 503, 512, 584, 521, 447, 528, - 529, 600, 592, 601, 593, 449, 456, 457, - 530, 602, 537, 609, 538, 610, 458, 465, - 466, 539, 611, 546, 547, 619, 618, 467, - 591, 548, 620, 583, 627, 628, 556, 681, - 673, 682, 674, 683, 690, 691, 692, 699, - 700, 629, 672, 664, 665, 626, 635, 708, - 701, 709, 636, 637, 459, 532, 540, 460, - 468, 541, 613, 533, 461, 469, 542, 614, - 534, 462, 470, 543, 615, 549, 550, 622, - 551, 623, 621, 471, 552, 477, 478, 479, - 632, 630, 558, 631, 559, 560, 480, 624, - 633, 639, 640, 561, 641, 694, 695, 702, - 703, 696, 704, 711, 712, 705, 713, 720, - 721, 642, 714, 722, 693, 462, 470, 534, - 542, 543, 615, 535, 463, 471, 544, 616, - 536, 464, 472, 545, 617, 537, 465, 473, - 552, 624, 553, 625, 546, 554, 618, 626, - 551, 474, 480, 633, 481, 634, 482, 555, - 627, 561, 562, 635, 560, 563, 642, 483, - 636, 623, 632, 643, 641, 564, 644, 714, - 716, 696, 697, 698, 699, 705, 706, 707, - 708, 715, 717, 723, 724, 645, 725, 713, - 722, 704, 465, 537, 546, 618, 538, 466, - 474, 547, 619, 475, 539, 467, 548, 620, - 555, 556, 628, 627, 476, 557, 629, 483, - 484, 637, 564, 636, 565, 563, 485, 638, - 645, 646, 566, 644, 717, 718, 710, 647, - 719, 699, 700, 701, 708, 709, 726, 727, - 725, 728, + 0, 1, 14, 15, 28, 196, 197, 210, + 392, 2, 16, 29, 198, 211, 224, 393, + 406, 3, 4, 17, 30, 43, 199, 212, + 225, 394, 407, 589, 42, 588, 56, 238, + 420, 602, 31, 44, 200, 213, 226, 239, + 395, 408, 421, 590, 57, 252, 434, 603, + 18, 45, 58, 214, 227, 240, 253, 396, + 409, 422, 435, 591, 604, 617, 785, 784, + 616, 786, 798, 70, 448, 630, 799, 32, + 71, 241, 254, 410, 423, 436, 449, 592, + 605, 618, 631, 787, 800, 813, 981, 980, + 812, 994, 982, 266, 644, 826, 995, 228, + 267, 437, 450, 606, 619, 632, 645, 788, + 801, 814, 827, 983, 996, 3, 4, 16, + 17, 18, 30, 31, 198, 199, 200, 212, + 213, 226, 394, 395, 408, 5, 19, 32, + 201, 214, 227, 396, 409, 591, 6, 7, + 20, 33, 46, 202, 215, 228, 397, 410, + 592, 44, 45, 240, 422, 59, 241, 423, + 605, 34, 47, 203, 216, 229, 242, 398, + 411, 424, 593, 58, 72, 254, 436, 60, + 255, 437, 606, 21, 48, 61, 217, 230, + 243, 256, 399, 412, 425, 438, 594, 607, + 590, 604, 787, 788, 618, 619, 620, 789, + 268, 450, 632, 801, 73, 451, 633, 802, + 35, 74, 244, 257, 413, 426, 439, 452, + 595, 608, 621, 634, 790, 803, 816, 786, + 800, 814, 983, 815, 984, 985, 646, 828, + 997, 269, 647, 829, 998, 231, 270, 440, + 453, 609, 622, 635, 648, 791, 804, 817, + 830, 986, 999, 6, 7, 19, 20, 21, + 33, 34, 201, 202, 203, 215, 216, 229, + 397, 398, 411, 8, 22, 35, 204, 217, + 230, 399, 412, 9, 10, 23, 36, 49, + 205, 218, 231, 400, 413, 595, 47, 48, + 243, 425, 594, 62, 244, 426, 608, 24, + 37, 50, 206, 219, 232, 245, 401, 414, + 427, 596, 61, 75, 257, 439, 621, 63, + 258, 440, 609, 51, 64, 220, 233, 246, + 259, 402, 415, 428, 441, 597, 610, 593, + 607, 790, 791, 622, 623, 792, 271, 453, + 635, 804, 76, 454, 636, 805, 38, 77, + 234, 247, 260, 416, 429, 442, 455, 598, + 611, 624, 637, 793, 806, 819, 789, 803, + 817, 986, 818, 987, 988, 649, 831, 1000, + 272, 650, 832, 1001, 273, 430, 443, 456, + 612, 625, 638, 651, 794, 807, 820, 833, + 989, 1002, 9, 10, 22, 23, 24, 36, + 37, 204, 205, 206, 218, 219, 232, 400, + 401, 414, 11, 25, 38, 207, 220, 233, + 402, 415, 597, 12, 13, 26, 39, 52, + 208, 221, 234, 403, 416, 598, 50, 51, + 246, 428, 65, 247, 429, 611, 27, 40, + 53, 66, 209, 222, 235, 248, 404, 417, + 430, 599, 64, 78, 260, 442, 624, 79, + 261, 443, 612, 625, 54, 67, 223, 236, + 249, 262, 405, 418, 431, 444, 600, 613, + 596, 610, 793, 794, 626, 795, 456, 638, + 807, 457, 639, 808, 41, 80, 237, 250, + 263, 276, 419, 432, 445, 458, 601, 614, + 627, 640, 796, 809, 792, 806, 989, 820, + 821, 990, 822, 991, 274, 652, 834, 1003, + 275, 471, 653, 835, 1004, 1017, 433, 446, + 459, 472, 615, 628, 641, 654, 797, 810, + 823, 836, 992, 1005, 12, 13, 25, 26, + 27, 39, 40, 207, 208, 209, 221, 222, + 235, 403, 404, 417, 41, 53, 54, 223, + 236, 249, 405, 418, 431, 600, 55, 67, + 68, 81, 237, 250, 263, 419, 432, 445, + 601, 614, 627, 599, 613, 796, 251, 264, + 433, 446, 459, 615, 628, 641, 797, 810, + 795, 809, 823, 992, 277, 447, 460, 629, + 642, 655, 811, 824, 837, 993, 1006, 15, + 16, 28, 29, 30, 42, 43, 56, 57, + 70, 198, 211, 212, 224, 225, 226, 238, + 239, 252, 394, 407, 408, 420, 421, 434, + 603, 616, 3, 17, 31, 44, 58, 71, + 199, 213, 227, 240, 253, 266, 395, 409, + 422, 435, 448, 591, 604, 617, 630, 18, + 32, 45, 46, 59, 72, 85, 200, 214, + 228, 241, 254, 267, 396, 410, 423, 436, + 449, 592, 605, 618, 631, 84, 98, 280, + 462, 73, 86, 242, 255, 268, 281, 424, + 437, 450, 463, 619, 632, 644, 99, 294, + 476, 645, 60, 87, 100, 256, 269, 282, + 295, 438, 451, 464, 477, 633, 646, 590, + 799, 812, 787, 800, 813, 826, 606, 788, + 801, 814, 827, 658, 620, 659, 815, 828, + 840, 112, 490, 672, 841, 74, 113, 270, + 283, 296, 309, 452, 465, 478, 491, 634, + 647, 660, 673, 816, 829, 842, 855, 786, + 995, 1008, 996, 1009, 802, 997, 1010, 1022, + 854, 1023, 1011, 1024, 1036, 308, 686, 868, + 1037, 479, 492, 648, 661, 674, 687, 830, + 843, 856, 869, 1025, 1038, 18, 19, 31, + 32, 33, 45, 46, 58, 59, 60, 72, + 73, 201, 214, 215, 227, 228, 229, 240, + 241, 242, 254, 255, 268, 397, 410, 411, + 423, 424, 436, 437, 450, 606, 619, 6, + 20, 34, 47, 61, 74, 202, 216, 230, + 243, 256, 269, 398, 412, 425, 438, 451, + 607, 620, 7, 21, 35, 48, 49, 62, + 75, 88, 203, 217, 231, 244, 257, 270, + 399, 413, 426, 439, 452, 595, 608, 621, + 634, 86, 87, 282, 464, 633, 101, 283, + 465, 647, 76, 89, 245, 258, 271, 284, + 427, 440, 453, 466, 622, 635, 100, 114, + 296, 478, 660, 102, 297, 479, 648, 63, + 90, 103, 259, 272, 285, 298, 441, 454, + 467, 480, 636, 649, 593, 632, 646, 802, + 815, 594, 790, 803, 816, 829, 609, 791, + 804, 817, 830, 842, 661, 623, 662, 818, + 831, 310, 492, 674, 843, 115, 493, 675, + 844, 77, 116, 273, 286, 299, 312, 455, + 468, 481, 494, 637, 650, 663, 676, 819, + 832, 845, 858, 789, 828, 998, 1011, 999, + 1012, 805, 1000, 1013, 856, 1025, 857, 1026, + 1014, 1027, 688, 870, 1039, 311, 689, 871, + 1040, 482, 495, 651, 664, 677, 690, 833, + 846, 859, 872, 1028, 1041, 21, 22, 34, + 35, 36, 48, 49, 61, 62, 63, 75, + 76, 204, 217, 218, 230, 231, 232, 243, + 244, 245, 257, 258, 271, 400, 413, 414, + 426, 427, 439, 440, 453, 609, 622, 9, + 23, 37, 50, 64, 77, 205, 219, 233, + 246, 259, 272, 401, 415, 428, 441, 454, + 610, 623, 10, 24, 38, 51, 52, 65, + 78, 91, 206, 220, 234, 247, 260, 273, + 402, 416, 429, 442, 455, 598, 611, 624, + 637, 89, 90, 285, 467, 636, 104, 286, + 468, 650, 66, 79, 92, 248, 261, 274, + 287, 430, 443, 456, 469, 612, 625, 638, + 103, 117, 299, 481, 663, 105, 300, 482, + 651, 80, 93, 106, 262, 275, 288, 301, + 444, 457, 470, 483, 626, 639, 652, 596, + 635, 649, 805, 818, 597, 793, 806, 819, + 832, 794, 807, 820, 833, 845, 664, 665, + 821, 834, 313, 495, 677, 846, 118, 496, + 678, 847, 119, 276, 289, 302, 315, 458, + 471, 484, 497, 640, 653, 666, 679, 822, + 835, 848, 861, 792, 831, 1001, 1014, 1002, + 1015, 808, 1003, 1016, 859, 1028, 860, 1029, + 1004, 1017, 1030, 691, 873, 1042, 314, 692, + 874, 1043, 472, 485, 498, 654, 667, 680, + 693, 836, 849, 862, 875, 1018, 1031, 1044, + 24, 25, 37, 38, 39, 51, 52, 64, + 65, 66, 78, 79, 207, 220, 221, 233, + 234, 235, 246, 247, 248, 260, 261, 274, + 403, 416, 417, 429, 430, 442, 443, 456, + 612, 625, 12, 26, 40, 53, 67, 80, + 208, 222, 236, 249, 262, 275, 404, 418, + 431, 444, 457, 613, 626, 13, 27, 41, + 54, 55, 68, 81, 94, 209, 223, 237, + 250, 263, 276, 405, 419, 432, 445, 458, + 601, 614, 627, 640, 92, 93, 288, 470, + 639, 107, 289, 471, 653, 69, 82, 95, + 108, 251, 264, 277, 290, 433, 446, 459, + 472, 615, 628, 641, 106, 302, 484, 121, + 303, 485, 654, 667, 96, 109, 265, 278, + 291, 304, 447, 460, 473, 486, 629, 642, + 655, 599, 638, 652, 808, 821, 600, 796, + 809, 822, 835, 797, 810, 823, 666, 836, + 849, 668, 824, 837, 120, 498, 680, 317, + 499, 681, 850, 83, 122, 292, 305, 461, + 474, 487, 500, 643, 656, 669, 682, 825, + 838, 851, 795, 834, 848, 1004, 1017, 1005, + 1018, 811, 1006, 1019, 862, 1031, 863, 1032, + 864, 1007, 1020, 1033, 316, 694, 876, 1045, + 513, 695, 877, 1046, 1059, 279, 318, 488, + 501, 657, 670, 683, 696, 839, 852, 865, + 878, 1021, 1034, 1047, 27, 40, 41, 54, + 55, 67, 68, 69, 81, 82, 223, 236, + 237, 249, 250, 251, 263, 264, 277, 419, + 432, 433, 445, 446, 459, 615, 628, 83, + 95, 96, 265, 278, 291, 447, 460, 473, + 629, 642, 97, 109, 110, 279, 292, 305, + 461, 474, 487, 643, 656, 641, 655, 811, + 824, 669, 825, 838, 123, 293, 306, 475, + 488, 501, 657, 670, 683, 839, 852, 837, + 851, 1007, 1020, 865, 1021, 1034, 319, 489, + 502, 671, 684, 697, 853, 866, 879, 1035, + 1048, 57, 58, 70, 71, 72, 84, 85, + 98, 99, 112, 240, 253, 254, 266, 267, + 268, 280, 281, 294, 436, 449, 450, 462, + 463, 476, 645, 658, 45, 59, 73, 86, + 100, 113, 241, 255, 269, 282, 295, 308, + 437, 451, 464, 477, 490, 646, 659, 46, + 60, 74, 87, 88, 101, 114, 127, 242, + 256, 270, 283, 296, 309, 438, 452, 465, + 478, 491, 634, 647, 660, 673, 126, 672, + 140, 322, 504, 686, 115, 128, 284, 297, + 310, 323, 466, 479, 492, 505, 661, 674, + 141, 336, 518, 687, 102, 129, 142, 298, + 311, 324, 337, 480, 493, 506, 519, 675, + 688, 632, 841, 854, 633, 829, 842, 855, + 868, 648, 843, 856, 700, 869, 662, 701, + 857, 870, 882, 154, 532, 714, 883, 116, + 155, 312, 325, 338, 351, 494, 507, 520, + 533, 676, 689, 702, 715, 858, 871, 884, + 897, 828, 1037, 1050, 1038, 1051, 830, 844, + 1039, 1052, 1064, 896, 1065, 1053, 1066, 1078, + 350, 728, 910, 1079, 521, 534, 547, 690, + 703, 716, 729, 872, 885, 898, 911, 1067, + 1080, 60, 61, 73, 74, 75, 87, 88, + 100, 101, 102, 114, 115, 243, 256, 257, + 269, 270, 271, 282, 283, 284, 296, 297, + 310, 439, 452, 453, 465, 466, 478, 479, + 492, 648, 661, 48, 62, 76, 89, 103, + 116, 244, 258, 272, 285, 298, 311, 440, + 454, 467, 480, 493, 649, 662, 49, 63, + 77, 90, 91, 104, 117, 130, 245, 259, + 273, 286, 299, 312, 441, 455, 468, 481, + 494, 637, 650, 663, 676, 128, 129, 324, + 506, 675, 143, 325, 507, 689, 118, 131, + 287, 300, 313, 326, 469, 482, 495, 508, + 664, 677, 142, 156, 338, 520, 702, 144, + 339, 521, 690, 105, 132, 145, 301, 314, + 327, 340, 483, 496, 509, 522, 678, 691, + 635, 674, 688, 844, 857, 636, 832, 845, + 858, 871, 651, 846, 859, 884, 703, 872, + 665, 704, 860, 873, 352, 534, 716, 885, + 157, 535, 717, 886, 119, 158, 315, 328, + 341, 354, 497, 510, 523, 536, 679, 692, + 705, 718, 861, 874, 887, 900, 831, 870, + 1040, 1053, 1041, 1054, 833, 847, 1042, 1055, + 898, 1067, 899, 1068, 1056, 1069, 730, 912, + 1081, 353, 731, 913, 1082, 524, 537, 550, + 693, 706, 719, 732, 875, 888, 901, 914, + 1070, 1083, 63, 64, 76, 77, 78, 90, + 91, 103, 104, 105, 117, 118, 246, 259, + 260, 272, 273, 274, 285, 286, 287, 299, + 300, 313, 442, 455, 456, 468, 469, 481, + 482, 495, 651, 664, 51, 65, 79, 92, + 106, 119, 247, 261, 275, 288, 301, 314, + 443, 457, 470, 483, 496, 652, 665, 52, + 66, 80, 93, 94, 107, 120, 133, 248, + 262, 276, 289, 302, 315, 444, 458, 471, + 484, 497, 640, 653, 666, 679, 131, 132, + 327, 509, 678, 146, 328, 510, 692, 108, + 121, 134, 147, 290, 303, 316, 329, 472, + 485, 498, 511, 654, 667, 680, 693, 145, + 159, 341, 523, 705, 342, 524, 135, 148, + 304, 317, 330, 343, 486, 499, 512, 525, + 668, 681, 694, 638, 677, 691, 847, 860, + 639, 835, 848, 861, 874, 836, 849, 862, + 887, 706, 875, 707, 850, 863, 876, 537, + 719, 888, 160, 538, 720, 889, 122, 161, + 331, 344, 500, 513, 526, 539, 682, 695, + 708, 721, 864, 877, 890, 903, 834, 873, + 1043, 1056, 1044, 1057, 1045, 1058, 901, 1070, + 902, 1071, 1046, 1059, 1072, 1085, 355, 733, + 915, 1084, 356, 734, 916, 318, 357, 527, + 540, 696, 709, 722, 735, 878, 891, 904, + 917, 1060, 1073, 1086, 66, 67, 79, 80, + 81, 93, 94, 106, 107, 108, 120, 121, + 249, 262, 263, 275, 276, 277, 288, 289, + 290, 302, 303, 316, 445, 458, 459, 471, + 472, 484, 485, 498, 654, 667, 54, 68, + 82, 95, 109, 122, 250, 264, 278, 291, + 304, 317, 446, 460, 473, 486, 499, 655, + 668, 55, 69, 83, 96, 97, 110, 123, + 136, 251, 265, 279, 292, 305, 318, 447, + 461, 474, 487, 500, 643, 656, 669, 682, + 134, 135, 330, 512, 681, 149, 331, 513, + 695, 111, 124, 137, 150, 293, 306, 319, + 332, 475, 488, 501, 514, 670, 683, 148, + 162, 344, 526, 708, 163, 345, 527, 696, + 138, 151, 164, 307, 320, 333, 346, 489, + 502, 515, 528, 684, 697, 641, 680, 694, + 850, 863, 642, 838, 851, 864, 877, 657, + 839, 852, 865, 878, 709, 891, 671, 710, + 866, 879, 358, 540, 722, 904, 359, 541, + 723, 892, 125, 334, 347, 360, 503, 516, + 529, 542, 685, 698, 711, 724, 867, 880, + 893, 906, 837, 876, 890, 1046, 1059, 1047, + 1060, 853, 1048, 1061, 1073, 905, 1074, 1087, + 1062, 1075, 736, 918, 555, 737, 919, 1088, + 321, 530, 543, 556, 699, 712, 725, 738, + 881, 894, 907, 920, 1076, 1089, 69, 82, + 83, 96, 97, 109, 110, 111, 123, 124, + 265, 278, 279, 291, 292, 293, 305, 306, + 319, 461, 474, 475, 487, 488, 501, 657, + 670, 125, 137, 138, 307, 320, 333, 489, + 502, 515, 671, 684, 139, 151, 152, 165, + 321, 334, 347, 503, 516, 529, 685, 698, + 711, 683, 697, 853, 866, 867, 880, 335, + 348, 361, 517, 530, 543, 699, 712, 725, + 881, 894, 907, 879, 893, 1049, 1062, 1063, + 1076, 531, 544, 713, 726, 739, 895, 908, + 921, 1077, 1090, 99, 100, 112, 113, 114, + 126, 127, 140, 141, 154, 282, 295, 296, + 308, 309, 310, 322, 323, 336, 478, 491, + 492, 504, 505, 518, 687, 700, 87, 101, + 115, 128, 142, 155, 283, 297, 311, 324, + 337, 350, 479, 493, 506, 519, 532, 688, + 701, 88, 102, 116, 129, 130, 143, 156, + 169, 284, 298, 312, 325, 338, 351, 480, + 494, 507, 520, 533, 676, 689, 702, 715, + 168, 714, 182, 364, 546, 728, 157, 170, + 326, 339, 352, 365, 508, 521, 534, 547, + 703, 716, 183, 378, 560, 729, 144, 171, + 184, 340, 353, 366, 379, 522, 535, 548, + 561, 717, 730, 674, 883, 896, 675, 871, + 884, 897, 910, 690, 885, 898, 742, 911, + 704, 743, 899, 912, 924, 574, 756, 925, + 158, 354, 367, 380, 536, 549, 562, 575, + 718, 731, 744, 757, 900, 913, 926, 870, + 1079, 1092, 1080, 1093, 872, 886, 1081, 1094, + 1106, 938, 1107, 939, 1095, 1108, 1120, 770, + 952, 1121, 550, 563, 576, 732, 745, 758, + 771, 914, 927, 940, 953, 1109, 1122, 102, + 103, 115, 116, 117, 129, 130, 142, 143, + 144, 156, 157, 285, 298, 299, 311, 312, + 313, 324, 325, 326, 338, 339, 352, 481, + 494, 495, 507, 508, 520, 521, 534, 690, + 703, 90, 104, 118, 131, 145, 158, 286, + 300, 314, 327, 340, 353, 482, 496, 509, + 522, 535, 691, 704, 91, 105, 119, 132, + 133, 146, 159, 172, 287, 301, 315, 328, + 341, 354, 483, 497, 510, 523, 536, 679, + 692, 705, 718, 170, 171, 366, 548, 717, + 185, 367, 549, 731, 147, 160, 173, 186, + 329, 342, 355, 368, 511, 524, 537, 550, + 693, 706, 719, 732, 184, 380, 562, 744, + 381, 563, 745, 174, 187, 343, 356, 369, + 382, 525, 538, 551, 564, 720, 733, 677, + 716, 730, 886, 899, 678, 874, 887, 900, + 913, 888, 901, 926, 914, 707, 746, 902, + 915, 576, 758, 927, 577, 759, 928, 161, + 370, 383, 539, 552, 565, 578, 721, 734, + 747, 760, 903, 916, 929, 873, 912, 1082, + 1095, 1083, 1096, 875, 889, 1084, 1097, 940, + 1109, 941, 1110, 942, 1085, 1098, 1111, 1124, + 772, 954, 1123, 773, 955, 1137, 357, 566, + 579, 735, 748, 761, 774, 917, 930, 943, + 956, 1112, 1125, 105, 106, 118, 119, 120, + 132, 133, 145, 146, 147, 159, 160, 288, + 301, 302, 314, 315, 316, 327, 328, 329, + 341, 342, 355, 484, 497, 498, 510, 511, + 523, 524, 537, 693, 706, 107, 121, 134, + 148, 161, 289, 303, 317, 330, 343, 356, + 485, 499, 512, 525, 538, 694, 707, 94, + 108, 122, 135, 136, 149, 162, 175, 290, + 304, 318, 331, 344, 357, 486, 500, 513, + 526, 539, 682, 695, 708, 721, 173, 174, + 369, 551, 720, 188, 370, 552, 734, 150, + 163, 176, 189, 332, 345, 358, 371, 514, + 527, 540, 553, 709, 722, 187, 383, 565, + 747, 384, 566, 735, 164, 177, 190, 346, + 359, 372, 385, 528, 541, 554, 567, 723, + 736, 680, 719, 733, 889, 902, 681, 890, + 903, 696, 878, 891, 904, 917, 916, 748, + 930, 710, 749, 905, 918, 579, 761, 943, + 580, 762, 931, 360, 373, 386, 542, 555, + 568, 581, 724, 737, 750, 763, 906, 919, + 932, 945, 876, 915, 929, 1085, 1098, 877, + 1086, 1099, 892, 1074, 1087, 1100, 1113, 1112, + 944, 1126, 1101, 1114, 775, 957, 776, 958, + 1127, 556, 569, 582, 738, 751, 764, 777, + 920, 933, 946, 959, 1115, 1128, 108, 109, + 121, 122, 123, 135, 136, 148, 149, 150, + 162, 163, 291, 304, 305, 317, 318, 319, + 330, 331, 332, 344, 345, 358, 487, 500, + 501, 513, 514, 526, 527, 540, 696, 709, + 96, 110, 124, 137, 151, 164, 292, 306, + 320, 333, 346, 359, 488, 502, 515, 528, + 541, 697, 710, 97, 111, 125, 138, 139, + 152, 165, 178, 293, 307, 321, 334, 347, + 360, 489, 503, 516, 529, 542, 685, 698, + 711, 724, 176, 177, 372, 554, 723, 191, + 373, 555, 737, 153, 166, 179, 192, 335, + 348, 361, 374, 517, 530, 543, 556, 712, + 725, 190, 386, 568, 387, 569, 738, 167, + 180, 193, 349, 362, 375, 388, 531, 544, + 557, 570, 726, 739, 683, 722, 736, 892, + 905, 684, 880, 893, 906, 919, 699, 881, + 894, 907, 920, 750, 751, 713, 752, 908, + 921, 582, 764, 933, 583, 765, 934, 363, + 376, 389, 545, 558, 571, 584, 727, 740, + 753, 766, 909, 922, 935, 948, 879, 918, + 932, 1088, 1101, 1089, 1102, 895, 1077, 1090, + 1103, 946, 1115, 947, 1116, 1104, 1117, 778, + 960, 1129, 779, 961, 1130, 559, 572, 585, + 741, 754, 767, 780, 923, 936, 949, 962, + 1118, 1131, 111, 124, 125, 138, 139, 151, + 152, 153, 165, 166, 307, 320, 321, 333, + 334, 335, 347, 348, 361, 503, 516, 517, + 529, 530, 543, 699, 712, 167, 179, 180, + 349, 362, 375, 531, 544, 557, 713, 726, + 181, 193, 194, 363, 376, 389, 545, 558, + 571, 727, 740, 725, 739, 895, 908, 753, + 909, 922, 377, 390, 559, 572, 585, 741, + 754, 767, 923, 936, 921, 935, 1091, 1104, + 949, 1105, 1118, 573, 586, 755, 768, 781, + 937, 950, 963, 1119, 1132, 141, 142, 154, + 155, 156, 168, 169, 182, 183, 324, 337, + 338, 350, 351, 352, 364, 365, 378, 520, + 533, 534, 546, 547, 560, 729, 742, 143, + 157, 170, 184, 325, 339, 353, 366, 379, + 521, 535, 548, 561, 574, 730, 743, 130, + 144, 158, 171, 172, 185, 326, 340, 354, + 367, 380, 522, 536, 549, 562, 575, 718, + 731, 744, 757, 716, 756, 925, 938, 717, + 770, 926, 939, 381, 550, 563, 576, 732, + 745, 758, 771, 927, 940, 912, 952, 1121, + 1134, 913, 953, 966, 1122, 1135, 368, 577, + 746, 759, 772, 914, 928, 941, 954, 967, + 1123, 1136, 144, 145, 157, 158, 159, 171, + 172, 184, 185, 186, 327, 340, 341, 353, + 354, 355, 366, 367, 368, 380, 381, 523, + 536, 537, 549, 550, 562, 563, 576, 732, + 745, 146, 160, 173, 187, 328, 342, 356, + 369, 382, 524, 538, 551, 564, 577, 733, + 746, 133, 147, 161, 174, 175, 188, 329, + 343, 357, 370, 383, 525, 539, 552, 565, + 578, 721, 734, 747, 760, 719, 758, 759, + 772, 928, 941, 720, 773, 929, 942, 371, + 384, 553, 566, 579, 735, 748, 761, 774, + 917, 930, 943, 956, 915, 954, 955, 968, + 1124, 1137, 916, 969, 1125, 1138, 567, 580, + 749, 762, 775, 931, 944, 957, 970, 1113, + 1126, 1139, 1152, 147, 148, 160, 161, 162, + 174, 175, 187, 188, 189, 330, 343, 344, + 356, 357, 358, 369, 370, 371, 383, 384, + 526, 539, 540, 552, 553, 565, 566, 579, + 735, 748, 149, 163, 176, 190, 331, 345, + 359, 372, 385, 527, 541, 554, 567, 580, + 736, 749, 136, 150, 164, 177, 178, 191, + 332, 346, 360, 373, 386, 528, 542, 555, + 568, 581, 724, 737, 750, 763, 722, 761, + 762, 775, 931, 944, 723, 776, 932, 945, + 374, 387, 556, 569, 582, 738, 751, 764, + 777, 920, 933, 946, 959, 918, 957, 958, + 971, 1127, 1140, 919, 972, 1128, 1141, 570, + 583, 752, 765, 778, 934, 947, 960, 973, + 1116, 1129, 1142, 1155, 150, 151, 163, 164, + 165, 177, 178, 190, 191, 192, 333, 346, + 347, 359, 360, 361, 372, 373, 374, 386, + 387, 529, 542, 543, 555, 556, 568, 569, + 582, 738, 751, 138, 152, 166, 179, 193, + 334, 348, 362, 375, 388, 530, 544, 557, + 570, 583, 739, 752, 139, 153, 167, 180, + 181, 194, 335, 349, 363, 376, 389, 531, + 545, 558, 571, 584, 727, 740, 753, 766, + 725, 764, 765, 778, 934, 947, 726, 779, + 922, 935, 948, 961, 377, 390, 559, 572, + 585, 741, 754, 767, 780, 923, 936, 949, + 962, 921, 960, 974, 1130, 1143, 975, 1131, + 1144, 573, 586, 755, 768, 781, 937, 950, + 963, 976, 1119, 1132, 1145, 153, 166, 167, + 180, 181, 193, 194, 195, 349, 362, 363, + 375, 376, 377, 389, 390, 545, 558, 559, + 571, 572, 585, 741, 754, 391, 573, 586, + 755, 767, 768, 781, 937, 950, 587, 769, + 782, 951, 963, 964, 977, 1133, 1146, 15, + 28, 197, 198, 210, 211, 224, 392, 393, + 394, 406, 407, 420, 588, 589, 602, 603, + 616, 784, 785, 798, 980, 16, 29, 199, + 212, 225, 238, 395, 408, 421, 434, 590, + 604, 617, 786, 799, 812, 981, 994, 17, + 30, 200, 213, 226, 239, 396, 409, 422, + 435, 591, 592, 605, 618, 631, 787, 800, + 813, 982, 995, 1177, 42, 630, 1176, 43, + 252, 448, 644, 826, 1008, 1190, 31, 44, + 214, 227, 240, 253, 410, 423, 436, 449, + 619, 632, 788, 801, 814, 827, 983, 996, + 1009, 1178, 56, 57, 266, 462, 645, 840, + 1022, 1191, 45, 58, 228, 241, 254, 267, + 424, 437, 450, 463, 606, 633, 646, 802, + 815, 828, 841, 984, 997, 1010, 1023, 1179, + 1192, 1373, 1372, 1204, 1205, 1374, 1386, 658, + 1036, 1218, 1387, 620, 659, 829, 842, 998, + 1011, 1024, 1037, 1180, 1193, 1206, 1219, 1375, + 1388, 1401, 1568, 1400, 1569, 1570, 1582, 854, + 1232, 1414, 1583, 816, 855, 1025, 1038, 1194, + 1207, 1220, 1233, 1376, 1389, 1402, 1415, 1571, + 1584, 1597, 18, 31, 200, 201, 213, 214, + 226, 227, 240, 395, 396, 397, 408, 409, + 410, 422, 423, 436, 591, 592, 604, 605, + 606, 618, 619, 786, 787, 788, 800, 801, + 814, 982, 983, 996, 19, 32, 202, 215, + 228, 241, 398, 411, 424, 437, 593, 607, + 620, 789, 802, 815, 984, 997, 7, 20, + 33, 46, 203, 216, 229, 242, 399, 412, + 425, 438, 594, 595, 608, 621, 634, 790, + 803, 816, 985, 998, 1180, 45, 254, 450, + 632, 633, 828, 1010, 1179, 59, 255, 451, + 647, 829, 1011, 1193, 34, 47, 217, 230, + 243, 256, 413, 426, 439, 452, 622, 635, + 791, 804, 817, 830, 986, 999, 1012, 1181, + 72, 268, 464, 646, 660, 842, 1024, 60, + 269, 465, 648, 843, 1025, 1194, 48, 61, + 231, 244, 257, 270, 427, 440, 453, 466, + 609, 636, 649, 805, 818, 831, 844, 987, + 1000, 1013, 1026, 1182, 1195, 1178, 1192, 1375, + 1376, 1206, 1207, 1208, 1377, 856, 1038, 1220, + 1389, 661, 1039, 1221, 1390, 623, 662, 832, + 845, 1001, 1014, 1027, 1040, 1183, 1196, 1209, + 1222, 1378, 1391, 1404, 1374, 1388, 1571, 1402, + 1403, 1572, 1573, 1234, 1416, 1585, 857, 1235, + 1417, 1586, 819, 858, 1028, 1041, 1197, 1210, + 1223, 1236, 1379, 1392, 1405, 1418, 1574, 1587, + 1600, 21, 34, 203, 204, 216, 217, 229, + 230, 243, 398, 399, 400, 411, 412, 413, + 425, 426, 439, 594, 595, 607, 608, 609, + 621, 622, 789, 790, 791, 803, 804, 817, + 985, 986, 999, 22, 35, 205, 218, 231, + 244, 401, 414, 427, 440, 596, 610, 623, + 792, 805, 818, 987, 1000, 10, 23, 36, + 49, 206, 219, 232, 245, 402, 415, 428, + 441, 597, 598, 611, 624, 637, 793, 806, + 819, 988, 1001, 1183, 48, 257, 453, 635, + 636, 831, 1013, 1182, 62, 258, 454, 650, + 832, 1014, 1196, 37, 50, 220, 233, 246, + 259, 416, 429, 442, 455, 612, 625, 638, + 794, 807, 820, 833, 989, 1002, 1015, 1184, + 75, 271, 467, 649, 663, 845, 1027, 63, + 272, 468, 651, 846, 1028, 1197, 38, 51, + 64, 234, 247, 260, 273, 430, 443, 456, + 469, 626, 639, 652, 808, 821, 834, 847, + 990, 1003, 1016, 1029, 1185, 1198, 1181, 1195, + 1378, 1379, 1209, 1210, 1211, 1380, 859, 1041, + 1223, 1392, 664, 1042, 1224, 1393, 665, 822, + 835, 848, 1004, 1017, 1030, 1043, 1186, 1199, + 1212, 1225, 1381, 1394, 1407, 1377, 1391, 1574, + 1405, 1406, 1575, 1576, 1237, 1419, 1588, 860, + 1238, 1420, 1589, 861, 1018, 1031, 1044, 1200, + 1213, 1226, 1239, 1382, 1395, 1408, 1421, 1577, + 1590, 1603, 24, 37, 206, 207, 219, 220, + 232, 233, 246, 401, 402, 403, 414, 415, + 416, 428, 429, 442, 597, 598, 610, 611, + 612, 624, 625, 792, 793, 794, 806, 807, + 820, 988, 989, 1002, 12, 25, 38, 51, + 208, 221, 234, 247, 404, 417, 430, 443, + 599, 613, 626, 795, 808, 821, 990, 1003, + 1185, 13, 26, 39, 52, 209, 222, 235, + 248, 405, 418, 431, 444, 600, 601, 614, + 627, 640, 796, 809, 822, 991, 1004, 1186, + 260, 456, 638, 639, 834, 1016, 65, 261, + 457, 653, 835, 1017, 1199, 40, 53, 223, + 236, 249, 262, 419, 432, 445, 458, 615, + 628, 641, 654, 797, 810, 823, 836, 992, + 1005, 1018, 1187, 274, 470, 652, 848, 1030, + 66, 275, 471, 667, 849, 1031, 1200, 1213, + 41, 54, 67, 80, 237, 250, 263, 276, + 433, 446, 459, 472, 629, 642, 655, 668, + 811, 824, 837, 850, 993, 1006, 1019, 1032, + 1188, 1201, 1184, 1198, 1381, 1382, 1212, 1214, + 1383, 666, 1044, 1226, 1395, 1045, 1227, 1396, + 825, 838, 851, 864, 1007, 1020, 1033, 1046, + 1189, 1202, 1215, 1228, 1384, 1397, 1380, 1394, + 1577, 1408, 1409, 1578, 1410, 1579, 862, 1240, + 1422, 1591, 863, 1059, 1241, 1423, 1592, 1605, + 1021, 1034, 1047, 1060, 1203, 1216, 1229, 1242, + 1385, 1398, 1411, 1424, 1580, 1593, 27, 40, + 209, 222, 223, 235, 236, 249, 404, 405, + 417, 418, 419, 431, 432, 445, 600, 601, + 613, 614, 615, 627, 628, 795, 796, 797, + 809, 810, 823, 991, 992, 1005, 41, 54, + 237, 250, 263, 433, 446, 459, 629, 641, + 642, 811, 824, 837, 993, 1006, 1019, 1188, + 55, 68, 251, 264, 277, 447, 460, 473, + 643, 655, 656, 825, 838, 851, 1007, 1020, + 1033, 1189, 1202, 1187, 1201, 1215, 1384, 669, + 839, 852, 1021, 1034, 1047, 1203, 1216, 1229, + 1385, 1398, 1383, 1397, 1411, 1580, 865, 1035, + 1048, 1217, 1230, 1243, 1399, 1412, 1425, 1581, + 1594, 57, 70, 226, 239, 240, 252, 253, + 266, 408, 421, 422, 434, 435, 436, 448, + 449, 462, 603, 604, 616, 617, 618, 630, + 631, 644, 645, 658, 786, 799, 800, 812, + 813, 814, 826, 827, 840, 982, 995, 996, + 1008, 1009, 1022, 1191, 1204, 58, 71, 227, + 241, 254, 267, 280, 409, 423, 437, 450, + 463, 476, 591, 605, 619, 632, 646, 659, + 787, 801, 815, 828, 841, 854, 983, 997, + 1010, 1023, 1036, 1192, 1205, 46, 59, 72, + 85, 228, 242, 255, 268, 281, 410, 424, + 438, 451, 464, 477, 592, 606, 620, 633, + 634, 647, 660, 673, 788, 802, 816, 829, + 842, 855, 984, 998, 1011, 1024, 1037, 1180, + 1193, 1206, 1219, 84, 672, 1218, 98, 294, + 490, 686, 868, 1050, 73, 86, 256, 269, + 282, 295, 452, 465, 478, 491, 661, 674, + 830, 843, 856, 869, 1012, 1025, 1038, 1051, + 1207, 1220, 1232, 99, 308, 504, 687, 882, + 1064, 1233, 74, 87, 100, 113, 270, 283, + 296, 309, 466, 479, 492, 505, 648, 675, + 688, 844, 857, 870, 883, 1026, 1039, 1052, + 1065, 1221, 1234, 1178, 1387, 1400, 1179, 1375, + 1388, 1401, 1414, 1194, 1376, 1389, 1402, 1415, + 1246, 1208, 1247, 1403, 1416, 1428, 700, 1078, + 1260, 1429, 662, 701, 858, 871, 884, 897, + 1040, 1053, 1066, 1079, 1222, 1235, 1248, 1261, + 1404, 1417, 1430, 1443, 1374, 1583, 1596, 1571, + 1584, 1597, 1610, 1390, 1585, 1598, 1442, 1611, + 1599, 1612, 1624, 896, 1274, 1456, 1625, 1067, + 1080, 1236, 1249, 1262, 1275, 1418, 1431, 1444, + 1457, 1600, 1613, 1626, 1639, 60, 73, 229, + 242, 243, 255, 256, 268, 269, 282, 411, + 424, 425, 437, 438, 439, 450, 451, 452, + 464, 465, 478, 606, 607, 619, 620, 621, + 633, 634, 646, 647, 648, 660, 661, 789, + 802, 803, 815, 816, 817, 828, 829, 830, + 842, 843, 856, 985, 998, 999, 1011, 1012, + 1024, 1025, 1038, 1194, 1207, 61, 74, 230, + 244, 257, 270, 283, 412, 426, 440, 453, + 466, 479, 594, 608, 622, 635, 649, 662, + 790, 804, 818, 831, 844, 857, 986, 1000, + 1013, 1026, 1039, 1195, 1208, 49, 62, 75, + 88, 231, 245, 258, 271, 284, 413, 427, + 441, 454, 467, 480, 595, 609, 623, 636, + 637, 650, 663, 676, 791, 805, 819, 832, + 845, 858, 987, 1001, 1014, 1027, 1040, 1183, + 1196, 1209, 1222, 87, 100, 296, 492, 674, + 675, 688, 870, 1052, 1221, 101, 297, 493, + 689, 871, 1053, 76, 89, 259, 272, 285, + 298, 455, 468, 481, 494, 664, 677, 833, + 846, 859, 872, 1015, 1028, 1041, 1054, 1210, + 1223, 114, 310, 506, 702, 884, 1066, 1235, + 102, 311, 507, 690, 885, 1067, 1236, 77, + 90, 103, 116, 273, 286, 299, 312, 469, + 482, 495, 508, 651, 678, 691, 847, 860, + 873, 886, 1029, 1042, 1055, 1068, 1224, 1237, + 1181, 1220, 1234, 1390, 1403, 1182, 1378, 1391, + 1404, 1417, 1197, 1379, 1392, 1405, 1418, 1248, + 1430, 1249, 1211, 1250, 1406, 1419, 898, 1080, + 1262, 1431, 703, 1081, 1263, 1432, 665, 704, + 861, 874, 887, 900, 1043, 1056, 1069, 1082, + 1225, 1238, 1251, 1264, 1407, 1420, 1433, 1446, + 1377, 1416, 1586, 1599, 1574, 1587, 1600, 1613, + 1393, 1588, 1601, 1444, 1626, 1445, 1614, 1602, + 1615, 1276, 1458, 1627, 899, 1277, 1459, 1628, + 1070, 1083, 1239, 1252, 1265, 1278, 1421, 1434, + 1447, 1460, 1603, 1616, 1629, 1642, 63, 76, + 232, 245, 246, 258, 259, 271, 272, 285, + 414, 427, 428, 440, 441, 442, 453, 454, + 455, 467, 468, 481, 609, 610, 622, 623, + 624, 636, 637, 649, 650, 651, 663, 664, + 792, 805, 806, 818, 819, 820, 831, 832, + 833, 845, 846, 859, 988, 1001, 1002, 1014, + 1015, 1027, 1028, 1041, 1197, 1210, 64, 77, + 233, 247, 260, 273, 286, 415, 429, 443, + 456, 469, 482, 597, 611, 625, 638, 652, + 665, 793, 807, 821, 834, 847, 860, 989, + 1003, 1016, 1029, 1042, 1198, 1211, 52, 65, + 78, 91, 234, 248, 261, 274, 287, 416, + 430, 444, 457, 470, 483, 598, 612, 626, + 639, 640, 653, 666, 679, 794, 808, 822, + 835, 848, 861, 990, 1004, 1017, 1030, 1043, + 1186, 1199, 1212, 1225, 90, 103, 299, 495, + 677, 678, 691, 873, 1055, 1224, 104, 300, + 496, 692, 874, 1056, 79, 92, 262, 275, + 288, 301, 458, 471, 484, 497, 654, 667, + 680, 836, 849, 862, 875, 1018, 1031, 1044, + 1057, 1200, 1213, 1226, 117, 313, 509, 705, + 887, 1069, 1238, 105, 314, 510, 693, 888, + 1070, 1239, 80, 93, 106, 119, 276, 289, + 302, 315, 472, 485, 498, 511, 668, 681, + 694, 850, 863, 876, 889, 1032, 1045, 1058, + 1071, 1214, 1227, 1240, 1184, 1223, 1237, 1393, + 1406, 1185, 1381, 1394, 1407, 1420, 1382, 1395, + 1408, 1421, 1251, 1433, 1252, 1253, 1409, 1422, + 901, 1083, 1265, 1434, 706, 1084, 1266, 1435, + 707, 864, 877, 890, 903, 1046, 1059, 1072, + 1085, 1228, 1241, 1254, 1267, 1410, 1423, 1436, + 1449, 1380, 1419, 1589, 1602, 1577, 1590, 1603, + 1616, 1396, 1591, 1604, 1447, 1629, 1448, 1617, + 1592, 1605, 1618, 1279, 1461, 1630, 902, 1280, + 1462, 1631, 1060, 1073, 1086, 1242, 1255, 1268, + 1281, 1424, 1437, 1450, 1463, 1606, 1619, 1632, + 1645, 66, 79, 235, 248, 249, 261, 262, + 274, 275, 288, 417, 430, 431, 443, 444, + 445, 456, 457, 458, 470, 471, 484, 612, + 613, 625, 626, 627, 639, 640, 652, 653, + 654, 666, 667, 795, 808, 809, 821, 822, + 823, 834, 835, 836, 848, 849, 862, 991, + 1004, 1005, 1017, 1018, 1030, 1031, 1044, 1200, + 1213, 67, 80, 93, 236, 250, 263, 276, + 289, 418, 432, 446, 459, 472, 485, 600, + 614, 628, 641, 655, 668, 796, 810, 824, + 837, 850, 863, 992, 1006, 1019, 1032, 1045, + 1201, 1214, 55, 68, 81, 94, 237, 251, + 264, 277, 290, 419, 433, 447, 460, 473, + 486, 601, 615, 629, 642, 643, 656, 669, + 682, 797, 811, 825, 838, 851, 864, 993, + 1007, 1020, 1033, 1046, 1189, 1202, 1215, 1228, + 302, 498, 680, 681, 876, 1058, 1227, 107, + 303, 499, 695, 877, 1059, 1241, 82, 95, + 265, 278, 291, 304, 461, 474, 487, 500, + 657, 670, 683, 696, 839, 852, 865, 878, + 1021, 1034, 1047, 1060, 1203, 1216, 1229, 316, + 512, 694, 890, 1072, 108, 317, 513, 709, + 891, 1073, 1242, 1255, 96, 109, 279, 292, + 305, 318, 475, 488, 501, 514, 684, 697, + 853, 866, 879, 892, 1035, 1048, 1061, 1074, + 1217, 1230, 1243, 1187, 1226, 1240, 1396, 1409, + 1188, 1384, 1397, 1410, 1423, 1385, 1398, 1411, + 1254, 1424, 1437, 1256, 1412, 1425, 708, 1086, + 1268, 905, 1087, 1269, 1438, 671, 710, 880, + 893, 1049, 1062, 1075, 1088, 1231, 1244, 1257, + 1270, 1413, 1426, 1439, 1383, 1422, 1436, 1592, + 1605, 1580, 1593, 1606, 1619, 1399, 1594, 1607, + 1450, 1451, 1620, 1452, 1595, 1608, 1621, 1634, + 904, 1282, 1464, 1633, 1101, 1283, 1465, 1647, + 867, 906, 1076, 1089, 1245, 1258, 1271, 1284, + 1427, 1440, 1453, 1466, 1609, 1622, 1635, 69, + 82, 251, 264, 265, 277, 278, 291, 433, + 446, 447, 459, 460, 461, 473, 474, 487, + 615, 628, 629, 642, 643, 655, 656, 657, + 669, 670, 811, 824, 825, 837, 838, 839, + 851, 852, 865, 1007, 1020, 1021, 1033, 1034, + 1047, 1203, 1216, 83, 96, 279, 292, 305, + 475, 488, 501, 671, 683, 684, 853, 866, + 879, 1035, 1048, 1061, 1217, 1230, 97, 110, + 293, 306, 319, 489, 502, 515, 685, 697, + 698, 867, 880, 893, 1049, 1062, 1075, 1231, + 1244, 1229, 1243, 1399, 1412, 1257, 1413, 1426, + 711, 881, 894, 1063, 1076, 1089, 1245, 1258, + 1271, 1427, 1440, 1425, 1439, 1595, 1608, 1453, + 1609, 1622, 907, 1077, 1090, 1259, 1272, 1285, + 1441, 1454, 1467, 1623, 1636, 99, 112, 268, + 281, 282, 294, 295, 308, 450, 463, 464, + 476, 477, 478, 490, 491, 504, 645, 646, + 658, 659, 660, 672, 673, 686, 687, 700, + 828, 841, 842, 854, 855, 856, 868, 869, + 882, 1024, 1037, 1038, 1050, 1051, 1064, 1233, + 1246, 100, 113, 269, 283, 296, 309, 322, + 451, 465, 479, 492, 505, 518, 633, 647, + 661, 674, 688, 701, 829, 843, 857, 870, + 883, 896, 1025, 1039, 1052, 1065, 1078, 1234, + 1247, 88, 101, 114, 127, 270, 284, 297, + 310, 323, 452, 466, 480, 493, 506, 519, + 648, 662, 675, 676, 689, 702, 715, 830, + 844, 858, 871, 884, 897, 1026, 1040, 1053, + 1066, 1079, 1235, 1248, 126, 714, 1260, 336, + 532, 910, 1092, 1261, 115, 128, 298, 311, + 324, 337, 494, 507, 520, 533, 703, 716, + 872, 885, 898, 911, 1054, 1067, 1080, 1093, + 1249, 1262, 140, 728, 1274, 141, 350, 546, + 729, 924, 1106, 1275, 116, 129, 142, 155, + 312, 325, 338, 351, 508, 521, 534, 547, + 690, 717, 730, 743, 886, 899, 912, 925, + 1068, 1081, 1094, 1107, 1263, 1276, 1220, 1429, + 1442, 1221, 1417, 1430, 1443, 1456, 1222, 1236, + 1431, 1444, 1288, 1457, 1250, 1289, 1445, 1458, + 1470, 742, 1120, 1302, 1471, 704, 900, 913, + 926, 939, 1082, 1095, 1108, 1121, 1264, 1277, + 1290, 1303, 1446, 1459, 1472, 1485, 1416, 1625, + 1638, 1613, 1626, 1639, 1652, 1418, 1432, 1627, + 1640, 1484, 1653, 1641, 1654, 1666, 938, 1316, + 1498, 1667, 1109, 1122, 1135, 1278, 1291, 1304, + 1317, 1460, 1473, 1486, 1499, 1642, 1655, 1668, + 1681, 102, 115, 271, 284, 285, 297, 298, + 310, 311, 324, 453, 466, 467, 479, 480, + 481, 492, 493, 494, 506, 507, 520, 648, + 649, 661, 662, 663, 675, 676, 688, 689, + 690, 702, 703, 831, 844, 845, 857, 858, + 859, 870, 871, 872, 884, 885, 898, 1027, + 1040, 1041, 1053, 1054, 1066, 1067, 1080, 1236, + 1249, 103, 116, 272, 286, 299, 312, 325, + 454, 468, 482, 495, 508, 521, 636, 650, + 664, 677, 691, 704, 832, 846, 860, 873, + 886, 899, 1028, 1042, 1055, 1068, 1081, 1237, + 1250, 91, 104, 117, 130, 273, 287, 300, + 313, 326, 455, 469, 483, 496, 509, 522, + 651, 665, 678, 679, 692, 705, 718, 833, + 847, 861, 874, 887, 900, 1029, 1043, 1056, + 1069, 1082, 1238, 1251, 129, 142, 338, 534, + 716, 717, 730, 912, 1094, 1263, 339, 535, + 913, 1095, 1264, 118, 131, 301, 314, 327, + 340, 497, 510, 523, 536, 706, 719, 875, + 888, 901, 914, 1057, 1070, 1083, 1096, 1252, + 1265, 143, 156, 352, 548, 731, 744, 926, + 1108, 1277, 144, 353, 549, 732, 927, 1109, + 1278, 119, 132, 145, 158, 315, 328, 341, + 354, 511, 524, 537, 550, 693, 720, 733, + 746, 889, 902, 915, 928, 1071, 1084, 1097, + 1110, 1266, 1279, 1223, 1262, 1276, 1432, 1445, + 1224, 1420, 1433, 1446, 1459, 1225, 1239, 1434, + 1447, 1290, 1472, 1291, 1460, 1253, 1292, 1448, + 1461, 940, 1122, 1304, 1473, 745, 1123, 1305, + 1474, 707, 903, 916, 929, 942, 1085, 1098, + 1111, 1124, 1267, 1280, 1293, 1306, 1449, 1462, + 1475, 1488, 1419, 1458, 1628, 1641, 1616, 1629, + 1642, 1655, 1421, 1435, 1630, 1643, 1486, 1487, + 1656, 1644, 1657, 1318, 1500, 1669, 941, 1319, + 1501, 1670, 1112, 1125, 1138, 1281, 1294, 1307, + 1320, 1463, 1476, 1489, 1502, 1645, 1658, 1671, + 1684, 105, 118, 274, 287, 288, 300, 301, + 313, 314, 327, 456, 469, 470, 482, 483, + 484, 495, 496, 497, 509, 510, 523, 651, + 652, 664, 665, 666, 678, 679, 691, 692, + 693, 705, 706, 834, 847, 848, 860, 861, + 862, 873, 874, 875, 887, 888, 901, 1030, + 1043, 1044, 1056, 1057, 1069, 1070, 1083, 1239, + 1252, 106, 119, 275, 289, 302, 315, 328, + 457, 471, 485, 498, 511, 524, 639, 653, + 667, 680, 694, 707, 835, 849, 863, 876, + 889, 902, 1031, 1045, 1058, 1071, 1084, 1240, + 1253, 94, 107, 120, 276, 290, 303, 316, + 329, 458, 472, 486, 499, 512, 525, 640, + 654, 668, 681, 682, 695, 708, 836, 850, + 864, 877, 890, 903, 1032, 1046, 1059, 1072, + 1085, 1228, 1241, 1254, 132, 145, 341, 537, + 719, 720, 733, 915, 1097, 1266, 133, 342, + 538, 721, 916, 1098, 1267, 121, 134, 304, + 317, 330, 343, 500, 513, 526, 539, 696, + 709, 722, 735, 878, 891, 904, 917, 1060, + 1073, 1086, 1099, 1242, 1255, 1268, 1281, 146, + 355, 551, 734, 929, 1111, 1280, 147, 356, + 552, 930, 1112, 135, 148, 318, 331, 344, + 357, 514, 527, 540, 553, 723, 736, 892, + 905, 918, 931, 1074, 1087, 1100, 1113, 1256, + 1269, 1282, 1226, 1265, 1279, 1435, 1448, 1227, + 1423, 1436, 1449, 1462, 1424, 1437, 1450, 1293, + 1475, 1294, 1463, 1295, 1438, 1451, 1464, 747, + 1125, 1307, 1476, 748, 1126, 1308, 1477, 710, + 749, 919, 932, 1088, 1101, 1114, 1127, 1270, + 1283, 1296, 1309, 1452, 1465, 1478, 1491, 1422, + 1461, 1631, 1644, 1619, 1632, 1645, 1658, 1633, + 1646, 1489, 1490, 1659, 1634, 1647, 1660, 1673, + 943, 1321, 1503, 1672, 944, 1322, 1504, 906, + 945, 1115, 1128, 1284, 1297, 1310, 1323, 1466, + 1479, 1492, 1505, 1648, 1661, 1674, 1687, 108, + 121, 277, 290, 291, 303, 304, 316, 317, + 330, 459, 472, 473, 485, 486, 487, 498, + 499, 500, 512, 513, 526, 654, 655, 667, + 668, 669, 681, 682, 694, 695, 696, 708, + 709, 837, 850, 851, 863, 864, 865, 876, + 877, 878, 890, 891, 904, 1033, 1046, 1047, + 1059, 1060, 1072, 1073, 1086, 1242, 1255, 109, + 122, 278, 292, 305, 318, 331, 460, 474, + 488, 501, 514, 527, 642, 656, 670, 683, + 697, 710, 838, 852, 866, 879, 892, 905, + 1034, 1048, 1061, 1074, 1087, 1243, 1256, 97, + 110, 123, 136, 279, 293, 306, 319, 332, + 461, 475, 489, 502, 515, 528, 643, 657, + 671, 684, 685, 698, 711, 724, 839, 853, + 867, 880, 893, 906, 1035, 1049, 1062, 1075, + 1088, 1231, 1244, 1257, 1270, 135, 344, 540, + 722, 723, 918, 1100, 1269, 149, 345, 541, + 737, 919, 1101, 1283, 124, 137, 307, 320, + 333, 346, 503, 516, 529, 542, 699, 712, + 725, 738, 881, 894, 907, 920, 1063, 1076, + 1089, 1102, 1258, 1271, 162, 358, 554, 736, + 750, 932, 1114, 1296, 150, 359, 555, 751, + 933, 1115, 1284, 138, 151, 321, 334, 347, + 360, 517, 530, 543, 556, 726, 739, 752, + 895, 908, 921, 934, 1077, 1090, 1103, 1116, + 1272, 1285, 1229, 1268, 1282, 1438, 1451, 1230, + 1426, 1439, 1452, 1465, 1245, 1427, 1440, 1453, + 1466, 1297, 1479, 1259, 1298, 1454, 1467, 946, + 1128, 1310, 1492, 947, 1129, 1311, 1480, 713, + 922, 935, 948, 1091, 1104, 1117, 1130, 1273, + 1286, 1299, 1312, 1455, 1468, 1481, 1494, 1425, + 1464, 1478, 1634, 1647, 1622, 1635, 1648, 1661, + 1441, 1636, 1649, 1493, 1662, 1675, 1637, 1650, + 1663, 1676, 1324, 1506, 1143, 1325, 1507, 1689, + 909, 1118, 1131, 1144, 1287, 1300, 1313, 1326, + 1469, 1482, 1495, 1508, 1651, 1664, 1677, 1690, + 111, 124, 293, 306, 307, 319, 320, 333, + 475, 488, 489, 501, 502, 503, 515, 516, + 529, 657, 670, 671, 684, 685, 697, 698, + 699, 711, 712, 853, 866, 867, 879, 880, + 881, 893, 894, 907, 1049, 1062, 1063, 1075, + 1076, 1089, 1245, 1258, 125, 138, 321, 334, + 347, 517, 530, 543, 713, 725, 726, 895, + 908, 921, 1077, 1090, 1103, 1259, 1272, 139, + 152, 165, 335, 348, 361, 531, 544, 557, + 727, 739, 740, 753, 909, 922, 935, 1091, + 1104, 1117, 1273, 1286, 1299, 1271, 1285, 1441, + 1454, 1455, 1468, 923, 936, 949, 1105, 1118, + 1131, 1287, 1300, 1313, 1469, 1482, 1495, 1467, + 1481, 1637, 1650, 1651, 1664, 1119, 1132, 1301, + 1314, 1327, 1483, 1496, 1509, 1665, 1678, 141, + 154, 310, 323, 324, 336, 337, 350, 492, + 505, 506, 518, 519, 520, 532, 533, 546, + 687, 688, 700, 701, 702, 714, 715, 728, + 729, 742, 870, 883, 884, 896, 897, 898, + 910, 911, 924, 1066, 1079, 1080, 1092, 1093, + 1106, 1275, 1288, 142, 155, 311, 325, 338, + 351, 364, 493, 507, 521, 534, 547, 560, + 675, 689, 703, 716, 730, 743, 871, 885, + 899, 912, 925, 938, 1067, 1081, 1094, 1107, + 1120, 1276, 1289, 130, 143, 156, 169, 312, + 326, 339, 352, 365, 494, 508, 522, 535, + 548, 561, 690, 704, 717, 718, 731, 744, + 757, 872, 886, 900, 913, 926, 939, 1068, + 1082, 1095, 1108, 1121, 1277, 1290, 168, 756, + 1302, 378, 574, 952, 1134, 1303, 157, 170, + 340, 353, 366, 379, 536, 549, 562, 575, + 745, 758, 914, 927, 940, 953, 1096, 1109, + 1122, 1135, 1291, 1304, 182, 770, 1316, 183, + 771, 966, 1148, 1317, 158, 171, 184, 354, + 367, 380, 550, 563, 576, 732, 746, 759, + 772, 928, 941, 954, 967, 1110, 1123, 1136, + 1149, 1305, 1318, 1262, 1471, 1484, 1263, 1459, + 1472, 1485, 1498, 1264, 1278, 1473, 1486, 1330, + 1499, 1292, 1331, 1487, 1500, 1512, 1162, 1344, + 1513, 942, 955, 968, 1124, 1137, 1150, 1163, + 1306, 1319, 1332, 1345, 1488, 1501, 1514, 1458, + 1667, 1680, 1655, 1668, 1681, 1694, 1460, 1474, + 1669, 1682, 1526, 1695, 1527, 1683, 1696, 1708, + 1358, 1540, 1709, 1138, 1151, 1164, 1320, 1333, + 1346, 1359, 1502, 1515, 1528, 1541, 1684, 1697, + 1710, 144, 157, 313, 326, 327, 339, 340, + 352, 353, 366, 495, 508, 509, 521, 522, + 523, 534, 535, 536, 548, 549, 562, 690, + 691, 703, 704, 705, 717, 718, 730, 731, + 732, 744, 745, 873, 886, 887, 899, 900, + 901, 912, 913, 914, 926, 927, 940, 1069, + 1082, 1083, 1095, 1096, 1108, 1109, 1122, 1278, + 1291, 145, 158, 314, 328, 341, 354, 367, + 496, 510, 524, 537, 550, 563, 678, 692, + 706, 719, 733, 746, 874, 888, 902, 915, + 928, 941, 1070, 1084, 1097, 1110, 1123, 1279, + 1292, 146, 159, 315, 329, 342, 355, 368, + 497, 511, 525, 538, 551, 564, 693, 707, + 720, 734, 747, 875, 889, 903, 916, 929, + 942, 1071, 1085, 1098, 1111, 1124, 1280, 1293, + 171, 184, 380, 576, 758, 759, 772, 954, + 1136, 1305, 172, 381, 577, 760, 955, 1137, + 1306, 160, 173, 343, 356, 369, 382, 539, + 552, 565, 578, 721, 735, 748, 761, 774, + 917, 930, 943, 956, 1099, 1112, 1125, 1138, + 1281, 1294, 1307, 1320, 185, 773, 968, 1150, + 1319, 186, 969, 1151, 1333, 174, 187, 357, + 370, 383, 553, 566, 579, 762, 775, 931, + 944, 957, 970, 1113, 1126, 1139, 1152, 1308, + 1321, 1265, 1304, 1318, 1474, 1487, 1266, 1462, + 1475, 1488, 1501, 1267, 1476, 1489, 1332, 1514, + 1502, 1295, 1334, 1490, 1503, 1164, 1346, 1515, + 1165, 1347, 1516, 749, 958, 971, 1127, 1140, + 1153, 1166, 1309, 1322, 1335, 1348, 1491, 1504, + 1517, 1461, 1500, 1670, 1683, 1658, 1671, 1684, + 1697, 1463, 1477, 1672, 1685, 1528, 1529, 1698, + 1530, 1673, 1686, 1699, 1712, 1360, 1542, 1711, + 1361, 1543, 1725, 945, 1154, 1167, 1323, 1336, + 1349, 1362, 1505, 1518, 1531, 1544, 1687, 1700, + 1713, 147, 160, 316, 329, 330, 342, 343, + 355, 356, 369, 498, 511, 512, 524, 525, + 526, 537, 538, 539, 551, 552, 565, 693, + 694, 706, 707, 708, 720, 721, 733, 734, + 735, 747, 748, 876, 889, 890, 902, 903, + 904, 915, 916, 917, 929, 930, 943, 1072, + 1085, 1086, 1098, 1099, 1111, 1112, 1125, 1281, + 1294, 148, 161, 317, 331, 344, 357, 370, + 499, 513, 527, 540, 553, 566, 695, 709, + 722, 736, 749, 877, 891, 905, 918, 931, + 944, 1073, 1087, 1100, 1113, 1126, 1282, 1295, + 136, 149, 162, 175, 318, 332, 345, 358, + 371, 500, 514, 528, 541, 554, 567, 682, + 696, 710, 723, 724, 737, 750, 763, 878, + 892, 906, 919, 932, 945, 1074, 1088, 1101, + 1114, 1127, 1270, 1283, 1296, 1309, 174, 383, + 579, 761, 762, 957, 1139, 1308, 188, 384, + 580, 776, 958, 1140, 1322, 163, 176, 346, + 359, 372, 385, 542, 555, 568, 581, 738, + 751, 764, 777, 920, 933, 946, 959, 1102, + 1115, 1128, 1141, 1297, 1310, 775, 971, 1153, + 1335, 189, 972, 1154, 1323, 177, 190, 360, + 373, 386, 556, 569, 582, 752, 765, 778, + 934, 947, 960, 973, 1116, 1129, 1142, 1155, + 1311, 1324, 1268, 1307, 1321, 1477, 1490, 1269, + 1478, 1491, 1284, 1466, 1479, 1492, 1505, 1504, + 1336, 1518, 1298, 1337, 1493, 1506, 1167, 1349, + 1531, 1168, 1350, 1519, 948, 961, 974, 1130, + 1143, 1156, 1169, 1312, 1325, 1338, 1351, 1494, + 1507, 1520, 1533, 1464, 1503, 1517, 1673, 1686, + 1465, 1674, 1687, 1480, 1662, 1675, 1688, 1701, + 1700, 1532, 1714, 1676, 1689, 1702, 1715, 1363, + 1545, 1364, 1546, 1144, 1157, 1170, 1326, 1339, + 1352, 1365, 1508, 1521, 1534, 1547, 1690, 1703, + 1716, 1729, 150, 163, 319, 332, 333, 345, + 346, 358, 359, 372, 501, 514, 515, 527, + 528, 529, 540, 541, 542, 554, 555, 568, + 696, 697, 709, 710, 711, 723, 724, 736, + 737, 738, 750, 751, 879, 892, 893, 905, + 906, 907, 918, 919, 920, 932, 933, 946, + 1075, 1088, 1089, 1101, 1102, 1114, 1115, 1128, + 1284, 1297, 151, 164, 320, 334, 347, 360, + 373, 502, 516, 530, 543, 556, 569, 684, + 698, 712, 725, 739, 752, 880, 894, 908, + 921, 934, 947, 1076, 1090, 1103, 1116, 1129, + 1285, 1298, 139, 152, 165, 178, 321, 335, + 348, 361, 374, 503, 517, 531, 544, 557, + 570, 685, 699, 713, 726, 727, 740, 753, + 766, 881, 895, 909, 922, 935, 948, 1077, + 1091, 1104, 1117, 1130, 1273, 1286, 1299, 1312, + 177, 386, 582, 764, 765, 960, 1142, 1311, + 191, 387, 583, 779, 961, 1143, 1325, 166, + 179, 349, 362, 375, 388, 545, 558, 571, + 584, 741, 754, 767, 780, 923, 936, 949, + 962, 1105, 1118, 1131, 1144, 1300, 1313, 778, + 974, 1156, 192, 975, 1157, 1326, 180, 193, + 363, 376, 389, 559, 572, 585, 755, 768, + 781, 937, 950, 963, 976, 1119, 1132, 1145, + 1158, 1314, 1327, 1271, 1310, 1324, 1480, 1493, + 1272, 1468, 1481, 1494, 1507, 1287, 1469, 1482, + 1495, 1508, 1338, 1339, 1301, 1340, 1496, 1509, + 1170, 1352, 1521, 1171, 1353, 1522, 951, 964, + 977, 1133, 1146, 1159, 1172, 1315, 1328, 1341, + 1354, 1510, 1523, 1467, 1506, 1520, 1676, 1689, + 1664, 1677, 1690, 1703, 1483, 1665, 1678, 1691, + 1534, 1535, 1704, 1497, 1536, 1692, 1705, 1366, + 1548, 1717, 1367, 1549, 1718, 1147, 1160, 1173, + 1329, 1342, 1355, 1368, 1511, 1524, 1537, 1550, + 1693, 1706, 1719, 153, 166, 335, 348, 349, + 361, 362, 375, 517, 530, 531, 543, 544, + 545, 557, 558, 571, 699, 712, 713, 726, + 727, 739, 740, 741, 753, 754, 895, 908, + 909, 921, 922, 923, 935, 936, 949, 1091, + 1104, 1105, 1117, 1118, 1131, 1287, 1300, 167, + 180, 363, 376, 389, 559, 572, 585, 755, + 767, 768, 937, 950, 963, 1119, 1132, 1145, + 1301, 1314, 181, 194, 377, 390, 573, 586, + 769, 781, 782, 951, 964, 977, 1133, 1146, + 1159, 1315, 1328, 1313, 1327, 1483, 1496, 1341, + 1497, 1510, 965, 978, 1147, 1160, 1173, 1329, + 1342, 1355, 1511, 1524, 1509, 1523, 1679, 1692, + 1537, 1693, 1706, 1161, 1174, 1343, 1356, 1369, + 1525, 1538, 1551, 1707, 1720, 183, 352, 365, + 366, 378, 379, 534, 547, 548, 560, 561, + 562, 574, 575, 729, 730, 742, 743, 744, + 756, 757, 770, 771, 912, 925, 926, 938, + 939, 940, 952, 953, 966, 1108, 1121, 1122, + 1134, 1135, 1148, 1317, 1330, 184, 353, 367, + 380, 535, 549, 563, 576, 731, 745, 758, + 772, 913, 927, 941, 954, 967, 1109, 1123, + 1136, 1149, 1162, 1318, 1331, 185, 354, 368, + 381, 536, 550, 564, 577, 732, 746, 759, + 773, 914, 928, 942, 955, 968, 1110, 1124, + 1137, 1150, 1163, 1319, 1332, 1304, 1344, 1513, + 1526, 1305, 1345, 1358, 1514, 1527, 760, 969, + 1138, 1151, 1164, 1306, 1320, 1333, 1346, 1359, + 1515, 1528, 1500, 1540, 1709, 1722, 1501, 1541, + 1554, 1710, 1723, 956, 1165, 1334, 1347, 1360, + 1502, 1516, 1529, 1542, 1555, 1711, 1724, 186, + 355, 368, 369, 381, 382, 537, 550, 551, + 563, 564, 565, 576, 577, 578, 732, 733, + 745, 746, 747, 759, 760, 772, 773, 774, + 915, 928, 929, 941, 942, 943, 954, 955, + 956, 968, 969, 1111, 1124, 1125, 1137, 1138, + 1150, 1151, 1164, 1320, 1333, 187, 356, 370, + 383, 538, 552, 566, 579, 734, 748, 761, + 775, 916, 930, 944, 957, 970, 1112, 1126, + 1139, 1152, 1165, 1321, 1334, 175, 188, 357, + 371, 384, 539, 553, 567, 580, 721, 735, + 749, 762, 763, 776, 917, 931, 945, 958, + 971, 1113, 1127, 1140, 1153, 1166, 1309, 1322, + 1335, 1348, 1307, 1346, 1347, 1360, 1516, 1529, + 1308, 1361, 1517, 1530, 959, 972, 1141, 1154, + 1167, 1323, 1336, 1349, 1362, 1505, 1518, 1531, + 1544, 1503, 1542, 1543, 1556, 1712, 1725, 1738, + 1504, 1557, 1713, 1726, 1155, 1168, 1337, 1350, + 1363, 1519, 1532, 1545, 1558, 1701, 1714, 1727, + 1740, 189, 358, 371, 372, 384, 385, 540, + 553, 554, 566, 567, 568, 579, 580, 581, + 735, 736, 748, 749, 750, 762, 763, 775, + 776, 777, 918, 931, 932, 944, 945, 946, + 957, 958, 959, 971, 972, 1114, 1127, 1128, + 1140, 1141, 1153, 1154, 1167, 1323, 1336, 190, + 359, 373, 386, 541, 555, 569, 582, 737, + 751, 764, 778, 919, 933, 947, 960, 973, + 1115, 1129, 1142, 1155, 1168, 1324, 1337, 178, + 191, 360, 374, 387, 542, 556, 570, 583, + 724, 738, 752, 765, 766, 779, 920, 934, + 948, 961, 974, 1116, 1130, 1143, 1156, 1169, + 1312, 1325, 1338, 1351, 1310, 1349, 1350, 1363, + 1519, 1532, 1311, 1364, 1520, 1533, 962, 975, + 1144, 1157, 1170, 1326, 1339, 1352, 1365, 1508, + 1521, 1534, 1547, 1506, 1545, 1546, 1559, 1715, + 1728, 1507, 1560, 1716, 1729, 1158, 1171, 1340, + 1353, 1366, 1522, 1535, 1548, 1561, 1704, 1717, + 1730, 1743, 192, 361, 374, 375, 387, 388, + 543, 556, 557, 569, 570, 571, 582, 583, + 584, 738, 739, 751, 752, 753, 765, 766, + 778, 779, 780, 921, 934, 935, 947, 948, + 949, 960, 961, 962, 974, 975, 1117, 1130, + 1131, 1143, 1144, 1156, 1157, 1170, 1326, 1339, + 193, 362, 376, 389, 544, 558, 572, 585, + 726, 740, 754, 767, 781, 922, 936, 950, + 963, 976, 1118, 1132, 1145, 1158, 1171, 1327, + 1340, 181, 194, 363, 377, 390, 545, 559, + 573, 586, 727, 741, 755, 768, 782, 923, + 937, 951, 964, 977, 1119, 1133, 1146, 1159, + 1172, 1328, 1341, 1313, 1352, 1353, 1366, 1522, + 1535, 1314, 1354, 1367, 1523, 1536, 769, 965, + 978, 1147, 1160, 1173, 1315, 1329, 1342, 1355, + 1368, 1511, 1524, 1537, 1550, 1509, 1548, 1549, + 1562, 1718, 1731, 1510, 1563, 1706, 1719, 1732, + 1745, 1161, 1174, 1343, 1356, 1369, 1525, 1538, + 1551, 1564, 1707, 1720, 1733, 195, 377, 390, + 391, 559, 572, 573, 585, 586, 587, 741, + 754, 755, 768, 769, 781, 782, 783, 937, + 950, 951, 963, 964, 965, 977, 978, 1133, + 1146, 1147, 1159, 1160, 1173, 1329, 1342, 979, + 1161, 1174, 1343, 1355, 1356, 1369, 1525, 1538, + 1175, 1357, 1370, 1539, 1551, 1552, 1565, 1721, + 1734, 603, 616, 785, 786, 798, 799, 812, + 980, 981, 982, 994, 995, 1008, 1176, 1177, + 1190, 1191, 1204, 1372, 1373, 1386, 1568, 604, + 617, 787, 800, 813, 826, 983, 996, 1009, + 1022, 1178, 1192, 1205, 1374, 1387, 1400, 1569, + 1582, 592, 605, 618, 631, 788, 801, 814, + 827, 984, 997, 1010, 1023, 1179, 1180, 1193, + 1206, 1219, 1375, 1388, 1401, 1570, 1583, 1765, + 630, 1218, 1764, 644, 840, 1036, 1232, 1414, + 1596, 1778, 619, 632, 802, 815, 828, 841, + 998, 1011, 1024, 1037, 1207, 1220, 1376, 1389, + 1402, 1415, 1571, 1584, 1597, 1766, 645, 854, + 1050, 1233, 1428, 1610, 1779, 633, 646, 816, + 829, 842, 855, 1012, 1025, 1038, 1051, 1194, + 1221, 1234, 1390, 1403, 1416, 1429, 1572, 1585, + 1598, 1611, 1767, 1780, 1960, 1961, 1792, 1793, + 1962, 1974, 1246, 1624, 1806, 1975, 1208, 1247, + 1417, 1430, 1586, 1599, 1612, 1625, 1768, 1781, + 1794, 1807, 1963, 1976, 1989, 2157, 2156, 1988, + 2158, 2171, 2170, 1442, 1638, 1820, 2002, 2184, + 1404, 1443, 1613, 1626, 1782, 1795, 1808, 1821, + 1964, 1977, 1990, 2003, 2159, 2172, 2185, 606, + 619, 788, 789, 801, 802, 814, 815, 828, + 983, 984, 985, 996, 997, 998, 1010, 1011, + 1024, 1179, 1180, 1192, 1193, 1194, 1206, 1207, + 1374, 1375, 1376, 1388, 1389, 1402, 1570, 1571, + 1584, 607, 620, 790, 803, 816, 829, 986, + 999, 1012, 1025, 1181, 1195, 1208, 1377, 1390, + 1403, 1572, 1585, 595, 608, 621, 634, 791, + 804, 817, 830, 987, 1000, 1013, 1026, 1182, + 1183, 1196, 1209, 1222, 1378, 1391, 1404, 1573, + 1586, 1768, 633, 842, 1038, 1220, 1221, 1416, + 1598, 1767, 647, 843, 1039, 1235, 1417, 1599, + 1781, 622, 635, 805, 818, 831, 844, 1001, + 1014, 1027, 1040, 1210, 1223, 1379, 1392, 1405, + 1418, 1574, 1587, 1600, 1769, 660, 856, 1052, + 1234, 1248, 1430, 1612, 648, 857, 1053, 1236, + 1431, 1613, 1782, 636, 649, 819, 832, 845, + 858, 1015, 1028, 1041, 1054, 1197, 1224, 1237, + 1393, 1406, 1419, 1432, 1575, 1588, 1601, 1614, + 1770, 1783, 1766, 1780, 1963, 1964, 1794, 1795, + 1796, 1965, 1444, 1626, 1808, 1977, 1249, 1627, + 1809, 1978, 1211, 1250, 1420, 1433, 1589, 1602, + 1615, 1628, 1771, 1784, 1797, 1810, 1966, 1979, + 1992, 1962, 1976, 2159, 2160, 1990, 1991, 2161, + 2174, 1822, 2004, 2173, 1445, 1641, 1823, 2005, + 2187, 1407, 1446, 1616, 1629, 1785, 1798, 1811, + 1824, 1967, 1980, 1993, 2006, 2162, 2175, 2188, + 609, 622, 791, 792, 804, 805, 817, 818, + 831, 986, 987, 988, 999, 1000, 1001, 1013, + 1014, 1027, 1182, 1183, 1195, 1196, 1197, 1209, + 1210, 1377, 1378, 1379, 1391, 1392, 1405, 1573, + 1574, 1587, 610, 623, 793, 806, 819, 832, + 989, 1002, 1015, 1028, 1184, 1198, 1211, 1380, + 1393, 1406, 1575, 1588, 598, 611, 624, 637, + 794, 807, 820, 833, 990, 1003, 1016, 1029, + 1185, 1186, 1199, 1212, 1225, 1381, 1394, 1407, + 1576, 1589, 1771, 636, 845, 1041, 1223, 1224, + 1419, 1601, 1770, 650, 846, 1042, 1238, 1420, + 1602, 1784, 625, 638, 808, 821, 834, 847, + 1004, 1017, 1030, 1043, 1200, 1213, 1226, 1382, + 1395, 1408, 1421, 1577, 1590, 1603, 1772, 663, + 859, 1055, 1237, 1251, 1433, 1615, 651, 860, + 1056, 1239, 1434, 1616, 1785, 639, 652, 822, + 835, 848, 861, 1018, 1031, 1044, 1057, 1214, + 1227, 1240, 1396, 1409, 1422, 1435, 1578, 1591, + 1604, 1617, 1773, 1786, 1769, 1783, 1966, 1967, + 1797, 1798, 1799, 1968, 1447, 1629, 1811, 1980, + 1252, 1630, 1812, 1981, 1253, 1410, 1423, 1436, + 1592, 1605, 1618, 1631, 1774, 1787, 1800, 1813, + 1969, 1982, 1995, 1965, 1979, 2162, 2163, 1993, + 1994, 2164, 2177, 1825, 2007, 2176, 1448, 1644, + 1826, 2008, 2190, 1449, 1606, 1619, 1632, 1788, + 1801, 1814, 1827, 1970, 1983, 1996, 2009, 2165, + 2178, 2191, 612, 625, 794, 795, 807, 808, + 820, 821, 834, 989, 990, 991, 1002, 1003, + 1004, 1016, 1017, 1030, 1185, 1186, 1198, 1199, + 1200, 1212, 1213, 1380, 1381, 1382, 1394, 1395, + 1408, 1576, 1577, 1590, 600, 613, 626, 639, + 796, 809, 822, 835, 992, 1005, 1018, 1031, + 1187, 1201, 1214, 1383, 1396, 1409, 1578, 1591, + 1773, 601, 614, 627, 640, 797, 810, 823, + 836, 993, 1006, 1019, 1032, 1188, 1189, 1202, + 1215, 1228, 1384, 1397, 1410, 1579, 1592, 1774, + 848, 1044, 1226, 1227, 1422, 1604, 653, 849, + 1045, 1241, 1423, 1605, 1787, 628, 641, 811, + 824, 837, 850, 1007, 1020, 1033, 1046, 1203, + 1216, 1229, 1242, 1385, 1398, 1411, 1424, 1580, + 1593, 1606, 1775, 862, 1058, 1240, 1436, 1618, + 654, 863, 1059, 1255, 1437, 1619, 1788, 1801, + 642, 655, 825, 838, 851, 864, 1021, 1034, + 1047, 1060, 1217, 1230, 1243, 1256, 1399, 1412, + 1425, 1438, 1581, 1594, 1607, 1620, 1776, 1789, + 1772, 1786, 1969, 1970, 1800, 1802, 1971, 1254, + 1632, 1814, 1983, 1633, 1815, 1984, 1413, 1426, + 1439, 1452, 1595, 1608, 1621, 1634, 1777, 1790, + 1803, 1816, 1972, 1985, 1968, 1982, 2165, 2166, + 1996, 1997, 1998, 2167, 2180, 1450, 1828, 2010, + 2179, 1451, 1647, 1829, 2011, 2193, 1609, 1622, + 1635, 1648, 1791, 1804, 1817, 1830, 1973, 1986, + 1999, 2012, 2168, 2181, 615, 628, 797, 810, + 811, 823, 824, 837, 992, 993, 1005, 1006, + 1007, 1019, 1020, 1033, 1188, 1189, 1201, 1202, + 1203, 1215, 1216, 1383, 1384, 1385, 1397, 1398, + 1411, 1579, 1580, 1593, 629, 642, 825, 838, + 851, 1021, 1034, 1047, 1217, 1229, 1230, 1399, + 1412, 1425, 1581, 1594, 1607, 1776, 643, 656, + 839, 852, 865, 1035, 1048, 1061, 1231, 1243, + 1244, 1413, 1426, 1439, 1595, 1608, 1621, 1777, + 1790, 1775, 1789, 1803, 1972, 1257, 1427, 1440, + 1609, 1622, 1635, 1791, 1804, 1817, 1973, 1986, + 1971, 1985, 1999, 2168, 1453, 1623, 1636, 1805, + 1818, 1831, 1987, 2000, 2013, 2169, 2182, 645, + 658, 814, 827, 828, 840, 841, 854, 996, + 1009, 1010, 1022, 1023, 1024, 1036, 1037, 1050, + 1191, 1192, 1204, 1205, 1206, 1218, 1219, 1232, + 1233, 1246, 1374, 1387, 1388, 1400, 1401, 1402, + 1414, 1415, 1428, 1570, 1583, 1584, 1596, 1597, + 1610, 1779, 1792, 646, 659, 815, 829, 842, + 855, 868, 997, 1011, 1025, 1038, 1051, 1064, + 1179, 1193, 1207, 1220, 1234, 1247, 1375, 1389, + 1403, 1416, 1429, 1442, 1571, 1585, 1598, 1611, + 1624, 1780, 1793, 634, 647, 660, 673, 816, + 830, 843, 856, 869, 998, 1012, 1026, 1039, + 1052, 1065, 1180, 1194, 1208, 1221, 1222, 1235, + 1248, 1261, 1376, 1390, 1404, 1417, 1430, 1443, + 1572, 1586, 1599, 1612, 1625, 1768, 1781, 1794, + 1807, 672, 1260, 1806, 686, 882, 1078, 1274, + 1456, 1638, 661, 674, 844, 857, 870, 883, + 1040, 1053, 1066, 1079, 1249, 1262, 1418, 1431, + 1444, 1457, 1600, 1613, 1626, 1639, 1795, 1808, + 1820, 687, 896, 1092, 1275, 1470, 1652, 1821, + 662, 675, 688, 701, 858, 871, 884, 897, + 1054, 1067, 1080, 1093, 1236, 1263, 1276, 1432, + 1445, 1458, 1471, 1614, 1627, 1640, 1653, 1809, + 1822, 1766, 1975, 1988, 1767, 1963, 1976, 1989, + 2002, 1782, 1964, 1977, 1990, 2003, 1834, 1796, + 1835, 1991, 2004, 2016, 1288, 1666, 1848, 2017, + 1250, 1289, 1446, 1459, 1472, 1485, 1628, 1641, + 1654, 1667, 1810, 1823, 1836, 1849, 1992, 2005, + 2018, 2031, 1962, 2158, 2171, 2184, 2159, 2172, + 2185, 2198, 1978, 2160, 2173, 2186, 2199, 2030, + 2174, 2187, 2200, 2213, 2212, 1484, 1680, 1862, + 2044, 2226, 1642, 1655, 1668, 1681, 1824, 1837, + 1850, 1863, 2006, 2019, 2032, 2045, 2188, 2201, + 2214, 2227, 648, 661, 817, 830, 831, 843, + 844, 856, 857, 870, 999, 1012, 1013, 1025, + 1026, 1027, 1038, 1039, 1040, 1052, 1053, 1066, + 1194, 1195, 1207, 1208, 1209, 1221, 1222, 1234, + 1235, 1236, 1248, 1249, 1377, 1390, 1391, 1403, + 1404, 1405, 1416, 1417, 1418, 1430, 1431, 1444, + 1573, 1586, 1587, 1599, 1600, 1612, 1613, 1626, + 1782, 1795, 649, 662, 818, 832, 845, 858, + 871, 1000, 1014, 1028, 1041, 1054, 1067, 1182, + 1196, 1210, 1223, 1237, 1250, 1378, 1392, 1406, + 1419, 1432, 1445, 1574, 1588, 1601, 1614, 1627, + 1783, 1796, 637, 650, 663, 676, 819, 833, + 846, 859, 872, 1001, 1015, 1029, 1042, 1055, + 1068, 1183, 1197, 1211, 1224, 1225, 1238, 1251, + 1264, 1379, 1393, 1407, 1420, 1433, 1446, 1575, + 1589, 1602, 1615, 1628, 1771, 1784, 1797, 1810, + 675, 884, 1080, 1262, 1263, 1276, 1458, 1640, + 1809, 689, 885, 1081, 1277, 1459, 1641, 664, + 677, 847, 860, 873, 886, 1043, 1056, 1069, + 1082, 1252, 1265, 1421, 1434, 1447, 1460, 1603, + 1616, 1629, 1642, 1798, 1811, 702, 898, 1094, + 1290, 1472, 1654, 1823, 690, 899, 1095, 1278, + 1473, 1655, 1824, 665, 678, 691, 704, 861, + 874, 887, 900, 1057, 1070, 1083, 1096, 1239, + 1266, 1279, 1435, 1448, 1461, 1474, 1617, 1630, + 1643, 1656, 1812, 1825, 1769, 1808, 1822, 1978, + 1991, 1770, 1966, 1979, 1992, 2005, 1785, 1967, + 1980, 1993, 2006, 1836, 2018, 1837, 1799, 1838, + 1994, 2007, 1486, 1668, 1850, 2019, 1291, 1669, + 1851, 2020, 1253, 1292, 1449, 1462, 1475, 1488, + 1631, 1644, 1657, 1670, 1813, 1826, 1839, 1852, + 1995, 2008, 2021, 2034, 1965, 2004, 2161, 2174, + 2187, 2200, 2162, 2175, 2188, 2201, 1981, 2163, + 2176, 2189, 2202, 2032, 2214, 2033, 2177, 2190, + 2203, 2216, 1864, 2046, 2215, 1487, 1683, 1865, + 2047, 2229, 1645, 1658, 1671, 1684, 1827, 1840, + 1853, 1866, 2009, 2022, 2035, 2048, 2191, 2204, + 2217, 2230, 651, 664, 820, 833, 834, 846, + 847, 859, 860, 873, 1002, 1015, 1016, 1028, + 1029, 1030, 1041, 1042, 1043, 1055, 1056, 1069, + 1197, 1198, 1210, 1211, 1212, 1224, 1225, 1237, + 1238, 1239, 1251, 1252, 1380, 1393, 1394, 1406, + 1407, 1408, 1419, 1420, 1421, 1433, 1434, 1447, + 1576, 1589, 1590, 1602, 1603, 1615, 1616, 1629, + 1785, 1798, 652, 665, 821, 835, 848, 861, + 874, 1003, 1017, 1031, 1044, 1057, 1070, 1185, + 1199, 1213, 1226, 1240, 1253, 1381, 1395, 1409, + 1422, 1435, 1448, 1577, 1591, 1604, 1617, 1630, + 1786, 1799, 640, 653, 666, 679, 822, 836, + 849, 862, 875, 1004, 1018, 1032, 1045, 1058, + 1071, 1186, 1200, 1214, 1227, 1228, 1241, 1254, + 1267, 1382, 1396, 1410, 1423, 1436, 1449, 1578, + 1592, 1605, 1618, 1631, 1774, 1787, 1800, 1813, + 678, 887, 1083, 1265, 1266, 1279, 1461, 1643, + 1812, 692, 888, 1084, 1280, 1462, 1644, 667, + 680, 850, 863, 876, 889, 1046, 1059, 1072, + 1085, 1242, 1255, 1268, 1424, 1437, 1450, 1463, + 1606, 1619, 1632, 1645, 1788, 1801, 1814, 705, + 901, 1097, 1293, 1475, 1657, 1826, 693, 902, + 1098, 1281, 1476, 1658, 1827, 668, 681, 694, + 707, 864, 877, 890, 903, 1060, 1073, 1086, + 1099, 1256, 1269, 1282, 1438, 1451, 1464, 1477, + 1620, 1633, 1646, 1659, 1802, 1815, 1828, 1772, + 1811, 1825, 1981, 1994, 1773, 1969, 1982, 1995, + 2008, 1970, 1983, 1996, 2009, 1839, 2021, 1840, + 1841, 1997, 2010, 1489, 1671, 1853, 2022, 1294, + 1672, 1854, 2023, 1295, 1452, 1465, 1478, 1491, + 1634, 1647, 1660, 1673, 1816, 1829, 1842, 1855, + 1998, 2011, 2024, 2037, 1968, 2007, 2164, 2177, + 2190, 2203, 2165, 2178, 2191, 2204, 1984, 2166, + 2179, 2192, 2205, 2035, 2217, 2036, 2180, 2193, + 2206, 2219, 1867, 2049, 2218, 1490, 1686, 1868, + 2050, 2232, 1648, 1661, 1674, 1687, 1830, 1843, + 1856, 1869, 2012, 2025, 2038, 2051, 2194, 2207, + 2220, 2233, 654, 667, 823, 836, 837, 849, + 850, 862, 863, 876, 1005, 1018, 1019, 1031, + 1032, 1033, 1044, 1045, 1046, 1058, 1059, 1072, + 1200, 1201, 1213, 1214, 1215, 1227, 1228, 1240, + 1241, 1242, 1254, 1255, 1383, 1396, 1397, 1409, + 1410, 1411, 1422, 1423, 1424, 1436, 1437, 1450, + 1579, 1592, 1593, 1605, 1606, 1618, 1619, 1632, + 1788, 1801, 655, 668, 681, 824, 838, 851, + 864, 877, 1006, 1020, 1034, 1047, 1060, 1073, + 1188, 1202, 1216, 1229, 1243, 1256, 1384, 1398, + 1412, 1425, 1438, 1451, 1580, 1594, 1607, 1620, + 1633, 1789, 1802, 643, 656, 669, 682, 825, + 839, 852, 865, 878, 1007, 1021, 1035, 1048, + 1061, 1074, 1189, 1203, 1217, 1230, 1231, 1244, + 1257, 1270, 1385, 1399, 1413, 1426, 1439, 1452, + 1581, 1595, 1608, 1621, 1634, 1777, 1790, 1803, + 1816, 890, 1086, 1268, 1269, 1464, 1646, 1815, + 695, 891, 1087, 1283, 1465, 1647, 1829, 670, + 683, 853, 866, 879, 892, 1049, 1062, 1075, + 1088, 1245, 1258, 1271, 1284, 1427, 1440, 1453, + 1466, 1609, 1622, 1635, 1648, 1791, 1804, 1817, + 904, 1100, 1282, 1478, 1660, 696, 905, 1101, + 1297, 1479, 1661, 1830, 1843, 684, 697, 867, + 880, 893, 906, 1063, 1076, 1089, 1102, 1272, + 1285, 1441, 1454, 1467, 1480, 1623, 1636, 1649, + 1662, 1805, 1818, 1831, 1775, 1814, 1828, 1984, + 1997, 1776, 1972, 1985, 1998, 2011, 1973, 1986, + 1999, 1842, 2012, 1844, 2000, 2013, 1296, 1674, + 1856, 2025, 1493, 1675, 1857, 2026, 1259, 1298, + 1468, 1481, 1637, 1650, 1663, 1676, 1819, 1832, + 1845, 1858, 2001, 2014, 2027, 1971, 2010, 2024, + 2180, 2193, 2181, 2194, 1987, 2169, 2182, 2195, + 2038, 2207, 2039, 2208, 2221, 2040, 2183, 2196, + 2209, 2222, 1492, 1870, 2052, 1689, 1871, 2053, + 2235, 1455, 1494, 1664, 1677, 1833, 1846, 1859, + 1872, 2015, 2028, 2041, 2054, 2210, 2223, 657, + 670, 839, 852, 853, 865, 866, 879, 1021, + 1034, 1035, 1047, 1048, 1049, 1061, 1062, 1075, + 1203, 1216, 1217, 1230, 1231, 1243, 1244, 1245, + 1257, 1258, 1399, 1412, 1413, 1425, 1426, 1427, + 1439, 1440, 1453, 1595, 1608, 1609, 1621, 1622, + 1635, 1791, 1804, 671, 684, 867, 880, 893, + 1063, 1076, 1089, 1259, 1271, 1272, 1441, 1454, + 1467, 1623, 1636, 1649, 1805, 1818, 685, 698, + 881, 894, 907, 1077, 1090, 1103, 1273, 1285, + 1286, 1455, 1468, 1481, 1637, 1650, 1663, 1819, + 1832, 1817, 1831, 1987, 2000, 1845, 2001, 2014, + 1299, 1469, 1482, 1651, 1664, 1677, 1833, 1846, + 1859, 2015, 2028, 2013, 2027, 2183, 2196, 2209, + 2041, 2197, 2210, 1495, 1665, 1678, 1847, 1860, + 1873, 2029, 2042, 2055, 2211, 2224, 687, 700, + 856, 869, 870, 882, 883, 896, 1038, 1051, + 1052, 1064, 1065, 1066, 1078, 1079, 1092, 1233, + 1234, 1246, 1247, 1248, 1260, 1261, 1274, 1275, + 1288, 1416, 1429, 1430, 1442, 1443, 1444, 1456, + 1457, 1470, 1612, 1625, 1626, 1638, 1639, 1652, + 1821, 1834, 688, 701, 857, 871, 884, 897, + 910, 1039, 1053, 1067, 1080, 1093, 1106, 1221, + 1235, 1249, 1262, 1276, 1289, 1417, 1431, 1445, + 1458, 1471, 1484, 1613, 1627, 1640, 1653, 1666, + 1822, 1835, 676, 689, 702, 715, 858, 872, + 885, 898, 911, 1040, 1054, 1068, 1081, 1094, + 1107, 1236, 1250, 1263, 1264, 1277, 1290, 1303, + 1418, 1432, 1446, 1459, 1472, 1485, 1614, 1628, + 1641, 1654, 1667, 1823, 1836, 714, 1302, 1848, + 924, 1120, 1498, 1680, 1849, 703, 716, 886, + 899, 912, 925, 1082, 1095, 1108, 1121, 1291, + 1304, 1460, 1473, 1486, 1499, 1642, 1655, 1668, + 1681, 1837, 1850, 728, 1316, 1862, 729, 938, + 1134, 1317, 1512, 1694, 1863, 704, 717, 730, + 900, 913, 926, 939, 1096, 1109, 1122, 1135, + 1278, 1305, 1318, 1331, 1474, 1487, 1500, 1513, + 1656, 1669, 1682, 1695, 1851, 1864, 1808, 2017, + 2030, 1809, 2005, 2018, 2031, 2044, 1810, 1824, + 2019, 2032, 1876, 2045, 1838, 1877, 2033, 2046, + 2058, 1330, 1708, 1890, 2059, 1292, 1488, 1501, + 1514, 1527, 1670, 1683, 1696, 1709, 1852, 1865, + 1878, 1891, 2034, 2047, 2060, 2073, 2004, 2200, + 2213, 2226, 2201, 2214, 2227, 2240, 2006, 2020, + 2215, 2228, 2072, 2241, 2216, 2229, 2242, 2255, + 2254, 1526, 1904, 2086, 1684, 1697, 1710, 1723, + 1866, 1879, 1892, 1905, 2048, 2061, 2074, 2087, + 2230, 2243, 2256, 2269, 690, 703, 859, 872, + 873, 885, 886, 898, 899, 912, 1041, 1054, + 1055, 1067, 1068, 1069, 1080, 1081, 1082, 1094, + 1095, 1108, 1236, 1237, 1249, 1250, 1251, 1263, + 1264, 1276, 1277, 1278, 1290, 1291, 1419, 1432, + 1433, 1445, 1446, 1447, 1458, 1459, 1460, 1472, + 1473, 1486, 1615, 1628, 1629, 1641, 1642, 1654, + 1655, 1668, 1824, 1837, 691, 704, 860, 874, + 887, 900, 913, 1042, 1056, 1070, 1083, 1096, + 1109, 1224, 1238, 1252, 1265, 1279, 1292, 1420, + 1434, 1448, 1461, 1474, 1487, 1616, 1630, 1643, + 1656, 1669, 1825, 1838, 679, 692, 705, 718, + 861, 875, 888, 901, 914, 1043, 1057, 1071, + 1084, 1097, 1110, 1239, 1253, 1266, 1267, 1280, + 1293, 1306, 1421, 1435, 1449, 1462, 1475, 1488, + 1617, 1631, 1644, 1657, 1670, 1826, 1839, 717, + 926, 1122, 1304, 1305, 1318, 1500, 1682, 1851, + 927, 1123, 1501, 1683, 1852, 706, 719, 889, + 902, 915, 928, 1085, 1098, 1111, 1124, 1294, + 1307, 1463, 1476, 1489, 1502, 1645, 1658, 1671, + 1684, 1840, 1853, 731, 744, 940, 1136, 1319, + 1332, 1514, 1696, 1865, 732, 941, 1137, 1320, + 1515, 1697, 1866, 707, 720, 733, 903, 916, + 929, 942, 1099, 1112, 1125, 1138, 1281, 1308, + 1321, 1334, 1477, 1490, 1503, 1516, 1659, 1672, + 1685, 1698, 1854, 1867, 1811, 1850, 1864, 2020, + 2033, 1812, 2008, 2021, 2034, 2047, 1813, 1827, + 2022, 2035, 1878, 2060, 1879, 2048, 1841, 1880, + 2036, 2049, 1528, 1710, 1892, 2061, 1333, 1711, + 1893, 2062, 1295, 1491, 1504, 1517, 1530, 1673, + 1686, 1699, 1712, 1855, 1868, 1881, 1894, 2037, + 2050, 2063, 2076, 2007, 2046, 2203, 2216, 2229, + 2242, 2204, 2217, 2230, 2243, 2009, 2023, 2218, + 2231, 2074, 2075, 2244, 2219, 2232, 2245, 2258, + 1906, 2088, 2257, 1529, 1907, 2089, 1687, 1700, + 1713, 1726, 1869, 1882, 1895, 1908, 2051, 2064, + 2077, 2090, 2233, 2246, 2259, 2272, 693, 706, + 862, 875, 876, 888, 889, 901, 902, 915, + 1044, 1057, 1058, 1070, 1071, 1072, 1083, 1084, + 1085, 1097, 1098, 1111, 1239, 1240, 1252, 1253, + 1254, 1266, 1267, 1279, 1280, 1281, 1293, 1294, + 1422, 1435, 1436, 1448, 1449, 1450, 1461, 1462, + 1463, 1475, 1476, 1489, 1618, 1631, 1632, 1644, + 1645, 1657, 1658, 1671, 1827, 1840, 694, 707, + 863, 877, 890, 903, 916, 1045, 1059, 1073, + 1086, 1099, 1112, 1227, 1241, 1255, 1268, 1282, + 1295, 1423, 1437, 1451, 1464, 1477, 1490, 1619, + 1633, 1646, 1659, 1672, 1828, 1841, 682, 695, + 708, 864, 878, 891, 904, 917, 1046, 1060, + 1074, 1087, 1100, 1113, 1228, 1242, 1256, 1269, + 1270, 1283, 1296, 1424, 1438, 1452, 1465, 1478, + 1491, 1620, 1634, 1647, 1660, 1673, 1816, 1829, + 1842, 720, 929, 1125, 1307, 1308, 1321, 1503, + 1685, 1854, 721, 930, 1126, 1309, 1504, 1686, + 1855, 709, 722, 892, 905, 918, 931, 1088, + 1101, 1114, 1127, 1284, 1297, 1310, 1323, 1466, + 1479, 1492, 1505, 1648, 1661, 1674, 1687, 1830, + 1843, 1856, 1869, 734, 943, 1139, 1322, 1517, + 1699, 1868, 735, 944, 1140, 1518, 1700, 723, + 736, 906, 919, 932, 945, 1102, 1115, 1128, + 1141, 1311, 1324, 1480, 1493, 1506, 1519, 1662, + 1675, 1688, 1701, 1844, 1857, 1870, 1814, 1853, + 1867, 2023, 2036, 1815, 2011, 2024, 2037, 2050, + 2012, 2025, 2038, 1881, 2063, 1882, 2051, 1883, + 2026, 2039, 2052, 1335, 1713, 1895, 2064, 1336, + 1714, 1896, 2065, 1298, 1337, 1507, 1520, 1676, + 1689, 1702, 1715, 1858, 1871, 1884, 1897, 2040, + 2053, 2066, 2079, 2010, 2049, 2206, 2219, 2232, + 2245, 2207, 2220, 2233, 2246, 2208, 2221, 2234, + 2077, 2078, 2247, 2222, 2235, 2248, 2261, 1531, + 1909, 2091, 2260, 1532, 1728, 1910, 2092, 2274, + 1494, 1533, 1703, 1716, 1872, 1885, 1898, 1911, + 2054, 2067, 2080, 2093, 2249, 2262, 696, 709, + 865, 878, 879, 891, 892, 904, 905, 918, + 1047, 1060, 1061, 1073, 1074, 1075, 1086, 1087, + 1088, 1100, 1101, 1114, 1242, 1243, 1255, 1256, + 1257, 1269, 1270, 1282, 1283, 1284, 1296, 1297, + 1425, 1438, 1439, 1451, 1452, 1453, 1464, 1465, + 1466, 1478, 1479, 1492, 1621, 1634, 1635, 1647, + 1648, 1660, 1661, 1674, 1830, 1843, 697, 710, + 866, 880, 893, 906, 919, 1048, 1062, 1076, + 1089, 1102, 1115, 1230, 1244, 1258, 1271, 1285, + 1298, 1426, 1440, 1454, 1467, 1480, 1493, 1622, + 1636, 1649, 1662, 1675, 1831, 1844, 685, 698, + 711, 724, 867, 881, 894, 907, 920, 1049, + 1063, 1077, 1090, 1103, 1116, 1231, 1245, 1259, + 1272, 1273, 1286, 1299, 1312, 1427, 1441, 1455, + 1468, 1481, 1494, 1623, 1637, 1650, 1663, 1676, + 1819, 1832, 1845, 1858, 723, 932, 1128, 1310, + 1311, 1506, 1688, 1857, 737, 933, 1129, 1325, + 1507, 1689, 1871, 712, 725, 895, 908, 921, + 934, 1091, 1104, 1117, 1130, 1287, 1300, 1313, + 1326, 1469, 1482, 1495, 1508, 1651, 1664, 1677, + 1690, 1846, 1859, 750, 946, 1142, 1324, 1338, + 1520, 1702, 1884, 738, 947, 1143, 1339, 1521, + 1703, 1872, 726, 739, 909, 922, 935, 948, + 1105, 1118, 1131, 1144, 1314, 1327, 1340, 1483, + 1496, 1509, 1522, 1665, 1678, 1691, 1704, 1860, + 1873, 1817, 1856, 1870, 2026, 2039, 1818, 2014, + 2027, 2040, 2053, 1833, 2015, 2028, 2041, 2054, + 1885, 2067, 1847, 1886, 2042, 2055, 1716, 1898, + 1535, 1717, 1899, 2068, 1301, 1510, 1523, 1536, + 1679, 1692, 1705, 1718, 1861, 1874, 1887, 1900, + 2056, 2069, 2013, 2052, 2066, 2209, 2222, 2235, + 2248, 2223, 2236, 2029, 2224, 2237, 2080, 2249, + 2081, 2250, 2263, 2043, 2082, 2238, 2251, 1534, + 1912, 2094, 2276, 1731, 1913, 2095, 2264, 1497, + 1706, 1719, 1732, 1875, 1888, 1901, 1914, 2057, + 2070, 2083, 2096, 2239, 2252, 2265, 2278, 699, + 712, 881, 894, 895, 907, 908, 921, 1063, + 1076, 1077, 1089, 1090, 1091, 1103, 1104, 1117, + 1245, 1258, 1259, 1272, 1273, 1285, 1286, 1287, + 1299, 1300, 1441, 1454, 1455, 1467, 1468, 1469, + 1481, 1482, 1495, 1637, 1650, 1651, 1663, 1664, + 1677, 1833, 1846, 713, 726, 909, 922, 935, + 1105, 1118, 1131, 1301, 1313, 1314, 1483, 1496, + 1509, 1665, 1678, 1691, 1847, 1860, 727, 740, + 923, 936, 949, 1119, 1132, 1145, 1315, 1327, + 1328, 1497, 1510, 1523, 1679, 1692, 1705, 1861, + 1874, 1859, 1873, 2029, 2042, 1887, 2043, 2056, + 1341, 1511, 1524, 1537, 1693, 1706, 1719, 1875, + 1888, 1901, 2057, 2070, 2083, 2055, 2069, 2225, + 2238, 2239, 2252, 1707, 1720, 1889, 1902, 1915, + 2071, 2084, 2097, 2253, 2266, 2279, 729, 742, + 898, 911, 912, 924, 925, 938, 1080, 1093, + 1094, 1106, 1107, 1108, 1120, 1121, 1134, 1275, + 1276, 1288, 1289, 1290, 1302, 1303, 1316, 1317, + 1330, 1458, 1471, 1472, 1484, 1485, 1486, 1498, + 1499, 1512, 1654, 1667, 1668, 1680, 1681, 1694, + 1863, 1876, 730, 743, 899, 913, 926, 939, + 952, 1081, 1095, 1109, 1122, 1135, 1148, 1263, + 1277, 1291, 1304, 1318, 1331, 1459, 1473, 1487, + 1500, 1513, 1526, 1655, 1669, 1682, 1695, 1708, + 1864, 1877, 718, 731, 744, 757, 900, 914, + 927, 940, 953, 1082, 1096, 1110, 1123, 1136, + 1149, 1278, 1292, 1305, 1306, 1319, 1332, 1345, + 1460, 1474, 1488, 1501, 1514, 1527, 1656, 1670, + 1683, 1696, 1709, 1865, 1878, 756, 1344, 1890, + 966, 1162, 1540, 1722, 1891, 745, 758, 928, + 941, 954, 967, 1124, 1137, 1150, 1163, 1333, + 1346, 1502, 1515, 1528, 1541, 1684, 1697, 1710, + 1723, 1879, 1892, 770, 1358, 1904, 771, 1359, + 1554, 1736, 1905, 759, 772, 942, 955, 968, + 1138, 1151, 1164, 1320, 1334, 1347, 1360, 1516, + 1529, 1542, 1555, 1698, 1711, 1724, 1737, 1893, + 1906, 1850, 2059, 2072, 1851, 2047, 2060, 2073, + 2086, 1852, 1866, 2061, 2074, 1918, 2087, 1880, + 1919, 2075, 2088, 2100, 1750, 1932, 2101, 1530, + 1543, 1556, 1712, 1725, 1738, 1751, 1894, 1907, + 1920, 1933, 2076, 2089, 2102, 2046, 2242, 2255, + 2268, 2243, 2256, 2269, 2282, 2048, 2062, 2257, + 2270, 2114, 2283, 2115, 2258, 2271, 2284, 2297, + 2296, 1946, 2128, 1739, 1752, 1908, 1921, 1934, + 1947, 2090, 2103, 2116, 2129, 2285, 2298, 732, + 745, 901, 914, 915, 927, 928, 940, 941, + 954, 1083, 1096, 1097, 1109, 1110, 1111, 1122, + 1123, 1124, 1136, 1137, 1150, 1278, 1279, 1291, + 1292, 1293, 1305, 1306, 1318, 1319, 1320, 1332, + 1333, 1461, 1474, 1475, 1487, 1488, 1489, 1500, + 1501, 1502, 1514, 1515, 1528, 1657, 1670, 1671, + 1683, 1684, 1696, 1697, 1710, 1866, 1879, 733, + 746, 902, 916, 929, 942, 955, 1084, 1098, + 1112, 1125, 1138, 1151, 1266, 1280, 1294, 1307, + 1321, 1334, 1462, 1476, 1490, 1503, 1516, 1529, + 1658, 1672, 1685, 1698, 1711, 1867, 1880, 734, + 747, 903, 917, 930, 943, 956, 1085, 1099, + 1113, 1126, 1139, 1152, 1281, 1295, 1308, 1322, + 1335, 1463, 1477, 1491, 1504, 1517, 1530, 1659, + 1673, 1686, 1699, 1712, 1868, 1881, 759, 968, + 1164, 1346, 1347, 1360, 1542, 1724, 1893, 760, + 969, 1165, 1348, 1543, 1725, 1894, 748, 761, + 931, 944, 957, 970, 1127, 1140, 1153, 1166, + 1309, 1323, 1336, 1349, 1362, 1505, 1518, 1531, + 1544, 1687, 1700, 1713, 1726, 1869, 1882, 1895, + 1908, 773, 1361, 1556, 1738, 1907, 774, 1557, + 1739, 1921, 762, 775, 945, 958, 971, 1141, + 1154, 1167, 1350, 1363, 1519, 1532, 1545, 1558, + 1701, 1714, 1727, 1740, 1896, 1909, 1853, 1892, + 1906, 2062, 2075, 1854, 2050, 2063, 2076, 2089, + 1855, 2064, 2077, 1920, 2102, 2090, 1883, 1922, + 2078, 2091, 1752, 1934, 2103, 1753, 1935, 2104, + 1337, 1546, 1559, 1715, 1728, 1741, 1754, 1897, + 1910, 1923, 1936, 2079, 2092, 2105, 2049, 2088, + 2245, 2258, 2271, 2284, 2246, 2259, 2272, 2285, + 2051, 2065, 2260, 2273, 2116, 2117, 2286, 2118, + 2261, 2274, 2287, 2300, 1948, 2130, 2299, 1949, + 2131, 2313, 1533, 1742, 1755, 1911, 1924, 1937, + 1950, 2093, 2106, 2119, 2132, 2288, 2301, 735, + 748, 904, 917, 918, 930, 931, 943, 944, + 957, 1086, 1099, 1100, 1112, 1113, 1114, 1125, + 1126, 1127, 1139, 1140, 1153, 1281, 1282, 1294, + 1295, 1296, 1308, 1309, 1321, 1322, 1323, 1335, + 1336, 1464, 1477, 1478, 1490, 1491, 1492, 1503, + 1504, 1505, 1517, 1518, 1531, 1660, 1673, 1674, + 1686, 1687, 1699, 1700, 1713, 1869, 1882, 736, + 749, 905, 919, 932, 945, 958, 1087, 1101, + 1115, 1128, 1141, 1154, 1283, 1297, 1310, 1324, + 1337, 1465, 1479, 1493, 1506, 1519, 1532, 1661, + 1675, 1688, 1701, 1714, 1870, 1883, 724, 737, + 750, 763, 906, 920, 933, 946, 959, 1088, + 1102, 1116, 1129, 1142, 1155, 1270, 1284, 1298, + 1311, 1312, 1325, 1338, 1351, 1466, 1480, 1494, + 1507, 1520, 1533, 1662, 1676, 1689, 1702, 1715, + 1858, 1871, 1884, 1897, 762, 971, 1167, 1349, + 1350, 1545, 1727, 1896, 776, 972, 1168, 1364, + 1546, 1728, 1910, 751, 764, 934, 947, 960, + 973, 1130, 1143, 1156, 1169, 1326, 1339, 1352, + 1365, 1508, 1521, 1534, 1547, 1690, 1703, 1716, + 1729, 1885, 1898, 1363, 1559, 1741, 1923, 777, + 1560, 1742, 1911, 765, 778, 948, 961, 974, + 1144, 1157, 1170, 1340, 1353, 1366, 1522, 1535, + 1548, 1561, 1704, 1717, 1730, 1743, 1899, 1912, + 1856, 1895, 1909, 2065, 2078, 1857, 2066, 2079, + 1872, 2054, 2067, 2080, 2093, 2092, 1924, 1886, + 1925, 2081, 2094, 1755, 1937, 2106, 1756, 1938, + 2107, 1536, 1549, 1562, 1718, 1731, 1744, 1757, + 1900, 1913, 1926, 1939, 2095, 2108, 2052, 2091, + 2105, 2248, 2261, 2274, 2287, 2053, 2262, 2275, + 2068, 2250, 2263, 2276, 2289, 2119, 2288, 2120, + 2302, 2082, 2121, 2277, 2290, 1951, 2133, 2315, + 1952, 2134, 2303, 1732, 1745, 1758, 1914, 1927, + 1940, 1953, 2096, 2109, 2122, 2135, 2278, 2291, + 2304, 2317, 738, 751, 907, 920, 921, 933, + 934, 946, 947, 960, 1089, 1102, 1103, 1115, + 1116, 1117, 1128, 1129, 1130, 1142, 1143, 1156, + 1284, 1285, 1297, 1298, 1299, 1311, 1312, 1324, + 1325, 1326, 1338, 1339, 1467, 1480, 1481, 1493, + 1494, 1495, 1506, 1507, 1508, 1520, 1521, 1534, + 1663, 1676, 1677, 1689, 1690, 1702, 1703, 1716, + 1872, 1885, 739, 752, 908, 922, 935, 948, + 961, 1090, 1104, 1118, 1131, 1144, 1157, 1272, + 1286, 1300, 1313, 1327, 1340, 1468, 1482, 1496, + 1509, 1522, 1535, 1664, 1678, 1691, 1704, 1717, + 1873, 1886, 727, 740, 753, 766, 909, 923, + 936, 949, 962, 1091, 1105, 1119, 1132, 1145, + 1158, 1273, 1287, 1301, 1314, 1328, 1341, 1469, + 1483, 1497, 1510, 1523, 1536, 1665, 1679, 1692, + 1705, 1718, 1874, 1887, 765, 974, 1170, 1352, + 1353, 1548, 1730, 1899, 779, 975, 1171, 1354, + 1549, 1731, 1900, 741, 754, 767, 780, 937, + 950, 963, 976, 1133, 1146, 1159, 1172, 1315, + 1329, 1342, 1355, 1368, 1511, 1524, 1537, 1550, + 1693, 1706, 1719, 1732, 1888, 1901, 1366, 1367, + 1562, 1744, 1913, 1563, 1745, 1914, 768, 781, + 951, 964, 977, 1147, 1160, 1173, 1343, 1356, + 1369, 1525, 1538, 1551, 1564, 1707, 1720, 1733, + 1746, 1902, 1915, 1859, 1898, 1912, 2068, 2081, + 1860, 2069, 2082, 1861, 1875, 2057, 2070, 2083, + 2096, 1926, 2095, 1927, 2109, 1889, 1928, 2084, + 2097, 1758, 1940, 1759, 1941, 2110, 1539, 1552, + 1565, 1721, 1734, 1747, 1760, 1903, 1916, 1929, + 1942, 2098, 2111, 2055, 2094, 2108, 2264, 2277, + 2056, 2252, 2265, 2278, 2291, 2071, 2253, 2266, + 2279, 2292, 2122, 2123, 2305, 2085, 2124, 2280, + 2293, 1954, 2136, 1955, 2137, 2306, 1735, 1748, + 1761, 1917, 1930, 1943, 1956, 2099, 2112, 2125, + 2138, 2281, 2294, 2307, 2320, 741, 754, 923, + 936, 937, 949, 950, 963, 1105, 1118, 1119, + 1131, 1132, 1133, 1145, 1146, 1159, 1287, 1300, + 1301, 1314, 1315, 1327, 1328, 1329, 1341, 1342, + 1483, 1496, 1497, 1509, 1510, 1511, 1523, 1524, + 1537, 1679, 1692, 1693, 1705, 1706, 1719, 1875, + 1888, 755, 768, 951, 964, 977, 1147, 1160, + 1173, 1343, 1355, 1356, 1525, 1538, 1551, 1707, + 1720, 1733, 1889, 1902, 769, 782, 965, 978, + 1161, 1174, 1357, 1369, 1370, 1539, 1552, 1565, + 1721, 1734, 1747, 1903, 1916, 1901, 1915, 2071, + 2084, 1929, 2085, 2098, 1553, 1566, 1735, 1748, + 1761, 1917, 1930, 1943, 2099, 2112, 2097, 2111, + 2267, 2280, 2125, 2281, 2294, 1749, 1762, 1931, + 1944, 1957, 2113, 2126, 2139, 2295, 2308, 771, + 940, 953, 954, 966, 967, 1122, 1135, 1136, + 1148, 1149, 1150, 1162, 1163, 1317, 1318, 1330, + 1331, 1332, 1344, 1345, 1358, 1359, 1500, 1513, + 1514, 1526, 1527, 1528, 1540, 1541, 1554, 1696, + 1709, 1710, 1722, 1723, 1736, 1905, 1918, 772, + 941, 955, 968, 1123, 1137, 1151, 1164, 1319, + 1333, 1346, 1360, 1501, 1515, 1529, 1542, 1555, + 1697, 1711, 1724, 1737, 1750, 1906, 1919, 773, + 942, 956, 969, 1124, 1138, 1152, 1165, 1320, + 1334, 1347, 1361, 1502, 1516, 1530, 1543, 1556, + 1698, 1712, 1725, 1738, 1751, 1907, 1920, 1892, + 1932, 2101, 2114, 1893, 1933, 1946, 2102, 2115, + 1348, 1557, 1726, 1739, 1752, 1894, 1908, 1921, + 1934, 1947, 2103, 2116, 2088, 2128, 2297, 2310, + 2089, 2129, 2142, 2298, 2311, 1544, 1753, 1922, + 1935, 1948, 2090, 2104, 2117, 2130, 2143, 2299, + 2312, 774, 943, 956, 957, 969, 970, 1125, + 1138, 1139, 1151, 1152, 1153, 1164, 1165, 1166, + 1320, 1321, 1333, 1334, 1335, 1347, 1348, 1360, + 1361, 1362, 1503, 1516, 1517, 1529, 1530, 1531, + 1542, 1543, 1544, 1556, 1557, 1699, 1712, 1713, + 1725, 1726, 1738, 1739, 1752, 1908, 1921, 775, + 944, 958, 971, 1126, 1140, 1154, 1167, 1322, + 1336, 1349, 1363, 1504, 1518, 1532, 1545, 1558, + 1700, 1714, 1727, 1740, 1753, 1909, 1922, 763, + 776, 945, 959, 972, 1127, 1141, 1155, 1168, + 1309, 1323, 1337, 1350, 1351, 1364, 1505, 1519, + 1533, 1546, 1559, 1701, 1715, 1728, 1741, 1754, + 1897, 1910, 1923, 1936, 1895, 1934, 1935, 1948, + 2104, 2117, 1896, 1949, 2105, 2118, 1547, 1560, + 1729, 1742, 1755, 1911, 1924, 1937, 1950, 2093, + 2106, 2119, 2132, 2091, 2130, 2131, 2144, 2287, + 2300, 2313, 2326, 2092, 2145, 2301, 2314, 1743, + 1756, 1925, 1938, 1951, 2107, 2120, 2133, 2146, + 2289, 2302, 2315, 2328, 777, 946, 959, 960, + 972, 973, 1128, 1141, 1142, 1154, 1155, 1156, + 1167, 1168, 1169, 1323, 1324, 1336, 1337, 1338, + 1350, 1351, 1363, 1364, 1365, 1506, 1519, 1520, + 1532, 1533, 1534, 1545, 1546, 1547, 1559, 1560, + 1702, 1715, 1716, 1728, 1729, 1741, 1742, 1755, + 1911, 1924, 778, 947, 961, 974, 1129, 1143, + 1157, 1170, 1325, 1339, 1352, 1366, 1507, 1521, + 1535, 1548, 1561, 1703, 1717, 1730, 1743, 1756, + 1912, 1925, 766, 779, 948, 962, 975, 1130, + 1144, 1158, 1171, 1312, 1326, 1340, 1353, 1367, + 1508, 1522, 1536, 1549, 1562, 1704, 1718, 1731, + 1744, 1757, 1913, 1926, 1898, 1937, 1938, 1951, + 2107, 2120, 1899, 1939, 1952, 2108, 2121, 1354, + 1550, 1563, 1732, 1745, 1758, 1900, 1914, 1927, + 1940, 1953, 2096, 2109, 2122, 2135, 2094, 2133, + 2134, 2147, 2303, 2316, 2095, 2148, 2304, 2317, + 1746, 1759, 1928, 1941, 1954, 2110, 2123, 2136, + 2149, 2292, 2305, 2318, 2331, 780, 949, 962, + 963, 975, 976, 1131, 1144, 1145, 1157, 1158, + 1159, 1170, 1171, 1172, 1326, 1327, 1339, 1340, + 1341, 1353, 1354, 1366, 1367, 1368, 1509, 1522, + 1523, 1535, 1536, 1537, 1548, 1549, 1550, 1562, + 1563, 1705, 1718, 1719, 1731, 1732, 1744, 1745, + 1758, 1914, 1927, 781, 950, 964, 977, 1132, + 1146, 1160, 1173, 1314, 1328, 1342, 1355, 1369, + 1510, 1524, 1538, 1551, 1564, 1706, 1720, 1733, + 1746, 1759, 1915, 1928, 769, 782, 951, 965, + 978, 1133, 1147, 1161, 1174, 1315, 1329, 1343, + 1356, 1370, 1511, 1525, 1539, 1552, 1565, 1707, + 1721, 1734, 1747, 1760, 1916, 1929, 1901, 1940, + 1941, 1954, 2110, 2123, 1902, 1942, 1955, 2111, + 2124, 1357, 1553, 1566, 1735, 1748, 1761, 1903, + 1917, 1930, 1943, 1956, 2099, 2112, 2125, 2138, + 2097, 2136, 2137, 2150, 2306, 2319, 2098, 2151, + 2294, 2307, 2320, 2333, 1749, 1762, 1931, 1944, + 1957, 2113, 2126, 2139, 2152, 2295, 2308, 2321, + 2334, 783, 965, 978, 979, 1147, 1160, 1161, + 1173, 1174, 1175, 1329, 1342, 1343, 1356, 1357, + 1369, 1370, 1371, 1525, 1538, 1539, 1551, 1552, + 1553, 1565, 1566, 1721, 1734, 1735, 1747, 1748, + 1761, 1917, 1930, 1567, 1749, 1762, 1931, 1943, + 1944, 1957, 2113, 2126, 1763, 1945, 1958, 2127, + 2139, 2140, 2153, 2309, 2322, 1191, 1204, 1373, + 1374, 1386, 1387, 1400, 1568, 1569, 1570, 1582, + 1583, 1596, 1764, 1765, 1778, 1779, 1792, 1960, + 1961, 1974, 2156, 1192, 1205, 1375, 1388, 1401, + 1414, 1571, 1584, 1597, 1610, 1766, 1780, 1793, + 1962, 1975, 1988, 2157, 2170, 1180, 1193, 1206, + 1219, 1376, 1389, 1402, 1415, 1572, 1585, 1598, + 1611, 1767, 1768, 1781, 1794, 1807, 1963, 1976, + 1989, 2158, 2171, 2353, 1218, 1806, 2352, 1232, + 1428, 1624, 1820, 2002, 2184, 2366, 1207, 1220, + 1390, 1403, 1416, 1429, 1586, 1599, 1612, 1625, + 1795, 1808, 1964, 1977, 1990, 2003, 2159, 2172, + 2185, 2354, 1233, 1442, 1638, 1821, 2016, 2198, + 2367, 1221, 1234, 1404, 1417, 1430, 1443, 1600, + 1613, 1626, 1639, 1782, 1809, 1822, 1978, 1991, + 2004, 2017, 2160, 2173, 2186, 2199, 2355, 2368, + 2549, 2548, 2380, 2381, 2550, 2562, 1834, 2212, + 2394, 2563, 1796, 1835, 2005, 2018, 2174, 2187, + 2200, 2213, 2356, 2369, 2382, 2395, 2551, 2564, + 2577, 2576, 2030, 2408, 2590, 1992, 2031, 2201, + 2214, 2370, 2383, 2396, 2409, 2552, 2565, 2578, + 2591, 1194, 1207, 1376, 1377, 1389, 1390, 1402, + 1403, 1416, 1571, 1572, 1573, 1584, 1585, 1586, + 1598, 1599, 1612, 1767, 1768, 1780, 1781, 1782, + 1794, 1795, 1962, 1963, 1964, 1976, 1977, 1990, + 2158, 2159, 2172, 1195, 1208, 1378, 1391, 1404, + 1417, 1574, 1587, 1600, 1613, 1769, 1783, 1796, + 1965, 1978, 1991, 2160, 2173, 1183, 1196, 1209, + 1222, 1379, 1392, 1405, 1418, 1575, 1588, 1601, + 1614, 1770, 1771, 1784, 1797, 1810, 1966, 1979, + 1992, 2161, 2174, 2356, 1221, 1430, 1626, 1808, + 1809, 2004, 2186, 2355, 1235, 1431, 1627, 1823, + 2005, 2187, 2369, 1210, 1223, 1393, 1406, 1419, + 1432, 1589, 1602, 1615, 1628, 1798, 1811, 1967, + 1980, 1993, 2006, 2162, 2175, 2188, 2357, 1248, + 1444, 1640, 1822, 1836, 2018, 2200, 2382, 1236, + 1445, 1641, 1824, 2019, 2201, 2370, 1224, 1237, + 1407, 1420, 1433, 1446, 1603, 1616, 1629, 1642, + 1785, 1812, 1825, 1981, 1994, 2007, 2020, 2163, + 2176, 2189, 2202, 2358, 2371, 2354, 2368, 2551, + 2552, 2383, 2384, 2553, 2032, 2214, 2396, 2565, + 1837, 2215, 2397, 2566, 1799, 1838, 2008, 2021, + 2177, 2190, 2203, 2216, 2359, 2372, 2385, 2398, + 2554, 2567, 2580, 2550, 2564, 2578, 2579, 2228, + 2410, 2592, 2033, 2411, 2593, 1995, 2034, 2204, + 2217, 2373, 2386, 2399, 2412, 2555, 2568, 2581, + 2594, 1197, 1210, 1379, 1380, 1392, 1393, 1405, + 1406, 1419, 1574, 1575, 1576, 1587, 1588, 1589, + 1601, 1602, 1615, 1770, 1771, 1783, 1784, 1785, + 1797, 1798, 1965, 1966, 1967, 1979, 1980, 1993, + 2161, 2162, 2175, 1198, 1211, 1381, 1394, 1407, + 1420, 1577, 1590, 1603, 1616, 1772, 1786, 1799, + 1968, 1981, 1994, 2163, 2176, 1186, 1199, 1212, + 1225, 1382, 1395, 1408, 1421, 1578, 1591, 1604, + 1617, 1773, 1774, 1787, 1800, 1813, 1969, 1982, + 1995, 2164, 2177, 2359, 1224, 1433, 1629, 1811, + 1812, 2007, 2189, 2358, 1238, 1434, 1630, 1826, + 2008, 2190, 2372, 1213, 1226, 1396, 1409, 1422, + 1435, 1592, 1605, 1618, 1631, 1788, 1801, 1814, + 1970, 1983, 1996, 2009, 2165, 2178, 2191, 2360, + 1251, 1447, 1643, 1825, 1839, 2021, 2203, 2385, + 1239, 1448, 1644, 1827, 2022, 2204, 2373, 1227, + 1240, 1410, 1423, 1436, 1449, 1606, 1619, 1632, + 1645, 1802, 1815, 1828, 1984, 1997, 2010, 2023, + 2166, 2179, 2192, 2205, 2361, 2374, 2357, 2371, + 2554, 2555, 2386, 2387, 2556, 2035, 2217, 2399, + 2568, 1840, 2218, 2400, 2569, 1841, 1998, 2011, + 2024, 2180, 2193, 2206, 2219, 2362, 2375, 2388, + 2401, 2557, 2570, 2583, 2553, 2567, 2581, 2582, + 2231, 2413, 2595, 2036, 2414, 2596, 2037, 2194, + 2207, 2220, 2376, 2389, 2402, 2415, 2558, 2571, + 2584, 2597, 1200, 1213, 1382, 1383, 1395, 1396, + 1408, 1409, 1422, 1577, 1578, 1579, 1590, 1591, + 1592, 1604, 1605, 1618, 1773, 1774, 1786, 1787, + 1788, 1800, 1801, 1968, 1969, 1970, 1982, 1983, + 1996, 2164, 2165, 2178, 1188, 1201, 1214, 1227, + 1384, 1397, 1410, 1423, 1580, 1593, 1606, 1619, + 1775, 1789, 1802, 1971, 1984, 1997, 2166, 2179, + 2361, 1189, 1202, 1215, 1228, 1385, 1398, 1411, + 1424, 1581, 1594, 1607, 1620, 1776, 1777, 1790, + 1803, 1816, 1972, 1985, 1998, 2167, 2180, 2362, + 1436, 1632, 1814, 1815, 2010, 2192, 1241, 1437, + 1633, 1829, 2011, 2193, 2375, 1216, 1229, 1399, + 1412, 1425, 1438, 1595, 1608, 1621, 1634, 1791, + 1804, 1817, 1830, 1973, 1986, 1999, 2012, 2168, + 2181, 2194, 2363, 1450, 1646, 1828, 2024, 2206, + 1242, 1451, 1647, 1843, 2025, 2207, 2376, 2389, + 1230, 1243, 1413, 1426, 1439, 1452, 1609, 1622, + 1635, 1648, 1805, 1818, 1831, 1844, 1987, 2000, + 2013, 2026, 2169, 2182, 2195, 2208, 2364, 2377, + 2360, 2374, 2557, 2558, 2388, 2390, 2559, 1842, + 2220, 2402, 2571, 2221, 2403, 2572, 2001, 2014, + 2027, 2040, 2183, 2196, 2209, 2222, 2365, 2378, + 2391, 2404, 2560, 2573, 2556, 2570, 2584, 2585, + 2586, 2038, 2416, 2598, 2039, 2235, 2417, 2599, + 2197, 2210, 2223, 2236, 2379, 2392, 2405, 2418, + 2561, 2574, 2587, 2600, 1203, 1216, 1385, 1398, + 1399, 1411, 1412, 1425, 1580, 1581, 1593, 1594, + 1595, 1607, 1608, 1621, 1776, 1777, 1789, 1790, + 1791, 1803, 1804, 1971, 1972, 1973, 1985, 1986, + 1999, 2167, 2168, 2181, 1217, 1230, 1413, 1426, + 1439, 1609, 1622, 1635, 1805, 1817, 1818, 1987, + 2000, 2013, 2169, 2182, 2195, 2364, 1231, 1244, + 1427, 1440, 1453, 1623, 1636, 1649, 1819, 1831, + 1832, 2001, 2014, 2027, 2183, 2196, 2209, 2365, + 2378, 2363, 2377, 2391, 2560, 1845, 2015, 2028, + 2197, 2210, 2223, 2379, 2392, 2405, 2561, 2574, + 2559, 2573, 2587, 2041, 2211, 2224, 2393, 2406, + 2419, 2575, 2588, 2601, 1233, 1246, 1402, 1415, + 1416, 1428, 1429, 1442, 1584, 1597, 1598, 1610, + 1611, 1612, 1624, 1625, 1638, 1779, 1780, 1792, + 1793, 1794, 1806, 1807, 1820, 1821, 1834, 1962, + 1975, 1976, 1988, 1989, 1990, 2002, 2003, 2016, + 2158, 2171, 2172, 2184, 2185, 2198, 2367, 2380, + 1234, 1247, 1403, 1417, 1430, 1443, 1456, 1585, + 1599, 1613, 1626, 1639, 1652, 1767, 1781, 1795, + 1808, 1822, 1835, 1963, 1977, 1991, 2004, 2017, + 2030, 2159, 2173, 2186, 2199, 2212, 2368, 2381, + 1222, 1235, 1248, 1261, 1404, 1418, 1431, 1444, + 1457, 1586, 1600, 1614, 1627, 1640, 1653, 1768, + 1782, 1796, 1809, 1810, 1823, 1836, 1849, 1964, + 1978, 1992, 2005, 2018, 2031, 2160, 2174, 2187, + 2200, 2213, 2356, 2369, 2382, 2395, 1260, 1848, + 2394, 1274, 1470, 1666, 1862, 2044, 2226, 2408, + 1249, 1262, 1432, 1445, 1458, 1471, 1628, 1641, + 1654, 1667, 1837, 1850, 2006, 2019, 2032, 2045, + 2188, 2201, 2214, 2227, 2383, 2396, 1275, 1484, + 1680, 1863, 2058, 2240, 2409, 1250, 1263, 1276, + 1289, 1446, 1459, 1472, 1485, 1642, 1655, 1668, + 1681, 1824, 1851, 1864, 2020, 2033, 2046, 2059, + 2202, 2215, 2228, 2241, 2397, 2410, 2354, 2563, + 2576, 2355, 2551, 2564, 2577, 2590, 2370, 2552, + 2565, 2578, 2591, 2422, 2384, 2423, 2579, 2592, + 2604, 1876, 2254, 2436, 2605, 1838, 1877, 2034, + 2047, 2060, 2073, 2216, 2229, 2242, 2255, 2398, + 2411, 2424, 2437, 2580, 2593, 2606, 2619, 2550, + 2566, 2618, 2072, 2450, 2632, 2230, 2243, 2256, + 2269, 2412, 2425, 2438, 2451, 2594, 2607, 2620, + 2633, 1236, 1249, 1405, 1418, 1419, 1431, 1432, + 1444, 1445, 1458, 1587, 1600, 1601, 1613, 1614, + 1615, 1626, 1627, 1628, 1640, 1641, 1654, 1782, + 1783, 1795, 1796, 1797, 1809, 1810, 1822, 1823, + 1824, 1836, 1837, 1965, 1978, 1979, 1991, 1992, + 1993, 2004, 2005, 2006, 2018, 2019, 2032, 2161, + 2174, 2175, 2187, 2188, 2200, 2201, 2214, 2370, + 2383, 1237, 1250, 1406, 1420, 1433, 1446, 1459, + 1588, 1602, 1616, 1629, 1642, 1655, 1770, 1784, + 1798, 1811, 1825, 1838, 1966, 1980, 1994, 2007, + 2020, 2033, 2162, 2176, 2189, 2202, 2215, 2371, + 2384, 1225, 1238, 1251, 1264, 1407, 1421, 1434, + 1447, 1460, 1589, 1603, 1617, 1630, 1643, 1656, + 1771, 1785, 1799, 1812, 1813, 1826, 1839, 1852, + 1967, 1981, 1995, 2008, 2021, 2034, 2163, 2177, + 2190, 2203, 2216, 2359, 2372, 2385, 2398, 1263, + 1472, 1668, 1850, 1851, 1864, 2046, 2228, 2397, + 1277, 1473, 1669, 1865, 2047, 2229, 2411, 1252, + 1265, 1435, 1448, 1461, 1474, 1631, 1644, 1657, + 1670, 1840, 1853, 2009, 2022, 2035, 2048, 2191, + 2204, 2217, 2230, 2386, 2399, 1290, 1486, 1682, + 1878, 2060, 2242, 2424, 1278, 1487, 1683, 1866, + 2061, 2243, 2412, 1253, 1266, 1279, 1292, 1449, + 1462, 1475, 1488, 1645, 1658, 1671, 1684, 1827, + 1854, 1867, 2023, 2036, 2049, 2062, 2205, 2218, + 2231, 2244, 2400, 2413, 2357, 2396, 2410, 2566, + 2579, 2358, 2554, 2567, 2580, 2593, 2373, 2555, + 2568, 2581, 2594, 2606, 2425, 2387, 2426, 2582, + 2595, 2074, 2256, 2438, 2607, 1879, 2257, 2439, + 2608, 1841, 1880, 2037, 2050, 2063, 2076, 2219, + 2232, 2245, 2258, 2401, 2414, 2427, 2440, 2583, + 2596, 2609, 2622, 2553, 2592, 2569, 2620, 2621, + 2270, 2452, 2634, 2075, 2453, 2635, 2233, 2246, + 2259, 2272, 2415, 2428, 2441, 2454, 2597, 2610, + 2623, 2636, 1239, 1252, 1408, 1421, 1422, 1434, + 1435, 1447, 1448, 1461, 1590, 1603, 1604, 1616, + 1617, 1618, 1629, 1630, 1631, 1643, 1644, 1657, + 1785, 1786, 1798, 1799, 1800, 1812, 1813, 1825, + 1826, 1827, 1839, 1840, 1968, 1981, 1982, 1994, + 1995, 1996, 2007, 2008, 2009, 2021, 2022, 2035, + 2164, 2177, 2178, 2190, 2191, 2203, 2204, 2217, + 2373, 2386, 1240, 1253, 1409, 1423, 1436, 1449, + 1462, 1591, 1605, 1619, 1632, 1645, 1658, 1773, + 1787, 1801, 1814, 1828, 1841, 1969, 1983, 1997, + 2010, 2023, 2036, 2165, 2179, 2192, 2205, 2218, + 2374, 2387, 1228, 1241, 1254, 1267, 1410, 1424, + 1437, 1450, 1463, 1592, 1606, 1620, 1633, 1646, + 1659, 1774, 1788, 1802, 1815, 1816, 1829, 1842, + 1855, 1970, 1984, 1998, 2011, 2024, 2037, 2166, + 2180, 2193, 2206, 2219, 2362, 2375, 2388, 2401, + 1266, 1475, 1671, 1853, 1854, 1867, 2049, 2231, + 2400, 1280, 1476, 1672, 1868, 2050, 2232, 2414, + 1255, 1268, 1438, 1451, 1464, 1477, 1634, 1647, + 1660, 1673, 1830, 1843, 1856, 2012, 2025, 2038, + 2051, 2194, 2207, 2220, 2233, 2376, 2389, 2402, + 1293, 1489, 1685, 1881, 2063, 2245, 2427, 1281, + 1490, 1686, 1869, 2064, 2246, 2415, 1256, 1269, + 1282, 1295, 1452, 1465, 1478, 1491, 1648, 1661, + 1674, 1687, 1844, 1857, 1870, 2026, 2039, 2052, + 2065, 2208, 2221, 2234, 2247, 2390, 2403, 2416, + 2360, 2399, 2413, 2569, 2582, 2361, 2557, 2570, + 2583, 2596, 2558, 2571, 2584, 2597, 2609, 2428, + 2429, 2585, 2598, 2077, 2259, 2441, 2610, 1882, + 2260, 2442, 2611, 1883, 2040, 2053, 2066, 2079, + 2222, 2235, 2248, 2261, 2404, 2417, 2430, 2443, + 2586, 2599, 2612, 2625, 2556, 2595, 2572, 2623, + 2624, 2273, 2455, 2637, 2078, 2456, 2638, 2236, + 2249, 2262, 2275, 2418, 2431, 2444, 2457, 2600, + 2613, 2626, 2639, 1242, 1255, 1411, 1424, 1425, + 1437, 1438, 1450, 1451, 1464, 1593, 1606, 1607, + 1619, 1620, 1621, 1632, 1633, 1634, 1646, 1647, + 1660, 1788, 1789, 1801, 1802, 1803, 1815, 1816, + 1828, 1829, 1830, 1842, 1843, 1971, 1984, 1985, + 1997, 1998, 1999, 2010, 2011, 2012, 2024, 2025, + 2038, 2167, 2180, 2181, 2193, 2194, 2206, 2207, + 2220, 2376, 2389, 1243, 1256, 1269, 1412, 1426, + 1439, 1452, 1465, 1594, 1608, 1622, 1635, 1648, + 1661, 1776, 1790, 1804, 1817, 1831, 1844, 1972, + 1986, 2000, 2013, 2026, 2039, 2168, 2182, 2195, + 2208, 2221, 2377, 2390, 1231, 1244, 1257, 1270, + 1413, 1427, 1440, 1453, 1466, 1595, 1609, 1623, + 1636, 1649, 1662, 1777, 1791, 1805, 1818, 1819, + 1832, 1845, 1858, 1973, 1987, 2001, 2014, 2027, + 2040, 2169, 2183, 2196, 2209, 2222, 2365, 2378, + 2391, 2404, 1478, 1674, 1856, 1857, 2052, 2234, + 2403, 1283, 1479, 1675, 1871, 2053, 2235, 2417, + 1258, 1271, 1441, 1454, 1467, 1480, 1637, 1650, + 1663, 1676, 1833, 1846, 1859, 1872, 2015, 2028, + 2041, 2054, 2197, 2210, 2223, 2236, 2379, 2392, + 2405, 1492, 1688, 1870, 2066, 2248, 1284, 1493, + 1689, 1885, 2067, 2249, 2418, 2431, 1272, 1285, + 1455, 1468, 1481, 1494, 1651, 1664, 1677, 1690, + 1860, 1873, 2029, 2042, 2055, 2068, 2211, 2224, + 2237, 2250, 2393, 2406, 2419, 2363, 2402, 2416, + 2572, 2585, 2364, 2560, 2573, 2586, 2599, 2561, + 2574, 2587, 2430, 2600, 2432, 2588, 2601, 1884, + 2262, 2444, 2613, 2081, 2263, 2445, 2614, 1847, + 1886, 2056, 2069, 2225, 2238, 2251, 2264, 2407, + 2420, 2433, 2446, 2602, 2615, 2559, 2598, 2612, + 2575, 2626, 2627, 2589, 2628, 2080, 2458, 2640, + 2277, 2459, 2641, 2043, 2082, 2252, 2265, 2421, + 2434, 2447, 2460, 2603, 2616, 2629, 2642, 1245, + 1258, 1427, 1440, 1441, 1453, 1454, 1467, 1609, + 1622, 1623, 1635, 1636, 1637, 1649, 1650, 1663, + 1791, 1804, 1805, 1818, 1819, 1831, 1832, 1833, + 1845, 1846, 1987, 2000, 2001, 2013, 2014, 2015, + 2027, 2028, 2041, 2183, 2196, 2197, 2209, 2210, + 2223, 2379, 2392, 1259, 1272, 1455, 1468, 1481, + 1651, 1664, 1677, 1847, 1859, 1860, 2029, 2042, + 2055, 2211, 2224, 2237, 2393, 2406, 1273, 1286, + 1469, 1482, 1495, 1665, 1678, 1691, 1861, 1873, + 1874, 2043, 2056, 2069, 2225, 2238, 2251, 2407, + 2420, 2405, 2419, 2575, 2588, 2433, 2589, 2602, + 1887, 2057, 2070, 2239, 2252, 2265, 2421, 2434, + 2447, 2603, 2616, 2601, 2615, 2629, 2083, 2253, + 2266, 2435, 2448, 2461, 2617, 2630, 2643, 1275, + 1288, 1444, 1457, 1458, 1470, 1471, 1484, 1626, + 1639, 1640, 1652, 1653, 1654, 1666, 1667, 1680, + 1821, 1822, 1834, 1835, 1836, 1848, 1849, 1862, + 1863, 1876, 2004, 2017, 2018, 2030, 2031, 2032, + 2044, 2045, 2058, 2200, 2213, 2214, 2226, 2227, + 2240, 2409, 2422, 1276, 1289, 1445, 1459, 1472, + 1485, 1498, 1627, 1641, 1655, 1668, 1681, 1694, + 1809, 1823, 1837, 1850, 1864, 1877, 2005, 2019, + 2033, 2046, 2059, 2072, 2201, 2215, 2228, 2241, + 2254, 2410, 2423, 1264, 1277, 1290, 1303, 1446, + 1460, 1473, 1486, 1499, 1628, 1642, 1656, 1669, + 1682, 1695, 1824, 1838, 1851, 1852, 1865, 1878, + 1891, 2006, 2020, 2034, 2047, 2060, 2073, 2202, + 2216, 2229, 2242, 2255, 2411, 2424, 1302, 1890, + 2436, 1512, 1708, 2086, 2268, 2437, 1291, 1304, + 1474, 1487, 1500, 1513, 1670, 1683, 1696, 1709, + 1879, 1892, 2048, 2061, 2074, 2087, 2230, 2243, + 2256, 2269, 2425, 2438, 1316, 1904, 2450, 1317, + 1526, 1722, 1905, 2100, 2282, 2451, 1292, 1305, + 1318, 1488, 1501, 1514, 1527, 1684, 1697, 1710, + 1723, 1866, 1893, 1906, 1919, 2062, 2075, 2088, + 2101, 2244, 2257, 2270, 2283, 2439, 2452, 2396, + 2605, 2618, 2397, 2593, 2606, 2619, 2632, 2398, + 2412, 2607, 2620, 2464, 2633, 2426, 2465, 2621, + 2634, 2646, 1918, 2296, 2478, 2647, 1880, 2076, + 2089, 2102, 2115, 2258, 2271, 2284, 2297, 2440, + 2453, 2466, 2479, 2622, 2635, 2648, 2661, 2592, + 2594, 2608, 2660, 2114, 2492, 2674, 2272, 2285, + 2298, 2311, 2454, 2467, 2480, 2493, 2636, 2649, + 2662, 2675, 1278, 1291, 1447, 1460, 1461, 1473, + 1474, 1486, 1487, 1500, 1629, 1642, 1643, 1655, + 1656, 1657, 1668, 1669, 1670, 1682, 1683, 1696, + 1824, 1825, 1837, 1838, 1839, 1851, 1852, 1864, + 1865, 1866, 1878, 1879, 2007, 2020, 2021, 2033, + 2034, 2035, 2046, 2047, 2048, 2060, 2061, 2074, + 2203, 2216, 2217, 2229, 2230, 2242, 2243, 2256, + 2412, 2425, 1279, 1292, 1448, 1462, 1475, 1488, + 1501, 1630, 1644, 1658, 1671, 1684, 1697, 1812, + 1826, 1840, 1853, 1867, 1880, 2008, 2022, 2036, + 2049, 2062, 2075, 2204, 2218, 2231, 2244, 2257, + 2413, 2426, 1267, 1280, 1293, 1306, 1449, 1463, + 1476, 1489, 1502, 1631, 1645, 1659, 1672, 1685, + 1698, 1827, 1841, 1854, 1855, 1868, 1881, 1894, + 2009, 2023, 2037, 2050, 2063, 2076, 2205, 2219, + 2232, 2245, 2258, 2414, 2427, 1305, 1514, 1710, + 1892, 1893, 1906, 2088, 2270, 2439, 1515, 1711, + 2089, 2271, 2440, 1294, 1307, 1477, 1490, 1503, + 1516, 1673, 1686, 1699, 1712, 1882, 1895, 2051, + 2064, 2077, 2090, 2233, 2246, 2259, 2272, 2428, + 2441, 1319, 1332, 1528, 1724, 1907, 1920, 2102, + 2284, 2453, 2466, 1320, 1529, 1725, 1908, 2103, + 2285, 2454, 1295, 1308, 1321, 1491, 1504, 1517, + 1530, 1687, 1700, 1713, 1726, 1869, 1896, 1909, + 1922, 2065, 2078, 2091, 2104, 2247, 2260, 2273, + 2286, 2442, 2455, 2399, 2438, 2452, 2608, 2621, + 2400, 2596, 2609, 2622, 2635, 2401, 2415, 2610, + 2623, 2467, 2636, 2429, 2468, 2624, 2637, 2116, + 2298, 2480, 2649, 1921, 2299, 2481, 2650, 1883, + 2079, 2092, 2105, 2118, 2261, 2274, 2287, 2300, + 2443, 2456, 2469, 2482, 2625, 2638, 2651, 2664, + 2595, 2634, 2648, 2597, 2611, 2662, 2663, 2312, + 2494, 2676, 2117, 2495, 2677, 2275, 2288, 2301, + 2314, 2457, 2470, 2483, 2496, 2639, 2652, 2665, + 2678, 1281, 1294, 1450, 1463, 1464, 1476, 1477, + 1489, 1490, 1503, 1632, 1645, 1646, 1658, 1659, + 1660, 1671, 1672, 1673, 1685, 1686, 1699, 1827, + 1828, 1840, 1841, 1842, 1854, 1855, 1867, 1868, + 1869, 1881, 1882, 2010, 2023, 2024, 2036, 2037, + 2038, 2049, 2050, 2051, 2063, 2064, 2077, 2206, + 2219, 2220, 2232, 2233, 2245, 2246, 2259, 2415, + 2428, 1282, 1295, 1451, 1465, 1478, 1491, 1504, + 1633, 1647, 1661, 1674, 1687, 1700, 1815, 1829, + 1843, 1856, 1870, 1883, 2011, 2025, 2039, 2052, + 2065, 2078, 2207, 2221, 2234, 2247, 2260, 2416, + 2429, 1270, 1283, 1296, 1452, 1466, 1479, 1492, + 1505, 1634, 1648, 1662, 1675, 1688, 1701, 1816, + 1830, 1844, 1857, 1858, 1871, 1884, 2012, 2026, + 2040, 2053, 2066, 2079, 2208, 2222, 2235, 2248, + 2261, 2404, 2417, 2430, 1308, 1517, 1713, 1895, + 1896, 1909, 2091, 2273, 2442, 1309, 1518, 1714, + 1897, 2092, 2274, 2443, 1297, 1310, 1480, 1493, + 1506, 1519, 1676, 1689, 1702, 1715, 1872, 1885, + 1898, 1911, 2054, 2067, 2080, 2093, 2236, 2249, + 2262, 2275, 2418, 2431, 2444, 2457, 1322, 1335, + 1531, 1727, 1910, 1923, 2105, 2287, 2456, 2469, + 1323, 1532, 1728, 2106, 2288, 1311, 1324, 1494, + 1507, 1520, 1533, 1690, 1703, 1716, 1729, 1899, + 1912, 2068, 2081, 2094, 2107, 2250, 2263, 2276, + 2289, 2432, 2445, 2458, 2402, 2441, 2455, 2611, + 2624, 2403, 2599, 2612, 2625, 2638, 2600, 2613, + 2626, 2470, 2639, 2471, 2614, 2627, 2640, 2301, + 2483, 2652, 1924, 2302, 2484, 2653, 1886, 1925, + 2095, 2108, 2264, 2277, 2290, 2303, 2446, 2459, + 2472, 2485, 2641, 2654, 2598, 2637, 2651, 2665, + 2666, 2628, 2667, 2119, 2497, 2679, 2120, 2498, + 2680, 2082, 2121, 2291, 2304, 2460, 2473, 2486, + 2499, 2642, 2655, 2668, 2681, 1284, 1297, 1453, + 1466, 1467, 1479, 1480, 1492, 1493, 1506, 1635, + 1648, 1649, 1661, 1662, 1663, 1674, 1675, 1676, + 1688, 1689, 1702, 1830, 1831, 1843, 1844, 1845, + 1857, 1858, 1870, 1871, 1872, 1884, 1885, 2013, + 2026, 2027, 2039, 2040, 2041, 2052, 2053, 2054, + 2066, 2067, 2080, 2209, 2222, 2223, 2235, 2236, + 2248, 2249, 2262, 2418, 2431, 1285, 1298, 1454, + 1468, 1481, 1494, 1507, 1636, 1650, 1664, 1677, + 1690, 1703, 1818, 1832, 1846, 1859, 1873, 1886, + 2014, 2028, 2042, 2055, 2068, 2081, 2210, 2224, + 2237, 2250, 2263, 2419, 2432, 1286, 1299, 1455, + 1469, 1482, 1495, 1508, 1637, 1651, 1665, 1678, + 1691, 1704, 1833, 1847, 1860, 1874, 1887, 2015, + 2029, 2043, 2056, 2069, 2082, 2211, 2225, 2238, + 2251, 2264, 2420, 2433, 1311, 1520, 1716, 1898, + 1899, 2094, 2276, 2445, 1312, 1325, 1521, 1717, + 1900, 1913, 2095, 2277, 2446, 2459, 1287, 1300, + 1313, 1326, 1483, 1496, 1509, 1522, 1679, 1692, + 1705, 1718, 1861, 1875, 1888, 1901, 1914, 2057, + 2070, 2083, 2096, 2239, 2252, 2265, 2278, 2434, + 2447, 1338, 1534, 1730, 1912, 2108, 2290, 1339, + 1535, 1731, 1927, 2109, 2291, 2460, 1314, 1327, + 1497, 1510, 1523, 1536, 1693, 1706, 1719, 1732, + 1902, 1915, 1928, 2071, 2084, 2097, 2110, 2253, + 2266, 2279, 2292, 2448, 2461, 2405, 2444, 2458, + 2614, 2627, 2406, 2615, 2628, 2407, 2421, 2603, + 2616, 2629, 2642, 2472, 2641, 2473, 2655, 2435, + 2474, 2630, 2643, 1926, 2122, 2304, 2486, 2668, + 2123, 2305, 2487, 2656, 1889, 2098, 2111, 2124, + 2267, 2280, 2293, 2306, 2449, 2462, 2475, 2488, + 2644, 2657, 2601, 2640, 2654, 2602, 2617, 2669, + 2631, 2670, 2318, 2500, 2682, 2319, 2501, 2683, + 2085, 2294, 2307, 2320, 2463, 2476, 2489, 2502, + 2645, 2658, 2671, 2684, 1287, 1300, 1469, 1482, + 1483, 1495, 1496, 1509, 1651, 1664, 1665, 1677, + 1678, 1679, 1691, 1692, 1705, 1833, 1846, 1847, + 1860, 1861, 1873, 1874, 1875, 1887, 1888, 2029, + 2042, 2043, 2055, 2056, 2057, 2069, 2070, 2083, + 2225, 2238, 2239, 2251, 2252, 2265, 2421, 2434, + 1301, 1314, 1497, 1510, 1523, 1693, 1706, 1719, + 1889, 1901, 1902, 2071, 2084, 2097, 2253, 2266, + 2279, 2435, 2448, 1315, 1328, 1341, 1511, 1524, + 1537, 1707, 1720, 1733, 1903, 1915, 1916, 2085, + 2098, 2111, 2267, 2280, 2293, 2449, 2462, 2447, + 2461, 2617, 2630, 2475, 2631, 2644, 1929, 2099, + 2112, 2125, 2281, 2294, 2307, 2463, 2476, 2489, + 2645, 2658, 2671, 2643, 2657, 2295, 2308, 2321, + 2477, 2490, 2503, 2659, 2672, 2685, 1317, 1330, + 1486, 1499, 1500, 1512, 1513, 1526, 1668, 1681, + 1682, 1694, 1695, 1696, 1708, 1709, 1722, 1863, + 1864, 1876, 1877, 1878, 1890, 1891, 1904, 1905, + 1918, 2046, 2059, 2060, 2072, 2073, 2074, 2086, + 2087, 2100, 2242, 2255, 2256, 2268, 2269, 2282, + 2451, 2464, 1318, 1331, 1487, 1501, 1514, 1527, + 1540, 1669, 1683, 1697, 1710, 1723, 1736, 1851, + 1865, 1879, 1892, 1906, 1919, 2047, 2061, 2075, + 2088, 2101, 2114, 2243, 2257, 2270, 2283, 2296, + 2452, 2465, 1306, 1319, 1332, 1345, 1488, 1502, + 1515, 1528, 1541, 1670, 1684, 1698, 1711, 1724, + 1737, 1866, 1880, 1893, 1894, 1907, 1920, 1933, + 2048, 2062, 2076, 2089, 2102, 2115, 2244, 2258, + 2271, 2284, 2297, 2453, 2466, 1344, 1932, 2478, + 1554, 1750, 2128, 2310, 2479, 1333, 1346, 1516, + 1529, 1542, 1555, 1712, 1725, 1738, 1751, 1921, + 1934, 2090, 2103, 2116, 2129, 2272, 2285, 2298, + 2311, 2467, 2480, 1358, 1946, 2492, 1359, 1947, + 2142, 2324, 2493, 1347, 1360, 1530, 1543, 1556, + 1726, 1739, 1752, 1908, 1922, 1935, 1948, 2104, + 2117, 2130, 2143, 2286, 2299, 2312, 2325, 2481, + 2494, 2438, 2647, 2660, 2439, 2635, 2648, 2661, + 2674, 2440, 2454, 2649, 2662, 2506, 2675, 2468, + 2507, 2663, 2676, 2688, 2338, 2520, 2689, 2118, + 2131, 2144, 2300, 2313, 2326, 2339, 2482, 2495, + 2508, 2521, 2664, 2677, 2690, 2634, 2636, 2650, + 2702, 2703, 2534, 2716, 2327, 2340, 2496, 2509, + 2522, 2535, 2678, 2691, 2704, 2717, 1320, 1333, + 1489, 1502, 1503, 1515, 1516, 1528, 1529, 1542, + 1671, 1684, 1685, 1697, 1698, 1699, 1710, 1711, + 1712, 1724, 1725, 1738, 1866, 1867, 1879, 1880, + 1881, 1893, 1894, 1906, 1907, 1908, 1920, 1921, + 2049, 2062, 2063, 2075, 2076, 2077, 2088, 2089, + 2090, 2102, 2103, 2116, 2245, 2258, 2259, 2271, + 2272, 2284, 2285, 2298, 2454, 2467, 1321, 1334, + 1490, 1504, 1517, 1530, 1543, 1672, 1686, 1700, + 1713, 1726, 1739, 1854, 1868, 1882, 1895, 1909, + 1922, 2050, 2064, 2078, 2091, 2104, 2117, 2246, + 2260, 2273, 2286, 2299, 2455, 2468, 1322, 1335, + 1491, 1505, 1518, 1531, 1544, 1673, 1687, 1701, + 1714, 1727, 1740, 1869, 1883, 1896, 1910, 1923, + 2051, 2065, 2079, 2092, 2105, 2118, 2247, 2261, + 2274, 2287, 2300, 2456, 2469, 1347, 1556, 1752, + 1934, 1935, 1948, 2130, 2312, 2481, 1348, 1557, + 1753, 1936, 2131, 2313, 2482, 1336, 1349, 1519, + 1532, 1545, 1558, 1715, 1728, 1741, 1754, 1897, + 1911, 1924, 1937, 1950, 2093, 2106, 2119, 2132, + 2275, 2288, 2301, 2314, 2457, 2470, 2483, 2496, + 1361, 1949, 2144, 2326, 2495, 1362, 2145, 2327, + 2509, 1350, 1363, 1533, 1546, 1559, 1729, 1742, + 1755, 1938, 1951, 2107, 2120, 2133, 2146, 2289, + 2302, 2315, 2328, 2484, 2497, 2441, 2480, 2494, + 2650, 2663, 2442, 2638, 2651, 2664, 2677, 2443, + 2652, 2665, 2508, 2678, 2471, 2510, 2666, 2679, + 2340, 2522, 2691, 2341, 2523, 2692, 1925, 2134, + 2147, 2303, 2316, 2329, 2342, 2485, 2498, 2511, + 2524, 2680, 2693, 2637, 2676, 2690, 2639, 2653, + 2704, 2705, 2667, 2706, 2536, 2718, 2537, 2719, + 2121, 2330, 2343, 2499, 2512, 2525, 2538, 2681, + 2694, 2707, 2720, 1323, 1336, 1492, 1505, 1506, + 1518, 1519, 1531, 1532, 1545, 1674, 1687, 1688, + 1700, 1701, 1702, 1713, 1714, 1715, 1727, 1728, + 1741, 1869, 1870, 1882, 1883, 1884, 1896, 1897, + 1909, 1910, 1911, 1923, 1924, 2052, 2065, 2066, + 2078, 2079, 2080, 2091, 2092, 2093, 2105, 2106, + 2119, 2248, 2261, 2262, 2274, 2275, 2287, 2288, + 2301, 2457, 2470, 1324, 1337, 1493, 1507, 1520, + 1533, 1546, 1675, 1689, 1703, 1716, 1729, 1742, + 1871, 1885, 1898, 1912, 1925, 2053, 2067, 2081, + 2094, 2107, 2120, 2249, 2263, 2276, 2289, 2302, + 2458, 2471, 1312, 1325, 1338, 1351, 1494, 1508, + 1521, 1534, 1547, 1676, 1690, 1704, 1717, 1730, + 1743, 1858, 1872, 1886, 1899, 1900, 1913, 1926, + 1939, 2054, 2068, 2082, 2095, 2108, 2121, 2250, + 2264, 2277, 2290, 2303, 2446, 2459, 2472, 2485, + 1350, 1559, 1755, 1937, 1938, 2133, 2315, 2484, + 1364, 1560, 1756, 1952, 2134, 2316, 2498, 1326, + 1339, 1352, 1365, 1522, 1535, 1548, 1561, 1718, + 1731, 1744, 1757, 1914, 1927, 1940, 1953, 2096, + 2109, 2122, 2135, 2278, 2291, 2304, 2317, 2473, + 2486, 1951, 2147, 2329, 2148, 2330, 2499, 1353, + 1366, 1536, 1549, 1562, 1732, 1745, 1758, 1928, + 1941, 1954, 2110, 2123, 2136, 2149, 2292, 2305, + 2318, 2331, 2487, 2500, 2444, 2483, 2497, 2653, + 2666, 2445, 2654, 2667, 2460, 2642, 2655, 2668, + 2681, 2511, 2680, 2512, 2694, 2474, 2513, 2669, + 2682, 2343, 2525, 2707, 2344, 2526, 2695, 2124, + 2137, 2150, 2306, 2319, 2332, 2345, 2488, 2501, + 2514, 2527, 2683, 2696, 2640, 2679, 2693, 2641, + 2656, 2708, 2670, 2709, 2539, 2721, 2540, 2722, + 2320, 2333, 2346, 2502, 2515, 2528, 2541, 2684, + 2697, 2710, 2723, 1326, 1339, 1495, 1508, 1509, + 1521, 1522, 1534, 1535, 1548, 1677, 1690, 1691, + 1703, 1704, 1705, 1716, 1717, 1718, 1730, 1731, + 1744, 1872, 1873, 1885, 1886, 1887, 1899, 1900, + 1912, 1913, 1914, 1926, 1927, 2055, 2068, 2069, + 2081, 2082, 2083, 2094, 2095, 2096, 2108, 2109, + 2122, 2251, 2264, 2265, 2277, 2278, 2290, 2291, + 2304, 2460, 2473, 1327, 1340, 1496, 1510, 1523, + 1536, 1549, 1678, 1692, 1706, 1719, 1732, 1745, + 1860, 1874, 1888, 1901, 1915, 1928, 2056, 2070, + 2084, 2097, 2110, 2123, 2252, 2266, 2279, 2292, + 2305, 2461, 2474, 1315, 1328, 1341, 1354, 1497, + 1511, 1524, 1537, 1550, 1679, 1693, 1707, 1720, + 1733, 1746, 1861, 1875, 1889, 1902, 1903, 1916, + 1929, 2057, 2071, 2085, 2098, 2111, 2124, 2253, + 2267, 2280, 2293, 2306, 2449, 2462, 2475, 1353, + 1562, 1758, 1940, 1941, 2136, 2318, 2487, 1367, + 1563, 1759, 1942, 2137, 2319, 2488, 1329, 1342, + 1355, 1368, 1525, 1538, 1551, 1564, 1721, 1734, + 1747, 1760, 1917, 1930, 1943, 1956, 2099, 2112, + 2125, 2138, 2281, 2294, 2307, 2320, 2476, 2489, + 1954, 1955, 2150, 2332, 2501, 2151, 2333, 2502, + 1356, 1369, 1539, 1552, 1565, 1735, 1748, 1761, + 1931, 1944, 1957, 2113, 2126, 2139, 2152, 2295, + 2308, 2321, 2334, 2490, 2503, 2447, 2486, 2500, + 2656, 2669, 2448, 2657, 2670, 2463, 2645, 2658, + 2671, 2684, 2514, 2683, 2515, 2697, 2477, 2516, + 2672, 2685, 2346, 2528, 2347, 2529, 2698, 2127, + 2140, 2153, 2309, 2322, 2335, 2348, 2491, 2504, + 2517, 2530, 2686, 2699, 2643, 2682, 2696, 2644, + 2659, 2710, 2711, 2673, 2712, 2542, 2724, 2543, + 2725, 2323, 2336, 2349, 2505, 2518, 2531, 2544, + 2687, 2700, 2713, 2726, 1329, 1342, 1511, 1524, + 1525, 1537, 1538, 1551, 1693, 1706, 1707, 1719, + 1720, 1721, 1733, 1734, 1747, 1875, 1888, 1889, + 1902, 1903, 1915, 1916, 1917, 1929, 1930, 2071, + 2084, 2085, 2097, 2098, 2099, 2111, 2112, 2125, + 2267, 2280, 2281, 2293, 2294, 2307, 2463, 2476, + 1343, 1356, 1539, 1552, 1565, 1735, 1748, 1761, + 1931, 1943, 1944, 2113, 2126, 2139, 2295, 2308, + 2321, 2477, 2490, 1357, 1370, 1553, 1566, 1749, + 1762, 1945, 1957, 1958, 2127, 2140, 2153, 2309, + 2322, 2335, 2491, 2504, 2489, 2503, 2659, 2672, + 2517, 2673, 2686, 2141, 2154, 2323, 2336, 2349, + 2505, 2518, 2531, 2687, 2700, 2685, 2699, 2713, + 2337, 2350, 2519, 2532, 2545, 2701, 2714, 2727, + 1359, 1528, 1541, 1542, 1554, 1555, 1710, 1723, + 1724, 1736, 1737, 1738, 1750, 1751, 1905, 1906, + 1918, 1919, 1920, 1932, 1933, 1946, 1947, 2088, + 2101, 2102, 2114, 2115, 2116, 2128, 2129, 2142, + 2284, 2297, 2298, 2310, 2311, 2324, 2493, 2506, + 1360, 1529, 1543, 1556, 1711, 1725, 1739, 1752, + 1907, 1921, 1934, 1948, 2089, 2103, 2117, 2130, + 2143, 2285, 2299, 2312, 2325, 2338, 2494, 2507, + 1361, 1530, 1544, 1557, 1712, 1726, 1740, 1753, + 1908, 1922, 1935, 1949, 2090, 2104, 2118, 2131, + 2144, 2286, 2300, 2313, 2326, 2339, 2495, 2508, + 2480, 2520, 2689, 2702, 2481, 2521, 2534, 2690, + 2703, 1936, 2145, 2314, 2327, 2340, 2482, 2496, + 2509, 2522, 2535, 2691, 2704, 2676, 2716, 2677, + 2717, 2730, 2132, 2341, 2510, 2523, 2536, 2678, + 2692, 2705, 2718, 2731, 1362, 1531, 1544, 1545, + 1557, 1558, 1713, 1726, 1727, 1739, 1740, 1741, + 1752, 1753, 1754, 1908, 1909, 1921, 1922, 1923, + 1935, 1936, 1948, 1949, 1950, 2091, 2104, 2105, + 2117, 2118, 2119, 2130, 2131, 2132, 2144, 2145, + 2287, 2300, 2301, 2313, 2314, 2326, 2327, 2340, + 2496, 2509, 1363, 1532, 1546, 1559, 1714, 1728, + 1742, 1755, 1910, 1924, 1937, 1951, 2092, 2106, + 2120, 2133, 2146, 2288, 2302, 2315, 2328, 2341, + 2497, 2510, 1351, 1364, 1533, 1547, 1560, 1715, + 1729, 1743, 1756, 1897, 1911, 1925, 1938, 1939, + 1952, 2093, 2107, 2121, 2134, 2147, 2289, 2303, + 2316, 2329, 2342, 2485, 2498, 2511, 2524, 2483, + 2522, 2523, 2536, 2692, 2705, 2484, 2537, 2693, + 2706, 2135, 2148, 2317, 2330, 2343, 2499, 2512, + 2525, 2538, 2681, 2694, 2707, 2720, 2679, 2718, + 2719, 2732, 2680, 2733, 2331, 2344, 2513, 2526, + 2539, 2695, 2708, 2721, 2734, 1365, 1534, 1547, + 1548, 1560, 1561, 1716, 1729, 1730, 1742, 1743, + 1744, 1755, 1756, 1757, 1911, 1912, 1924, 1925, + 1926, 1938, 1939, 1951, 1952, 1953, 2094, 2107, + 2108, 2120, 2121, 2122, 2133, 2134, 2135, 2147, + 2148, 2290, 2303, 2304, 2316, 2317, 2329, 2330, + 2343, 2499, 2512, 1366, 1535, 1549, 1562, 1717, + 1731, 1745, 1758, 1913, 1927, 1940, 1954, 2095, + 2109, 2123, 2136, 2149, 2291, 2305, 2318, 2331, + 2344, 2500, 2513, 1354, 1367, 1536, 1550, 1563, + 1718, 1732, 1746, 1759, 1900, 1914, 1928, 1941, + 1942, 1955, 2096, 2110, 2124, 2137, 2150, 2292, + 2306, 2319, 2332, 2345, 2488, 2501, 2514, 2527, + 2486, 2525, 2526, 2539, 2695, 2708, 2487, 2540, + 2696, 2709, 2138, 2151, 2320, 2333, 2346, 2502, + 2515, 2528, 2541, 2684, 2697, 2710, 2723, 2682, + 2721, 2722, 2735, 2683, 2736, 2334, 2347, 2516, + 2529, 2542, 2698, 2711, 2724, 2737, 1368, 1537, + 1550, 1551, 1563, 1564, 1719, 1732, 1733, 1745, + 1746, 1747, 1758, 1759, 1760, 1914, 1915, 1927, + 1928, 1929, 1941, 1942, 1954, 1955, 1956, 2097, + 2110, 2111, 2123, 2124, 2125, 2136, 2137, 2138, + 2150, 2151, 2293, 2306, 2307, 2319, 2320, 2332, + 2333, 2346, 2502, 2515, 1369, 1538, 1552, 1565, + 1720, 1734, 1748, 1761, 1902, 1916, 1930, 1943, + 1957, 2098, 2112, 2126, 2139, 2152, 2294, 2308, + 2321, 2334, 2347, 2503, 2516, 1357, 1370, 1539, + 1553, 1566, 1721, 1735, 1749, 1762, 1903, 1917, + 1931, 1944, 1945, 1958, 2099, 2113, 2127, 2140, + 2153, 2295, 2309, 2322, 2335, 2348, 2491, 2504, + 2517, 2489, 2528, 2529, 2542, 2698, 2711, 2490, + 2530, 2543, 2699, 2712, 2141, 2154, 2323, 2336, + 2349, 2505, 2518, 2531, 2544, 2687, 2700, 2713, + 2726, 2685, 2724, 2725, 2738, 2686, 2739, 2337, + 2350, 2519, 2532, 2545, 2701, 2714, 2727, 2740, + 1371, 1553, 1566, 1567, 1735, 1748, 1749, 1761, + 1762, 1763, 1917, 1930, 1931, 1944, 1945, 1957, + 1958, 1959, 2113, 2126, 2127, 2139, 2140, 2141, + 2153, 2154, 2309, 2322, 2323, 2335, 2336, 2349, + 2505, 2518, 2155, 2337, 2350, 2519, 2531, 2532, + 2545, 2701, 2714, 2351, 2533, 2546, 2715, 2727, + 2728, 2741, 2099, 2112, 2125, 2281, 2294, 2295, + 2307, 2308, 2321, 2463, 2476, 2477, 2490, 2491, + 2503, 2504, 2517, 2659, 2672, 2673, 2685, 2686, + 2687, 2699, 2700, 2713, 1779, 1792, 1961, 1962, + 1974, 1975, 1988, 2156, 2157, 2158, 2170, 2171, + 2184, 2352, 2353, 2366, 2367, 2380, 2548, 2549, + 2562, 1780, 1793, 1963, 1976, 1989, 2002, 2159, + 2172, 2185, 2198, 2354, 2368, 2381, 2550, 2563, + 2576, 1768, 1781, 1794, 1807, 1964, 1977, 1990, + 2003, 2160, 2173, 2186, 2199, 2355, 2356, 2369, + 2382, 2395, 2551, 2564, 2577, 1806, 2394, 1820, + 2016, 2212, 2408, 2590, 1795, 1808, 1978, 1991, + 2004, 2017, 2174, 2187, 2200, 2213, 2383, 2396, + 2552, 2565, 2578, 2591, 1821, 2030, 2226, 2409, + 2604, 1809, 1822, 1992, 2005, 2018, 2031, 2188, + 2201, 2214, 2227, 2370, 2397, 2410, 2566, 2579, + 2592, 2605, 1782, 1795, 1964, 1965, 1977, 1978, + 1990, 1991, 2004, 2159, 2160, 2161, 2172, 2173, + 2174, 2186, 2187, 2200, 2355, 2356, 2368, 2369, + 2370, 2382, 2383, 2550, 2551, 2552, 2564, 2565, + 2578, 1783, 1796, 1966, 1979, 1992, 2005, 2162, + 2175, 2188, 2201, 2357, 2371, 2384, 2553, 2566, + 2579, 1771, 1784, 1797, 1810, 1967, 1980, 1993, + 2006, 2163, 2176, 2189, 2202, 2358, 2359, 2372, + 2385, 2398, 2554, 2567, 2580, 1809, 2018, 2214, + 2396, 2397, 2592, 1823, 2019, 2215, 2411, 2593, + 1798, 1811, 1981, 1994, 2007, 2020, 2177, 2190, + 2203, 2216, 2386, 2399, 2555, 2568, 2581, 2594, + 1836, 2032, 2228, 2410, 2424, 2606, 1824, 2033, + 2229, 2412, 2607, 1812, 1825, 1995, 2008, 2021, + 2034, 2191, 2204, 2217, 2230, 2373, 2400, 2413, + 2569, 2582, 2595, 2608, 1785, 1798, 1967, 1968, + 1980, 1981, 1993, 1994, 2007, 2162, 2163, 2164, + 2175, 2176, 2177, 2189, 2190, 2203, 2358, 2359, + 2371, 2372, 2373, 2385, 2386, 2553, 2554, 2555, + 2567, 2568, 2581, 1786, 1799, 1969, 1982, 1995, + 2008, 2165, 2178, 2191, 2204, 2360, 2374, 2387, + 2556, 2569, 2582, 1774, 1787, 1800, 1813, 1970, + 1983, 1996, 2009, 2166, 2179, 2192, 2205, 2361, + 2362, 2375, 2388, 2401, 2557, 2570, 2583, 1812, + 2021, 2217, 2399, 2400, 2595, 1826, 2022, 2218, + 2414, 2596, 1801, 1814, 1984, 1997, 2010, 2023, + 2180, 2193, 2206, 2219, 2376, 2389, 2402, 2558, + 2571, 2584, 2597, 1839, 2035, 2231, 2413, 2427, + 2609, 1827, 2036, 2232, 2415, 2610, 1815, 1828, + 1998, 2011, 2024, 2037, 2194, 2207, 2220, 2233, + 2390, 2403, 2416, 2572, 2585, 2598, 2611, 1788, + 1801, 1970, 1971, 1983, 1984, 1996, 1997, 2010, + 2165, 2166, 2167, 2178, 2179, 2180, 2192, 2193, + 2206, 2361, 2362, 2374, 2375, 2376, 2388, 2389, + 2556, 2557, 2558, 2570, 2571, 2584, 1776, 1789, + 1802, 1815, 1972, 1985, 1998, 2011, 2168, 2181, + 2194, 2207, 2363, 2377, 2390, 2559, 2572, 2585, + 1777, 1790, 1803, 1816, 1973, 1986, 1999, 2012, + 2169, 2182, 2195, 2208, 2364, 2365, 2378, 2391, + 2404, 2560, 2573, 2586, 2024, 2220, 2402, 2403, + 2598, 1829, 2025, 2221, 2417, 2599, 1804, 1817, + 1987, 2000, 2013, 2026, 2183, 2196, 2209, 2222, + 2379, 2392, 2405, 2418, 2561, 2574, 2587, 2600, + 2038, 2234, 2416, 2612, 1830, 2039, 2235, 2431, + 2613, 1818, 1831, 2001, 2014, 2027, 2040, 2197, + 2210, 2223, 2236, 2393, 2406, 2419, 2432, 2575, + 2588, 2601, 2614, 1821, 1834, 1990, 2003, 2004, + 2016, 2017, 2030, 2172, 2185, 2186, 2198, 2199, + 2200, 2212, 2213, 2226, 2367, 2368, 2380, 2381, + 2382, 2394, 2395, 2408, 2409, 2422, 2550, 2563, + 2564, 2576, 2577, 2578, 2590, 2591, 2604, 1822, + 1835, 1991, 2005, 2018, 2031, 2044, 2173, 2187, + 2201, 2214, 2227, 2240, 2355, 2369, 2383, 2396, + 2410, 2423, 2551, 2565, 2579, 2592, 2605, 2618, + 1810, 1823, 1836, 1849, 1992, 2006, 2019, 2032, + 2045, 2174, 2188, 2202, 2215, 2228, 2241, 2356, + 2370, 2384, 2397, 2398, 2411, 2424, 2437, 2552, + 2566, 2580, 2593, 2606, 2619, 1848, 2436, 1862, + 2058, 2254, 2450, 2632, 1837, 1850, 2020, 2033, + 2046, 2059, 2216, 2229, 2242, 2255, 2425, 2438, + 2594, 2607, 2620, 2633, 1863, 2072, 2268, 2451, + 2646, 1838, 1851, 1864, 1877, 2034, 2047, 2060, + 2073, 2230, 2243, 2256, 2269, 2412, 2439, 2452, + 2608, 2621, 2634, 2647, 1824, 1837, 1993, 2006, + 2007, 2019, 2020, 2032, 2033, 2046, 2175, 2188, + 2189, 2201, 2202, 2203, 2214, 2215, 2216, 2228, + 2229, 2242, 2370, 2371, 2383, 2384, 2385, 2397, + 2398, 2410, 2411, 2412, 2424, 2425, 2553, 2566, + 2567, 2579, 2580, 2581, 2592, 2593, 2594, 2606, + 2607, 2620, 1825, 1838, 1994, 2008, 2021, 2034, + 2047, 2176, 2190, 2204, 2217, 2230, 2243, 2358, + 2372, 2386, 2399, 2413, 2426, 2554, 2568, 2582, + 2595, 2608, 2621, 1813, 1826, 1839, 1852, 1995, + 2009, 2022, 2035, 2048, 2177, 2191, 2205, 2218, + 2231, 2244, 2359, 2373, 2387, 2400, 2401, 2414, + 2427, 2440, 2555, 2569, 2583, 2596, 2609, 2622, + 1851, 2060, 2256, 2438, 2439, 2452, 2634, 1865, + 2061, 2257, 2453, 2635, 1840, 1853, 2023, 2036, + 2049, 2062, 2219, 2232, 2245, 2258, 2428, 2441, + 2597, 2610, 2623, 2636, 1878, 2074, 2270, 2466, + 2648, 1866, 2075, 2271, 2454, 2649, 1841, 1854, + 1867, 1880, 2037, 2050, 2063, 2076, 2233, 2246, + 2259, 2272, 2415, 2442, 2455, 2611, 2624, 2637, + 2650, 1827, 1840, 1996, 2009, 2010, 2022, 2023, + 2035, 2036, 2049, 2178, 2191, 2192, 2204, 2205, + 2206, 2217, 2218, 2219, 2231, 2232, 2245, 2373, + 2374, 2386, 2387, 2388, 2400, 2401, 2413, 2414, + 2415, 2427, 2428, 2556, 2569, 2570, 2582, 2583, + 2584, 2595, 2596, 2597, 2609, 2610, 2623, 1828, + 1841, 1997, 2011, 2024, 2037, 2050, 2179, 2193, + 2207, 2220, 2233, 2246, 2361, 2375, 2389, 2402, + 2416, 2429, 2557, 2571, 2585, 2598, 2611, 2624, + 1816, 1829, 1842, 1855, 1998, 2012, 2025, 2038, + 2051, 2180, 2194, 2208, 2221, 2234, 2247, 2362, + 2376, 2390, 2403, 2404, 2417, 2430, 2443, 2558, + 2572, 2586, 2599, 2612, 2625, 1854, 2063, 2259, + 2441, 2442, 2455, 2637, 1868, 2064, 2260, 2456, + 2638, 1843, 1856, 2026, 2039, 2052, 2065, 2222, + 2235, 2248, 2261, 2418, 2431, 2444, 2600, 2613, + 2626, 2639, 1881, 2077, 2273, 2469, 2651, 1869, + 2078, 2274, 2457, 2652, 1844, 1857, 1870, 1883, + 2040, 2053, 2066, 2079, 2236, 2249, 2262, 2275, + 2432, 2445, 2458, 2614, 2627, 2640, 2653, 1830, + 1843, 1999, 2012, 2013, 2025, 2026, 2038, 2039, + 2052, 2181, 2194, 2195, 2207, 2208, 2209, 2220, + 2221, 2222, 2234, 2235, 2248, 2376, 2377, 2389, + 2390, 2391, 2403, 2404, 2416, 2417, 2418, 2430, + 2431, 2559, 2572, 2573, 2585, 2586, 2587, 2598, + 2599, 2600, 2612, 2613, 2626, 1831, 1844, 1857, + 2000, 2014, 2027, 2040, 2053, 2182, 2196, 2210, + 2223, 2236, 2249, 2364, 2378, 2392, 2405, 2419, + 2432, 2560, 2574, 2588, 2601, 2614, 2627, 1819, + 1832, 1845, 2001, 2015, 2028, 2041, 2054, 2183, + 2197, 2211, 2224, 2237, 2250, 2365, 2379, 2393, + 2406, 2420, 2433, 2561, 2575, 2589, 2602, 2615, + 2628, 2066, 2262, 2444, 2445, 2640, 1858, 1871, + 2067, 2263, 2446, 2641, 1833, 1846, 1859, 1872, + 2029, 2042, 2055, 2068, 2225, 2238, 2251, 2264, + 2407, 2421, 2434, 2447, 2460, 2603, 2616, 2629, + 2642, 2080, 2276, 2458, 2459, 2654, 1885, 2081, + 2277, 2473, 2655, 1860, 1873, 2043, 2056, 2069, + 2082, 2239, 2252, 2265, 2278, 2448, 2461, 2617, + 2630, 2643, 2656, 1833, 1846, 2015, 2028, 2029, + 2041, 2042, 2055, 2197, 2210, 2211, 2223, 2224, + 2225, 2237, 2238, 2251, 2379, 2392, 2393, 2406, + 2407, 2419, 2420, 2421, 2433, 2434, 2575, 2588, + 2589, 2601, 2602, 2603, 2615, 2616, 2629, 1847, + 1860, 2043, 2056, 2069, 2239, 2252, 2265, 2435, + 2447, 2448, 2617, 2630, 2643, 1861, 1874, 2057, + 2070, 2083, 2253, 2266, 2279, 2449, 2461, 2462, + 2631, 2644, 2657, 1863, 1876, 2032, 2045, 2046, + 2058, 2059, 2072, 2214, 2227, 2228, 2240, 2241, + 2242, 2254, 2255, 2268, 2409, 2410, 2422, 2423, + 2424, 2436, 2437, 2450, 2451, 2464, 2592, 2605, + 2606, 2618, 2619, 2620, 2632, 2633, 2646, 1864, + 1877, 2033, 2047, 2060, 2073, 2086, 2215, 2229, + 2243, 2256, 2269, 2282, 2397, 2411, 2425, 2438, + 2452, 2465, 2593, 2607, 2621, 2634, 2647, 2660, + 1852, 1865, 1878, 1891, 2034, 2048, 2061, 2074, + 2087, 2216, 2230, 2244, 2257, 2270, 2283, 2412, + 2426, 2439, 2440, 2453, 2466, 2479, 2594, 2608, + 2622, 2635, 2648, 2661, 1890, 2478, 2100, 2296, + 2674, 1879, 1892, 2062, 2075, 2088, 2101, 2258, + 2271, 2284, 2297, 2467, 2480, 2636, 2649, 2662, + 2675, 1904, 2492, 1905, 2114, 2310, 2493, 2688, + 1880, 1893, 1906, 2076, 2089, 2102, 2115, 2272, + 2285, 2298, 2311, 2454, 2481, 2494, 2507, 2650, + 2663, 2676, 2689, 1866, 1879, 2035, 2048, 2049, + 2061, 2062, 2074, 2075, 2088, 2217, 2230, 2231, + 2243, 2244, 2245, 2256, 2257, 2258, 2270, 2271, + 2284, 2412, 2413, 2425, 2426, 2427, 2439, 2440, + 2452, 2453, 2454, 2466, 2467, 2595, 2608, 2609, + 2621, 2622, 2623, 2634, 2635, 2636, 2648, 2649, + 2662, 1867, 1880, 2036, 2050, 2063, 2076, 2089, + 2218, 2232, 2246, 2259, 2272, 2285, 2400, 2414, + 2428, 2441, 2455, 2468, 2596, 2610, 2624, 2637, + 2650, 2663, 1855, 1868, 1881, 1894, 2037, 2051, + 2064, 2077, 2090, 2219, 2233, 2247, 2260, 2273, + 2286, 2415, 2429, 2442, 2443, 2456, 2469, 2482, + 2597, 2611, 2625, 2638, 2651, 2664, 1893, 2102, + 2298, 2480, 2481, 2494, 2676, 2103, 2299, 2677, + 1882, 1895, 2065, 2078, 2091, 2104, 2261, 2274, + 2287, 2300, 2470, 2483, 2639, 2652, 2665, 2678, + 1907, 1920, 2116, 2312, 2495, 2508, 2690, 1908, + 2117, 2313, 2496, 2691, 1883, 1896, 1909, 2079, + 2092, 2105, 2118, 2275, 2288, 2301, 2314, 2457, + 2484, 2497, 2510, 2653, 2666, 2679, 2692, 1869, + 1882, 2038, 2051, 2052, 2064, 2065, 2077, 2078, + 2091, 2220, 2233, 2234, 2246, 2247, 2248, 2259, + 2260, 2261, 2273, 2274, 2287, 2415, 2416, 2428, + 2429, 2430, 2442, 2443, 2455, 2456, 2457, 2469, + 2470, 2598, 2611, 2612, 2624, 2625, 2626, 2637, + 2638, 2639, 2651, 2652, 2665, 1870, 1883, 2039, + 2053, 2066, 2079, 2092, 2221, 2235, 2249, 2262, + 2275, 2288, 2403, 2417, 2431, 2444, 2458, 2471, + 2599, 2613, 2627, 2640, 2653, 2666, 1858, 1871, + 1884, 2040, 2054, 2067, 2080, 2093, 2222, 2236, + 2250, 2263, 2276, 2289, 2404, 2418, 2432, 2445, + 2459, 2472, 2600, 2614, 2628, 2641, 2654, 2667, + 1896, 2105, 2301, 2483, 2484, 2497, 2679, 1897, + 2106, 2302, 2485, 2680, 1872, 1885, 1898, 1911, + 2068, 2081, 2094, 2107, 2264, 2277, 2290, 2303, + 2446, 2460, 2473, 2486, 2499, 2642, 2655, 2668, + 2681, 1910, 2119, 2315, 2498, 2693, 2120, 2316, + 2694, 1899, 1912, 2082, 2095, 2108, 2121, 2278, + 2291, 2304, 2317, 2487, 2500, 2656, 2669, 2682, + 2695, 1872, 1885, 2041, 2054, 2055, 2067, 2068, + 2080, 2081, 2094, 2223, 2236, 2237, 2249, 2250, + 2251, 2262, 2263, 2264, 2276, 2277, 2290, 2418, + 2419, 2431, 2432, 2433, 2445, 2446, 2458, 2459, + 2460, 2472, 2473, 2601, 2614, 2615, 2627, 2628, + 2629, 2640, 2641, 2642, 2654, 2655, 2668, 1873, + 1886, 2042, 2056, 2069, 2082, 2095, 2224, 2238, + 2252, 2265, 2278, 2291, 2406, 2420, 2434, 2447, + 2461, 2474, 2602, 2616, 2630, 2643, 2656, 2669, + 1874, 1887, 2043, 2057, 2070, 2083, 2096, 2225, + 2239, 2253, 2266, 2279, 2292, 2421, 2435, 2448, + 2462, 2475, 2603, 2617, 2631, 2644, 2657, 2670, + 1899, 2108, 2304, 2486, 2487, 2682, 1900, 1913, + 2109, 2305, 2488, 2501, 2683, 1875, 1888, 1901, + 1914, 2071, 2084, 2097, 2110, 2267, 2280, 2293, + 2306, 2449, 2463, 2476, 2489, 2502, 2645, 2658, + 2671, 2684, 1926, 2122, 2318, 2500, 2696, 1927, + 2123, 2319, 2515, 2697, 1902, 1915, 2085, 2098, + 2111, 2124, 2281, 2294, 2307, 2320, 2490, 2503, + 2516, 2659, 2672, 2685, 2698, 1875, 1888, 2057, + 2070, 2071, 2083, 2084, 2097, 2239, 2252, 2253, + 2265, 2266, 2267, 2279, 2280, 2293, 2421, 2434, + 2435, 2448, 2449, 2461, 2462, 2463, 2475, 2476, + 2617, 2630, 2631, 2643, 2644, 2645, 2657, 2658, + 2671, 1889, 1902, 2085, 2098, 2111, 2281, 2294, + 2307, 2477, 2489, 2490, 2659, 2672, 2685, 1903, + 1916, 1929, 2099, 2112, 2125, 2295, 2308, 2321, + 2491, 2503, 2504, 2673, 2686, 2699, 1905, 1918, + 2074, 2087, 2088, 2100, 2101, 2114, 2256, 2269, + 2270, 2282, 2283, 2284, 2296, 2297, 2310, 2451, + 2452, 2464, 2465, 2466, 2478, 2479, 2492, 2493, + 2506, 2634, 2647, 2648, 2660, 2661, 2662, 2674, + 2675, 2688, 1906, 1919, 2075, 2089, 2102, 2115, + 2128, 2257, 2271, 2285, 2298, 2311, 2324, 2439, + 2453, 2467, 2480, 2494, 2507, 2635, 2649, 2663, + 2676, 2689, 2702, 1894, 1907, 1920, 1933, 2076, + 2090, 2103, 2116, 2129, 2258, 2272, 2286, 2299, + 2312, 2325, 2454, 2468, 2481, 2482, 2495, 2508, + 2521, 2636, 2650, 2664, 2677, 2690, 2703, 1932, + 2520, 2142, 2338, 2716, 1921, 1934, 2104, 2117, + 2130, 2143, 2300, 2313, 2326, 2339, 2509, 2522, + 2678, 2691, 2704, 2717, 1946, 2534, 1947, 2535, + 2730, 1935, 1948, 2118, 2131, 2144, 2314, 2327, + 2340, 2496, 2510, 2523, 2536, 2692, 2705, 2718, + 2731, 1908, 1921, 2077, 2090, 2091, 2103, 2104, + 2116, 2117, 2130, 2259, 2272, 2273, 2285, 2286, + 2287, 2298, 2299, 2300, 2312, 2313, 2326, 2454, + 2455, 2467, 2468, 2469, 2481, 2482, 2494, 2495, + 2496, 2508, 2509, 2637, 2650, 2651, 2663, 2664, + 2665, 2676, 2677, 2678, 2690, 2691, 2704, 1909, + 1922, 2078, 2092, 2105, 2118, 2131, 2260, 2274, + 2288, 2301, 2314, 2327, 2442, 2456, 2470, 2483, + 2497, 2510, 2638, 2652, 2666, 2679, 2692, 2705, + 1910, 1923, 2079, 2093, 2106, 2119, 2132, 2261, + 2275, 2289, 2302, 2315, 2328, 2457, 2471, 2484, + 2498, 2511, 2639, 2653, 2667, 2680, 2693, 2706, + 1935, 2144, 2340, 2522, 2523, 2536, 2718, 1936, + 2145, 2341, 2524, 2719, 1911, 1924, 1937, 1950, + 2107, 2120, 2133, 2146, 2303, 2316, 2329, 2342, + 2485, 2499, 2512, 2525, 2538, 2681, 2694, 2707, + 2720, 1949, 2537, 2732, 2733, 1938, 1951, 2121, + 2134, 2147, 2317, 2330, 2343, 2526, 2539, 2695, + 2708, 2721, 2734, 1911, 1924, 2080, 2093, 2094, + 2106, 2107, 2119, 2120, 2133, 2262, 2275, 2276, + 2288, 2289, 2290, 2301, 2302, 2303, 2315, 2316, + 2329, 2457, 2458, 2470, 2471, 2472, 2484, 2485, + 2497, 2498, 2499, 2511, 2512, 2640, 2653, 2654, + 2666, 2667, 2668, 2679, 2680, 2681, 2693, 2694, + 2707, 1912, 1925, 2081, 2095, 2108, 2121, 2134, + 2263, 2277, 2291, 2304, 2317, 2330, 2459, 2473, + 2486, 2500, 2513, 2641, 2655, 2669, 2682, 2695, + 2708, 1900, 1913, 1926, 1939, 2082, 2096, 2109, + 2122, 2135, 2264, 2278, 2292, 2305, 2318, 2331, + 2446, 2460, 2474, 2487, 2488, 2501, 2514, 2527, + 2642, 2656, 2670, 2683, 2696, 2709, 1938, 2147, + 2343, 2525, 2526, 2721, 1952, 2148, 2344, 2540, + 2722, 1914, 1927, 1940, 1953, 2110, 2123, 2136, + 2149, 2306, 2319, 2332, 2345, 2502, 2515, 2528, + 2541, 2684, 2697, 2710, 2723, 2539, 2735, 2736, + 1941, 1954, 2124, 2137, 2150, 2320, 2333, 2346, + 2516, 2529, 2542, 2698, 2711, 2724, 2737, 1914, + 1927, 2083, 2096, 2097, 2109, 2110, 2122, 2123, + 2136, 2265, 2278, 2279, 2291, 2292, 2293, 2304, + 2305, 2306, 2318, 2319, 2332, 2460, 2461, 2473, + 2474, 2475, 2487, 2488, 2500, 2501, 2502, 2514, + 2515, 2643, 2656, 2657, 2669, 2670, 2671, 2682, + 2683, 2684, 2696, 2697, 2710, 1915, 1928, 2084, + 2098, 2111, 2124, 2137, 2266, 2280, 2294, 2307, + 2320, 2333, 2448, 2462, 2476, 2489, 2503, 2516, + 2644, 2658, 2672, 2685, 2698, 2711, 1903, 1916, + 1929, 1942, 2085, 2099, 2112, 2125, 2138, 2267, + 2281, 2295, 2308, 2321, 2334, 2449, 2463, 2477, + 2490, 2491, 2504, 2517, 2645, 2659, 2673, 2686, + 2699, 2712, 1941, 2150, 2346, 2528, 2529, 2724, + 1955, 2151, 2347, 2530, 2725, 1917, 1930, 1943, + 1956, 2113, 2126, 2139, 2152, 2309, 2322, 2335, + 2348, 2505, 2518, 2531, 2544, 2687, 2700, 2713, + 2726, 2542, 2543, 2738, 2739, 1944, 1957, 2127, + 2140, 2153, 2323, 2336, 2349, 2519, 2532, 2545, + 2701, 2714, 2727, 2740, 1947, 2116, 2129, 2130, + 2142, 2143, 2298, 2311, 2312, 2324, 2325, 2326, + 2338, 2339, 2493, 2494, 2506, 2507, 2508, 2520, + 2521, 2534, 2535, 2676, 2689, 2690, 2702, 2703, + 2704, 2716, 2717, 2730, 1948, 2117, 2131, 2144, + 2299, 2313, 2327, 2340, 2495, 2509, 2522, 2536, + 2677, 2691, 2705, 2718, 2731, 1949, 2118, 2132, + 2145, 2300, 2314, 2328, 2341, 2496, 2510, 2523, + 2537, 2678, 2692, 2706, 2719, 2732, 1950, 2119, + 2132, 2133, 2145, 2146, 2301, 2314, 2315, 2327, + 2328, 2329, 2340, 2341, 2342, 2496, 2497, 2509, + 2510, 2511, 2523, 2524, 2536, 2537, 2538, 2679, + 2692, 2693, 2705, 2706, 2707, 2718, 2719, 2720, + 2732, 2733, 1951, 2120, 2134, 2147, 2302, 2316, + 2330, 2343, 2498, 2512, 2525, 2539, 2680, 2694, + 2708, 2721, 2734, 1939, 1952, 2121, 2135, 2148, + 2303, 2317, 2331, 2344, 2485, 2499, 2513, 2526, + 2527, 2540, 2681, 2695, 2709, 2722, 2735, 1953, + 2122, 2135, 2136, 2148, 2149, 2304, 2317, 2318, + 2330, 2331, 2332, 2343, 2344, 2345, 2499, 2500, + 2512, 2513, 2514, 2526, 2527, 2539, 2540, 2541, + 2682, 2695, 2696, 2708, 2709, 2710, 2721, 2722, + 2723, 2735, 2736, 1954, 2123, 2137, 2150, 2305, + 2319, 2333, 2346, 2501, 2515, 2528, 2542, 2683, + 2697, 2711, 2724, 2737, 1942, 1955, 2124, 2138, + 2151, 2306, 2320, 2334, 2347, 2488, 2502, 2516, + 2529, 2530, 2543, 2684, 2698, 2712, 2725, 2738, + 1956, 2125, 2138, 2139, 2151, 2152, 2307, 2320, + 2321, 2333, 2334, 2335, 2346, 2347, 2348, 2502, + 2503, 2515, 2516, 2517, 2529, 2530, 2542, 2543, + 2544, 2685, 2698, 2699, 2711, 2712, 2713, 2724, + 2725, 2726, 2738, 2739, 1957, 2126, 2140, 2153, + 2308, 2322, 2336, 2349, 2490, 2504, 2518, 2531, + 2545, 2686, 2700, 2714, 2727, 2740, 1945, 1958, + 2127, 2141, 2154, 2309, 2323, 2337, 2350, 2491, + 2505, 2519, 2532, 2533, 2546, 2687, 2701, 2715, + 2728, 2741, 1959, 2141, 2154, 2155, 2323, 2336, + 2337, 2349, 2350, 2351, 2505, 2518, 2519, 2532, + 2533, 2545, 2546, 2547, 2701, 2714, 2715, 2727, + 2728, 2729, 2741, 2742, }; static long _vq_fitmap_lsp12_1[] = { - 0, 60, 132, 181, 256, 357, 422, 481, - 557, 607, 681, 771, 832, 929, 1057, 1145, - 1220, 1318, 1387, 1447, 1522, 1575, 1651, 1745, - 1812, 1869, 1938, + 0, 109, 243, 378, 516, 583, 757, 957, + 1160, 1364, 1449, 1625, 1826, 2028, 2230, 2315, + 2487, 2683, 2878, 3074, 3157, 3258, 3371, 3484, + 3597, 3639, 3810, 4017, 4226, 4438, 4537, 4789, + 5078, 5369, 5655, 5773, 6025, 6313, 6599, 6888, + 7007, 7249, 7521, 7794, 8067, 8181, 8311, 8457, + 8602, 8749, 8801, 8975, 9184, 9394, 9604, 9703, + 9962, 10258, 10554, 10839, 10958, 11212, 11502, 11790, + 12079, 12198, 12439, 12711, 12986, 13261, 13375, 13505, + 13652, 13797, 13945, 13997, 14161, 14361, 14562, 14764, + 14860, 15097, 15370, 15643, 15911, 16023, 16258, 16529, + 16797, 17068, 17182, 17406, 17659, 17915, 18172, 18280, + 18404, 18541, 18678, 18816, 18892, 18994, 19116, 19239, + 15643, 19363, 19500, 19657, 19815, 19971, 20035, 20171, + 20327, 20481, 20637, 20702, 20833, 20979, 21127, 18816, + 21276, 21342, 21415, 21488, 21562, }; static long _vq_fitlength_lsp12_1[] = { - 60, 72, 49, 75, 101, 65, 59, 76, - 50, 74, 90, 61, 97, 128, 88, 75, - 98, 69, 60, 75, 53, 76, 94, 67, - 57, 69, 48, + 109, 134, 135, 138, 67, 174, 200, 203, + 204, 85, 176, 201, 202, 202, 85, 172, + 196, 195, 196, 83, 101, 113, 113, 113, + 42, 171, 207, 209, 212, 99, 252, 289, + 291, 286, 118, 252, 288, 286, 289, 119, + 242, 272, 273, 273, 114, 130, 146, 145, + 147, 52, 174, 209, 210, 210, 99, 259, + 296, 296, 285, 119, 254, 290, 288, 289, + 119, 241, 272, 275, 275, 114, 130, 147, + 145, 148, 52, 164, 200, 201, 202, 96, + 237, 273, 273, 268, 112, 235, 271, 268, + 271, 114, 224, 253, 256, 257, 108, 124, + 137, 137, 138, 76, 102, 122, 123, 124, + 268, 137, 157, 158, 156, 64, 136, 156, + 154, 156, 65, 131, 146, 148, 149, 76, + 66, 73, 73, 74, 26, }; static encode_aux_pigeonhole _vq_auxp_lsp12_1 = { - 0.214, 0.002, 30, 3, + 0.202, 0.006, 13, 5, _vq_pigeonmap_lsp12_1, - 1986, + 21588, _vq_fitlist_lsp12_1, _vq_fitmap_lsp12_1, _vq_fitlength_lsp12_1 }; static static_codebook _vq_book_lsp12_1 = { - 3, 729, + 3, 2744, _vq_lengthlist_lsp12_1, - 1, 1606116442, 1592812110, 5, 1, + 1, 1606015779, 1595446133, 4, 1, _vq_quantlist_lsp12_1, NULL, NULL, diff --git a/lib/books/lsp30_0.vqh b/lib/books/lsp30_0.vqh index 7fe7ceca..9b966401 100644 --- a/lib/books/lsp30_0.vqh +++ b/lib/books/lsp30_0.vqh @@ -19,7 +19,6 @@ #include "codebook.h" static long _vq_quantlist_lsp30_0[] = { - 637, 0, 2, 4, @@ -32,360 +31,339 @@ static long _vq_quantlist_lsp30_0[] = { 18, 20, 22, - 25, - 29, - 33, - 37, - 41, + 24, + 26, + 28, + 31, + 35, + 39, + 43, 47, - 57, - 67, - 77, + 51, + 55, + 63, + 73, + 83, + 93, }; static long _vq_lengthlist_lsp30_0[] = { + 18,18,18,18,18,18,18,18,18,17,18,18,18,18,18,18, 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, - 18,18,18,18,18,18,18,18,17,18,16,17,17,15,14,12, - 11,12,12,12,12,12,12,13,17,18,18,18,18,18,18,18, - 17,18,18,15,13,13,14,14,13,13,12,13,13,14,17,18, - 18,18,18,18,18,17,18,18,13,12,14,13,13,13,13,13, - 13,15,13,14,17,18,18,18,18,18,18,18,16,15,12,11, - 13,13,13,13,12,12,12,13,13,15,16,17,18,18,18,15, - 16,18,14,13,14,12,11,11,12,12,12,12,11,12,12,13, - 13,15,18,18,18,16,15,14,11,11,13,15,11,11,12,13, - 12,11,11,11,11,11,11,14,18,18,18,16,16,14,13,11, - 12,14,13,12,11,12,11,11,10,10,10,10,11,12,16,18, - 18,15,16,15,15,13,12,14,13,13,13,11,11,10, 9, 9, - 10,10,10,12,15,18,18,15,18,16,16,15,14,12,12,11, - 11,10,10, 9, 8, 9,10,10,10,11,15,18,18,15,18,15, - 18,15,14,12,13,11,10,10, 9, 9, 8, 9,10,11,10,11, - 15,18,18,13,13,13,14,13,10,11,10,11,10,10, 9, 8, - 8, 9, 9,11,10,11,15,18,18,11,11,12,12,11,10,11, - 10,11,10, 9, 7, 6, 6, 7, 9,10, 9,11,15,18,18,13, - 12,11,10, 8, 8, 8, 9, 9, 8, 7, 5, 4, 4, 6, 8, 8, - 9,10,15,18,18,15,13,11, 9, 8, 9, 9,10, 9, 8, 7, - 6, 4, 3, 4, 6, 8, 9,10,17,17,18,14,14,11, 9, 9, - 9, 9,10,10, 9, 9, 7, 5, 4, 5, 6, 8, 8,12,18,18, - 18,14,14,12,11,10, 9, 9, 9,10,10, 9, 8, 6, 6, 6, - 7, 7, 8,13,18,18,18,15,15,15,13,12,10,10,11,10, - 10, 9, 9, 7, 7, 7, 8, 8,10,15,17,17,18,17,16,16, - 15,13,11,10,10,10,10,10,10,10, 9, 9,10,10,14,17, - 17,12,18,18,18,17,18,15,12,11,10, 9, 9, 9, 8, 8, - 9,12,13,16,15,16,17,16,18,18,18,18,18,18,17,13, - 12,11,11,11,11,13,15,16,17,16,12,17,17,16,18,18, - 18,18,18,18,18,18,18,16,17,17,18,18,17,18,16,16, - 14,16,16,16, + 17,18,17,18,18,18,18,18,15,15,14,17,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,17,18,18,18,16, + 16,15,13,13,13,13,18,18,18,18,18,18,18,18,18,18, + 18,18,18,17,17,17,16,15,14,13,13,13,14,13,12,13, + 15,18,17,18,18,18,18,18,18,18,18,18,18,18,18,16, + 18,13,12,12,13,15,15,14,12,13,17,16,18,18,18,18, + 18,18,18,18,18,18,16,18,18,17,16,13,12,13,14,14, + 13,13,13,13,18,15,18,18,18,18,18,18,18,18,17,16, + 18,18,16,17,14,11,12,13,14,14,14,13,13,13,14,15, + 15,15,16,18,18,18,18,17,18,17,17,15,18,15,13,12, + 12,12,12,13,12,12,12,11,13,13,14,15,14,18,18,18, + 18,18,17,16,18,15,14,12,11,12,12,12,12,12,12,12, + 11,10,11,11,13,15,13,18,18,18,18,18,17,17,16,15, + 15,13,12,12,16,14,14,14,12,11,10,10,10,10,13,14, + 13,18,18,18,18,18,17,17,16,17,15,16,12,13,13,13, + 15,14,12,10, 9,10,11,11,14,13,12,18,18,18,17,18, + 17,16,16,16,16,15,14,14,12,11,11,11,10, 9, 9,11, + 11,11,12,11,12,18,18,18,18,17,16,18,15,17,15,13, + 11,11,10,11,10,10, 9, 9, 8,10, 9,11,11,12,13,18, + 17,18,18,16,18,18,16,15,13,12,10,11,10,10,10, 9, + 8, 8, 7, 8, 9,10,12,12,14,17,18,18,18,18,17,18, + 16,14,12,11, 9, 9,10,10, 9, 8, 7, 6, 6, 7, 8,10, + 11,12,14,18,18,18,18,18,18,16,15,12,11,10,10,10, + 10, 8, 7, 6, 5, 4, 4, 6, 7, 9,11,11,13,18,18,18, + 18,16,15,14,13,12,11,11,11,11,10, 9, 8, 7, 5, 4, + 3, 4, 6, 8,10,10,13,17,18,17,18,13,12,11,12,12, + 12,12,12,12,11, 9, 9, 8, 7, 5, 4, 5, 6, 8,10,11, + 16,18,18,18,15,13,12,11,11,10,10,10,11,12,10, 9, + 9, 9, 8, 6, 6, 6, 7, 9,10,12,16,17,18,18,15,13, + 13,11,11,10,10,10,12,13,13,12,11,10, 9, 8, 8, 8, + 9,10,12,14,18,18,18,18,16,14,12,12,12,11,11,11, + 14,15,14,12,12,12,11,10,10, 9, 9,12,14,16,15,16, + 16,18,14,14,14,13,13,12,12,12,14,14,14,13,13,12, + 12,11,11,10,11,12,15,18,16,15,14,18,15,14,16,14, + 14,14,14,12,11,10, 9, 8, 8, 8, 8, 8, 8,10,12,15, + 15,16,16,16,16,17,17,16,17,17,16,14,14,13,12,10, + 9,10, 9, 9, 9,10,14,16,15,16,13,17,16,16,18,18, + 18,18,18,18,17,16,18,15,14,13,12,13,13,15,18,18, + 18,17,16,16,18,17,17,17,18,17,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,17, + 17,18,18,18, }; static long _vq_pigeonmap_lsp30_0[] = { - 0, 0, 0, 0, 1, 1, 1, 1, - 1, 1, 2, 2, 2, 2, 2, 2, - 3, 3, 3, 3, 3, 3, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, + 0, 0, 0, 0, 0, 0, 1, 1, + 1, 1, 1, 1, 2, 2, 2, 2, + 2, 2, 3, 3, 3, 3, 3, 3, + 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, - 6, 7, 7, 7, 7, 7, 7, 7, + 5, 5, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, + 7, 7, 7, 7, 7, 7, 7, 8, + 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, }; static long _vq_fitlist_lsp30_0[] = { - 23, 24, 45, 46, 25, 483, 22, 67, - 47, 44, 68, 69, 90, 66, 21, 418, - 440, 462, 0, 1, 2, 3, 25, 47, - 26, 27, 48, 28, 49, 70, 50, 71, - 69, 92, 72, 483, 1, 2, 3, 4, - 5, 6, 28, 29, 50, 30, 51, 31, - 52, 72, 53, 74, 73, 94, 75, 96, - 483, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 31, 32, 53, 54, 33, 55, - 34, 75, 56, 76, 77, 98, 78, 483, - 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 34, 56, 35, 78, - 57, 36, 79, 58, 37, 80, 59, 100, - 101, 102, 81, 483, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 37, 59, 81, 38, 60, - 39, 82, 61, 83, 40, 105, 103, 104, - 62, 127, 483, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 40, 62, 84, - 106, 128, 41, 63, 85, 107, 129, 42, - 64, 86, 108, 130, 43, 150, 151, 152, - 65, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 43, 65, - 87, 109, 131, 153, 175, 197, 219, 241, - 263, 285, 307, 329, 351, 373, 395, 417, - 439, 461, 483, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, - 462, 46, 67, 89, 68, 47, 90, 69, - 483, 22, 44, 66, 91, 112, 88, 111, - 133, 113, 134, 110, 155, 135, 156, 132, - 48, 69, 70, 91, 49, 71, 92, 50, - 72, 93, 113, 114, 94, 115, 136, 116, - 137, 135, 158, 138, 159, 51, 72, 94, - 73, 52, 74, 95, 53, 75, 96, 116, - 97, 117, 118, 138, 119, 140, 139, 141, - 162, 54, 75, 97, 76, 55, 98, 77, - 56, 78, 99, 120, 100, 121, 119, 141, - 142, 122, 143, 163, 164, 144, 78, 100, - 57, 79, 101, 58, 36, 80, 123, 102, - 59, 124, 37, 81, 122, 145, 103, 146, - 144, 125, 166, 167, 168, 147, 59, 81, - 103, 60, 38, 82, 125, 104, 61, 83, - 105, 40, 62, 127, 84, 126, 149, 147, - 148, 106, 171, 170, 128, 169, 193, 62, - 84, 106, 128, 150, 41, 172, 63, 85, - 107, 129, 151, 173, 42, 64, 86, 108, - 130, 152, 174, 43, 65, 87, 194, 195, - 196, 109, 216, 217, 218, 131, 112, 133, - 134, 155, 113, 156, 135, 483, 22, 44, - 66, 88, 110, 132, 157, 178, 154, 177, - 199, 179, 200, 176, 221, 201, 222, 198, - 114, 135, 136, 157, 115, 137, 158, 116, - 138, 159, 180, 160, 179, 181, 182, 201, - 202, 203, 224, 204, 225, 117, 138, 160, - 139, 118, 140, 161, 119, 141, 162, 182, - 163, 184, 183, 204, 205, 185, 206, 226, - 207, 228, 120, 141, 142, 163, 121, 164, - 143, 122, 144, 165, 186, 166, 185, 187, - 207, 208, 188, 209, 229, 230, 210, 144, - 166, 101, 123, 145, 188, 167, 124, 102, - 146, 189, 168, 125, 103, 147, 190, 169, - 210, 211, 212, 191, 232, 233, 234, 213, - 125, 147, 169, 104, 126, 191, 148, 170, - 127, 105, 149, 192, 171, 106, 128, 193, - 150, 215, 213, 214, 172, 237, 235, 236, - 194, 259, 128, 150, 172, 194, 216, 85, - 107, 238, 63, 129, 151, 173, 195, 217, - 86, 239, 64, 108, 130, 152, 174, 196, - 218, 87, 109, 240, 65, 131, 153, 260, - 261, 262, 175, 282, 283, 284, 197, 178, - 199, 200, 221, 179, 222, 201, 483, 22, - 44, 66, 88, 110, 132, 154, 176, 198, - 243, 223, 220, 244, 245, 266, 242, 265, - 267, 264, 180, 201, 223, 202, 181, 203, - 224, 182, 204, 225, 246, 226, 247, 245, - 268, 248, 267, 269, 270, 183, 204, 205, - 226, 184, 206, 227, 185, 207, 228, 248, - 229, 250, 249, 270, 251, 272, 271, 273, - 186, 207, 208, 229, 187, 230, 209, 188, - 231, 210, 251, 232, 252, 253, 274, 254, - 273, 275, 276, 210, 232, 167, 189, 211, - 254, 233, 190, 212, 234, 191, 169, 213, - 256, 255, 235, 276, 277, 278, 257, 298, - 299, 300, 191, 213, 235, 192, 257, 170, - 214, 236, 193, 171, 215, 258, 237, 172, - 259, 194, 216, 281, 279, 280, 238, 303, - 260, 301, 302, 172, 194, 216, 238, 260, - 282, 151, 173, 129, 195, 217, 239, 261, - 283, 152, 130, 174, 196, 218, 240, 262, - 284, 153, 131, 175, 197, 304, 305, 306, - 219, 241, 326, 327, 328, 263, 244, 265, - 266, 287, 245, 267, 288, 483, 22, 44, - 66, 88, 110, 132, 154, 176, 198, 220, - 242, 264, 268, 289, 286, 309, 310, 290, - 311, 308, 331, 332, 312, 333, 330, 246, - 267, 268, 247, 269, 290, 248, 270, 291, - 288, 289, 249, 271, 292, 310, 311, 312, - 313, 293, 314, 332, 333, 334, 335, 315, - 336, 249, 270, 271, 292, 250, 272, 251, - 273, 294, 291, 293, 252, 274, 295, 313, - 314, 315, 316, 296, 317, 335, 336, 337, - 338, 318, 339, 252, 273, 274, 295, 253, - 275, 296, 254, 276, 294, 297, 298, 316, - 317, 318, 319, 320, 338, 339, 340, 341, - 342, 276, 233, 255, 277, 298, 234, 256, - 299, 278, 235, 257, 300, 279, 297, 301, - 320, 321, 322, 319, 343, 323, 342, 344, - 341, 257, 279, 236, 258, 301, 280, 237, - 259, 302, 281, 303, 238, 260, 282, 325, - 323, 324, 304, 345, 346, 347, 326, 238, - 260, 282, 304, 195, 217, 239, 326, 261, - 283, 305, 218, 240, 327, 196, 262, 284, - 306, 219, 241, 328, 197, 263, 285, 348, - 349, 350, 307, 370, 371, 372, 329, 310, - 331, 311, 332, 312, 333, 483, 22, 44, - 66, 88, 110, 132, 154, 176, 198, 220, - 242, 264, 286, 308, 330, 353, 354, 334, - 355, 352, 375, 376, 356, 377, 374, 378, - 398, 397, 396, 333, 312, 313, 334, 314, - 335, 315, 336, 354, 355, 356, 357, 337, - 358, 376, 377, 378, 379, 359, 380, 399, - 400, 381, 398, 401, 336, 315, 316, 337, - 317, 338, 318, 339, 357, 358, 359, 360, - 340, 361, 379, 380, 381, 382, 362, 383, - 402, 403, 384, 404, 401, 318, 339, 319, - 340, 320, 341, 342, 360, 361, 362, 363, - 364, 382, 383, 384, 385, 386, 406, 404, - 405, 407, 342, 321, 343, 322, 344, 323, - 345, 366, 364, 365, 363, 387, 367, 388, - 386, 385, 389, 409, 410, 407, 408, 323, - 345, 324, 346, 367, 325, 347, 368, 326, - 369, 348, 389, 391, 390, 370, 413, 392, - 411, 412, 410, 326, 348, 370, 305, 327, - 349, 371, 306, 328, 350, 372, 307, 329, - 392, 393, 394, 351, 373, 414, 415, 416, - 395, 329, 351, 373, 395, 417, 439, 461, - 483, 22, 44, 376, 397, 377, 398, 399, - 22, 44, 66, 88, 110, 132, 154, 176, - 198, 220, 242, 264, 286, 308, 330, 352, - 374, 396, 400, 419, 420, 401, 418, 421, - 422, 441, 442, 423, 440, 443, 444, 463, - 464, 445, 462, 378, 398, 399, 400, 401, - 380, 381, 402, 403, 420, 421, 419, 422, - 423, 404, 424, 425, 442, 443, 441, 444, - 445, 426, 446, 447, 466, 463, 464, 465, - 467, 448, 401, 402, 403, 382, 404, 384, - 405, 406, 423, 424, 425, 422, 426, 407, - 427, 428, 445, 446, 444, 447, 448, 429, - 449, 450, 467, 468, 466, 469, 470, 451, - 384, 404, 405, 385, 406, 407, 386, 408, - 409, 426, 427, 428, 429, 425, 430, 431, - 449, 450, 451, 447, 448, 452, 453, 470, - 471, 472, 469, 473, 407, 408, 387, 409, - 388, 410, 389, 411, 429, 430, 431, 432, - 428, 433, 451, 452, 453, 450, 454, 455, - 474, 475, 476, 472, 473, 389, 410, 411, - 390, 412, 391, 413, 392, 414, 434, 435, - 432, 433, 436, 456, 457, 454, 455, 458, - 478, 479, 476, 477, 392, 414, 371, 393, - 415, 372, 394, 416, 373, 395, 436, 437, - 438, 417, 435, 459, 439, 458, 460, 457, - 461, 482, 480, 481, 479, 443, 463, 464, - 444, 22, 44, 66, 88, 110, 132, 154, - 176, 198, 220, 242, 264, 286, 308, 330, - 352, 374, 396, 418, 440, 462, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 482, - 483, 21, 445, 464, 465, 446, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 482, 483, - 467, 468, 449, 469, 450, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 479, 480, - 481, 482, 483, 470, 471, 472, 452, 473, - 453, 474, 475, 476, 477, 478, 479, 480, - 481, 482, 483, 453, 473, 474, 454, 475, - 455, 476, 477, 478, 479, 480, 481, 482, - 483, 456, 476, 477, 478, 457, 479, 458, - 480, 481, 482, 483, 1, 458, 479, 480, - 459, 481, 460, 482, 461, 483, 1, 2, - 461, 483, 22, 44, 18, 19, 20, 21, - 16, 17, 15, 14, 13, 12, 11, 10, - 9, 8, 7, 6, 5, 4, 3, 2, - 1, 66, 88, 110, 132, 154, 176, 198, - 220, 242, 264, 286, 308, 330, 352, 374, - 396, 418, 440, 462, + 0, 1, 26, 27, 2, 28, 3, 52, + 29, 53, 54, 79, 55, 78, 80, 105, + 81, 106, 3, 4, 29, 5, 30, 6, + 31, 55, 56, 32, 57, 81, 58, 83, + 82, 107, 108, 84, 109, 6, 7, 32, + 8, 33, 9, 34, 59, 35, 60, 58, + 85, 61, 84, 86, 87, 9, 35, 10, + 36, 11, 12, 37, 38, 63, 61, 62, + 87, 64, 89, 88, 113, 114, 90, 115, + 12, 13, 38, 14, 39, 40, 15, 64, + 65, 66, 41, 91, 67, 92, 90, 116, + 117, 93, 118, 15, 41, 67, 16, 42, + 17, 68, 43, 69, 18, 44, 93, 94, + 95, 120, 121, 70, 119, 18, 44, 70, + 19, 45, 71, 20, 46, 21, 72, 96, + 97, 98, 47, 122, 124, 73, 123, 99, + 21, 47, 73, 99, 22, 125, 48, 74, + 100, 126, 23, 49, 75, 101, 127, 24, + 152, 153, 50, 151, 178, 179, 76, 24, + 50, 76, 102, 128, 25, 154, 51, 77, + 180, 103, 206, 129, 232, 155, 258, 181, + 53, 78, 79, 104, 54, 105, 80, 55, + 81, 106, 130, 131, 107, 132, 156, 157, + 133, 158, 183, 159, 56, 81, 82, 107, + 57, 83, 108, 58, 109, 84, 133, 134, + 110, 135, 159, 160, 136, 161, 185, 162, + 187, 59, 84, 85, 110, 60, 86, 111, + 61, 87, 112, 137, 113, 138, 136, 163, + 139, 164, 162, 189, 165, 62, 87, 113, + 88, 63, 89, 114, 64, 90, 115, 139, + 116, 141, 140, 165, 142, 167, 166, 191, + 168, 193, 65, 90, 91, 116, 66, 117, + 92, 118, 67, 93, 144, 142, 143, 119, + 168, 170, 169, 145, 195, 196, 67, 93, + 119, 42, 68, 145, 94, 120, 43, 69, + 146, 95, 121, 44, 70, 147, 96, 122, + 171, 172, 173, 148, 197, 198, 199, 70, + 96, 122, 71, 148, 45, 97, 123, 46, + 72, 149, 98, 124, 47, 73, 150, 99, + 175, 176, 125, 174, 200, 201, 202, 151, + 177, 73, 99, 125, 151, 22, 48, 177, + 74, 100, 126, 152, 178, 23, 49, 204, + 75, 101, 127, 153, 179, 24, 205, 50, + 76, 102, 203, 230, 231, 128, 229, 256, + 257, 154, 131, 156, 157, 182, 132, 183, + 158, 133, 159, 184, 208, 209, 185, 210, + 234, 235, 211, 236, 260, 237, 134, 159, + 160, 185, 135, 186, 161, 136, 187, 162, + 188, 213, 211, 212, 237, 238, 214, 239, + 263, 264, 240, 265, 137, 162, 163, 188, + 138, 164, 189, 139, 165, 190, 214, 215, + 191, 216, 241, 217, 242, 240, 267, 243, + 268, 140, 165, 191, 166, 141, 167, 192, + 142, 168, 193, 217, 194, 218, 219, 243, + 220, 245, 244, 246, 271, 143, 168, 194, + 169, 144, 195, 170, 196, 145, 171, 222, + 221, 197, 220, 246, 247, 248, 223, 272, + 273, 274, 145, 171, 197, 120, 146, 223, + 172, 198, 121, 147, 224, 173, 199, 148, + 174, 225, 249, 250, 251, 200, 275, 277, + 226, 276, 252, 148, 174, 200, 123, 149, + 226, 175, 201, 124, 150, 227, 176, 202, + 125, 151, 228, 177, 203, 252, 253, 254, + 278, 279, 229, 280, 151, 177, 203, 229, + 100, 126, 255, 152, 178, 204, 230, 256, + 101, 127, 282, 75, 153, 179, 205, 231, + 257, 102, 283, 76, 128, 154, 180, 281, + 308, 309, 206, 307, 334, 335, 232, 102, + 128, 154, 180, 206, 232, 258, 103, 129, + 284, 77, 155, 181, 207, 310, 233, 336, + 259, 209, 234, 235, 260, 210, 261, 236, + 211, 237, 262, 287, 263, 286, 288, 313, + 289, 314, 312, 338, 339, 315, 212, 237, + 238, 263, 213, 239, 264, 214, 265, 240, + 289, 266, 291, 290, 315, 316, 292, 317, + 341, 342, 318, 343, 215, 240, 241, 266, + 216, 242, 267, 217, 243, 268, 293, 269, + 292, 294, 295, 318, 319, 320, 345, 321, + 346, 218, 243, 269, 244, 219, 245, 270, + 220, 246, 271, 295, 272, 297, 296, 321, + 322, 298, 323, 347, 324, 349, 221, 246, + 247, 272, 222, 273, 248, 274, 223, 249, + 299, 275, 300, 298, 324, 325, 301, 326, + 352, 350, 351, 223, 249, 275, 224, 301, + 198, 250, 276, 199, 225, 302, 251, 277, + 200, 226, 303, 252, 328, 329, 278, 327, + 353, 354, 355, 304, 330, 226, 252, 278, + 201, 227, 304, 253, 279, 228, 305, 202, + 254, 280, 203, 229, 306, 255, 330, 332, + 281, 331, 307, 356, 357, 358, 229, 255, + 281, 307, 178, 204, 333, 230, 256, 282, + 308, 334, 179, 205, 360, 153, 231, 257, + 283, 309, 335, 180, 361, 154, 206, 232, + 258, 359, 386, 387, 284, 385, 412, 413, + 310, 180, 206, 232, 258, 284, 310, 336, + 181, 207, 362, 155, 233, 259, 285, 388, + 311, 414, 337, 363, 440, 389, 287, 312, + 313, 338, 288, 314, 339, 289, 315, 340, + 364, 365, 341, 366, 367, 390, 391, 392, + 290, 315, 316, 341, 291, 317, 342, 292, + 343, 318, 367, 368, 344, 369, 370, 393, + 394, 395, 392, 293, 318, 344, 319, 294, + 320, 345, 295, 321, 346, 371, 347, 372, + 370, 373, 398, 395, 396, 397, 296, 321, + 322, 347, 297, 323, 348, 298, 324, 349, + 373, 350, 375, 374, 376, 399, 401, 398, + 400, 299, 324, 325, 350, 300, 351, 326, + 352, 301, 327, 376, 378, 377, 353, 402, + 403, 379, 404, 401, 301, 327, 353, 276, + 302, 379, 328, 354, 277, 303, 380, 329, + 355, 278, 304, 381, 330, 356, 406, 407, + 405, 382, 304, 330, 356, 305, 331, 357, + 280, 306, 383, 332, 358, 281, 307, 384, + 333, 382, 359, 408, 410, 385, 409, 307, + 333, 359, 385, 256, 282, 308, 334, 360, + 386, 257, 283, 412, 231, 309, 335, 361, + 387, 258, 413, 232, 284, 310, 411, 336, + 438, 439, 362, 437, 388, 365, 390, 340, + 366, 391, 367, 392, 368, 393, 416, 417, + 418, 394, 419, 442, 443, 444, 420, 445, + 468, 469, 470, 446, 471, 368, 393, 369, + 394, 370, 395, 371, 396, 418, 419, 420, + 421, 397, 422, 444, 445, 446, 447, 423, + 448, 470, 471, 472, 473, 449, 474, 371, + 396, 372, 397, 347, 373, 398, 348, 374, + 399, 421, 422, 423, 424, 400, 425, 447, + 448, 449, 450, 426, 451, 473, 474, 475, + 476, 452, 477, 374, 399, 375, 400, 376, + 401, 377, 402, 424, 425, 426, 427, 403, + 428, 450, 451, 452, 453, 429, 454, 476, + 477, 478, 479, 455, 480, 377, 402, 378, + 403, 404, 379, 405, 430, 427, 428, 429, + 431, 456, 453, 454, 455, 457, 482, 479, + 480, 481, 379, 404, 405, 354, 380, 406, + 355, 381, 407, 356, 382, 431, 432, 408, + 433, 430, 457, 434, 458, 459, 456, 460, + 483, 484, 485, 482, 382, 408, 357, 383, + 409, 358, 384, 410, 359, 385, 411, 434, + 435, 436, 461, 437, 460, 462, 486, 463, + 487, 488, 385, 411, 437, 334, 360, 386, + 412, 438, 335, 361, 309, 387, 413, 439, + 336, 310, 362, 388, 464, 465, 414, 463, + 490, 491, 440, 489, 516, 517, 466, 515, + 336, 362, 388, 414, 440, 337, 363, 311, + 389, 415, 466, 441, 492, 467, 518, 493, + 443, 468, 444, 469, 445, 470, 446, 471, + 494, 495, 496, 472, 497, 520, 521, 522, + 498, 523, 546, 547, 548, 524, 549, 446, + 471, 447, 472, 448, 473, 449, 474, 496, + 497, 498, 499, 475, 500, 522, 523, 524, + 525, 501, 526, 548, 549, 550, 551, 527, + 552, 449, 474, 450, 475, 451, 476, 452, + 477, 499, 500, 501, 502, 478, 503, 525, + 526, 527, 528, 504, 529, 551, 552, 553, + 554, 530, 555, 452, 477, 453, 478, 454, + 479, 455, 480, 502, 503, 504, 505, 481, + 506, 528, 529, 530, 531, 507, 532, 554, + 555, 556, 557, 533, 558, 455, 480, 456, + 481, 482, 457, 483, 508, 505, 506, 507, + 509, 534, 531, 532, 533, 535, 560, 557, + 558, 559, 457, 482, 483, 458, 484, 459, + 485, 460, 486, 511, 509, 510, 508, 536, + 512, 535, 537, 534, 561, 538, 562, 563, + 560, 460, 486, 461, 487, 462, 488, 463, + 489, 512, 513, 514, 515, 540, 538, 539, + 565, 541, 564, 566, 463, 489, 515, 438, + 464, 490, 516, 439, 465, 491, 517, 440, + 466, 542, 543, 492, 541, 568, 569, 518, + 567, 544, 466, 492, 518, 441, 467, 493, + 544, 519, 570, 545, 571, 521, 546, 522, + 547, 523, 548, 524, 549, 550, 573, 572, + 574, 575, 576, 598, 599, 600, 577, 601, + 602, 624, 625, 626, 603, 524, 549, 525, + 550, 526, 551, 527, 552, 553, 574, 575, + 576, 577, 578, 579, 600, 602, 599, 601, + 603, 580, 604, 605, 626, 628, 625, 627, + 629, 606, 527, 552, 528, 553, 529, 554, + 530, 555, 556, 577, 578, 579, 580, 581, + 582, 603, 604, 605, 602, 606, 583, 607, + 608, 629, 628, 630, 631, 632, 609, 555, + 530, 531, 556, 532, 557, 533, 558, 559, + 581, 582, 583, 580, 584, 585, 606, 607, + 608, 605, 609, 586, 610, 611, 632, 633, + 634, 631, 635, 612, 533, 558, 534, 559, + 560, 535, 561, 583, 584, 585, 586, 587, + 610, 611, 608, 609, 612, 613, 636, 637, + 634, 635, 638, 535, 561, 536, 562, 537, + 563, 538, 564, 586, 587, 588, 589, 590, + 611, 612, 613, 614, 615, 616, 638, 639, + 640, 637, 641, 538, 564, 539, 565, 540, + 566, 541, 567, 589, 590, 591, 592, 593, + 615, 616, 617, 618, 619, 641, 642, 643, + 644, 541, 567, 516, 542, 568, 517, 543, + 594, 569, 518, 544, 595, 593, 570, 592, + 620, 621, 596, 619, 618, 622, 647, 646, + 645, 644, 544, 570, 519, 545, 596, 571, + 597, 622, 623, 648, 649, 599, 600, 624, + 601, 625, 602, 626, 627, 628, 650, 651, + 652, 629, 653, 603, 626, 627, 604, 628, + 605, 629, 630, 631, 653, 654, 651, 652, + 655, 632, 656, 606, 629, 630, 607, 631, + 608, 632, 633, 634, 655, 657, 654, 656, + 658, 635, 659, 609, 632, 633, 610, 634, + 611, 635, 636, 637, 658, 657, 659, 660, + 661, 638, 662, 612, 635, 636, 637, 613, + 638, 639, 661, 662, 663, 660, 664, 638, + 614, 639, 615, 640, 616, 641, 642, 663, + 664, 665, 666, 667, 668, 641, 642, 617, + 643, 618, 619, 644, 645, 667, 668, 669, + 670, 671, 644, 645, 620, 646, 621, 647, + 622, 648, 672, 673, 671, 670, 674, 622, + 648, 623, 649, 674, 675, }; static long _vq_fitmap_lsp30_0[] = { - 0, 22, 42, 66, 92, 123, 157, 198, - 241, 264, 285, 305, 326, 350, 375, 198, - 406, 432, 453, 474, 495, 520, 546, 198, - 583, 610, 629, 648, 667, 690, 715, 198, - 750, 783, 809, 835, 857, 881, 903, 198, - 935, 971, 996, 1021, 1042, 1063, 1083, 1105, - 1115, 1155, 1186, 1216, 1244, 1269, 1292, 1105, - 1317, 1362, 1384, 1403, 1419, 1433, 1445, 1456, + 0, 18, 37, 53, 72, 91, 109, 128, + 151, 168, 188, 209, 229, 250, 270, 295, + 321, 151, 354, 374, 396, 417, 437, 458, + 483, 508, 543, 561, 582, 604, 625, 646, + 667, 693, 718, 753, 774, 792, 811, 830, + 849, 868, 890, 911, 753, 941, 965, 991, + 1019, 1045, 1066, 1092, 1114, 1144, 1160, 1183, + 1209, 1235, 1261, 1282, 1305, 1324, 1346, 1357, + 1381, 1410, 1439, 1468, 1491, 1515, 1537, 1562, + 1573, 1587, 1603, 1619, 1635, 1647, 1661, 1674, + 1687, }; static long _vq_fitlength_lsp30_0[] = { - 22, 20, 24, 26, 31, 34, 41, 43, - 23, 21, 20, 21, 24, 25, 31, 43, - 26, 21, 21, 21, 25, 26, 37, 43, - 27, 19, 19, 19, 23, 25, 35, 43, - 33, 26, 26, 22, 24, 22, 32, 43, - 36, 25, 25, 21, 21, 20, 22, 10, - 40, 31, 30, 28, 25, 23, 25, 10, - 45, 22, 19, 16, 14, 12, 11, 44, + 18, 19, 16, 19, 19, 18, 19, 23, + 17, 20, 21, 20, 21, 20, 25, 26, + 33, 17, 20, 22, 21, 20, 21, 25, + 25, 35, 18, 21, 22, 21, 21, 21, + 26, 25, 35, 21, 18, 19, 19, 19, + 19, 22, 21, 30, 21, 24, 26, 28, + 26, 21, 26, 22, 30, 16, 23, 26, + 26, 26, 21, 23, 19, 22, 11, 24, + 29, 29, 29, 23, 24, 22, 25, 11, + 14, 16, 16, 16, 12, 14, 13, 13, + 6, }; static encode_aux_pigeonhole _vq_auxp_lsp30_0 = { - 0.073, 0.001, 637, 8, + 0.067, 0.001, 93, 9, _vq_pigeonmap_lsp30_0, - 1500, + 1693, _vq_fitlist_lsp30_0, _vq_fitmap_lsp30_0, _vq_fitlength_lsp30_0 }; static static_codebook _vq_book_lsp30_0 = { - 2, 484, + 2, 676, _vq_lengthlist_lsp30_0, - 1, 1603448865, 1590714958, 10, 1, + 1, 1603348202, 1590714958, 7, 1, _vq_quantlist_lsp30_0, NULL, NULL, diff --git a/lib/books/lsp30_1.vqh b/lib/books/lsp30_1.vqh index 8407295a..ba17bf65 100644 --- a/lib/books/lsp30_1.vqh +++ b/lib/books/lsp30_1.vqh @@ -24,874 +24,1546 @@ static long _vq_quantlist_lsp30_1[] = { 4, 6, 8, - 11, + 10, + 12, 15, 19, 23, 27, 31, 35, + 39, }; static long _vq_lengthlist_lsp30_1[] = { - 20,20,20,20,20,18,18,17,18,20,19,19,19,19,19,19, - 18,18,18,17,17,17,19,19,19,19,19,19,19,18,18,17, - 16,17,19,19,19,19,19,18,19,17,18,15,15,18,19,19, - 19,19,19,18,17,17,17,16,15,17,19,19,19,19,19,19, - 19,17,15,16,15,18,19,19,19,19,19,19,18,17,14,14, - 15,18,19,19,19,19,19,18,18,15,14,15,17,18,18,18, - 19,19,19,19,19,16,16,17,19,16,16,19,19,19,19,18, - 19,17,18,16,17,15,18,19,19,19,19,19,18,18,19,17, - 16,17,18,19,19,19,19,19,18,19,18,17,16,17,18,19, - 19,19,19,18,18,18,18,17,16,17,19,19,19,19,19,19, - 19,19,18,16,16,18,19,19,19,19,19,19,19,19,19,15, - 14,16,19,19,19,19,19,19,18,18,16,14,14,17,19,19, - 19,19,19,18,17,16,15,14,14,18,19,19,19,19,19,18, - 17,16,14,13,15,18,19,19,19,19,19,19,17,16,12,13, - 15,17,17,19,19,19,19,18,17,14,13,14,17,16,18,19, - 19,19,19,18,18,17,15,16,16,15,17,18,19,19,18,17, - 17,17,16,16,15,15,18,19,19,19,19,18,19,16,16,17, - 15,16,19,19,19,19,19,19,18,19,17,16,15,19,19,19, - 19,19,19,19,19,19,17,16,14,15,17,19,19,19,19,19, - 19,17,17,15,15,18,19,19,19,19,19,19,18,17,16,15, - 14,17,19,19,19,19,19,18,18,17,16,14,15,17,19,19, - 19,19,19,17,17,15,14,14,15,17,18,19,19,19,18,17, - 16,13,13,13,15,17,19,19,19,19,18,18,16,13,11,12, - 14,15,18,18,19,19,19,17,16,14,12,13,14,14,16,19, - 19,19,19,18,17,16,14,14,14,14,17,19,19,18,16,17, - 17,15,15,15,14,16,17,18,18,19,19,19,17,16,16,16, - 16,17,17,19,19,19,18,19,18,18,17,13,16,19,19,19, - 19,19,18,18,17,17,17,14,14,15,19,19,19,19,18,19, - 19,18,16,15,15,16,19,19,19,18,17,17,18,17,16,14, - 14,18,18,17,19,18,18,19,17,15,14,14,15,18,18,19, - 19,18,18,16,16,13,13,13,14,17,16,19,16,15,15,15, - 13,11,11,12,14,16,18,19,19,16,16,14,13,11,10,11, - 13,15,17,18,19,19,19,16,15,12,11,12,14,14,16,19, - 19,19,16,17,16,14,12,13,13,15,17,19,17,15,16,17, - 15,13,14,15,15,15,18,19,18,18,18,17,15,16,18,16, - 15,16,19,19,19,19,19,18,19,17,16,14,16,17,19,19, - 19,19,17,13,14,13,15,15,16,18,19,19,19,19,18,15, - 13,16,16,15,15,18,19,19,19,18,16,15,16,15,14,14, - 15,17,17,18,19,18,18,16,15,14,13,13,14,16,17,19, - 17,17,15,13,13,11,11,12,13,15,17,19,14,12,12,11, - 10, 9, 9,11,13,15,17,19,15,14,13,12,10, 8, 8,10, - 12,14,16,17,17,17,16,15,13,10, 9,11,13,14,16,19, - 17,17,16,15,14,12,11,12,13,15,19,19,16,17,17,16, - 14,13,14,14,14,16,19,19,18,17,16,16,17,15,15,15, - 16,17,19,19,18,19,19,17,16,15,14,14,16,17,19,18, - 17,16,16,14,14,14,14,15,16,17,19,19,16,17,17,15, - 13,13,13,14,16,18,19,19,17,17,16,15,14,13,13,13, - 15,17,19,19,16,15,15,13,12,11,11,11,13,16,17,19, - 13,13,12,11,10, 8, 8,10,12,14,17,19,12,12,10, 9, - 7, 5, 5, 8,11,13,15,18,13,12,12,10, 8, 4, 4, 7, - 11,14,16,18,16,15,14,12,10, 7, 7, 9,12,13,16,18, - 15,16,15,14,12,10,10,11,12,15,19,19,16,17,15,15, - 15,13,12,13,15,16,19,19,18,17,18,16,15,14,13,15, - 17,17,19,19,19,19,18,15,14,14,14,14,16,18,19,18, - 17,17,16,15,14,13,14,14,14,17,17,19,15,16,14,13, - 13,13,13,13,14,17,17,19,14,14,14,14,13,12,11,11, - 13,16,17,19,14,14,14,13,12,10, 9,10,12,15,16,18, - 13,14,14,12,10, 8, 7, 9,11,14,17,19,14,14,12,10, - 8, 5, 3, 7,11,13,15,17,14,13,12,10, 8, 4, 3, 6, - 10,12,15,19,16,14,13,11, 9, 6, 6, 8,10,11,14,19, - 16,16,14,12,11,10, 9, 9, 9,11,15,19,17,15,15,14, - 13,12,10,10,11,14,17,19,17,17,17,16,14,14,12,14, - 15,18,18,18,18,17,14,12,13,13,12,15,18,18,18,18, - 19,18,19,17,15,14,15,15,12,16,18,19,17,17,15,15, - 15,14,13,12,11,16,17,19,16,16,15,15,14,13,12,10, - 12,15,18,19,16,15,15,13,13,11,10, 8,12,16,18,19, - 15,15,13,12,11, 9, 8, 8,12,15,17,19,14,13,12,11, - 9, 7, 6, 8,12,15,18,18,14,12,12,11, 9, 6, 5, 7, - 10,13,17,19,14,13,12,11, 9, 7, 7, 7, 9,12,16,19, - 16,15,14,12,11, 9, 7, 8,10,13,17,19,16,15,15,14, - 12,11, 9,11,12,14,18,19,17,15,14,14,14,13,13,15, - 15,18,19,19,18,14,12,12,12,12,13,16,17,18,19,19, - 17,19,17,17,17,16,16,16,16,17,17,18,17,16,16,17, - 16,16,15,14,13,17,17,19,17,17,16,15,15,15,14,11, - 14,17,18,18,18,17,15,14,14,13,11, 9,13,19,19,18, - 17,17,15,13,12,11, 9, 9,13,16,18,19,16,14,13,11, - 11, 9, 7, 9,12,15,18,19,14,13,12,11,10, 7, 7, 9, - 12,15,19,19,14,13,12,11,10, 8, 7, 9,11,14,18,19, - 14,13,13,12,11, 9, 9,11,13,16,19,19,14,13,13,13, - 12,11,12,13,13,17,19,19,15,14,13,12,13,13,14,16, - 17,19,19,19,17,13,11,12,14,13,16,17,19,19,19,19, - 19,18,18,19,19,18,18,19,19,17,18,19,19,19,17,19, - 18,17,17,18,19,16,17,19,19,18,17,16,17,15,16,14, - 17,16,17,19,18,18,17,16,14,15,14,13,15,16,17,18, - 17,18,17,14,13,13,12,11,15,16,18,19,17,16,15,13, - 12,10,10,11,14,17,18,19,15,14,13,12,11, 9, 9,12, - 15,18,19,19,14,14,13,12,11, 9,10,13,15,18,19,19, - 14,13,13,12,12,11,12,15,16,17,19,19,14,13,13,13, - 12,12,14,16,18,19,19,19,16,13,12,12,14,15,18,19, - 19,19,19,18,17,13,12,13,13,16,18,19,19,19,19,19, + 19,20,20,20,18,18,20,16,17,18,19,19,19,19,19,19, + 18,18,18,18,17,16,18,19,19,19,19,19,19,19,19,19, + 19,19,18,17,17,19,19,19,19,19,19,19,19,19,19,19, + 17,17,15,18,19,19,19,19,19,19,19,19,19,19,19,15, + 14,16,19,19,19,19,19,19,19,19,19,19,18,14,14,18, + 18,19,19,19,19,19,19,19,19,19,16,16,16,18,16,19, + 19,19,19,19,19,19,19,19,19,19,19,19,17,19,18,19, + 19,19,19,19,19,19,19,19,18,17,17,15,15,16,19,19, + 19,19,19,19,19,18,17,17,16,16,15,15,19,19,19,19, + 19,18,18,17,15,16,15,15,14,16,19,19,19,19,19,19, + 19,18,17,16,16,14,15,19,19,19,19,18,18,18,18,18, + 15,15,15,15,19,19,18,17,18,17,18,18,17,15,16,16, + 16,17,19,19,18,19,19,19,19,17,17,16,18,19,19,19, + 19,19,19,19,19,17,17,17,15,15,17,18,19,19,19,19, + 19,19,19,19,19,19,15,16,17,19,18,19,19,19,19,19, + 19,19,19,18,16,17,16,19,19,19,19,19,19,19,19,19, + 19,19,18,18,17,17,19,19,19,19,19,18,19,19,19,18, + 18,17,16,17,18,18,19,18,19,19,19,19,19,18,16,19, + 17,17,19,18,19,18,19,19,19,19,19,19,19,19,17,17, + 18,18,17,16,19,19,19,19,19,19,19,18,18,17,17,14, + 14,15,19,19,19,19,19,19,18,17,15,15,15,15,13,14, + 19,19,19,19,19,18,19,15,15,16,15,14,14,17,19,19, + 19,18,19,18,19,18,18,15,15,13,15,18,19,18,17,18, + 17,18,16,15,13,15,15,15,18,18,16,16,16,17,17,16, + 16,14,15,14,15,16,18,19,19,19,19,19,17,16,17,17, + 19,19,19,19,19,19,18,19,19,19,19,16,16,16,17,19, + 19,17,19,19,19,19,19,19,19,19,17,15,17,18,18,18, + 17,19,19,19,19,19,19,19,19,15,17,17,18,19,17,17, + 19,19,19,19,18,19,19,17,17,18,18,18,17,18,19,19, + 19,18,19,19,19,17,16,16,17,19,18,17,19,19,19,18, + 18,17,17,17,16,16,17,18,16,17,19,19,19,19,18,19, + 17,19,16,16,16,17,15,15,19,19,19,19,19,19,18,17, + 16,14,14,14,15,14,19,19,19,18,19,19,18,15,13,14, + 15,14,14,15,19,19,19,19,19,18,17,16,15,15,14,15, + 15,16,19,19,19,17,18,18,19,16,15,14,14,14,16,17, + 18,16,16,16,17,16,17,16,14,13,15,15,17,19,17,17, + 17,16,16,15,15,15,14,14,14,16,18,19,19,18,19,19, + 19,17,18,19,18,19,14,19,19,19,19,19,18,19,19,17, + 17,18,17,15,18,18,15,16,19,19,19,19,19,17,16,17, + 16,14,13,18,17,17,19,19,19,19,19,19,17,16,17,17, + 14,16,15,17,19,19,19,19,19,18,17,18,17,15,15,18, + 17,16,19,19,19,19,18,17,18,17,16,16,15,17,19,17, + 19,19,19,19,17,16,16,16,15,15,15,17,16,16,19,19, + 19,19,19,18,16,16,15,13,14,15,14,15,19,19,19,19, + 19,18,18,16,13,12,13,14,13,16,19,19,19,19,19,17, + 16,13,13,13,13,14,15,16,19,19,19,19,18,18,16,15, + 15,13,13,14,17,16,18,17,18,19,17,17,17,16,14,13, + 13,16,16,18,16,17,17,17,16,16,16,15,14,13,16,16, + 16,19,19,18,17,16,16,17,16,15,13,14,15,17,19,19, + 18,18,19,19,19,17,17,17,16,18,17,17,15,16,18,19, + 19,19,19,19,17,15,15,16,19,15,14,16,19,19,19,19, + 18,17,15,13,14,18,16,15,16,17,19,18,19,19,18,16, + 16,14,16,16,15,15,16,17,19,19,19,19,18,18,17,18, + 16,14,16,16,17,17,19,19,19,19,18,17,16,15,15,14, + 14,16,17,16,19,19,19,18,18,15,15,15,14,14,14,16, + 15,14,19,19,18,19,19,17,16,14,13,12,13,14,14,14, + 18,19,19,19,18,16,14,13,12,11,12,13,13,15,19,19, + 19,17,17,15,14,12,12,12,12,13,15,18,19,18,18,18, + 18,17,15,14,13,12,12,15,17,19,17,18,18,17,17,16, + 17,14,13,12,14,16,18,19,18,18,17,17,16,16,16,14, + 14,13,16,16,16,19,18,18,17,17,17,16,17,15,12,14, + 15,16,19,19,18,19,19,19,18,19,19,17,15,18,18,15, + 14,15,19,19,19,18,17,18,15,13,16,18,16,14,15,16, + 18,19,18,19,16,15,12,13,16,17,16,15,16,18,19,18, + 19,19,18,15,15,15,16,16,15,17,17,17,19,19,18,19, + 18,18,16,16,16,14,15,17,17,17,19,19,19,18,17,16, + 15,14,14,14,15,16,15,15,19,19,18,17,17,15,14,13, + 13,13,14,15,14,14,19,18,19,17,17,15,12,11,11,11, + 12,13,12,15,19,19,18,16,14,14,12,10,10,11,12,12, + 14,17,19,19,17,16,14,14,12,11,10,11,11,13,17,18, + 17,18,17,17,16,15,15,12,12,11,12,15,17,19,18,17, + 18,17,17,15,15,13,13,12,14,17,18,18,17,17,16,16, + 16,15,16,15,13,13,16,17,17,19,17,16,15,16,16,17, + 17,14,13,13,16,17,19,18,15,17,19,18,19,19,18,17, + 17,17,17,15,14,17,13,16,17,19,17,17,12,15,15,17, + 16,14,14,18,15,15,17,17,15,15,13,15,15,16,16,15, + 15,17,19,17,16,18,15,15,15,15,15,16,16,16,18,15, + 17,18,18,18,16,14,15,16,14,14,15,16,15,14,19,18, + 18,18,15,14,14,13,12,13,14,14,14,14,17,18,19,18, + 15,14,12,10,10,11,13,12,13,14,16,17,18,15,14,12, + 10, 9, 8,10,11,12,13,17,17,17,13,12,11,10, 9, 8, + 7, 9,11,12,15,17,18,18,15,14,12,12,11, 9, 9,10, + 11,15,16,16,17,16,15,16,15,15,13,11,11,11,13,15, + 15,16,18,17,16,15,15,15,14,12,12,12,15,17,17,18, + 16,16,15,15,16,15,15,14,12,14,15,18,18,18,17,15, + 16,16,16,16,14,13,13,14,16,17,18,18,18,17,19,18, + 17,15,14,14,14,14,15,17,17,17,19,16,16,15,16,15, + 14,13,14,15,16,19,17,18,17,16,15,14,14,14,14,13, + 14,14,15,16,16,15,17,17,14,13,13,14,14,13,14,14, + 14,15,14,14,17,15,15,15,15,14,14,13,12,13,13,13, + 13,13,16,16,15,17,16,14,13,11,11,11,12,11,12,14, + 15,14,15,15,14,12,11, 9, 8, 9,11,10,12,16,13,11, + 12,13,11,10, 8, 6, 5, 8, 9,11,13,18,15,15,14,12, + 10, 9, 7, 4, 4, 7, 9,12,14,18,17,19,15,13,12,10, + 9, 6, 6, 8,10,13,13,15,17,16,13,11,11,12,11,10, + 9,10,12,13,15,18,16,13,13,13,13,13,13,11,11,12, + 14,15,17,19,15,14,14,14,14,14,13,13,12,15,15,15, + 18,19,16,15,16,15,15,15,14,13,13,15,17,17,18,18, + 19,19,19,19,17,17,16,15,14,15,16,18,18,17,19,19, + 19,18,18,18,16,13,14,15,18,18,16,16,18,19,19,16, + 15,15,14,14,14,14,14,15,14,14,18,18,16,16,14,14, + 13,13,12,13,13,13,12,13,18,16,14,14,14,13,12,12, + 11,11,11,11,12,14,18,15,14,14,14,12,12,11, 9,10, + 10,10,12,17,16,15,14,14,12,11,10, 9, 7, 8, 8,10, + 13,17,15,14,14,13,11,10, 8, 5, 4, 6, 8,11,15,18, + 15,15,14,13,11, 9, 7, 4, 3, 6, 8,12,16,18,17,16, + 15,13,12,10, 9, 6, 6, 7, 9,11,14,17,17,15,14,13, + 12,11,10, 9, 8, 8, 9,11,15,17,13,13,13,13,12,12, + 11,11,11,11,12,13,17,19,14,14,14,14,14,15,14,12, + 13,14,14,16,17,19,16,15,15,14,14,13,13,12,13,16, + 17,17,19,19,19,19,19,18,17,18,19,19,17,18,18,17, + 18,15,19,19,19,17,17,18,17,16,16,17,17,15,15,14, + 19,19,19,16,17,16,15,14,14,14,15,14,13,13,19,17, + 16,17,15,15,15,13,13,12,13,12,12,14,18,16,16,15, + 14,14,13,13,12,11,11,11,12,16,17,17,15,14,13,13, + 12,11,10,10,10,11,14,18,18,16,15,13,13,12,11,10, + 8, 8, 9,12,16,19,18,17,14,13,12,11, 9, 7, 6, 7, + 10,13,18,19,17,16,15,13,11,10, 9, 6, 5, 7,10,13, + 16,19,18,18,15,13,12,11, 9, 7, 6, 7, 9,12,16,18, + 14,14,15,14,13,12,11, 9, 8, 8,10,12,16,19,15,14, + 14,13,14,13,12,11,11,11,11,14,18,18,15,15,16,15, + 15,15,14,13,14,14,14,19,19,19,16,16,15,15,13,13, + 13,14,15,16,17,18,19,19,19,19,18,19,18,19,19,19, + 18,19,19,19,17,15,19,19,18,18,19,18,17,17,17,19, + 17,17,15,14,19,19,19,18,19,18,18,16,16,16,16,15, + 13,15,19,18,18,18,18,18,17,13,15,14,14,14,14,18, + 18,19,18,17,16,16,15,13,13,13,13,13,15,19,19,19, + 17,18,15,14,14,12,12,12,12,14,16,19,19,19,17,15, + 13,13,12,11,10,11,12,15,18,19,18,17,16,14,13,12, + 11, 9, 8,10,12,16,17,19,16,15,15,14,12,11,10, 8, + 8, 9,12,15,19,19,16,17,15,14,12,12,10, 9, 8, 9, + 11,14,17,19,16,17,16,15,14,13,12,11,10,11,12,14, + 19,19,16,16,15,14,15,14,13,13,13,12,14,19,18,19, + 15,15,14,16,15,16,14,14,15,15,18,19,19,19,17,16, + 16,15,14,14,14,14,15,16,18,19,19,19,19,18,18,19, + 19,19,18,19,19,19,19,19,18,17,19,18,19,19,19,19, + 19,19,17,18,19,18,16,18,19,19,19,19,18,19,18,16, + 17,17,18,18,15,18,19,18,19,19,19,19,19,14,16,19, + 17,16,17,19,19,19,18,18,18,18,16,14,14,15,17,15, + 17,19,19,19,19,17,17,17,15,13,14,15,16,16,18,19, + 19,19,17,15,15,15,14,12,13,14,16,16,19,19,18,18, + 16,15,14,14,13,11,11,13,15,17,18,19,17,15,15,14, + 13,13,12,11,11,13,14,16,18,19,17,19,17,15,14,13, + 13,12,12,12,13,15,19,19,18,16,17,15,15,16,14,14, + 13,12,14,18,19,19,16,17,15,15,17,17,14,15,14,14, + 17,18,19,19,16,16,16,16,16,15,16,16,17,17,18,19, + 19,19,18,17,16,15,13,14,14,15,17,19,19,19,19,19, 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, - 18,19,19,19,18,19,19,19,19,19,18,19,19,19,19,19, - 19,19,19,19,18,19,18,17,16,16,17,18,17,19,19,19, - 18,18,17,15,15,15,14,17,18,19,19,19,17,17,15,14, - 14,12,13,16,19,19,19,19,15,14,14,14,12,11,13,16, - 19,19,19,19,14,14,14,13,12,12,13,16,18,19,19,19, - 14,14,14,14,14,13,16,16,18,19,19,19,15,13,13,14, - 15,15,18,18,19,19,19,19,16,13,14,15,15,18,19,19, - 19,19,19,19,18,14,13,13,15,17,19,19,19,19,19,19, + 19,19,19,19,19,19,18,19,19,19,19,19,19,19,19,19, + 19,19,19,17,19,19,19,19,18,19,19,19,19,19,19,19, + 19,15,18,18,18,19,19,19,19,19,19,19,19,18,17,15, + 15,19,19,19,19,19,19,19,19,17,19,17,16,16,15,16, + 19,19,19,19,18,19,19,19,17,16,15,13,15,16,18,18, + 19,19,19,19,18,17,15,14,14,13,15,16,16,18,19,19, + 17,17,17,16,15,14,14,14,15,14,16,17,18,19,17,18, + 17,17,15,15,14,14,15,13,16,19,19,19,17,18,17,17, + 17,16,15,16,15,15,19,19,19,19,15,17,18,17,17,17, + 15,18,17,16,19,18,19,19,18,18,17,17,17,17,17,16, + 19,18,19,19,19,19,18,16,16,15,15,14,15,15,18,18, 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, - 18,18,19,19,19,19,19,19,19,19,19,19,18,19,18,19, - 19,19,19,19,19,19,19,19,18,18,19,19,19,19,19,19, - 19,19,19,17,18,17,18,18,19,19,19,19,18,17,16,17, - 16,15,17,17,19,19,19,19,15,15,15,16,16,16,17,17, - 18,19,19,19,14,15,16,16,15,16,16,17,19,19,19,19, - 15,14,15,16,16,17,18,19,19,19,19,19,15,14,15,16, - 16,17,19,17,19,19,19,19,16,16,14,15,16,18,19,19, - 19,19,19,19,16,14,13,14,17,18,19,19,19,19,19,19, + 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, + 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, + 19,19,19,19,19,18,17,18,19,19,19,19,19,19,19,19, + 19,19,19,18,19,18,19,19,19,19,19,18,19,19,19,18, + 17,16,18,19,19,19,19,19,19,18,19,19,18,17,15,15, + 19,17,19,18,19,19,19,19,19,19,17,16,15,15,19,18, + 19,18,19,19,19,19,18,18,17,16,16,16,17,18,18,19, + 19,19,19,18,17,18,17,17,17,16,17,17,19,19,19,19, + 18,17,16,18,18,17,17,19,18,18,19,19,19,19,17,17, + 19,19,18,19,18,19,17,18,17,19,19,19,18,19,18,19, + 19,18,18,18,19,19,17,17,19,19,18,17,18,16,15,15, + 15,17,19,18,19,19,19,19, }; static long _vq_pigeonmap_lsp30_1[] = { 0, 0, 0, 0, 0, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 3, 3, 3, 3, 3, 3, - 3, 3, 3, + 1, 1, 1, 1, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 4, 4, 4, 4, 4, }; static long _vq_fitlist_lsp30_1[] = { - 0, 12, 144, 1, 13, 145, 2, 14, - 146, 3, 156, 157, 15, 147, 158, 24, - 25, 26, 168, 37, 169, 27, 159, 170, - 36, 38, 180, 49, 181, 39, 50, 171, - 182, 290, 288, 289, 301, 291, 300, 302, - 303, 314, 312, 48, 313, 324, 193, 325, - 183, 194, 315, 326, 434, 432, 433, 445, - 435, 446, 444, 457, 447, 458, 456, 192, - 468, 337, 469, 327, 338, 459, 470, 577, - 578, 576, 588, 589, 579, 590, 601, 591, - 602, 600, 336, 3, 15, 147, 4, 16, - 148, 5, 160, 17, 149, 161, 293, 6, - 29, 150, 27, 159, 28, 292, 172, 173, - 305, 18, 39, 171, 40, 304, 41, 162, - 184, 185, 317, 30, 53, 51, 183, 52, - 174, 291, 303, 294, 316, 306, 315, 328, - 329, 42, 197, 437, 436, 448, 449, 438, - 195, 327, 196, 461, 318, 435, 447, 460, - 450, 459, 472, 473, 186, 341, 581, 580, - 593, 604, 582, 471, 340, 605, 462, 579, - 592, 591, 594, 603, 339, 616, 617, 485, - 6, 18, 150, 162, 294, 7, 30, 151, - 19, 163, 8, 31, 152, 295, 20, 164, - 296, 9, 32, 153, 174, 42, 175, 176, - 308, 21, 306, 43, 44, 165, 186, 54, - 187, 319, 188, 33, 297, 318, 55, 56, - 320, 177, 309, 307, 330, 198, 199, 331, - 200, 332, 440, 438, 451, 452, 450, 463, - 441, 464, 45, 321, 439, 462, 453, 342, - 474, 343, 475, 476, 189, 344, 584, 582, - 595, 596, 607, 585, 608, 465, 594, 583, - 606, 597, 486, 618, 487, 619, 620, 333, - 488, 9, 21, 153, 165, 10, 33, 154, - 297, 22, 166, 11, 34, 155, 298, 23, - 177, 309, 178, 46, 45, 310, 167, 35, - 189, 57, 190, 58, 299, 321, 322, 179, - 47, 311, 333, 201, 334, 202, 441, 442, - 453, 454, 443, 465, 466, 323, 191, 455, - 477, 345, 478, 346, 585, 586, 597, 598, - 587, 610, 609, 467, 599, 335, 621, 489, - 490, 622, 25, 36, 48, 169, 180, 37, - 26, 49, 170, 181, 38, 27, 39, 50, - 171, 182, 192, 193, 51, 183, 194, 60, - 336, 61, 204, 337, 62, 195, 205, 338, - 52, 63, 184, 206, 339, 348, 72, 349, - 73, 207, 350, 216, 217, 74, 64, 218, - 351, 313, 324, 314, 325, 315, 326, 327, - 196, 75, 208, 480, 481, 482, 328, 483, - 492, 493, 494, 360, 361, 362, 495, 457, - 468, 458, 469, 459, 470, 471, 340, 219, - 352, 624, 625, 615, 626, 472, 627, 636, - 637, 638, 504, 505, 506, 639, 601, 612, - 602, 613, 603, 614, 484, 363, 496, 28, - 39, 40, 51, 172, 183, 52, 184, 29, - 41, 161, 173, 196, 305, 53, 185, 18, - 30, 162, 197, 42, 174, 306, 195, 329, - 186, 64, 65, 341, 54, 318, 62, 63, - 206, 339, 207, 340, 208, 209, 198, 352, - 353, 66, 77, 342, 74, 351, 75, 76, - 221, 210, 218, 219, 220, 316, 327, 317, - 328, 330, 497, 354, 449, 450, 473, 461, - 485, 350, 483, 484, 496, 486, 495, 362, - 363, 364, 365, 460, 472, 462, 471, 474, - 498, 593, 605, 628, 629, 494, 616, 627, - 618, 640, 641, 630, 639, 506, 507, 508, - 509, 604, 615, 617, 594, 606, 642, 30, - 42, 174, 54, 186, 31, 163, 198, 43, - 175, 55, 187, 20, 32, 164, 199, 331, - 44, 176, 56, 188, 21, 33, 165, 200, - 332, 45, 177, 319, 189, 66, 342, 67, - 320, 343, 68, 321, 344, 57, 210, 211, - 212, 201, 333, 354, 78, 355, 79, 80, - 356, 69, 345, 222, 223, 224, 213, 318, - 330, 307, 308, 309, 498, 499, 357, 474, - 475, 453, 463, 476, 486, 464, 487, 465, - 488, 477, 500, 489, 366, 367, 368, 462, - 451, 452, 642, 643, 644, 501, 618, 619, - 597, 607, 620, 630, 631, 608, 609, 632, - 621, 633, 510, 511, 512, 606, 595, 596, - 645, 33, 45, 177, 57, 189, 34, 166, - 201, 46, 178, 310, 58, 190, 35, 167, - 202, 47, 179, 311, 333, 334, 191, 59, - 69, 345, 322, 70, 323, 346, 213, 214, - 203, 335, 71, 347, 81, 357, 358, 82, - 225, 226, 215, 359, 321, 502, 83, 454, - 477, 467, 489, 466, 490, 479, 491, 501, - 369, 370, 503, 465, 478, 455, 646, 227, - 598, 622, 621, 611, 610, 633, 634, 623, - 635, 645, 513, 514, 647, 609, 599, 371, - 61, 72, 205, 62, 73, 206, 216, 349, - 63, 74, 207, 217, 350, 64, 75, 208, - 218, 351, 360, 84, 361, 85, 219, 362, - 86, 228, 229, 76, 230, 363, 87, 220, - 372, 96, 373, 97, 231, 374, 240, 241, - 98, 88, 242, 375, 99, 232, 384, 108, - 385, 109, 243, 386, 252, 253, 110, 100, - 254, 387, 111, 244, 493, 494, 352, 495, - 504, 505, 506, 507, 364, 516, 517, 518, - 519, 376, 528, 529, 530, 396, 397, 398, - 531, 255, 388, 637, 638, 496, 639, 648, - 649, 650, 651, 508, 660, 661, 662, 663, - 520, 672, 673, 674, 540, 541, 542, 675, - 399, 532, 75, 208, 76, 219, 352, 65, - 209, 220, 77, 353, 364, 66, 210, 221, - 354, 87, 88, 365, 78, 89, 222, 86, - 363, 233, 230, 231, 232, 376, 366, 377, - 90, 101, 234, 98, 375, 99, 100, 245, - 242, 243, 244, 102, 378, 389, 388, 113, - 246, 110, 387, 111, 112, 257, 254, 255, - 256, 509, 510, 521, 390, 496, 497, 498, - 508, 507, 374, 520, 519, 386, 522, 533, - 532, 531, 398, 399, 400, 401, 653, 654, - 665, 666, 677, 534, 640, 641, 642, 652, - 651, 518, 664, 663, 530, 676, 675, 542, - 543, 544, 545, 678, 66, 78, 210, 354, - 67, 211, 222, 355, 79, 68, 212, 223, - 80, 356, 367, 69, 213, 224, 81, 357, - 368, 366, 90, 91, 92, 225, 234, 235, - 236, 378, 379, 369, 102, 103, 380, 93, - 104, 237, 246, 247, 248, 390, 381, 114, - 391, 115, 392, 105, 116, 249, 258, 259, - 260, 499, 510, 513, 524, 525, 535, 536, - 393, 498, 500, 511, 501, 512, 522, 523, - 534, 402, 403, 404, 643, 644, 654, 655, - 657, 666, 668, 669, 679, 680, 537, 642, - 645, 656, 667, 678, 546, 547, 548, 681, - 69, 81, 213, 357, 70, 214, 225, 358, - 82, 71, 215, 226, 359, 83, 369, 93, - 370, 94, 227, 237, 238, 371, 95, 382, - 381, 105, 106, 239, 249, 250, 383, 393, - 107, 117, 394, 118, 251, 261, 262, 395, - 503, 513, 514, 525, 527, 538, 119, 501, - 502, 515, 526, 537, 405, 406, 539, 647, - 657, 658, 669, 263, 645, 646, 659, 670, - 671, 681, 682, 549, 550, 683, 407, 97, - 108, 241, 98, 109, 242, 252, 385, 99, - 110, 243, 253, 386, 100, 111, 244, 254, - 387, 396, 120, 397, 121, 255, 398, 264, - 265, 122, 112, 266, 399, 123, 256, 408, - 132, 409, 133, 267, 410, 134, 276, 277, - 124, 278, 411, 135, 268, 420, 421, 279, - 422, 529, 530, 388, 531, 540, 541, 542, - 543, 400, 552, 553, 554, 555, 412, 564, - 565, 423, 566, 673, 674, 532, 675, 684, - 685, 686, 687, 544, 696, 697, 698, 699, - 556, 708, 709, 567, 710, 100, 111, 244, - 112, 255, 388, 101, 245, 256, 113, 389, - 102, 246, 257, 114, 390, 401, 400, 125, - 258, 122, 399, 123, 124, 269, 266, 267, - 268, 402, 412, 413, 126, 137, 270, 134, - 411, 135, 136, 281, 278, 279, 280, 424, - 414, 557, 423, 425, 138, 532, 533, 534, - 544, 545, 543, 410, 546, 556, 555, 422, - 282, 558, 569, 677, 701, 567, 568, 676, - 678, 688, 689, 687, 554, 690, 700, 699, - 566, 426, 702, 713, 711, 712, 102, 114, - 246, 390, 103, 247, 258, 391, 115, 104, - 248, 259, 392, 116, 105, 249, 260, 117, - 393, 404, 402, 126, 403, 127, 128, 261, - 270, 271, 272, 415, 405, 414, 138, 139, - 416, 129, 140, 273, 282, 283, 284, 426, - 417, 535, 536, 546, 547, 549, 558, 560, - 427, 428, 141, 534, 537, 548, 559, 570, - 561, 679, 680, 690, 691, 702, 571, 572, - 285, 678, 681, 692, 693, 703, 704, 705, - 714, 715, 716, 429, 105, 117, 249, 393, - 106, 250, 261, 394, 118, 107, 251, 262, - 395, 119, 405, 129, 406, 130, 263, 273, - 274, 407, 131, 417, 141, 418, 142, 275, - 285, 286, 419, 143, 430, 538, 539, 549, - 550, 551, 561, 562, 429, 287, 537, 563, - 573, 574, 683, 694, 695, 705, 706, 431, - 681, 682, 693, 707, 717, 718, 575, 289, - 300, 432, 444, 576, 433, 290, 301, 445, - 577, 434, 291, 302, 446, 578, 435, 312, - 588, 313, 589, 303, 314, 447, 458, 579, - 590, 456, 457, 324, 600, 325, 469, 601, - 315, 326, 459, 470, 591, 602, 468, 336, - 612, 337, 481, 613, 327, 338, 471, 603, - 614, 480, 482, 721, 720, 722, 723, 732, - 733, 734, 735, 746, 744, 624, 745, 615, - 626, 580, 592, 724, 756, 625, 757, 604, - 736, 747, 758, 768, 769, 759, 770, 864, - 865, 866, 876, 877, 867, 878, 888, 889, - 879, 890, 900, 901, 748, 891, 902, 868, - 880, 292, 303, 435, 436, 447, 579, 304, - 448, 580, 293, 316, 437, 592, 305, 449, - 581, 317, 593, 150, 173, 294, 438, 461, - 315, 459, 591, 161, 460, 306, 582, 328, - 604, 329, 605, 450, 473, 327, 603, 472, - 185, 318, 594, 471, 196, 340, 616, 341, - 617, 462, 339, 615, 484, 485, 186, 330, - 606, 725, 737, 736, 726, 483, 628, 748, - 629, 749, 723, 724, 735, 738, 747, 760, - 761, 474, 590, 602, 734, 470, 614, 746, - 626, 758, 627, 759, 750, 770, 771, 772, - 618, 773, 869, 868, 881, 870, 893, 867, - 879, 880, 891, 892, 882, 905, 903, 904, - 762, 878, 890, 902, 894, 917, 294, 438, - 306, 450, 582, 318, 594, 151, 295, 439, - 462, 307, 451, 583, 175, 319, 595, 152, - 296, 440, 463, 308, 452, 584, 176, 320, - 596, 153, 297, 441, 464, 163, 164, 165, - 309, 585, 186, 330, 606, 187, 331, 607, - 188, 332, 608, 453, 474, 475, 476, 321, - 597, 198, 342, 618, 199, 343, 619, 344, - 620, 177, 465, 488, 486, 487, 200, 333, - 609, 727, 726, 738, 739, 729, 752, 630, - 631, 477, 632, 741, 728, 740, 750, 751, - 762, 763, 764, 621, 753, 774, 775, 776, - 870, 871, 872, 883, 884, 882, 895, 873, - 896, 894, 906, 907, 885, 908, 765, 918, - 919, 897, 920, 297, 441, 309, 453, 585, - 321, 597, 154, 177, 298, 442, 465, 310, - 454, 586, 322, 598, 155, 299, 443, 466, - 178, 311, 587, 455, 333, 609, 477, 334, - 610, 167, 189, 190, 478, 179, 323, 599, - 467, 345, 621, 489, 202, 346, 622, 201, - 490, 191, 335, 611, 479, 729, 730, 741, - 742, 753, 731, 633, 634, 754, 743, 765, - 766, 623, 755, 777, 778, 873, 874, 885, - 886, 897, 887, 767, 875, 898, 909, 910, - 899, 921, 922, 325, 336, 457, 468, 469, - 480, 601, 612, 326, 337, 458, 470, 481, - 602, 613, 327, 338, 459, 482, 603, 614, - 471, 624, 625, 339, 483, 615, 626, 348, - 349, 350, 494, 204, 492, 205, 493, 636, - 206, 627, 637, 207, 340, 351, 472, 484, - 495, 616, 638, 216, 360, 217, 361, 504, - 505, 218, 362, 639, 648, 649, 506, 219, - 352, 363, 496, 650, 768, 769, 770, 628, - 771, 780, 781, 782, 507, 640, 783, 745, - 756, 746, 757, 747, 758, 759, 733, 744, - 734, 735, 604, 748, 760, 772, 792, 793, - 651, 794, 736, 784, 912, 913, 903, 914, - 915, 924, 925, 926, 927, 877, 888, 889, - 900, 878, 890, 901, 879, 891, 902, 795, - 880, 892, 904, 916, 936, 937, 938, 328, - 339, 460, 471, 483, 604, 615, 472, 340, - 484, 616, 185, 317, 329, 461, 473, 593, - 605, 628, 341, 485, 617, 318, 450, 462, - 594, 629, 330, 474, 606, 627, 352, 209, - 353, 342, 618, 351, 495, 496, 198, 497, - 486, 207, 494, 638, 208, 639, 640, 641, - 630, 354, 220, 364, 221, 365, 210, 498, - 509, 219, 362, 363, 506, 507, 508, 785, - 642, 650, 651, 652, 653, 738, 761, 749, - 773, 771, 772, 762, 784, 774, 783, 748, - 759, 737, 760, 750, 796, 786, 626, 736, - 747, 770, 782, 794, 795, 797, 881, 882, - 905, 893, 894, 917, 904, 915, 916, 928, - 906, 929, 918, 927, 880, 891, 892, 903, - 940, 930, 941, 914, 926, 938, 939, 330, - 462, 474, 606, 342, 486, 618, 319, 451, - 463, 595, 630, 331, 475, 607, 343, 487, - 619, 320, 452, 464, 596, 631, 332, 476, - 608, 344, 488, 620, 321, 465, 597, 632, - 189, 333, 477, 609, 354, 199, 498, 355, - 212, 356, 345, 621, 210, 211, 499, 201, - 500, 489, 642, 643, 644, 633, 213, 357, - 222, 366, 510, 223, 367, 511, 224, 368, - 512, 501, 786, 645, 654, 655, 656, 739, - 764, 762, 752, 753, 751, 774, 775, 776, - 765, 787, 788, 777, 750, 740, 763, 741, - 789, 798, 799, 800, 918, 919, 920, 930, - 931, 906, 907, 885, 895, 908, 896, 897, - 909, 932, 921, 894, 883, 884, 942, 943, - 933, 944, 333, 465, 477, 609, 345, 489, - 621, 322, 466, 598, 633, 334, 478, 610, - 346, 490, 622, 323, 455, 467, 599, 634, - 335, 479, 611, 213, 357, 358, 203, 347, - 502, 623, 491, 202, 501, 214, 645, 646, - 635, 359, 215, 503, 225, 369, 513, 226, - 370, 514, 789, 790, 647, 657, 658, 227, - 371, 765, 777, 754, 755, 778, 779, 766, - 515, 791, 753, 742, 743, 767, 659, 801, - 802, 922, 934, 886, 910, 909, 899, 898, - 921, 911, 923, 933, 803, 935, 897, 887, - 945, 946, 360, 493, 504, 637, 217, 361, - 494, 505, 638, 648, 218, 362, 495, 506, - 639, 649, 219, 363, 496, 507, 640, 650, - 228, 372, 229, 373, 516, 230, 374, 517, - 651, 660, 661, 518, 231, 364, 375, 508, - 662, 519, 652, 240, 384, 241, 385, 528, - 242, 386, 529, 663, 672, 673, 530, 243, - 376, 387, 520, 674, 531, 664, 252, 396, - 253, 397, 540, 254, 398, 541, 675, 542, - 684, 685, 255, 388, 399, 532, 686, 781, - 782, 783, 792, 793, 794, 795, 804, 805, - 806, 807, 816, 817, 818, 543, 676, 819, - 784, 796, 808, 828, 829, 687, 830, 820, - 925, 926, 927, 936, 937, 938, 939, 948, - 949, 950, 951, 960, 961, 962, 963, 831, - 928, 940, 952, 972, 973, 974, 363, 496, - 507, 640, 220, 364, 508, 651, 365, 497, - 641, 652, 221, 509, 498, 642, 653, 222, - 366, 377, 232, 376, 519, 520, 785, 233, - 510, 521, 231, 374, 375, 518, 797, 654, - 662, 663, 664, 665, 234, 378, 389, 244, - 388, 245, 522, 533, 243, 386, 387, 530, - 531, 532, 666, 674, 675, 676, 677, 246, - 390, 401, 256, 400, 257, 545, 534, 255, - 398, 399, 542, 543, 544, 678, 686, 687, - 688, 689, 784, 786, 796, 795, 798, 809, - 808, 807, 810, 821, 820, 819, 832, 822, - 806, 818, 830, 831, 833, 794, 930, 941, - 942, 952, 953, 928, 929, 940, 939, 951, - 954, 965, 964, 963, 976, 966, 977, 938, - 950, 962, 974, 975, 222, 366, 510, 642, - 499, 643, 654, 223, 367, 378, 511, 500, - 644, 655, 224, 368, 379, 512, 501, 645, - 656, 225, 369, 380, 234, 522, 235, 523, - 236, 513, 524, 789, 800, 657, 666, 667, - 668, 390, 391, 237, 381, 392, 246, 534, - 247, 535, 248, 525, 536, 801, 811, 812, - 669, 678, 679, 680, 402, 403, 249, 260, - 393, 404, 537, 258, 546, 259, 547, 548, - 822, 823, 681, 690, 691, 692, 786, 787, - 798, 788, 799, 810, 813, 824, 825, 834, - 835, 836, 931, 942, 945, 956, 967, 930, - 932, 943, 933, 944, 954, 955, 966, 957, - 968, 978, 979, 969, 980, 225, 369, 513, - 645, 502, 646, 657, 226, 370, 381, 514, - 503, 647, 658, 227, 238, 371, 382, 515, - 237, 525, 526, 801, 659, 669, 670, 239, - 383, 249, 393, 250, 394, 527, 537, 538, - 671, 681, 682, 251, 395, 261, 405, 406, - 539, 549, 262, 550, 815, 826, 683, 693, - 694, 263, 407, 789, 790, 791, 802, 803, - 813, 814, 825, 551, 827, 695, 837, 838, - 945, 933, 934, 935, 946, 947, 957, 958, - 959, 969, 970, 839, 971, 981, 982, 396, - 529, 540, 673, 253, 397, 530, 541, 674, - 684, 254, 398, 531, 542, 675, 685, 255, - 399, 532, 543, 676, 686, 264, 408, 265, - 409, 552, 553, 266, 410, 687, 554, 696, - 697, 267, 400, 411, 544, 698, 555, 688, - 276, 420, 564, 277, 421, 278, 422, 565, - 699, 708, 709, 566, 279, 412, 423, 556, - 710, 567, 700, 817, 818, 819, 828, 829, - 830, 831, 840, 841, 842, 843, 711, 852, - 853, 854, 820, 832, 844, 855, 961, 962, - 963, 972, 973, 974, 975, 984, 985, 986, - 987, 996, 997, 998, 964, 976, 988, 399, - 543, 676, 256, 400, 544, 687, 257, 401, - 533, 677, 688, 545, 534, 678, 689, 258, - 402, 413, 268, 412, 269, 546, 557, 822, - 267, 410, 411, 554, 555, 556, 833, 690, - 698, 699, 700, 701, 270, 414, 425, 280, - 424, 281, 558, 569, 279, 422, 423, 566, - 567, 568, 845, 702, 710, 711, 712, 713, - 282, 426, 570, 820, 821, 832, 831, 834, - 844, 843, 846, 856, 855, 857, 714, 842, - 854, 830, 989, 964, 965, 966, 977, 976, - 975, 978, 988, 987, 858, 990, 1001, 1000, - 999, 974, 986, 998, 258, 402, 546, 678, - 535, 679, 690, 259, 403, 414, 547, 536, - 680, 691, 260, 271, 404, 415, 548, 537, - 681, 692, 261, 272, 405, 416, 549, 270, - 558, 823, 559, 560, 834, 693, 702, 703, - 704, 282, 426, 283, 427, 273, 417, 428, - 570, 571, 284, 561, 572, 837, 848, 705, - 714, 715, 716, 285, 429, 822, 824, 825, - 835, 836, 846, 847, 859, 573, 849, 858, - 860, 717, 967, 978, 966, 968, 979, 969, - 980, 990, 991, 981, 992, 1002, 1003, 861, - 993, 1004, 261, 405, 549, 681, 538, 682, - 693, 262, 406, 417, 550, 539, 683, 694, - 263, 407, 418, 551, 273, 561, 826, 274, - 562, 827, 837, 838, 695, 705, 706, 275, - 419, 429, 430, 563, 285, 573, 286, 574, - 849, 707, 717, 718, 287, 431, 575, 825, - 839, 850, 851, 861, 862, 719, 971, 982, - 983, 993, 994, 863, 969, 970, 981, 995, - 1005, 1006, 721, 732, 864, 733, 744, 865, - 876, 722, 734, 745, 866, 877, 723, 735, - 746, 867, 878, 888, 889, 756, 757, 747, - 758, 868, 879, 890, 900, 901, 768, 769, - 759, 770, 880, 891, 902, 912, 913, 903, - 1008, 1009, 1010, 1020, 1021, 1011, 1022, 1032, - 1033, 1023, 1034, 1044, 1045, 892, 914, 1035, - 1046, 1012, 1024, 1056, 1057, 1047, 1058, 1152, - 1153, 1154, 1164, 1165, 1155, 1166, 1176, 1177, - 1167, 1178, 1188, 1189, 1036, 1179, 1190, 1156, - 1168, 1200, 1201, 1191, 1202, 1296, 1297, 1298, - 1308, 1309, 1299, 1310, 1320, 1321, 1311, 1322, - 1332, 1333, 1180, 1323, 1334, 1300, 1312, 735, - 867, 724, 736, 747, 868, 879, 725, 748, - 869, 880, 737, 726, 749, 881, 738, 870, - 893, 878, 890, 891, 892, 761, 759, 760, - 902, 903, 904, 750, 773, 882, 905, 771, - 772, 914, 915, 916, 762, 894, 917, 1012, - 1013, 1025, 1036, 1011, 1023, 1024, 1014, 1037, - 1035, 1026, 1049, 1047, 1048, 1022, 1034, 1046, - 906, 1038, 1061, 1058, 1059, 1156, 1157, 1169, - 1181, 1060, 1180, 1155, 1167, 1168, 1158, 1179, - 1170, 1193, 1191, 1192, 1050, 1166, 1178, 1190, - 1182, 1205, 1202, 1203, 1300, 1301, 1313, 1312, - 1302, 1325, 1204, 1324, 1299, 1311, 1323, 1314, - 1337, 1335, 1336, 1194, 1310, 1322, 1334, 1326, - 1349, 726, 738, 870, 727, 750, 882, 739, - 871, 894, 728, 751, 883, 740, 872, 895, - 729, 752, 884, 741, 873, 896, 762, 763, - 764, 906, 774, 907, 775, 753, 776, 885, - 908, 918, 919, 765, 897, 920, 1014, 1015, - 1016, 1027, 1028, 1038, 1039, 1017, 1040, 1026, - 1050, 1051, 1029, 1052, 909, 1062, 1063, 1041, - 1064, 1158, 1159, 1160, 1170, 1171, 1172, 1182, - 1183, 1173, 1161, 1184, 1194, 1195, 1196, 1206, - 1207, 1053, 1185, 1208, 1302, 1303, 1304, 1316, - 1314, 1315, 1305, 1328, 1326, 1317, 1327, 1338, - 1339, 1340, 1350, 1351, 1197, 1329, 1352, 729, - 741, 873, 730, 753, 885, 742, 874, 897, - 731, 754, 886, 743, 875, 898, 765, 766, - 887, 755, 777, 909, 910, 778, 899, 767, - 921, 922, 1017, 1018, 1029, 1019, 1042, 1031, - 911, 1030, 1041, 1053, 1054, 1043, 1065, 1066, - 1161, 1162, 1173, 1174, 1185, 1163, 1186, 1055, - 1175, 1197, 1198, 1187, 1209, 1210, 1305, 1306, - 1317, 1318, 1329, 1307, 1330, 1199, 1319, 1341, - 1342, 1331, 1353, 1354, 768, 889, 900, 757, - 769, 878, 890, 901, 912, 758, 770, 879, - 891, 902, 913, 759, 771, 880, 892, 903, - 914, 780, 781, 782, 904, 915, 924, 925, - 926, 783, 916, 927, 792, 793, 794, 936, - 937, 938, 795, 928, 1045, 1056, 1057, 1047, - 1058, 1059, 1068, 1069, 1070, 1071, 1021, 1032, - 1033, 1044, 1022, 1034, 1023, 1035, 1046, 1060, - 939, 1024, 1036, 1048, 1080, 1081, 1082, 1072, - 1189, 1200, 1201, 1202, 1203, 1212, 1213, 1214, - 1215, 1165, 1176, 1177, 1188, 1166, 1178, 1167, - 1179, 1190, 1191, 1192, 1204, 1083, 1168, 1180, - 1224, 1225, 1226, 1216, 1333, 1344, 1345, 1346, - 1347, 1356, 1357, 1358, 1359, 1309, 1320, 1321, - 1332, 1310, 1322, 1311, 1323, 1334, 1335, 1336, - 1227, 1312, 1324, 1348, 1368, 1369, 1370, 760, - 771, 892, 903, 772, 904, 915, 761, 893, - 916, 773, 905, 750, 762, 882, 894, 917, - 906, 914, 784, 785, 774, 783, 928, 929, - 926, 927, 918, 1061, 786, 795, 796, 797, - 930, 938, 939, 940, 1072, 941, 1073, 1062, - 1025, 1048, 1038, 1049, 1059, 1060, 1050, 1071, - 1024, 1035, 1036, 1047, 1037, 1026, 1084, 1074, - 1085, 1058, 1070, 1082, 1083, 1205, 1216, 1217, - 1170, 1181, 1192, 1193, 1182, 1203, 1204, 1194, - 1206, 1215, 1168, 1179, 1180, 1191, 1169, 1228, - 1218, 1229, 1202, 1214, 1226, 1227, 1349, 1360, - 1361, 1314, 1325, 1336, 1337, 1326, 1347, 1348, - 1338, 1350, 1359, 1312, 1323, 1324, 1335, 1313, - 1372, 1362, 1373, 1346, 1358, 1370, 1371, 762, - 774, 894, 906, 751, 763, 883, 895, 918, - 907, 775, 752, 764, 884, 896, 919, 776, - 908, 753, 765, 885, 897, 920, 786, 787, - 788, 777, 909, 930, 931, 932, 1062, 1063, - 921, 1064, 789, 798, 799, 943, 800, 933, - 942, 1074, 1075, 944, 1076, 1065, 1050, 1051, - 1029, 1039, 1052, 1040, 1041, 1053, 1038, 1027, - 1028, 1086, 1087, 1077, 1088, 1206, 1208, 1218, - 1219, 1220, 1171, 1196, 1194, 1195, 1185, 1183, - 1184, 1207, 1197, 1209, 1182, 1172, 1173, 1230, - 1231, 1221, 1232, 1350, 1351, 1352, 1362, 1363, - 1364, 1315, 1339, 1340, 1338, 1328, 1329, 1327, - 1341, 1353, 1326, 1316, 1317, 1374, 1375, 1365, - 1376, 765, 777, 897, 909, 754, 766, 886, - 898, 921, 910, 778, 755, 767, 887, 899, - 922, 911, 779, 789, 790, 933, 934, 923, - 1065, 1066, 791, 935, 801, 802, 945, 1077, - 946, 1078, 1067, 803, 1054, 1042, 1043, 1053, - 1055, 947, 1079, 1041, 1030, 1031, 1089, 1090, - 1209, 1210, 1221, 1222, 1174, 1175, 1197, 1198, - 1186, 1187, 1199, 1211, 1091, 1223, 1185, 1233, - 1234, 1353, 1354, 1365, 1366, 1355, 1318, 1319, - 1341, 1342, 1330, 1331, 1343, 1235, 1367, 1329, - 1377, 1378, 792, 793, 925, 936, 926, 937, - 794, 927, 938, 795, 928, 939, 804, 805, - 806, 948, 949, 950, 807, 940, 951, 816, - 817, 818, 960, 961, 962, 819, 952, 963, - 828, 829, 830, 972, 973, 974, 831, 964, - 1069, 1070, 1071, 1080, 1081, 1082, 1083, 1092, - 1093, 1094, 1095, 1104, 1105, 1106, 1107, 975, - 1072, 1084, 1096, 1116, 1117, 1118, 1108, 1213, - 1214, 1215, 1224, 1225, 1226, 1227, 1236, 1237, - 1238, 1239, 1248, 1249, 1250, 1251, 1119, 1216, - 1228, 1240, 1260, 1261, 1262, 1252, 1357, 1358, - 1359, 1368, 1369, 1370, 1371, 1380, 1381, 1382, - 1383, 1392, 1393, 1394, 1395, 1263, 1360, 1372, - 1384, 1404, 1405, 1406, 795, 796, 928, 938, - 939, 940, 929, 797, 808, 941, 1073, 930, - 798, 809, 807, 942, 953, 1074, 1085, 950, - 951, 952, 1084, 820, 810, 821, 819, 954, - 965, 1086, 1097, 962, 963, 964, 1096, 832, - 822, 833, 831, 966, 977, 1098, 974, 975, - 976, 1109, 1108, 1072, 1083, 1095, 1107, 1120, - 1110, 1121, 1082, 1094, 1106, 1118, 1119, 1217, - 1218, 1229, 1228, 1230, 1241, 1240, 1242, 1253, - 1252, 1216, 1227, 1239, 1251, 1264, 1254, 1265, - 1226, 1238, 1250, 1262, 1263, 1361, 1362, 1373, - 1372, 1374, 1384, 1385, 1386, 1397, 1396, 1360, - 1371, 1383, 1395, 1408, 1398, 1409, 1370, 1382, - 1394, 1406, 1407, 798, 930, 942, 1074, 931, - 799, 810, 943, 1075, 932, 800, 811, 944, - 1076, 933, 801, 812, 954, 1086, 955, 945, - 956, 1077, 1087, 1088, 822, 823, 813, 824, - 966, 967, 957, 968, 1089, 1100, 1098, 1099, - 834, 835, 825, 836, 978, 979, 1111, 969, - 980, 1101, 1112, 1110, 1122, 1123, 1113, 1124, - 1218, 1219, 1220, 1221, 1230, 1231, 1232, 1233, - 1244, 1242, 1243, 1255, 1245, 1254, 1256, 1266, - 1267, 1257, 1268, 1362, 1363, 1364, 1365, 1376, - 1374, 1375, 1387, 1377, 1388, 1386, 1398, 1399, - 1389, 1400, 1410, 1411, 1401, 1412, 801, 933, - 945, 1077, 934, 802, 813, 946, 1078, 935, - 803, 814, 947, 1079, 957, 1089, 958, 1090, - 815, 825, 826, 959, 1091, 969, 1101, 970, - 1102, 827, 837, 838, 971, 1103, 981, 982, - 1113, 1114, 839, 983, 1115, 1125, 1126, 1221, - 1222, 1223, 1233, 1234, 1235, 1245, 1246, 1247, - 1257, 1258, 1127, 1259, 1269, 1270, 1365, 1366, - 1367, 1377, 1378, 1379, 1389, 1390, 1391, 1402, - 1401, 1271, 1403, 1413, 1414, 828, 829, 961, - 972, 962, 973, 830, 963, 974, 831, 964, - 975, 840, 841, 842, 984, 985, 986, 843, - 976, 987, 852, 853, 854, 996, 997, 998, - 855, 988, 999, 1105, 1106, 1107, 1116, 1117, - 1118, 1119, 1128, 1129, 1130, 1131, 1140, 1141, - 1142, 1108, 1120, 1132, 1143, 1249, 1250, 1251, - 1260, 1261, 1262, 1263, 1272, 1273, 1274, 1275, - 1284, 1285, 1286, 1252, 1264, 1276, 1287, 1393, - 1394, 1395, 1404, 1405, 1406, 1407, 1416, 1417, - 1418, 1419, 1428, 1429, 1430, 1396, 1408, 1420, - 831, 832, 964, 974, 975, 976, 965, 833, - 844, 977, 1109, 966, 834, 845, 843, 978, - 989, 1110, 986, 987, 988, 1120, 1121, 856, - 846, 857, 855, 990, 1001, 1122, 1133, 998, - 999, 1000, 1132, 858, 1108, 1119, 1131, 1144, - 1002, 1134, 1145, 1143, 1118, 1130, 1142, 1253, - 1254, 1265, 1264, 1266, 1277, 1276, 1252, 1263, - 1275, 1146, 1278, 1289, 1288, 1287, 1262, 1274, - 1286, 1397, 1398, 1409, 1408, 1410, 1421, 1420, - 1396, 1407, 1419, 1432, 1290, 1422, 1433, 1431, - 1406, 1418, 1430, 834, 966, 978, 1110, 967, - 835, 846, 979, 1111, 968, 836, 847, 980, - 1112, 969, 837, 848, 990, 1122, 991, 1123, - 981, 992, 1113, 1124, 858, 859, 849, 860, - 1002, 1134, 1003, 993, 1004, 1125, 1135, 1136, - 861, 1146, 1147, 1005, 1137, 1148, 1254, 1255, - 1256, 1266, 1257, 1267, 1268, 1269, 1278, 1279, - 1280, 1290, 1291, 1149, 1281, 1292, 1398, 1399, - 1400, 1410, 1401, 1411, 1412, 1413, 1424, 1422, - 1423, 1434, 1435, 1293, 1425, 1436, 837, 969, - 981, 1113, 970, 838, 849, 982, 1114, 971, - 839, 850, 983, 1115, 993, 994, 1126, 1125, - 851, 861, 862, 995, 1127, 1005, 1137, 1006, - 1138, 863, 1007, 1139, 1149, 1150, 1257, 1258, - 1259, 1270, 1269, 1271, 1281, 1282, 1151, 1283, - 1293, 1294, 1401, 1402, 1403, 1413, 1414, 1415, - 1425, 1426, 1295, 1427, 1437, 1438, 1153, 1164, - 1296, 1165, 1176, 1297, 1308, 1154, 1166, 1177, - 1298, 1309, 1155, 1167, 1178, 1299, 1310, 1320, - 1321, 1188, 1189, 1179, 1190, 1300, 1311, 1322, - 1332, 1333, 1200, 1201, 1191, 1202, 1312, 1323, - 1334, 1344, 1345, 1335, 1346, 1440, 1441, 1442, - 1452, 1453, 1443, 1454, 1464, 1465, 1455, 1466, - 1476, 1477, 1324, 1467, 1478, 1444, 1456, 1488, - 1489, 1479, 1584, 1585, 1586, 1596, 1597, 1587, - 1598, 1608, 1609, 1599, 1610, 1620, 1621, 1468, - 1490, 1611, 1622, 1588, 1600, 1632, 1633, 1156, - 1167, 1299, 1168, 1179, 1300, 1311, 1157, 1180, - 1301, 1312, 1169, 1158, 1181, 1313, 1170, 1302, - 1325, 1310, 1322, 1323, 1193, 1191, 1192, 1324, - 1334, 1335, 1182, 1205, 1314, 1337, 1203, 1204, - 1336, 1346, 1347, 1194, 1326, 1349, 1445, 1444, - 1456, 1457, 1446, 1348, 1469, 1443, 1455, 1467, - 1468, 1458, 1481, 1479, 1480, 1338, 1454, 1466, - 1478, 1470, 1493, 1490, 1491, 1492, 1589, 1601, - 1612, 1587, 1588, 1599, 1600, 1590, 1613, 1611, - 1602, 1625, 1623, 1624, 1598, 1610, 1622, 1482, - 1614, 1637, 1634, 1635, 1158, 1170, 1302, 1159, - 1182, 1314, 1171, 1303, 1326, 1160, 1183, 1315, - 1172, 1304, 1327, 1161, 1184, 1316, 1173, 1305, - 1328, 1194, 1195, 1196, 1317, 1338, 1206, 1339, - 1207, 1340, 1185, 1208, 1350, 1351, 1197, 1329, - 1352, 1446, 1447, 1448, 1459, 1460, 1458, 1471, - 1449, 1472, 1470, 1482, 1483, 1461, 1484, 1341, - 1494, 1495, 1473, 1496, 1590, 1591, 1592, 1603, - 1604, 1614, 1615, 1593, 1616, 1602, 1626, 1627, - 1605, 1628, 1485, 1638, 1639, 1617, 1640, 1161, - 1173, 1305, 1162, 1185, 1317, 1174, 1306, 1329, - 1163, 1186, 1318, 1175, 1307, 1330, 1197, 1198, - 1319, 1187, 1209, 1341, 1342, 1210, 1199, 1331, - 1353, 1354, 1449, 1450, 1461, 1462, 1473, 1463, - 1343, 1451, 1474, 1485, 1486, 1475, 1497, 1498, - 1593, 1594, 1605, 1595, 1618, 1607, 1487, 1606, - 1617, 1629, 1630, 1619, 1641, 1642, 1189, 1200, - 1321, 1332, 1201, 1310, 1322, 1333, 1344, 1190, - 1202, 1311, 1323, 1334, 1345, 1191, 1203, 1312, - 1324, 1335, 1346, 1212, 1213, 1214, 1336, 1347, - 1358, 1356, 1357, 1215, 1348, 1359, 1224, 1225, - 1226, 1368, 1369, 1370, 1227, 1360, 1488, 1489, - 1490, 1491, 1500, 1501, 1502, 1503, 1453, 1464, - 1465, 1476, 1454, 1466, 1477, 1455, 1467, 1478, - 1479, 1371, 1456, 1468, 1480, 1492, 1512, 1513, - 1514, 1504, 1632, 1633, 1623, 1634, 1635, 1644, - 1645, 1646, 1647, 1597, 1608, 1609, 1620, 1598, - 1610, 1621, 1599, 1611, 1622, 1636, 1515, 1600, - 1612, 1624, 1656, 1657, 1658, 1648, 1203, 1324, - 1335, 1192, 1204, 1336, 1347, 1193, 1325, 1348, - 1205, 1337, 1182, 1194, 1314, 1326, 1349, 1214, - 1346, 1216, 1217, 1206, 1338, 1361, 1215, 1360, - 1358, 1359, 1350, 1218, 1227, 1228, 1229, 1362, - 1370, 1371, 1372, 1373, 1505, 1504, 1457, 1458, - 1481, 1469, 1470, 1493, 1480, 1491, 1492, 1482, - 1494, 1503, 1456, 1467, 1468, 1479, 1516, 1506, - 1517, 1490, 1502, 1514, 1515, 1637, 1648, 1649, - 1601, 1624, 1614, 1625, 1635, 1636, 1626, 1638, - 1647, 1600, 1611, 1612, 1623, 1613, 1602, 1660, - 1650, 1661, 1634, 1646, 1658, 1659, 1194, 1206, - 1326, 1338, 1183, 1195, 1315, 1327, 1350, 1339, - 1207, 1184, 1196, 1316, 1328, 1351, 1340, 1208, - 1185, 1197, 1317, 1329, 1352, 1218, 1219, 1220, - 1209, 1341, 1362, 1363, 1364, 1494, 1353, 1496, - 1221, 1230, 1231, 1375, 1232, 1365, 1376, 1374, - 1506, 1507, 1508, 1482, 1483, 1461, 1471, 1484, - 1472, 1495, 1473, 1485, 1497, 1470, 1459, 1460, - 1518, 1519, 1509, 1520, 1638, 1639, 1640, 1650, - 1651, 1652, 1641, 1626, 1627, 1605, 1615, 1628, - 1616, 1617, 1629, 1614, 1603, 1604, 1662, 1663, - 1653, 1664, 1197, 1209, 1329, 1341, 1186, 1198, - 1318, 1330, 1353, 1210, 1342, 1187, 1199, 1319, - 1331, 1354, 1343, 1211, 1221, 1365, 1222, 1366, - 1355, 1498, 1223, 1367, 1233, 1234, 1377, 1509, - 1378, 1510, 1499, 1235, 1462, 1486, 1485, 1475, - 1474, 1497, 1487, 1379, 1511, 1473, 1463, 1521, - 1522, 1641, 1642, 1653, 1654, 1643, 1630, 1618, - 1619, 1629, 1631, 1523, 1655, 1617, 1606, 1607, - 1665, 1666, 1224, 1225, 1357, 1368, 1358, 1369, - 1226, 1359, 1370, 1227, 1360, 1371, 1236, 1237, - 1238, 1380, 1381, 1382, 1239, 1372, 1383, 1248, - 1249, 1250, 1392, 1393, 1394, 1251, 1384, 1395, - 1260, 1261, 1262, 1404, 1405, 1406, 1263, 1396, - 1501, 1502, 1503, 1512, 1513, 1514, 1515, 1524, - 1525, 1526, 1527, 1536, 1537, 1538, 1539, 1407, - 1504, 1516, 1528, 1548, 1549, 1550, 1540, 1645, - 1646, 1647, 1656, 1657, 1658, 1659, 1668, 1669, - 1670, 1671, 1680, 1681, 1682, 1683, 1551, 1648, - 1660, 1672, 1692, 1693, 1694, 1684, 1227, 1228, - 1360, 1370, 1371, 1372, 1361, 1229, 1240, 1373, - 1505, 1362, 1230, 1241, 1239, 1374, 1385, 1506, - 1517, 1382, 1383, 1384, 1516, 1252, 1242, 1253, - 1251, 1386, 1397, 1518, 1394, 1395, 1396, 1529, - 1528, 1264, 1254, 1265, 1263, 1398, 1409, 1530, - 1406, 1407, 1408, 1541, 1540, 1504, 1515, 1527, - 1539, 1552, 1542, 1553, 1514, 1526, 1538, 1550, - 1551, 1649, 1650, 1661, 1660, 1662, 1673, 1672, - 1674, 1685, 1684, 1648, 1659, 1671, 1683, 1696, - 1686, 1697, 1658, 1670, 1682, 1694, 1695, 1230, - 1362, 1374, 1506, 1363, 1231, 1242, 1375, 1507, - 1364, 1232, 1243, 1376, 1508, 1365, 1233, 1244, - 1386, 1387, 1377, 1388, 1509, 1518, 1519, 1520, - 1254, 1255, 1245, 1256, 1398, 1399, 1389, 1400, - 1521, 1532, 1530, 1531, 1266, 1267, 1257, 1268, - 1410, 1411, 1543, 1401, 1412, 1533, 1542, 1544, - 1554, 1555, 1545, 1556, 1650, 1651, 1652, 1662, - 1653, 1663, 1664, 1665, 1676, 1674, 1675, 1687, - 1677, 1688, 1686, 1698, 1699, 1689, 1700, 1233, - 1365, 1377, 1509, 1366, 1234, 1245, 1378, 1510, - 1367, 1235, 1246, 1379, 1511, 1389, 1521, 1390, - 1522, 1247, 1257, 1258, 1391, 1523, 1401, 1402, - 1533, 1534, 1259, 1269, 1270, 1403, 1535, 1413, - 1414, 1545, 1546, 1271, 1415, 1547, 1557, 1558, - 1653, 1654, 1655, 1665, 1666, 1667, 1677, 1678, - 1679, 1689, 1690, 1559, 1691, 1701, 1702, 1260, - 1261, 1393, 1404, 1394, 1405, 1262, 1395, 1406, - 1263, 1396, 1407, 1272, 1273, 1274, 1416, 1417, - 1418, 1275, 1408, 1419, 1284, 1285, 1286, 1428, - 1429, 1430, 1287, 1420, 1431, 1537, 1538, 1539, - 1548, 1549, 1550, 1551, 1560, 1561, 1562, 1563, - 1572, 1573, 1574, 1540, 1552, 1564, 1575, 1681, - 1682, 1683, 1692, 1693, 1694, 1695, 1704, 1705, - 1706, 1707, 1716, 1717, 1718, 1684, 1696, 1708, - 1719, 1263, 1264, 1396, 1406, 1407, 1408, 1397, - 1265, 1276, 1409, 1541, 1398, 1266, 1277, 1275, - 1410, 1421, 1542, 1418, 1419, 1420, 1553, 1552, - 1288, 1278, 1289, 1287, 1422, 1433, 1554, 1565, - 1430, 1431, 1432, 1564, 1290, 1540, 1551, 1563, - 1576, 1434, 1566, 1577, 1575, 1550, 1562, 1574, - 1685, 1686, 1696, 1697, 1698, 1709, 1708, 1684, - 1695, 1707, 1720, 1578, 1710, 1721, 1719, 1694, - 1706, 1718, 1266, 1398, 1410, 1542, 1399, 1267, - 1278, 1411, 1543, 1400, 1268, 1279, 1412, 1544, - 1401, 1269, 1280, 1422, 1554, 1423, 1413, 1424, - 1545, 1555, 1556, 1290, 1291, 1281, 1292, 1434, - 1435, 1425, 1436, 1557, 1566, 1567, 1568, 1293, - 1578, 1579, 1437, 1569, 1580, 1686, 1687, 1688, - 1698, 1699, 1689, 1700, 1710, 1701, 1711, 1712, - 1722, 1723, 1581, 1713, 1724, 1269, 1401, 1413, - 1545, 1402, 1270, 1281, 1414, 1546, 1403, 1271, - 1282, 1415, 1547, 1425, 1426, 1558, 1557, 1283, - 1293, 1294, 1427, 1559, 1437, 1569, 1438, 1570, - 1295, 1439, 1571, 1581, 1582, 1689, 1690, 1691, - 1702, 1701, 1703, 1713, 1714, 1583, 1715, 1725, - 1726, 1727, + 0, 14, 196, 1, 15, 197, 2, 16, + 198, 3, 210, 211, 17, 199, 212, 28, + 29, 30, 224, 43, 225, 31, 213, 226, + 42, 44, 238, 57, 239, 45, 58, 227, + 240, 394, 392, 393, 407, 395, 406, 408, + 409, 422, 420, 56, 421, 434, 253, 435, + 241, 254, 423, 436, 590, 588, 589, 603, + 591, 604, 602, 617, 605, 618, 616, 252, + 630, 449, 631, 437, 450, 619, 632, 785, + 786, 784, 798, 799, 787, 800, 813, 801, + 814, 812, 448, 3, 17, 199, 4, 5, + 18, 200, 6, 19, 201, 31, 213, 32, + 214, 20, 33, 202, 215, 45, 227, 228, + 34, 47, 216, 229, 46, 59, 241, 60, + 242, 48, 230, 243, 395, 396, 397, 409, + 410, 398, 411, 424, 412, 423, 425, 61, + 255, 437, 438, 244, 426, 439, 591, 592, + 593, 605, 606, 594, 607, 608, 619, 620, + 256, 621, 257, 633, 634, 440, 622, 635, + 787, 788, 789, 801, 790, 802, 803, 816, + 804, 815, 451, 452, 817, 453, 6, 20, + 202, 7, 216, 21, 203, 217, 399, 8, + 35, 204, 22, 218, 9, 36, 205, 400, + 34, 230, 231, 49, 232, 23, 48, 413, + 50, 219, 244, 245, 63, 246, 428, 37, + 62, 427, 64, 233, 398, 414, 412, 401, + 426, 415, 440, 441, 259, 260, 442, 51, + 595, 610, 609, 624, 258, 429, 594, 596, + 608, 597, 622, 623, 611, 636, 455, 637, + 456, 638, 247, 790, 791, 806, 818, 820, + 454, 625, 807, 805, 792, 804, 793, 819, + 832, 651, 833, 652, 834, 443, 9, 23, + 205, 219, 401, 10, 37, 24, 206, 220, + 11, 38, 207, 402, 25, 221, 12, 39, + 208, 403, 233, 415, 234, 416, 235, 26, + 53, 51, 52, 417, 222, 247, 248, 66, + 249, 40, 67, 404, 65, 429, 430, 431, + 236, 418, 261, 443, 444, 262, 445, 54, + 263, 597, 598, 599, 611, 612, 613, 600, + 625, 626, 627, 432, 614, 639, 457, 640, + 458, 641, 459, 793, 794, 795, 807, 808, + 809, 796, 823, 821, 822, 250, 628, 810, + 835, 653, 836, 654, 655, 837, 12, 26, + 208, 222, 13, 40, 209, 404, 27, 236, + 54, 418, 223, 41, 250, 68, 237, 55, + 405, 432, 419, 264, 446, 600, 628, 433, + 251, 614, 601, 615, 460, 642, 796, 810, + 797, 824, 629, 447, 811, 656, 838, 992, + 1006, 993, 1020, 825, 643, 1007, 852, 1034, + 1188, 1202, 1216, 1021, 839, 1189, 1203, 1230, + 1048, 1217, 1035, 1398, 1412, 1244, 29, 42, + 56, 225, 238, 43, 30, 57, 226, 239, + 44, 31, 45, 58, 227, 240, 70, 252, + 71, 253, 59, 72, 241, 254, 84, 266, + 85, 267, 73, 86, 255, 268, 280, 281, + 87, 269, 282, 421, 434, 422, 435, 423, + 436, 448, 449, 437, 450, 462, 463, 451, + 464, 476, 477, 283, 465, 478, 617, 630, + 618, 631, 619, 632, 644, 645, 633, 646, + 658, 647, 659, 660, 672, 673, 479, 661, + 674, 813, 826, 814, 827, 815, 828, 840, + 829, 841, 842, 843, 854, 855, 856, 32, + 45, 46, 59, 228, 241, 33, 47, 60, + 229, 242, 34, 61, 230, 243, 48, 73, + 255, 256, 62, 244, 257, 74, 75, 269, + 270, 76, 258, 271, 87, 88, 89, 283, + 284, 90, 272, 285, 424, 437, 425, 426, + 438, 439, 440, 451, 452, 453, 454, 465, + 466, 467, 479, 480, 286, 468, 481, 620, + 621, 622, 633, 634, 635, 636, 647, 648, + 649, 650, 663, 661, 662, 675, 676, 482, + 664, 677, 816, 829, 817, 818, 831, 830, + 844, 832, 843, 845, 857, 846, 859, 858, + 48, 62, 244, 35, 49, 217, 231, 258, + 413, 63, 245, 36, 218, 259, 50, 232, + 64, 246, 23, 37, 219, 260, 442, 51, + 233, 76, 77, 428, 78, 247, 272, 427, + 454, 273, 455, 274, 65, 429, 90, 91, + 92, 456, 261, 443, 286, 287, 469, 288, + 470, 79, 468, 275, 440, 441, 414, 415, + 457, 482, 105, 483, 484, 93, 106, 609, + 637, 638, 624, 651, 625, 650, 652, 665, + 639, 104, 664, 666, 471, 623, 636, 610, + 611, 653, 678, 301, 679, 680, 289, 302, + 833, 834, 820, 847, 821, 846, 848, 861, + 835, 300, 860, 862, 667, 805, 819, 832, + 806, 807, 849, 874, 875, 497, 876, 485, + 498, 37, 51, 233, 65, 247, 24, 38, + 220, 261, 443, 52, 234, 66, 248, 39, + 221, 262, 53, 80, 235, 417, 67, 249, + 40, 222, 263, 54, 81, 236, 418, 79, + 444, 445, 250, 275, 93, 430, 276, 94, + 431, 277, 68, 457, 458, 95, 264, 446, + 289, 290, 291, 473, 82, 471, 472, 109, + 278, 460, 429, 416, 432, 459, 107, 485, + 486, 108, 487, 612, 613, 639, 640, 628, + 626, 627, 655, 653, 654, 642, 669, 667, + 304, 96, 474, 625, 641, 614, 668, 656, + 303, 681, 682, 305, 683, 292, 808, 809, + 837, 835, 836, 824, 822, 850, 851, 849, + 838, 864, 865, 863, 500, 670, 821, 823, + 810, 852, 499, 877, 878, 879, 488, 501, + 40, 54, 236, 68, 250, 27, 41, 223, + 264, 446, 55, 237, 82, 251, 433, 69, + 278, 460, 96, 265, 447, 83, 292, 474, + 279, 97, 432, 419, 461, 488, 110, 642, + 629, 656, 643, 670, 475, 293, 628, 615, + 657, 684, 306, 838, 825, 852, 839, 866, + 671, 489, 824, 811, 853, 880, 502, 71, + 84, 85, 267, 280, 98, 72, 86, 268, + 281, 73, 269, 282, 87, 100, 476, 99, + 294, 477, 283, 295, 465, 478, 74, 88, + 101, 270, 296, 479, 490, 112, 491, 113, + 297, 492, 114, 308, 309, 102, 310, 493, + 115, 298, 504, 126, 505, 127, 311, 506, + 322, 323, 128, 116, 324, 507, 463, 464, + 284, 129, 312, 672, 673, 661, 674, 466, + 675, 686, 687, 688, 689, 494, 700, 701, + 702, 518, 519, 520, 703, 659, 660, 480, + 325, 508, 855, 868, 869, 857, 870, 662, + 871, 882, 883, 884, 885, 690, 896, 897, + 898, 714, 715, 716, 899, 856, 676, 521, + 704, 74, 87, 270, 283, 88, 101, 75, + 271, 284, 89, 102, 76, 272, 285, 90, + 100, 296, 466, 479, 297, 480, 103, 286, + 298, 481, 104, 299, 482, 114, 493, 115, + 494, 116, 300, 495, 310, 311, 312, 117, + 313, 496, 118, 128, 507, 129, 508, 130, + 314, 509, 131, 324, 325, 326, 327, 510, + 467, 468, 132, 492, 675, 676, 677, 678, + 689, 690, 691, 506, 692, 703, 704, 705, + 520, 521, 522, 523, 706, 662, 663, 664, + 328, 688, 871, 872, 873, 874, 885, 886, + 887, 702, 888, 899, 900, 901, 716, 717, + 718, 719, 902, 858, 859, 860, 524, 90, + 286, 77, 91, 104, 259, 273, 287, 64, + 78, 105, 260, 274, 456, 483, 92, 288, + 65, 79, 106, 261, 275, 457, 484, 93, + 103, 299, 482, 300, 301, 470, 302, 289, + 471, 496, 497, 119, 120, 498, 107, 485, + 117, 118, 315, 316, 303, 313, 314, 510, + 511, 121, 499, 512, 133, 134, 317, 131, + 132, 329, 330, 327, 328, 455, 469, 693, + 513, 652, 679, 653, 680, 495, 678, 666, + 667, 692, 694, 681, 509, 707, 695, 706, + 708, 523, 524, 525, 526, 651, 665, 889, + 890, 903, 709, 875, 848, 849, 876, 691, + 874, 861, 862, 863, 888, 877, 705, 891, + 902, 904, 719, 720, 721, 722, 847, 1085, + 905, 79, 93, 275, 289, 66, 80, 107, + 262, 276, 485, 94, 458, 290, 67, 81, + 108, 263, 277, 459, 486, 95, 291, 68, + 82, 109, 264, 278, 460, 487, 96, 303, + 304, 305, 292, 474, 472, 121, 499, 500, + 122, 501, 110, 123, 488, 317, 318, 319, + 306, 124, 502, 515, 513, 135, 514, 136, + 137, 320, 331, 332, 333, 471, 473, 696, + 697, 709, 710, 516, 681, 654, 655, 682, + 656, 683, 670, 695, 684, 698, 711, 527, + 528, 529, 667, 668, 669, 892, 893, 905, + 906, 712, 850, 877, 851, 878, 852, 879, + 864, 866, 891, 880, 894, 907, 723, 724, + 725, 863, 865, 1088, 1089, 1101, 1102, 908, + 82, 96, 278, 292, 69, 83, 110, 265, + 279, 461, 488, 97, 306, 293, 475, 111, + 489, 124, 502, 320, 307, 503, 125, 516, + 138, 321, 334, 517, 474, 699, 712, 139, + 657, 684, 671, 685, 698, 530, 713, 670, + 335, 853, 880, 881, 867, 894, 895, 908, + 726, 909, 866, 531, 1049, 1076, 1077, 1063, + 1090, 1091, 1104, 922, 1105, 1062, 727, 1245, + 1272, 1273, 1286, 1287, 1300, 1118, 1301, 1258, + 1259, 923, 1314, 1441, 1468, 1469, 1455, 1482, + 1483, 1496, 1119, 1497, 113, 126, 309, 114, + 127, 310, 322, 505, 115, 128, 311, 323, + 506, 116, 129, 312, 324, 507, 518, 140, + 519, 141, 325, 520, 336, 337, 142, 130, + 338, 521, 143, 326, 532, 154, 533, 155, + 339, 534, 350, 351, 156, 144, 352, 535, + 157, 340, 546, 168, 547, 169, 353, 548, + 170, 364, 365, 158, 366, 549, 171, 354, + 701, 702, 508, 703, 714, 715, 716, 717, + 522, 728, 729, 730, 731, 536, 742, 743, + 744, 560, 561, 562, 745, 367, 550, 897, + 898, 704, 899, 910, 911, 912, 913, 718, + 924, 925, 926, 927, 732, 938, 939, 940, + 756, 757, 758, 941, 563, 746, 116, 129, + 312, 117, 130, 313, 325, 508, 118, 131, + 314, 326, 509, 132, 327, 510, 142, 521, + 143, 522, 144, 328, 523, 145, 338, 339, + 340, 341, 524, 146, 156, 535, 157, 536, + 158, 342, 537, 159, 352, 353, 354, 355, + 538, 160, 170, 549, 171, 550, 172, 356, + 551, 366, 367, 368, 173, 369, 552, 174, + 704, 705, 706, 717, 718, 719, 534, 720, + 731, 732, 733, 548, 734, 745, 746, 747, + 562, 563, 564, 565, 748, 370, 900, 901, + 902, 913, 914, 915, 730, 916, 927, 928, + 929, 744, 930, 941, 942, 943, 758, 759, + 760, 761, 944, 566, 132, 119, 315, 328, + 133, 511, 120, 316, 329, 134, 512, 525, + 121, 317, 330, 513, 524, 147, 526, 135, + 148, 331, 145, 146, 343, 344, 341, 342, + 527, 538, 539, 161, 540, 149, 162, 345, + 159, 160, 357, 358, 355, 356, 552, 163, + 541, 554, 174, 553, 175, 176, 359, 173, + 371, 372, 369, 370, 722, 723, 735, 736, + 749, 555, 707, 708, 709, 720, 721, 537, + 734, 551, 737, 750, 748, 565, 566, 567, + 568, 903, 918, 919, 931, 932, 945, 751, + 904, 905, 916, 917, 733, 930, 747, 933, + 944, 946, 761, 762, 763, 764, 1101, 1114, + 1115, 1127, 1128, 1141, 947, 121, 135, 317, + 513, 122, 318, 331, 514, 136, 123, 319, + 332, 137, 515, 528, 124, 320, 333, 516, + 527, 149, 150, 529, 138, 151, 334, 345, + 346, 347, 541, 530, 163, 542, 164, 543, + 152, 165, 348, 359, 360, 361, 544, 555, + 177, 556, 178, 557, 166, 179, 362, 373, + 374, 375, 710, 712, 723, 725, 726, 738, + 739, 740, 751, 752, 753, 558, 709, 711, + 724, 737, 569, 570, 571, 906, 919, 922, + 935, 936, 948, 949, 754, 905, 907, 908, + 920, 921, 933, 934, 947, 765, 766, 767, + 1102, 1115, 1118, 1131, 1132, 1144, 1145, 950, + 124, 138, 320, 516, 125, 321, 334, 517, + 139, 530, 152, 335, 348, 531, 153, 544, + 166, 349, 362, 545, 167, 558, 180, 363, + 376, 559, 726, 727, 740, 181, 712, 713, + 741, 754, 572, 755, 922, 923, 936, 937, + 950, 377, 908, 909, 768, 951, 1105, 1118, + 1119, 1132, 573, 1104, 1133, 1146, 964, 1147, + 1301, 1314, 1315, 1328, 769, 1300, 1329, 1342, + 1160, 1343, 965, 1497, 1510, 1511, 1524, 1356, + 1496, 1525, 1538, 1161, 1539, 168, 351, 156, + 169, 352, 364, 547, 157, 170, 353, 365, + 548, 158, 171, 354, 366, 549, 560, 182, + 561, 183, 367, 562, 378, 379, 184, 172, + 380, 563, 185, 368, 574, 575, 381, 576, + 743, 744, 550, 745, 756, 757, 758, 759, + 564, 770, 771, 577, 772, 939, 940, 746, + 941, 952, 953, 954, 955, 760, 966, 967, + 773, 968, 171, 354, 159, 172, 355, 367, + 550, 160, 173, 356, 368, 551, 174, 369, + 552, 184, 563, 185, 564, 186, 370, 565, + 187, 380, 381, 382, 383, 566, 188, 577, + 578, 384, 579, 746, 747, 748, 759, 760, + 761, 576, 762, 773, 774, 580, 775, 942, + 943, 944, 955, 956, 957, 772, 958, 969, + 970, 776, 971, 1138, 1139, 1140, 1151, 1152, + 1153, 968, 1154, 1165, 1166, 972, 1167, 1334, + 1335, 1336, 1347, 1348, 1349, 1164, 1350, 1361, + 1362, 1168, 1363, 1360, 1530, 1531, 1532, 1543, + 1544, 1545, 1546, 1364, 174, 161, 357, 370, + 175, 553, 566, 162, 358, 371, 176, 554, + 567, 163, 359, 372, 555, 189, 568, 177, + 190, 373, 187, 188, 385, 386, 383, 384, + 569, 749, 751, 764, 580, 581, 582, 191, + 750, 763, 762, 579, 765, 945, 776, 777, + 778, 387, 946, 947, 958, 959, 960, 775, + 961, 1141, 972, 973, 974, 583, 1142, 1155, + 1143, 1154, 1156, 971, 1157, 1168, 1169, 1170, + 779, 1337, 1338, 1339, 1350, 1351, 1352, 1167, + 975, 1353, 1364, 1365, 1366, 1363, 1171, 1533, + 1534, 1547, 1535, 1546, 1548, 1549, 163, 177, + 359, 555, 164, 360, 373, 556, 178, 165, + 361, 374, 557, 179, 166, 362, 375, 180, + 558, 571, 569, 191, 570, 192, 193, 376, + 387, 388, 389, 584, 194, 572, 585, 752, + 753, 765, 766, 583, 751, 754, 767, 779, + 780, 768, 948, 949, 950, 961, 962, 963, + 781, 390, 947, 975, 976, 964, 1144, 1145, + 1157, 1158, 977, 586, 166, 180, 362, 558, + 167, 363, 376, 181, 559, 572, 194, 377, + 390, 573, 195, 586, 391, 754, 755, 768, + 769, 782, 587, 950, 951, 964, 965, 978, + 783, 1146, 1147, 1160, 1161, 1174, 979, 1342, + 1343, 1356, 1357, 1370, 1175, 1538, 1539, 1552, + 1553, 1371, 393, 406, 588, 602, 784, 589, + 394, 407, 603, 785, 590, 395, 408, 604, + 786, 591, 420, 798, 421, 799, 409, 422, + 605, 618, 787, 800, 616, 617, 434, 812, + 435, 631, 813, 423, 436, 619, 632, 801, + 814, 630, 448, 826, 449, 645, 827, 437, + 450, 633, 815, 828, 980, 981, 982, 994, + 995, 983, 996, 1008, 1009, 997, 644, 1010, + 646, 840, 1022, 1023, 829, 842, 1011, 1024, + 1176, 1177, 1178, 1190, 1191, 1179, 1192, 1204, + 1193, 1205, 841, 1206, 1218, 1219, 1025, 1038, + 1207, 1220, 1036, 1037, 396, 409, 591, 592, + 605, 787, 397, 410, 593, 606, 788, 398, + 411, 607, 789, 594, 423, 619, 801, 424, + 802, 412, 425, 608, 790, 803, 620, 621, + 437, 815, 438, 816, 426, 439, 622, 804, + 817, 633, 634, 635, 451, 829, 452, 830, + 440, 453, 636, 818, 831, 983, 984, 985, + 986, 997, 998, 999, 1012, 1000, 1013, 1011, + 647, 648, 649, 1025, 844, 1026, 832, 845, + 1014, 1027, 1179, 1180, 1181, 1182, 1193, 1194, + 1195, 1208, 1196, 1209, 1207, 843, 1039, 1221, + 1040, 1222, 1028, 1041, 1210, 1223, 412, 594, + 608, 790, 230, 399, 426, 595, 804, 986, + 413, 609, 791, 427, 805, 204, 400, 596, + 623, 414, 610, 792, 232, 428, 806, 988, + 205, 401, 597, 624, 622, 218, 219, 415, + 793, 244, 440, 818, 1000, 245, 441, 819, + 246, 442, 820, 1002, 611, 636, 637, 638, + 233, 429, 807, 989, 454, 832, 259, 455, + 833, 1015, 260, 456, 834, 1016, 625, 258, + 650, 651, 652, 247, 443, 821, 987, 1001, + 1014, 1003, 1028, 1029, 847, 1030, 639, 848, + 1182, 1183, 1184, 1198, 1196, 1211, 1185, 846, + 1212, 1017, 1197, 1210, 1199, 1224, 1043, 1225, + 1226, 835, 1044, 1042, 1213, 1379, 1394, 1393, + 1408, 1239, 1031, 1240, 401, 597, 415, 611, + 793, 233, 429, 807, 989, 206, 402, 598, + 625, 416, 612, 794, 430, 808, 207, 234, + 403, 599, 626, 990, 417, 613, 795, 431, + 809, 208, 404, 600, 627, 220, 235, 991, + 418, 796, 247, 443, 821, 1003, 444, 822, + 640, 445, 823, 222, 614, 639, 248, 1004, + 249, 641, 236, 432, 810, 992, 457, 835, + 653, 458, 836, 654, 263, 459, 837, 1019, + 628, 261, 1017, 262, 1018, 655, 250, 446, + 824, 1006, 1005, 1031, 849, 850, 1032, 851, + 1033, 1186, 1185, 1199, 1200, 1201, 1188, 1215, + 1213, 642, 1020, 1202, 1187, 1214, 1227, 1045, + 1046, 1228, 1047, 1229, 838, 1216, 1381, 1382, + 1383, 1395, 1396, 1397, 1409, 1241, 1242, 1410, + 1034, 1243, 1398, 435, 448, 617, 630, 631, + 644, 813, 826, 436, 449, 618, 632, 645, + 814, 827, 437, 450, 619, 646, 815, 828, + 633, 462, 658, 840, 463, 841, 451, 464, + 647, 829, 842, 659, 660, 476, 854, 477, + 855, 465, 478, 661, 843, 856, 672, 673, + 674, 868, 869, 479, 675, 857, 870, 1009, + 1022, 1010, 1011, 1023, 1024, 1025, 1036, 1037, + 1038, 1039, 1050, 1051, 1052, 1064, 1065, 871, + 1053, 1066, 1205, 1206, 1207, 1218, 1219, 1220, + 1221, 1232, 1233, 1234, 1235, 1248, 1246, 1247, + 1260, 1261, 1067, 1249, 1262, 438, 451, 620, + 633, 647, 816, 829, 634, 439, 452, 621, + 648, 817, 830, 635, 440, 453, 622, 649, + 818, 831, 636, 465, 843, 466, 844, 454, + 467, 650, 832, 845, 661, 662, 663, 479, + 857, 480, 858, 468, 481, 664, 846, 859, + 675, 676, 677, 871, 872, 482, 678, 860, + 873, 1012, 1025, 1013, 1026, 1014, 1027, 1039, + 1040, 1028, 1041, 1053, 1054, 1042, 1055, 1067, + 1068, 874, 1056, 1069, 1208, 1221, 1209, 1222, + 1210, 1223, 1235, 1236, 1224, 1237, 1249, 1250, + 1238, 1251, 1263, 1264, 1070, 1252, 1265, 454, + 636, 650, 832, 427, 441, 468, 623, 637, + 805, 819, 846, 455, 651, 833, 273, 428, + 469, 610, 624, 806, 847, 1029, 442, 638, + 820, 456, 652, 834, 274, 429, 470, 611, + 625, 807, 848, 1030, 443, 639, 821, 664, + 665, 260, 1016, 666, 457, 835, 482, 860, + 287, 483, 861, 1043, 484, 862, 653, 680, + 1017, 678, 1042, 679, 288, 1044, 471, 849, + 874, 875, 1057, 876, 667, 1031, 300, 496, + 1056, 497, 302, 498, 1058, 485, 863, 1001, + 1015, 1028, 1002, 1003, 1045, 1070, 1071, 693, + 1072, 681, 694, 1225, 1226, 1212, 1213, 1238, + 1239, 1240, 1253, 1227, 692, 1254, 1059, 1197, + 1211, 1224, 1198, 1199, 1252, 1241, 1266, 1267, + 889, 1268, 877, 890, 888, 1086, 1255, 1421, + 1422, 1408, 1409, 1435, 1436, 1434, 1449, 1423, + 1084, 1448, 1085, 1450, 1073, 443, 625, 639, + 821, 457, 653, 835, 430, 471, 626, 808, + 849, 248, 444, 640, 667, 822, 1004, 458, + 654, 836, 431, 472, 627, 809, 850, 445, + 641, 823, 459, 655, 837, 277, 432, 473, + 614, 628, 810, 851, 1033, 446, 642, 824, + 275, 1031, 276, 668, 1019, 669, 264, 460, + 838, 1020, 485, 863, 262, 681, 1018, 290, + 486, 864, 1046, 291, 487, 865, 1047, 656, + 289, 1045, 682, 683, 278, 474, 852, 1034, + 877, 878, 1060, 879, 1061, 670, 303, 499, + 500, 696, 501, 488, 866, 1017, 1032, 1005, + 1006, 1059, 1048, 695, 1073, 1074, 1075, 684, + 697, 1200, 1201, 1229, 1202, 1227, 1228, 1215, + 1216, 1242, 1243, 1256, 1230, 1255, 1257, 1062, + 1213, 1214, 1241, 1244, 891, 1269, 1270, 892, + 1271, 880, 893, 1258, 1396, 1425, 1423, 1424, + 1412, 1410, 1439, 1437, 1426, 1452, 1453, 1087, + 1451, 1088, 1089, 446, 628, 642, 824, 460, + 656, 838, 278, 433, 474, 615, 629, 811, + 852, 1034, 447, 643, 825, 670, 461, 839, + 657, 488, 866, 684, 1021, 292, 1048, 475, + 853, 671, 880, 1035, 306, 502, 1062, 489, + 867, 685, 1020, 1007, 1049, 1076, 698, 1230, + 1217, 1244, 1063, 881, 1216, 1203, 1231, 1258, + 1245, 894, 1272, 1090, 1259, 1077, 1426, 1413, + 1440, 1427, 1454, 477, 659, 672, 855, 868, + 490, 673, 686, 478, 660, 856, 869, 491, + 674, 687, 479, 661, 857, 870, 492, 675, + 294, 1064, 295, 882, 1052, 1065, 296, 688, + 871, 883, 1066, 297, 480, 493, 676, 689, + 858, 884, 1067, 308, 504, 1078, 309, 505, + 700, 1079, 310, 506, 701, 885, 1080, 896, + 897, 702, 311, 494, 507, 690, 898, 1081, + 703, 886, 322, 518, 1092, 323, 519, 714, + 1093, 324, 520, 715, 899, 1094, 910, 911, + 716, 325, 508, 521, 704, 912, 1095, 1051, + 1053, 872, 717, 900, 1260, 1261, 1262, 1054, + 1263, 1274, 1275, 1276, 1277, 1082, 1288, 1289, + 1290, 1106, 1107, 1108, 1291, 1247, 1248, 1249, + 1068, 913, 1096, 1250, 1278, 1302, 1303, 1304, + 1443, 1456, 1457, 1445, 1458, 1264, 1459, 1470, + 1471, 1472, 1473, 1484, 1485, 1486, 1109, 1292, + 1487, 480, 662, 675, 858, 871, 493, 676, + 689, 481, 663, 859, 872, 494, 677, 690, + 482, 664, 860, 873, 495, 678, 297, 688, + 884, 1067, 298, 885, 1068, 299, 691, 874, + 886, 1069, 300, 496, 692, 887, 1070, 311, + 506, 507, 702, 1081, 312, 508, 703, 1082, + 313, 509, 704, 888, 1083, 898, 899, 900, + 705, 314, 510, 901, 1084, 706, 325, 520, + 521, 716, 1095, 326, 522, 717, 1096, 327, + 523, 718, 902, 1097, 719, 912, 913, 914, + 328, 524, 915, 1098, 1054, 1055, 1056, 720, + 1080, 1263, 1264, 1265, 1266, 1277, 1278, 1279, + 1094, 1280, 1291, 1292, 1293, 1108, 1109, 1110, + 1111, 1294, 1250, 1251, 1252, 916, 1276, 1290, + 1304, 1305, 1306, 1307, 1459, 1460, 1461, 1462, + 1473, 1474, 1475, 1476, 1487, 1488, 1489, 1112, + 1490, 678, 874, 469, 483, 496, 665, 679, + 692, 847, 861, 875, 301, 470, 484, 497, + 652, 666, 693, 848, 862, 1044, 1071, 288, + 680, 876, 289, 302, 471, 485, 498, 653, + 667, 694, 849, 863, 1045, 1072, 681, 300, + 691, 887, 1070, 888, 889, 890, 877, 1058, + 499, 314, 510, 1084, 315, 511, 1085, 707, + 303, 316, 512, 708, 1086, 695, 1073, 509, + 705, 706, 891, 901, 902, 903, 904, 525, + 317, 513, 526, 1087, 328, 524, 1098, 329, + 721, 1099, 330, 1100, 709, 722, 523, 719, + 720, 905, 915, 916, 917, 918, 1043, 1057, + 1059, 1281, 1101, 1239, 1267, 1240, 1241, 1268, + 1083, 1266, 1254, 1255, 1280, 1282, 1269, 1097, + 1283, 1294, 1295, 1296, 1111, 1112, 1113, 1114, + 1253, 1297, 1279, 1477, 1293, 1307, 1308, 1309, + 1310, 1436, 1463, 1437, 1464, 1462, 1450, 1476, + 1451, 1478, 1465, 1491, 1479, 1490, 1492, 485, + 667, 681, 863, 877, 290, 303, 472, 486, + 499, 654, 668, 695, 850, 864, 1046, 1073, + 682, 878, 291, 304, 473, 487, 500, 655, + 669, 696, 851, 865, 1047, 1074, 683, 879, + 305, 474, 488, 501, 656, 670, 697, 852, + 866, 1075, 292, 684, 1048, 891, 1060, 892, + 893, 880, 306, 502, 1062, 317, 513, 1087, + 709, 318, 514, 1061, 1088, 710, 319, 515, + 711, 1089, 698, 1076, 894, 905, 906, 907, + 527, 332, 528, 1102, 320, 333, 516, 529, + 712, 1090, 1103, 331, 1101, 723, 724, 725, + 908, 919, 920, 921, 1059, 1284, 1285, 1297, + 1298, 1104, 1242, 1269, 1243, 1270, 1271, 1244, + 1256, 1283, 1257, 1272, 1286, 1299, 1115, 1116, + 1117, 1255, 1258, 1300, 1480, 1493, 1311, 1312, + 1313, 1465, 1439, 1466, 1467, 1440, 1452, 1454, + 1479, 1481, 1468, 1494, 1482, 1495, 518, 701, + 714, 897, 323, 519, 702, 715, 898, 910, + 1093, 324, 520, 703, 716, 899, 911, 1094, + 325, 521, 704, 717, 900, 912, 1095, 336, + 532, 1106, 337, 533, 728, 1107, 338, 534, + 729, 913, 1108, 730, 924, 925, 339, 522, + 535, 718, 926, 1109, 731, 914, 350, 546, + 1120, 351, 547, 742, 1121, 743, 352, 548, + 927, 1122, 744, 938, 939, 353, 536, 549, + 732, 940, 1123, 745, 928, 364, 560, 1134, + 756, 365, 561, 1135, 366, 562, 757, 941, + 1136, 952, 953, 758, 367, 550, 563, 746, + 954, 1137, 759, 942, 1289, 1290, 1096, 1291, + 1302, 1303, 1304, 1305, 1110, 1316, 1317, 1318, + 1319, 1124, 1330, 1331, 1332, 1148, 1149, 1150, + 1333, 955, 1138, 1292, 1306, 1320, 1344, 1345, + 1346, 1485, 1486, 1487, 1498, 1499, 1500, 1501, + 1512, 1513, 1514, 1515, 1526, 1527, 1528, 1151, + 1334, 1529, 521, 704, 717, 900, 326, 522, + 705, 718, 901, 913, 1096, 327, 523, 706, + 719, 902, 914, 1097, 328, 524, 720, 915, + 1098, 339, 534, 535, 730, 1109, 731, 340, + 536, 1110, 732, 341, 537, 916, 1111, 926, + 927, 928, 733, 342, 538, 929, 1112, 734, + 353, 548, 549, 744, 1123, 354, 550, 745, + 1124, 355, 551, 746, 930, 1125, 940, 941, + 942, 747, 356, 552, 943, 1126, 748, 367, + 562, 563, 758, 1137, 368, 564, 759, 1138, + 369, 565, 760, 944, 1139, 954, 955, 956, + 761, 370, 566, 957, 1140, 762, 1292, 1293, + 1294, 1305, 1306, 1307, 1122, 1308, 1319, 1320, + 1321, 1136, 1322, 1333, 1334, 1335, 1150, 1151, + 1152, 1153, 1336, 958, 1318, 1332, 1346, 1347, + 1348, 1349, 1488, 1489, 1490, 1501, 1502, 1503, + 1504, 1515, 1516, 1517, 1518, 1529, 1530, 1531, + 1154, 1532, 524, 720, 525, 707, 903, 916, + 329, 721, 1099, 708, 904, 917, 330, 526, + 539, 1100, 722, 709, 905, 918, 331, 527, + 540, 1101, 342, 538, 1112, 343, 1113, 735, + 344, 1114, 723, 736, 537, 733, 734, 919, + 929, 930, 931, 932, 553, 345, 358, 541, + 554, 737, 1115, 1128, 356, 552, 1126, 357, + 1127, 749, 750, 551, 747, 748, 933, 943, + 944, 945, 946, 371, 567, 1141, 359, 372, + 555, 568, 751, 1129, 1142, 370, 566, 1140, + 763, 764, 565, 761, 762, 947, 957, 958, + 959, 960, 1297, 1310, 1311, 1323, 1324, 1337, + 1143, 1295, 1296, 1308, 1309, 1125, 1322, 1139, + 1325, 1336, 1338, 1153, 1154, 1155, 1156, 1339, + 1506, 1321, 1519, 1335, 1349, 1350, 1351, 1352, + 1491, 1492, 1493, 1504, 1505, 1507, 1520, 1518, + 1533, 1521, 1534, 1532, 331, 527, 723, 905, + 1101, 710, 906, 919, 332, 345, 528, 541, + 724, 1102, 1115, 711, 907, 920, 333, 346, + 529, 542, 725, 1103, 1116, 712, 908, 921, + 334, 530, 543, 1104, 737, 738, 347, 1117, + 726, 739, 922, 933, 934, 935, 359, 555, + 1129, 556, 348, 544, 557, 1118, 751, 360, + 1130, 752, 361, 1131, 740, 753, 936, 947, + 948, 949, 569, 570, 362, 558, 571, 1132, + 1145, 373, 1143, 765, 374, 1144, 766, 375, + 754, 767, 950, 961, 962, 963, 1298, 1311, + 1314, 1327, 1328, 1340, 1341, 1146, 1297, 1299, + 1300, 1312, 1313, 1325, 1326, 1339, 1157, 1158, + 1159, 1342, 1510, 1523, 1524, 1536, 1537, 1353, + 1354, 1355, 1493, 1494, 1507, 1495, 1508, 1496, + 1509, 1521, 1522, 1535, 560, 756, 939, 365, + 561, 744, 757, 940, 952, 1135, 366, 562, + 745, 758, 941, 953, 1136, 367, 563, 746, + 759, 942, 954, 1137, 378, 574, 1148, 379, + 575, 770, 1149, 380, 576, 771, 955, 1150, + 966, 967, 772, 381, 564, 577, 760, 968, + 1151, 773, 956, 1162, 1163, 969, 1164, 1331, + 1332, 1138, 1333, 1344, 1345, 1346, 1347, 1152, + 1358, 1359, 1165, 1360, 1334, 1348, 1527, 1528, + 1529, 1540, 1541, 1542, 1543, 1361, 373, 569, + 765, 947, 1143, 752, 948, 961, 374, 570, + 583, 1144, 766, 753, 949, 962, 375, 571, + 584, 1145, 1158, 767, 754, 950, 963, 376, + 572, 585, 768, 1146, 387, 1157, 779, 388, + 780, 389, 781, 1159, 964, 975, 976, 977, + 1171, 390, 586, 1160, 1340, 1341, 1353, 1354, + 1172, 1173, 782, 1339, 1342, 1355, 1367, 1356, + 1368, 1369, 978, 1536, 1537, 1549, 1550, 1174, + 1535, 1538, 1551, 1563, 1564, 1552, 981, 994, + 1176, 1177, 1190, 982, 995, 1178, 1191, 983, + 996, 1192, 1179, 1374, 1372, 1008, 1204, 1373, + 1009, 997, 1010, 1193, 1205, 1387, 1206, 1375, + 1388, 1386, 1022, 1023, 1011, 1024, 1207, 1218, + 1400, 1219, 1401, 1220, 1389, 1036, 1037, 1402, + 1025, 1038, 1221, 1234, 984, 1180, 1194, 1376, + 1232, 1414, 1233, 1415, 1208, 1390, 1403, 1416, + 1428, 1429, 1417, 1568, 1569, 1570, 1582, 1583, + 1571, 1584, 1596, 1597, 1585, 1598, 1610, 1611, + 1404, 1430, 1599, 1612, 1572, 1586, 1624, 1625, + 1613, 1626, 1764, 1765, 1766, 1778, 1779, 1767, + 1780, 1792, 1793, 1781, 1794, 1806, 1807, 1600, + 1795, 1808, 1768, 1782, 984, 997, 1179, 1193, + 1180, 1375, 985, 998, 1194, 1181, 1376, 986, + 999, 1182, 1195, 1011, 1207, 1012, 1208, 1377, + 1000, 1013, 1196, 1209, 1389, 1378, 1025, 1221, + 1390, 1026, 1391, 1014, 1027, 1210, 1223, 1222, + 1392, 1403, 1039, 1235, 1404, 1040, 1236, 1405, + 1028, 1041, 1224, 1237, 1010, 1192, 1206, 1388, + 1220, 1402, 1234, 1416, 1417, 1418, 1406, 1419, + 1430, 1431, 1432, 1420, 1571, 1572, 1573, 1585, + 1586, 1574, 1587, 1599, 1600, 1588, 1601, 1613, + 1614, 1433, 1602, 1615, 1584, 1598, 1612, 1626, + 1627, 1628, 1616, 1629, 1767, 1768, 1769, 1781, + 1782, 1770, 1783, 1795, 1796, 1784, 1797, 1809, + 1810, 1798, 1811, 1780, 1794, 1808, 1000, 1182, + 1196, 987, 1014, 1183, 1378, 1001, 1197, 819, + 1015, 1379, 792, 988, 1184, 1211, 1393, 1002, + 1198, 1016, 1380, 793, 820, 989, 1185, 1212, + 1394, 805, 1210, 1392, 1003, 1028, 1029, 1225, + 1030, 1199, 1226, 1381, 832, 1224, 1406, 1407, + 834, 1408, 1017, 1042, 1043, 1239, 1044, 821, + 1213, 1240, 1395, 1238, 1420, 847, 1421, 848, + 1422, 1031, 1195, 1209, 1391, 1223, 1405, 1237, + 1419, 1227, 1409, 1433, 1435, 1253, 1436, 1254, + 1574, 1575, 1576, 1588, 1590, 1577, 1603, 1604, + 1434, 1589, 1602, 1617, 1591, 1618, 1616, 1423, + 1587, 1601, 1615, 1449, 1631, 1450, 1605, 1632, + 1629, 1771, 1772, 1770, 1784, 1785, 1786, 1799, + 1773, 1630, 1800, 1798, 1813, 1787, 1814, 1812, + 1619, 1783, 1797, 1811, 1645, 1827, 1646, 1801, + 1828, 989, 1185, 1003, 1199, 1017, 1381, 794, + 821, 990, 1186, 1213, 1395, 1004, 1200, 1018, + 1382, 795, 991, 1187, 1214, 1396, 1005, 1201, + 823, 1019, 1383, 796, 992, 1188, 1215, 1397, + 809, 810, 1006, 1031, 836, 1032, 837, 1033, + 1202, 1229, 1384, 1227, 1409, 1228, 1410, 1411, + 1020, 1045, 850, 1046, 1242, 1047, 824, 1216, + 1243, 1398, 1241, 1423, 1424, 851, 1425, 1034, + 1230, 1412, 1059, 1255, 1437, 1256, 1438, 1439, + 1257, 1577, 1578, 1579, 1591, 1592, 1580, 1607, + 1605, 1594, 1593, 1606, 1619, 1620, 1621, 1451, + 1633, 1452, 1634, 1426, 1453, 1608, 1635, 1773, + 1774, 1775, 1788, 1787, 1789, 1802, 1776, 1803, + 1801, 1815, 1816, 1790, 1817, 1622, 1647, 1829, + 1648, 1830, 1649, 1804, 1831, 992, 1188, 1006, + 1202, 1020, 1384, 797, 824, 993, 1189, 1216, + 1398, 1007, 1203, 1034, 811, 1230, 1385, 838, + 1412, 1021, 1217, 1048, 1244, 1399, 852, 1426, + 1035, 1231, 1413, 1062, 1258, 1440, 1580, 1594, + 1608, 1427, 1581, 1595, 1622, 1609, 1454, 1636, + 1776, 1790, 1777, 1804, 1623, 1791, 1818, 1805, + 1650, 1832, 1023, 1036, 1205, 1218, 1232, 1219, + 1401, 1414, 1024, 1037, 1206, 1233, 1220, 1402, + 1415, 1025, 1038, 1207, 1221, 1234, 1403, 1050, + 1051, 1416, 1039, 1052, 1235, 1248, 1246, 1428, + 1247, 1417, 1064, 1260, 1429, 1065, 1261, 1430, + 1053, 1066, 1249, 1262, 1431, 1442, 1443, 1444, + 1067, 1263, 1387, 1400, 1388, 1389, 1208, 1222, + 1404, 1236, 1418, 1456, 1457, 1078, 1079, 1080, + 1250, 1432, 1445, 1458, 1390, 1274, 1275, 1459, + 1583, 1596, 1597, 1610, 1584, 1598, 1611, 1585, + 1599, 1612, 1624, 1625, 1613, 1626, 1638, 1639, + 1627, 1640, 1652, 1471, 1653, 1446, 1641, 1654, + 1586, 1600, 1614, 1470, 1472, 1628, 1655, 1779, + 1792, 1793, 1806, 1780, 1794, 1807, 1781, 1795, + 1808, 1820, 1821, 1809, 1822, 1834, 1835, 1823, + 1836, 1848, 1849, 1642, 1837, 1850, 1782, 1796, + 1810, 1666, 1667, 1668, 1824, 1026, 1039, 1208, + 1221, 1222, 1235, 1404, 1027, 1040, 1209, 1223, + 1236, 1405, 1028, 1041, 1210, 1224, 1237, 1406, + 1417, 1053, 1249, 1418, 1054, 1250, 1419, 1042, + 1055, 1238, 1251, 1420, 1431, 1067, 1263, 1432, + 1068, 1264, 1433, 1056, 1069, 1252, 1265, 1434, + 1447, 1445, 1446, 1070, 1266, 1234, 1248, 1390, + 1403, 1430, 1391, 1392, 1262, 1444, 1458, 1459, + 1460, 1081, 1277, 1082, 1083, 1279, 1448, 1461, + 1276, 1278, 1462, 1586, 1599, 1600, 1613, 1587, + 1601, 1614, 1588, 1602, 1615, 1627, 1628, 1616, + 1629, 1641, 1642, 1630, 1643, 1655, 1656, 1644, + 1657, 1626, 1640, 1654, 1472, 1473, 1474, 1475, + 1658, 1782, 1795, 1796, 1809, 1783, 1797, 1810, + 1784, 1798, 1811, 1823, 1824, 1812, 1825, 1837, + 1838, 1826, 1839, 1669, 1851, 1852, 1671, 1840, + 1853, 1822, 1836, 1850, 1668, 1670, 1042, 1224, + 1238, 1015, 1029, 1056, 1211, 1225, 1393, 1407, + 1420, 1043, 1239, 1016, 1057, 1212, 1421, 834, + 1030, 1226, 1253, 1394, 1408, 1044, 1240, 1017, + 1058, 1213, 1422, 1031, 1227, 1395, 1409, 1252, + 1434, 861, 1435, 1254, 1436, 1045, 847, 874, + 1070, 1071, 848, 1267, 1072, 1241, 1423, 1266, + 1448, 875, 1449, 1268, 1450, 863, 1059, 1255, + 1437, 1084, 1462, 1085, 1463, 1086, 1464, 877, + 1073, 1282, 1237, 1251, 1406, 1433, 1265, 1447, + 1461, 1280, 1281, 890, 1269, 1451, 1279, 1617, + 1618, 1604, 1631, 1605, 1630, 1632, 1645, 1619, + 1644, 1646, 1602, 1616, 1589, 1603, 1590, 1591, + 1659, 1633, 1660, 1658, 1476, 1477, 1478, 1629, + 1643, 1657, 1475, 1465, 1647, 1673, 1786, 1813, + 1814, 1800, 1827, 1842, 1841, 1674, 1798, 1812, + 1785, 1799, 1787, 1801, 1828, 1826, 1815, 1840, + 1855, 1829, 1856, 1672, 1854, 1661, 1825, 1839, + 1853, 1671, 1843, 1031, 1213, 1227, 1409, 1045, + 1241, 863, 1018, 1059, 1200, 1214, 1396, 1423, + 1032, 1228, 1410, 1046, 1242, 864, 1019, 1060, + 1201, 1215, 1397, 1424, 837, 1033, 1229, 1256, + 1411, 1047, 1243, 1020, 1061, 1216, 1425, 838, + 1034, 1230, 1257, 1398, 1412, 1255, 1437, 850, + 1438, 865, 1439, 1048, 877, 1073, 1269, 1074, + 1270, 1075, 852, 1244, 1271, 1426, 1451, 878, + 1452, 879, 1453, 1062, 1258, 1440, 891, 1087, + 1465, 892, 1088, 1466, 1089, 1467, 880, 1076, + 1285, 1283, 1284, 893, 1454, 1272, 1592, 1621, + 1619, 1607, 1608, 1634, 1635, 1622, 1648, 1649, + 1605, 1606, 1633, 1620, 1593, 1594, 1647, 1479, + 1661, 1662, 1636, 1663, 1480, 1481, 1468, 1650, + 1677, 1815, 1789, 1790, 1802, 1816, 1817, 1829, + 1803, 1804, 1830, 1831, 1818, 1843, 1844, 1845, + 1801, 1788, 1857, 1858, 1832, 1859, 1675, 1676, + 1664, 1846, 1034, 1216, 1230, 1412, 1048, 1244, + 1021, 1062, 1217, 1426, 1035, 1231, 1399, 1413, + 1258, 1440, 853, 1049, 1245, 880, 1076, 1427, + 1272, 1454, 867, 1063, 1259, 1441, 1090, 1468, + 881, 1077, 1286, 1273, 894, 1455, 1622, 1609, + 1636, 1623, 1650, 1469, 1608, 1595, 1637, 1664, + 1482, 1651, 1818, 1846, 1678, 1665, 1804, 1791, + 1805, 1832, 1819, 1833, 1860, 1847, 1065, 1247, + 1260, 1261, 1078, 1443, 1066, 1248, 1262, 1079, + 1444, 1067, 1249, 1263, 1080, 1445, 882, 1274, + 1456, 883, 1275, 1457, 884, 1276, 1458, 1470, + 1471, 885, 1068, 1081, 1264, 1277, 1459, 1472, + 896, 1092, 897, 1093, 1288, 898, 1094, 1289, + 1290, 1473, 899, 1082, 1095, 1278, 1484, 1485, + 1291, 1486, 910, 1106, 911, 1107, 1302, 1303, + 912, 1108, 1304, 1487, 913, 1096, 1109, 1292, + 1429, 1442, 1430, 1431, 1250, 1446, 1460, 1474, + 1498, 1499, 1305, 1500, 1432, 1488, 1639, 1652, + 1640, 1653, 1641, 1654, 1655, 1666, 1667, 1668, + 1669, 1680, 1681, 1682, 1683, 1625, 1638, 1626, + 1627, 1656, 1501, 1628, 1642, 1670, 1694, 1695, + 1696, 1684, 1848, 1849, 1850, 1851, 1862, 1863, + 1864, 1865, 1876, 1877, 1878, 1879, 1821, 1834, + 1835, 1822, 1836, 1823, 1837, 1697, 1824, 1838, + 1852, 1866, 1890, 1891, 1892, 1068, 1250, 1263, + 1264, 1081, 1277, 1446, 1069, 1251, 1082, 1265, + 1278, 1447, 1460, 1070, 1252, 1083, 1266, 1279, + 1448, 1461, 885, 1276, 1459, 886, 887, 1473, + 1474, 888, 1084, 1280, 1462, 1475, 899, 1094, + 1095, 1290, 1291, 900, 1096, 1292, 901, 1097, + 1293, 1476, 902, 1098, 1487, 1488, 1294, 1489, + 913, 1108, 1109, 1304, 1305, 914, 1110, 915, + 1111, 1306, 1307, 1490, 916, 1112, 1432, 1445, + 1433, 1434, 1472, 1486, 1500, 1501, 1502, 1308, + 1503, 1642, 1655, 1643, 1656, 1657, 1658, 1669, + 1670, 1671, 1672, 1683, 1684, 1685, 1686, 1628, + 1641, 1629, 1630, 1644, 1504, 1668, 1682, 1696, + 1697, 1698, 1699, 1851, 1839, 1852, 1853, 1854, + 1865, 1866, 1867, 1868, 1879, 1880, 1881, 1882, + 1824, 1837, 1838, 1825, 1826, 1840, 1700, 1864, + 1878, 1892, 1893, 1894, 1895, 1266, 875, 888, + 1057, 1071, 1084, 1253, 1267, 1280, 1435, 1449, + 1462, 876, 889, 1058, 1072, 1085, 1240, 1254, + 1281, 1436, 1463, 1268, 1450, 877, 890, 1059, + 1073, 1086, 1241, 1255, 1282, 1437, 1464, 1269, + 1451, 1279, 1476, 1477, 1478, 891, 1087, 1465, + 902, 1098, 1293, 1294, 903, 1099, 1295, 904, + 1100, 1296, 1283, 1097, 1490, 1479, 1491, 917, + 1113, 1309, 1492, 905, 918, 1101, 1114, 1297, + 916, 1112, 1307, 1308, 1310, 1111, 1504, 1493, + 1448, 1475, 1489, 1503, 1505, 1506, 1659, 1660, + 1673, 1661, 1632, 1645, 1633, 1646, 1631, 1644, + 1658, 1672, 1647, 1674, 1686, 1687, 1675, 1688, + 1700, 1701, 1689, 1702, 1671, 1685, 1699, 1856, + 1869, 1870, 1868, 1871, 1883, 1884, 1882, 1827, + 1828, 1841, 1855, 1829, 1842, 1840, 1854, 1843, + 1857, 1896, 1897, 1885, 1898, 1867, 1881, 1895, + 1073, 1255, 1269, 1451, 891, 1060, 1074, 1087, + 1242, 1256, 1283, 1438, 1465, 878, 1270, 1452, + 892, 1061, 1075, 1088, 1243, 1257, 1284, 1439, + 1466, 1271, 1453, 880, 893, 1062, 1076, 1089, + 1244, 1258, 1285, 1440, 1467, 1272, 1454, 1479, + 1480, 1481, 1090, 1468, 905, 1101, 1297, 906, + 1102, 1298, 894, 907, 1103, 1299, 1286, 1482, + 1493, 919, 1115, 1494, 920, 1116, 1495, 908, + 921, 1104, 1117, 1300, 1313, 1311, 1312, 1496, + 1507, 1508, 1509, 1661, 1663, 1676, 1677, 1689, + 1690, 1634, 1647, 1635, 1648, 1662, 1636, 1649, + 1650, 1675, 1664, 1678, 1691, 1703, 1704, 1692, + 1705, 1857, 1858, 1871, 1872, 1873, 1885, 1874, + 1886, 1887, 1830, 1843, 1831, 1844, 1832, 1845, + 1859, 1846, 1860, 1899, 1900, 1888, 1901, 1076, + 1258, 1272, 1454, 881, 894, 1063, 1077, 1090, + 1245, 1259, 1286, 1441, 1468, 1273, 1455, 1482, + 895, 1091, 1469, 1287, 908, 1104, 1300, 1483, + 909, 1105, 1301, 1496, 922, 1118, 1314, 1497, + 923, 1119, 1315, 1510, 1664, 1665, 1637, 1650, + 1651, 1678, 1679, 1692, 1511, 1693, 1706, 1860, + 1874, 1861, 1875, 1888, 1833, 1846, 1847, 1707, + 1889, 1902, 1106, 1289, 1302, 911, 1107, 1290, + 1303, 1485, 1498, 912, 1108, 1291, 1304, 1486, + 1499, 913, 1109, 1292, 1305, 1487, 1500, 924, + 1120, 1316, 925, 1121, 1317, 926, 1122, 1318, + 1501, 927, 1110, 1123, 1306, 1512, 1513, 1319, + 1514, 938, 1134, 939, 1135, 1330, 940, 1136, + 1331, 1332, 1515, 941, 1124, 1137, 1320, 1526, + 1527, 1333, 1528, 952, 1148, 953, 1149, 1344, + 954, 1150, 1345, 1346, 1529, 955, 1138, 1151, + 1334, 1488, 1502, 1516, 1540, 1541, 1347, 1542, + 1530, 1681, 1682, 1683, 1694, 1695, 1696, 1697, + 1708, 1709, 1710, 1711, 1722, 1723, 1724, 1725, + 1543, 1684, 1698, 1712, 1736, 1737, 1738, 1726, + 1877, 1878, 1879, 1890, 1891, 1892, 1893, 1904, + 1905, 1906, 1907, 1918, 1919, 1920, 1921, 1739, + 1880, 1894, 1908, 1932, 1933, 1934, 1109, 1305, + 914, 1110, 1293, 1306, 1488, 1501, 1489, 915, + 1111, 1294, 1307, 1502, 1490, 916, 1112, 1308, + 1503, 927, 1122, 1123, 1318, 928, 1124, 1319, + 929, 1125, 1320, 1321, 1504, 930, 1126, 1515, + 1516, 1322, 1517, 941, 1136, 1137, 1332, 1333, + 942, 1138, 943, 1139, 1334, 1335, 1518, 944, + 1140, 1529, 1530, 1336, 1531, 955, 1150, 1151, + 1346, 1347, 956, 1152, 1348, 957, 1153, 1349, + 1532, 958, 1154, 1514, 1528, 1542, 1543, 1544, + 1350, 1545, 1500, 1684, 1685, 1686, 1697, 1698, + 1699, 1700, 1711, 1712, 1713, 1714, 1725, 1726, + 1727, 1728, 1546, 1696, 1710, 1724, 1738, 1739, + 1740, 1741, 1880, 1881, 1882, 1893, 1894, 1895, + 1896, 1907, 1908, 1909, 1910, 1921, 1922, 1923, + 1924, 1742, 1892, 1906, 1920, 1934, 1935, 1936, + 1937, 1112, 1308, 1113, 1295, 1491, 1504, 917, + 1309, 1296, 1505, 918, 931, 1100, 1114, 1127, + 1310, 1492, 1297, 1506, 919, 932, 1101, 1115, + 1128, 1311, 1493, 930, 1126, 1323, 1324, 1125, + 1321, 1322, 1518, 1507, 1519, 945, 1141, 1520, + 933, 946, 1129, 1142, 1325, 944, 1140, 1337, + 1338, 1139, 1335, 1336, 1532, 1521, 1533, 959, + 1155, 1534, 947, 960, 1143, 1156, 1339, 1352, + 958, 1154, 1349, 1350, 1351, 1153, 1546, 1535, + 1517, 1531, 1545, 1547, 1548, 1503, 1689, 1700, + 1702, 1703, 1715, 1716, 1729, 1687, 1688, 1701, + 1714, 1728, 1717, 1730, 1742, 1743, 1731, 1744, + 1699, 1713, 1727, 1741, 1883, 1884, 1885, 1898, + 1897, 1896, 1911, 1899, 1912, 1910, 1913, 1925, + 1926, 1924, 1938, 1939, 1927, 1940, 1895, 1909, + 1923, 1937, 919, 1115, 1311, 1493, 1298, 1507, + 920, 933, 1102, 1116, 1129, 1312, 1494, 1299, + 1508, 921, 934, 1103, 1117, 1130, 1313, 1326, + 1495, 1300, 1509, 922, 935, 1104, 1118, 1131, + 1314, 1496, 1325, 1327, 1510, 1521, 947, 1143, + 1339, 1522, 948, 1144, 1523, 936, 949, 1132, + 1145, 1328, 1341, 1340, 1524, 1535, 961, 1157, + 1536, 962, 1158, 1354, 1537, 950, 963, 1146, + 1159, 1342, 1353, 1355, 1538, 1549, 1550, 1551, + 1690, 1703, 1706, 1719, 1720, 1732, 1733, 1689, + 1691, 1704, 1692, 1705, 1717, 1718, 1731, 1745, + 1746, 1734, 1747, 1885, 1886, 1887, 1888, 1899, + 1900, 1901, 1902, 1915, 1913, 1914, 1928, 1916, + 1927, 1929, 1941, 1942, 1930, 1943, 922, 1118, + 1314, 1496, 1301, 1510, 923, 936, 1105, 1119, + 1132, 1315, 1328, 1497, 1511, 937, 1133, 1329, + 1524, 950, 1146, 1342, 1525, 951, 1147, 1343, + 1538, 964, 1160, 1356, 1539, 965, 1161, 1357, + 1552, 1693, 1706, 1707, 1720, 1692, 1721, 1734, + 1553, 1735, 1748, 1888, 1889, 1902, 1903, 1916, + 1917, 1930, 1749, 1931, 1944, 1148, 1331, 1344, + 1527, 953, 1149, 1332, 1345, 1540, 954, 1150, + 1333, 1346, 1528, 1541, 955, 1151, 1334, 1347, + 1529, 1542, 966, 1162, 967, 1163, 1358, 1359, + 968, 1164, 1360, 1543, 969, 1152, 1165, 1348, + 1554, 1555, 1361, 1556, 1530, 1544, 1557, 1723, + 1724, 1725, 1736, 1737, 1738, 1739, 1750, 1751, + 1752, 1726, 1740, 1753, 1919, 1920, 1921, 1932, + 1933, 1934, 1935, 1946, 1947, 1948, 1922, 1936, + 1151, 1347, 956, 1152, 1335, 1348, 1530, 1543, + 957, 1153, 1336, 1349, 1531, 1544, 1532, 958, + 1154, 1350, 1545, 969, 1164, 1165, 1360, 970, + 1166, 1361, 971, 1167, 1362, 1363, 1546, 972, + 1168, 1557, 1558, 1364, 1559, 1556, 1542, 1560, + 1726, 1727, 1728, 1739, 1740, 1741, 1742, 1753, + 1754, 1755, 1738, 1752, 1756, 1922, 1923, 1924, + 1935, 1936, 1937, 1938, 1949, 1950, 1951, 1934, + 1948, 1154, 1350, 1155, 1337, 1533, 1546, 959, + 1351, 1338, 1547, 960, 973, 1142, 1156, 1169, + 1352, 1365, 1534, 1339, 1548, 961, 974, 1143, + 1157, 1170, 1353, 1535, 972, 1168, 1363, 1364, + 1366, 1167, 1560, 1549, 1561, 1562, 975, 1171, + 1367, 1559, 1545, 1729, 1742, 1730, 1743, 1731, + 1744, 1757, 1563, 1745, 1758, 1756, 1741, 1755, + 1925, 1926, 1927, 1939, 1940, 1938, 1953, 1759, + 1941, 1954, 1952, 1937, 1951, 961, 1157, 1353, + 1535, 1340, 1549, 962, 975, 1144, 1158, 1171, + 1354, 1367, 1536, 1341, 1550, 963, 976, 1145, + 1159, 1172, 1355, 1537, 1342, 1551, 964, 977, + 1146, 1160, 1173, 1356, 1369, 1538, 1368, 1552, + 1563, 1564, 1565, 978, 1174, 1370, 1732, 1733, + 1745, 1746, 1731, 1734, 1747, 1759, 1760, 1566, + 1748, 1761, 1927, 1928, 1929, 1941, 1930, 1942, + 1943, 1955, 1956, 1762, 1944, 1957, 964, 1160, + 1356, 1538, 1343, 1552, 965, 978, 1147, 1161, + 1174, 1357, 1539, 1370, 1553, 979, 1175, 1371, + 1566, 1567, 1734, 1735, 1748, 1749, 1762, 1930, + 1931, 1944, 1763, 1945, 1958, 1582, 1764, 1569, + 1583, 1596, 1765, 1778, 1570, 1584, 1597, 1766, + 1779, 1571, 1585, 1598, 1767, 1780, 1792, 1793, + 1610, 1611, 1599, 1612, 1768, 1781, 1794, 1806, + 1807, 1624, 1625, 1613, 1626, 1782, 1795, 1808, + 1820, 1821, 1809, 1822, 1960, 1961, 1962, 1974, + 1975, 1963, 1976, 1988, 1989, 1977, 1990, 2002, + 2003, 1796, 1991, 2004, 1964, 1978, 2016, 2017, + 2005, 2018, 2156, 2157, 2158, 2170, 2171, 2159, + 2172, 2184, 2185, 2173, 2186, 2198, 2199, 1992, + 2187, 2200, 2160, 2174, 2212, 2213, 2201, 2352, + 2353, 2354, 2366, 2367, 2355, 2368, 2380, 2381, + 2369, 2382, 2394, 2395, 2188, 2214, 2383, 2396, + 2356, 2370, 1572, 1585, 1767, 1586, 1599, 1768, + 1781, 1573, 1587, 1600, 1769, 1782, 1574, 1588, + 1601, 1770, 1783, 1780, 1794, 1795, 1796, 1613, + 1614, 1602, 1615, 1784, 1797, 1808, 1809, 1810, + 1627, 1628, 1616, 1629, 1798, 1811, 1822, 1823, + 1824, 1812, 1825, 1963, 1964, 1965, 1977, 1978, + 1966, 1979, 1991, 1992, 1980, 1993, 2005, 2006, + 1994, 2007, 1976, 1990, 2004, 2018, 2019, 2020, + 2008, 2159, 2160, 2161, 2173, 2174, 2162, 2175, + 2187, 2188, 2176, 2189, 2201, 2202, 2021, 2190, + 2203, 2172, 2186, 2200, 2214, 2215, 2216, 2204, + 2355, 2356, 2357, 2369, 2370, 2358, 2371, 2383, + 2384, 2372, 2385, 2397, 2398, 2217, 2386, 2399, + 2368, 2382, 2396, 1588, 1770, 1575, 1602, 1771, + 1784, 1589, 1576, 1603, 1785, 1590, 1772, 1799, + 1577, 1604, 1786, 1591, 1773, 1800, 1783, 1797, + 1617, 1618, 1616, 1798, 1811, 1813, 1631, 1605, + 1632, 1787, 1814, 1630, 1812, 1825, 1645, 1827, + 1619, 1646, 1801, 1828, 1967, 1968, 1966, 1980, + 1981, 1982, 1826, 1995, 1969, 1996, 1994, 2009, + 1983, 2010, 2008, 1979, 1993, 2007, 1841, 2023, + 1815, 1842, 1997, 2024, 2021, 2163, 2164, 2178, + 2177, 2192, 2022, 2162, 2176, 2191, 2165, 2190, + 2205, 2179, 2206, 2204, 2011, 2175, 2189, 2203, + 2037, 2219, 2038, 2193, 2220, 2217, 2358, 2359, + 2360, 2372, 2374, 2387, 2388, 2218, 2373, 2361, + 2386, 2401, 2375, 2402, 2400, 2207, 2371, 2385, + 2399, 2233, 2415, 2234, 2389, 2416, 1577, 1591, + 1773, 1578, 1605, 1787, 1592, 1774, 1801, 1579, + 1606, 1788, 1593, 1775, 1802, 1580, 1607, 1789, + 1594, 1776, 1803, 1619, 1620, 1621, 1790, 1633, + 1815, 1816, 1634, 1817, 1608, 1635, 1829, 1647, + 1830, 1648, 1622, 1649, 1804, 1831, 1969, 1970, + 1971, 1983, 1984, 1985, 1997, 1998, 1972, 1999, + 2011, 2012, 1986, 2013, 1818, 1843, 2025, 1844, + 2026, 1845, 2000, 2027, 2165, 2166, 2167, 2179, + 2180, 2181, 2193, 2194, 2182, 2168, 2195, 2207, + 2208, 2209, 2039, 2221, 2040, 2222, 2014, 2041, + 2196, 2223, 2361, 2362, 2363, 2375, 2376, 2364, + 2391, 2389, 2378, 2377, 2390, 2403, 2404, 2405, + 2235, 2417, 2236, 2418, 2210, 2237, 2392, 2419, + 1580, 1594, 1776, 1581, 1608, 1790, 1595, 1777, + 1804, 1622, 1609, 1791, 1636, 1818, 1623, 1805, + 1650, 1832, 1972, 1986, 1819, 1973, 2000, 1987, + 2014, 2001, 1846, 2028, 2168, 2182, 2196, 2015, + 2169, 2183, 2210, 2197, 2042, 2224, 2364, 2378, + 2365, 2392, 2211, 2379, 2406, 2393, 2238, 2420, + 1637, 1664, 1651, 1833, 1860, 1665, 1847, 1678, + 1874, 2029, 1861, 2056, 2043, 2057, 2225, 2252, + 2070, 2239, 2407, 2434, 2253, 2421, 2448, 2266, + 2435, 1611, 1624, 1793, 1806, 1625, 1638, 1780, + 1794, 1807, 1820, 1612, 1626, 1639, 1781, 1795, + 1808, 1821, 1613, 1627, 1640, 1782, 1796, 1809, + 1822, 1834, 1835, 1652, 1653, 1641, 1654, 1810, + 1823, 1836, 1848, 1849, 1655, 1824, 1837, 1850, + 1667, 1851, 1975, 1988, 1989, 2002, 1976, 1990, + 2003, 1977, 1991, 2004, 2016, 2017, 2005, 2018, + 2030, 2031, 2019, 2032, 2044, 2045, 1838, 2033, + 2046, 1978, 1992, 2006, 1862, 1863, 1864, 2020, + 2047, 2171, 2184, 2185, 2198, 2172, 2186, 2199, + 2173, 2187, 2200, 2212, 2213, 2201, 2214, 2226, + 2227, 2215, 2228, 2240, 2059, 2241, 2034, 2060, + 2229, 2242, 2174, 2188, 2202, 2058, 2216, 2243, + 2367, 2380, 2381, 2394, 2368, 2382, 2395, 2369, + 2383, 2396, 2408, 2409, 2397, 2410, 2422, 2423, + 2411, 2424, 2436, 2255, 2437, 2230, 2425, 2438, + 2370, 2384, 2398, 2254, 2256, 2412, 1627, 1796, + 1809, 1614, 1628, 1641, 1783, 1797, 1810, 1823, + 1615, 1629, 1642, 1784, 1798, 1811, 1824, 1616, + 1630, 1643, 1812, 1825, 1822, 1836, 1837, 1838, + 1655, 1656, 1644, 1657, 1826, 1839, 1850, 1851, + 1852, 1658, 1840, 1853, 1668, 1854, 1978, 1991, + 1992, 2005, 1979, 1993, 2006, 1980, 1994, 2007, + 2019, 2020, 2008, 2021, 2033, 2034, 2022, 2035, + 1865, 2047, 2048, 1867, 2036, 2049, 2018, 2032, + 2046, 1864, 1866, 2050, 2174, 2187, 2188, 2201, + 2175, 2189, 2202, 2176, 2190, 2203, 2215, 2216, + 2204, 2217, 2229, 2230, 2218, 2231, 2061, 2243, + 2244, 2232, 2245, 2214, 2228, 2242, 2060, 2062, + 2063, 2246, 2370, 2383, 2384, 2397, 2371, 2385, + 2398, 2372, 2386, 2399, 2411, 2412, 2400, 2413, + 2425, 2426, 2414, 2427, 2439, 2440, 2428, 2441, + 2410, 2424, 2438, 2256, 2257, 2258, 2259, 1630, + 1812, 1617, 1644, 1799, 1826, 1631, 1813, 1604, + 1618, 1645, 1786, 1800, 1827, 1632, 1814, 1605, + 1619, 1646, 1787, 1801, 1828, 1825, 1839, 1659, + 1841, 1633, 1660, 1815, 1842, 1658, 1840, 1853, + 1855, 1856, 1647, 1829, 1854, 1672, 1673, 1674, + 1661, 1843, 1981, 1982, 2010, 2009, 1997, 1995, + 2022, 2024, 2011, 2036, 2037, 2038, 1869, 1994, + 2008, 1996, 2023, 1983, 2051, 2025, 2052, 2050, + 1868, 1870, 1857, 2021, 2035, 2049, 1867, 2039, + 2177, 2205, 2206, 2192, 2219, 2193, 2218, 2220, + 2233, 2207, 2232, 2234, 2190, 2204, 2191, 2178, + 2179, 2247, 2221, 2248, 2246, 2064, 2065, 2066, + 2053, 2217, 2231, 2245, 2063, 2235, 2401, 2402, + 2388, 2415, 2389, 2414, 2416, 2429, 2403, 2430, + 2386, 2400, 2373, 2387, 2374, 2375, 2428, 2443, + 2417, 2444, 2442, 2260, 2261, 2262, 2413, 2427, + 2441, 2259, 2249, 2431, 1619, 1633, 1801, 1815, + 1606, 1620, 1647, 1788, 1802, 1829, 1816, 1634, + 1607, 1621, 1648, 1789, 1803, 1830, 1635, 1817, + 1608, 1622, 1649, 1790, 1804, 1831, 1843, 1661, + 1844, 1662, 1636, 1663, 1818, 1845, 1857, 1858, + 1650, 1832, 1859, 1675, 1676, 1677, 1664, 1846, + 2011, 1985, 1986, 1998, 2012, 2013, 2025, 1999, + 2026, 2014, 2041, 2039, 2040, 1873, 2028, 1997, + 1984, 2000, 2027, 2053, 2054, 2055, 1871, 1872, + 1860, 2042, 2067, 2180, 2181, 2209, 2207, 2208, + 2196, 2194, 2223, 2221, 2210, 2236, 2237, 2235, + 2068, 2193, 2195, 2222, 2182, 2249, 2250, 2224, + 2251, 2069, 2056, 2238, 2376, 2405, 2403, 2391, + 2392, 2418, 2419, 2406, 2432, 2433, 2264, 2389, + 2390, 2417, 2404, 2377, 2378, 2431, 2263, 2445, + 2446, 2420, 2447, 2265, 2252, 2434, 1835, 1848, + 1653, 1666, 1822, 1836, 1849, 1654, 1667, 1823, + 1837, 1850, 1863, 1655, 1668, 1824, 1838, 1851, + 1862, 1864, 1669, 1852, 1865, 1680, 1681, 1682, + 1876, 1877, 1878, 1683, 1866, 1879, 1694, 1695, + 1696, 1890, 1891, 1892, 1697, 1880, 2044, 2045, + 2046, 2047, 2058, 2059, 2060, 2061, 2072, 2073, + 2074, 2075, 2017, 2030, 2031, 2018, 2032, 2019, + 2033, 1893, 2020, 2034, 2048, 2062, 2086, 2087, + 2088, 2076, 2240, 2241, 2229, 2242, 2243, 2254, + 2255, 2256, 2257, 2268, 2269, 2270, 2271, 2213, + 2226, 2227, 2214, 2228, 2215, 2089, 2216, 2230, + 2244, 2258, 2282, 2283, 2284, 2272, 2423, 2436, + 2424, 2437, 2425, 2438, 2439, 2450, 2451, 2452, + 2453, 2464, 2465, 2466, 2467, 2409, 2422, 2410, + 2411, 2440, 2285, 2412, 2426, 2454, 2478, 2479, + 2480, 1838, 1851, 1656, 1669, 1825, 1839, 1852, + 1657, 1670, 1826, 1840, 1853, 1658, 1671, 1854, + 1864, 1865, 1866, 1867, 1672, 1868, 1683, 1684, + 1685, 1878, 1879, 1880, 1881, 1686, 1882, 1697, + 1698, 1699, 1892, 1893, 1894, 1895, 1700, 2034, + 2047, 2035, 2048, 2036, 2049, 2050, 2061, 2062, + 2063, 2064, 2075, 2076, 2077, 2078, 2020, 2033, + 2021, 2022, 1896, 2060, 2074, 2088, 2089, 2090, + 2091, 2230, 2243, 2244, 2245, 2246, 2257, 2258, + 2259, 2260, 2271, 2272, 2273, 2274, 2216, 2229, + 2217, 2231, 2218, 2232, 2092, 2256, 2270, 2284, + 2285, 2286, 2287, 2426, 2439, 2427, 2440, 2441, + 2442, 2453, 2454, 2455, 2456, 2467, 2468, 2469, + 2470, 2412, 2425, 2413, 2414, 2428, 2288, 2452, + 2466, 2480, 2481, 2482, 2483, 1854, 1659, 1672, + 1841, 1855, 1868, 1646, 1660, 1673, 1828, 1842, + 1869, 1856, 1647, 1661, 1674, 1829, 1843, 1870, + 1857, 1867, 2051, 2052, 1675, 1686, 1687, 1688, + 1871, 1884, 1881, 1882, 2064, 1883, 2065, 2066, + 1700, 1701, 1689, 1702, 1897, 1885, 1898, 2067, + 2080, 1895, 1896, 2079, 2078, 2024, 2037, 2025, + 2038, 2050, 2039, 2053, 2036, 2023, 2092, 2093, + 2081, 2094, 2063, 2077, 2091, 2248, 2261, 2262, + 2260, 2263, 2275, 2276, 2274, 2220, 2233, 2247, + 2221, 2234, 2219, 2232, 2246, 2235, 2249, 2288, + 2289, 2277, 2290, 2259, 2273, 2287, 2443, 2444, + 2456, 2457, 2458, 2445, 2459, 2471, 2472, 2470, + 2416, 2429, 2417, 2430, 2415, 2428, 2442, 2431, + 2484, 2485, 2473, 2486, 2455, 2469, 2483, 1661, + 1843, 1857, 1648, 1662, 1675, 1830, 1844, 1871, + 1858, 1649, 1663, 1676, 1831, 1845, 1872, 1859, + 1650, 1664, 1677, 1832, 1846, 1873, 1860, 2053, + 2054, 2055, 1678, 1689, 1885, 1690, 1691, 1874, + 2067, 1886, 2068, 1887, 2069, 2056, 1703, 1704, + 1692, 1705, 1899, 2081, 1900, 1888, 1901, 2070, + 2082, 2083, 2026, 2039, 2027, 2040, 2028, 2041, + 2042, 2095, 2096, 2084, 2097, 2250, 2251, 2263, + 2264, 2265, 2277, 2266, 2278, 2279, 2222, 2235, + 2249, 2223, 2236, 2224, 2237, 2238, 2252, 2291, + 2292, 2280, 2293, 2445, 2446, 2447, 2459, 2460, + 2461, 2473, 2474, 2462, 2475, 2418, 2431, 2419, + 2432, 2420, 2433, 2434, 2448, 2487, 2488, 2476, + 2489, 1664, 1846, 1860, 1651, 1665, 1678, 1833, + 1847, 1874, 1861, 2056, 1679, 1875, 1692, 1888, + 2070, 1693, 1706, 1889, 2071, 1902, 2084, 1707, + 2029, 2042, 2043, 2057, 1903, 2085, 2098, 2252, + 2266, 2267, 2280, 2225, 2238, 2239, 2253, 2099, + 2281, 2294, 2448, 2462, 2449, 2463, 2476, 2421, + 2434, 2435, 2295, 2477, 2490, 1694, 1695, 1877, + 1890, 1878, 1891, 1696, 1879, 1892, 1697, 1880, + 1893, 1708, 1709, 1710, 1904, 1905, 1906, 1711, + 1894, 1907, 1722, 1723, 1724, 1918, 1919, 1920, + 1725, 1908, 1921, 1736, 1737, 1738, 1932, 1933, + 1934, 1739, 1922, 2073, 2074, 2075, 2086, 2087, + 2088, 2089, 2100, 2101, 2102, 2103, 2114, 2115, + 2116, 2117, 1935, 2076, 2090, 2104, 2128, 2129, + 2130, 2118, 2269, 2270, 2271, 2282, 2283, 2284, + 2285, 2296, 2297, 2298, 2299, 2310, 2311, 2312, + 2313, 2131, 2272, 2286, 2300, 2324, 2325, 2326, + 2314, 2465, 2466, 2467, 2478, 2479, 2480, 2481, + 2492, 2493, 2494, 2495, 2506, 2507, 2508, 2509, + 2327, 2468, 2482, 2496, 2520, 2521, 2522, 1697, + 1698, 1880, 1892, 1893, 1881, 1894, 1699, 1882, + 1895, 1700, 1896, 1711, 1712, 1713, 1906, 1907, + 1908, 1909, 1714, 1910, 1725, 1726, 1727, 1920, + 1921, 1922, 1923, 1728, 1924, 1739, 1740, 1741, + 1934, 1935, 1936, 1937, 1742, 2076, 2077, 2078, + 2089, 2090, 2091, 2092, 2103, 2104, 2105, 2106, + 2117, 2118, 2119, 2120, 1938, 2088, 2102, 2116, + 2130, 2131, 2132, 2133, 2272, 2273, 2274, 2285, + 2286, 2287, 2288, 2299, 2300, 2301, 2302, 2313, + 2314, 2315, 2316, 2134, 2284, 2298, 2312, 2326, + 2327, 2328, 2329, 2468, 2469, 2470, 2481, 2482, + 2483, 2484, 2495, 2496, 2497, 2498, 2509, 2510, + 2511, 2512, 2330, 2480, 2494, 2508, 2522, 2523, + 2524, 2525, 1700, 1883, 1895, 1896, 1701, 1714, + 1897, 2079, 1884, 1702, 1715, 1898, 2080, 1885, + 1703, 1716, 1911, 2093, 1899, 1912, 2081, 2094, + 1909, 1910, 2092, 1728, 1729, 1717, 1730, 1925, + 2107, 1913, 1926, 2095, 1923, 1924, 2108, 2106, + 1742, 1743, 1731, 1744, 1939, 1927, 1940, 2109, + 1937, 1938, 2120, 2121, 2122, 2134, 2135, 2123, + 2136, 2091, 2105, 2119, 2133, 2275, 2276, 2277, + 2290, 2289, 2288, 2303, 2291, 2304, 2302, 2305, + 2316, 2317, 2318, 2330, 2331, 2319, 2332, 2287, + 2301, 2315, 2329, 2471, 2472, 2473, 2486, 2484, + 2485, 2499, 2487, 2500, 2498, 2513, 2501, 2512, + 2514, 2526, 2527, 2515, 2528, 2483, 2497, 2511, + 2525, 1703, 1885, 1899, 2081, 1886, 1704, 1717, + 1900, 2082, 1887, 1705, 1718, 1901, 2083, 1888, + 1706, 1719, 1913, 1914, 1902, 1915, 2084, 2097, + 2095, 2096, 1731, 1732, 1720, 1733, 1927, 1928, + 2110, 1916, 1929, 2098, 2111, 2109, 1745, 1746, + 1734, 1747, 1941, 2123, 1942, 2124, 1930, 1943, + 2112, 2125, 2137, 2138, 2126, 2139, 2277, 2278, + 2279, 2280, 2291, 2292, 2293, 2294, 2307, 2305, + 2306, 2320, 2308, 2319, 2321, 2333, 2334, 2322, + 2335, 2473, 2474, 2475, 2487, 2476, 2488, 2489, + 2490, 2503, 2501, 2502, 2516, 2504, 2517, 2515, + 2529, 2530, 2518, 2531, 1706, 1888, 1902, 2084, + 1889, 1707, 1720, 1903, 2085, 1916, 2098, 1721, + 1734, 1917, 2099, 1930, 2112, 1735, 1748, 1931, + 2113, 1944, 2126, 1749, 1945, 2127, 2140, 2280, + 2281, 2294, 2295, 2308, 2309, 2322, 2141, 2323, + 2336, 2476, 2477, 2490, 2491, 2504, 2505, 2518, + 2337, 2519, 2532, 1736, 1737, 1919, 1932, 1920, + 1933, 1738, 1921, 1934, 1739, 1922, 1935, 1750, + 1751, 1752, 1946, 1947, 1948, 1753, 1936, 1949, + 2115, 2116, 2117, 2128, 2129, 2130, 2131, 2142, + 2143, 2144, 2118, 2132, 2145, 2311, 2312, 2313, + 2324, 2325, 2326, 2327, 2338, 2339, 2340, 2314, + 2328, 2341, 2507, 2508, 2509, 2520, 2521, 2522, + 2523, 2534, 2535, 2536, 2510, 2524, 1739, 1740, + 1922, 1934, 1935, 1923, 1936, 1741, 1924, 1937, + 1742, 1938, 1753, 1754, 1755, 1948, 1949, 1950, + 1951, 1756, 1952, 2118, 2119, 2120, 2131, 2132, + 2133, 2134, 2145, 2146, 2147, 2130, 2144, 2148, + 2314, 2315, 2316, 2327, 2328, 2329, 2330, 2341, + 2342, 2343, 2326, 2340, 2344, 2510, 2511, 2512, + 2523, 2524, 2525, 2526, 2537, 2538, 2539, 2522, + 2536, 1742, 1925, 1937, 1938, 1743, 1756, 1939, + 2121, 1926, 1744, 1757, 1940, 2122, 1927, 1745, + 1758, 1953, 1941, 1954, 2123, 2136, 1951, 1952, + 2134, 2135, 1759, 2149, 1955, 2137, 2150, 2148, + 2133, 2147, 2317, 2318, 2319, 2331, 2332, 2330, + 2345, 2151, 2333, 2346, 2344, 2329, 2343, 2513, + 2514, 2515, 2527, 2528, 2526, 2541, 2347, 2529, + 2542, 2540, 2525, 2539, 1745, 1927, 1941, 2123, + 1928, 1746, 1759, 1942, 2124, 1929, 1747, 1760, + 1943, 2125, 1930, 1748, 1761, 1955, 2137, 1956, + 1944, 1957, 2126, 2138, 2139, 1762, 2151, 2152, + 1958, 2140, 2153, 2319, 2320, 2321, 2333, 2322, + 2334, 2335, 2347, 2348, 2154, 2336, 2349, 2515, + 2516, 2517, 2529, 2530, 2518, 2531, 2543, 2544, + 2350, 2532, 2545, 1748, 1930, 1944, 2126, 1931, + 1749, 1762, 1945, 2127, 1958, 2140, 1763, 1959, + 2141, 2154, 2322, 2323, 2336, 2155, 2337, 2350, + 2518, 2519, 2532, 2351, 2533, 2546, 2157, 2170, + 2352, 2171, 2184, 2353, 2366, 2158, 2172, 2185, + 2354, 2367, 2159, 2173, 2186, 2355, 2368, 2380, + 2381, 2198, 2199, 2187, 2200, 2356, 2369, 2382, + 2394, 2395, 2212, 2213, 2201, 2214, 2370, 2383, + 2396, 2408, 2409, 2397, 2410, 2548, 2549, 2550, + 2562, 2563, 2551, 2564, 2576, 2577, 2565, 2578, + 2590, 2591, 2384, 2579, 2592, 2552, 2566, 2604, + 2605, 2173, 2355, 2160, 2174, 2187, 2356, 2369, + 2161, 2175, 2188, 2357, 2370, 2162, 2176, 2189, + 2358, 2371, 2368, 2382, 2383, 2384, 2201, 2202, + 2190, 2203, 2372, 2385, 2396, 2397, 2398, 2215, + 2216, 2204, 2217, 2386, 2399, 2410, 2411, 2412, + 2400, 2413, 2551, 2552, 2553, 2565, 2566, 2554, + 2567, 2579, 2580, 2568, 2581, 2593, 2594, 2582, + 2595, 2564, 2578, 2592, 2606, 2607, 2608, 2176, + 2358, 2163, 2190, 2359, 2372, 2177, 2164, 2191, + 2373, 2178, 2360, 2387, 2165, 2192, 2374, 2179, + 2361, 2388, 2371, 2385, 2205, 2206, 2204, 2386, + 2399, 2401, 2219, 2193, 2220, 2375, 2402, 2218, + 2400, 2413, 2233, 2415, 2207, 2234, 2389, 2416, + 2555, 2556, 2554, 2568, 2569, 2570, 2557, 2414, + 2583, 2584, 2582, 2597, 2571, 2598, 2596, 2403, + 2567, 2581, 2595, 2429, 2611, 2430, 2585, 2612, + 2609, 2165, 2179, 2361, 2166, 2193, 2375, 2180, + 2362, 2389, 2167, 2194, 2376, 2181, 2363, 2390, + 2168, 2195, 2377, 2182, 2364, 2391, 2207, 2208, + 2209, 2378, 2221, 2403, 2404, 2222, 2405, 2196, + 2223, 2392, 2235, 2417, 2418, 2236, 2419, 2210, + 2237, 2557, 2558, 2559, 2572, 2571, 2573, 2560, + 2586, 2587, 2585, 2599, 2600, 2574, 2601, 2406, + 2431, 2613, 2432, 2614, 2433, 2588, 2615, 2249, + 2250, 2224, 2251, 2445, 2446, 2238, 2420, 2447, + 2263, 2264, 2265, 2252, 2434, 2461, 2602, 2627, + 2628, 2629, 2641, 2642, 2616, 2643, 2459, 2460, + 2448, 2630, 2168, 2182, 2364, 2169, 2196, 2378, + 2183, 2365, 2392, 2210, 2197, 2379, 2224, 2406, + 2211, 2393, 2238, 2420, 2560, 2574, 2561, 2588, + 2407, 2575, 2602, 2589, 2434, 2616, 2225, 2252, + 2239, 2421, 2448, 2253, 2435, 2266, 2630, 2462, + 2449, 2603, 2617, 2644, 2631, 2212, 2381, 2394, + 2199, 2213, 2226, 2368, 2382, 2395, 2408, 2200, + 2214, 2227, 2369, 2383, 2396, 2409, 2201, 2215, + 2228, 2370, 2384, 2397, 2410, 2422, 2423, 2240, + 2241, 2229, 2242, 2398, 2411, 2424, 2436, 2437, + 2243, 2412, 2425, 2438, 2255, 2439, 2563, 2576, + 2577, 2590, 2564, 2578, 2591, 2565, 2579, 2592, + 2604, 2605, 2593, 2606, 2618, 2619, 2607, 2620, + 2632, 2633, 2426, 2621, 2634, 2566, 2580, 2594, + 2450, 2451, 2452, 2608, 2202, 2215, 2384, 2397, + 2216, 2229, 2371, 2385, 2398, 2411, 2203, 2217, + 2230, 2372, 2386, 2399, 2412, 2204, 2218, 2231, + 2400, 2413, 2410, 2424, 2425, 2426, 2243, 2244, + 2232, 2245, 2414, 2427, 2438, 2439, 2440, 2246, + 2428, 2441, 2256, 2257, 2442, 2566, 2579, 2580, + 2593, 2567, 2581, 2594, 2568, 2582, 2595, 2607, + 2608, 2596, 2609, 2621, 2622, 2610, 2623, 2453, + 2635, 2636, 2455, 2624, 2637, 2606, 2620, 2634, + 2452, 2454, 2218, 2400, 2205, 2232, 2387, 2401, + 2414, 2219, 2192, 2206, 2233, 2374, 2388, 2415, + 2220, 2402, 2193, 2207, 2234, 2375, 2389, 2416, + 2413, 2427, 2247, 2429, 2221, 2248, 2403, 2430, + 2246, 2428, 2441, 2443, 2235, 2417, 2444, 2442, + 2259, 2260, 2261, 2457, 2262, 2249, 2431, 2570, + 2597, 2598, 2583, 2610, 2584, 2611, 2626, 2625, + 2458, 2582, 2596, 2569, 2571, 2585, 2612, 2599, + 2624, 2639, 2613, 2640, 2456, 2638, 2445, 2609, + 2623, 2637, 2455, 2627, 2241, 2423, 2436, 2254, + 2410, 2424, 2437, 2242, 2255, 2411, 2425, 2438, + 2451, 2243, 2256, 2412, 2426, 2439, 2450, 2452, + 2257, 2440, 2453, 2268, 2269, 2270, 2464, 2465, + 2466, 2271, 2454, 2467, 2282, 2283, 2284, 2478, + 2479, 2480, 2285, 2468, 2632, 2633, 2634, 2635, + 2646, 2647, 2648, 2649, 2660, 2661, 2662, 2663, + 2605, 2618, 2619, 2606, 2620, 2607, 2621, 2481, + 2608, 2622, 2636, 2650, 2674, 2675, 2676, 2664, + 2244, 2426, 2439, 2257, 2413, 2427, 2440, 2453, + 2245, 2258, 2414, 2428, 2441, 2246, 2259, 2442, + 2452, 2454, 2455, 2260, 2456, 2271, 2272, 2273, + 2466, 2467, 2468, 2469, 2274, 2470, 2285, 2286, + 2287, 2480, 2481, 2482, 2483, 2288, 2635, 2623, + 2636, 2637, 2638, 2649, 2650, 2651, 2652, 2663, + 2664, 2665, 2666, 2608, 2621, 2622, 2609, 2610, + 2624, 2484, 2648, 2662, 2676, 2677, 2678, 2679, + 2442, 2247, 2260, 2429, 2443, 2456, 2234, 2248, + 2261, 2416, 2430, 2457, 2444, 2235, 2249, 2262, + 2417, 2431, 2458, 2445, 2455, 2640, 2263, 2274, + 2275, 2276, 2459, 2472, 2469, 2470, 2471, 2653, + 2654, 2641, 2652, 2288, 2289, 2277, 2290, 2485, + 2473, 2486, 2655, 2483, 2484, 2667, 2668, 2666, + 2611, 2612, 2625, 2639, 2613, 2626, 2624, 2638, + 2627, 2680, 2681, 2669, 2682, 2651, 2665, 2679, + 2249, 2431, 2445, 2236, 2250, 2263, 2418, 2432, + 2459, 2446, 2237, 2251, 2264, 2419, 2433, 2460, + 2447, 2238, 2252, 2265, 2420, 2434, 2461, 2641, + 2642, 2448, 2266, 2277, 2473, 2278, 2474, 2279, + 2462, 2655, 2656, 2475, 2657, 2291, 2292, 2280, + 2293, 2487, 2669, 2488, 2476, 2489, 2658, 2670, + 2671, 2614, 2627, 2615, 2628, 2616, 2629, 2643, + 2630, 2644, 2683, 2684, 2672, 2685, 2252, 2434, + 2448, 2239, 2253, 2266, 2421, 2435, 2462, 2449, + 2644, 2267, 2463, 2280, 2476, 2658, 2281, 2294, + 2477, 2659, 2490, 2672, 2295, 2617, 2630, 2631, + 2645, 2491, 2673, 2686, 2282, 2283, 2465, 2478, + 2466, 2479, 2284, 2467, 2480, 2285, 2468, 2481, + 2296, 2297, 2298, 2492, 2493, 2494, 2299, 2482, + 2495, 2310, 2311, 2312, 2506, 2507, 2508, 2313, + 2496, 2509, 2324, 2325, 2326, 2520, 2521, 2522, + 2327, 2510, 2661, 2662, 2663, 2674, 2675, 2676, + 2677, 2688, 2689, 2690, 2691, 2702, 2703, 2704, + 2705, 2523, 2664, 2678, 2692, 2716, 2717, 2718, + 2706, 2285, 2286, 2468, 2480, 2481, 2469, 2482, + 2287, 2470, 2483, 2288, 2484, 2299, 2300, 2301, + 2494, 2495, 2496, 2497, 2302, 2498, 2313, 2314, + 2315, 2508, 2509, 2510, 2511, 2316, 2512, 2327, + 2328, 2329, 2522, 2523, 2524, 2525, 2330, 2664, + 2665, 2666, 2677, 2678, 2679, 2680, 2691, 2692, + 2693, 2694, 2705, 2706, 2707, 2708, 2526, 2676, + 2690, 2704, 2718, 2719, 2720, 2721, 2288, 2471, + 2483, 2484, 2289, 2302, 2485, 2667, 2472, 2290, + 2303, 2486, 2668, 2473, 2291, 2304, 2499, 2487, + 2500, 2669, 2682, 2497, 2498, 2680, 2681, 2316, + 2317, 2305, 2318, 2513, 2695, 2501, 2514, 2683, + 2511, 2512, 2696, 2694, 2330, 2331, 2319, 2332, + 2527, 2515, 2528, 2697, 2525, 2526, 2709, 2710, + 2708, 2722, 2723, 2711, 2724, 2679, 2693, 2707, + 2721, 2291, 2473, 2487, 2669, 2474, 2292, 2305, + 2488, 2670, 2475, 2293, 2306, 2489, 2671, 2476, + 2294, 2307, 2501, 2502, 2490, 2503, 2672, 2683, + 2684, 2685, 2319, 2320, 2308, 2321, 2515, 2516, + 2504, 2517, 2686, 2699, 2697, 2698, 2333, 2334, + 2322, 2335, 2529, 2530, 2712, 2518, 2531, 2700, + 2711, 2713, 2725, 2726, 2714, 2727, 2294, 2476, + 2490, 2672, 2477, 2295, 2308, 2491, 2673, 2504, + 2686, 2309, 2322, 2505, 2687, 2518, 2700, 2323, + 2336, 2519, 2701, 2532, 2714, 2337, 2533, 2715, + 2728, 2324, 2325, 2507, 2520, 2508, 2521, 2326, + 2509, 2522, 2327, 2510, 2523, 2338, 2339, 2340, + 2534, 2535, 2536, 2341, 2524, 2537, 2703, 2704, + 2705, 2716, 2717, 2718, 2719, 2730, 2731, 2732, + 2706, 2720, 2733, 2327, 2328, 2510, 2522, 2523, + 2511, 2524, 2329, 2512, 2525, 2330, 2526, 2341, + 2342, 2343, 2536, 2537, 2538, 2539, 2344, 2540, + 2706, 2707, 2708, 2719, 2720, 2721, 2722, 2733, + 2734, 2735, 2718, 2732, 2736, 2330, 2513, 2525, + 2526, 2331, 2344, 2527, 2709, 2514, 2332, 2345, + 2528, 2710, 2515, 2333, 2346, 2541, 2529, 2542, + 2711, 2539, 2540, 2723, 2724, 2722, 2347, 2737, + 2543, 2725, 2738, 2736, 2721, 2735, 2333, 2515, + 2529, 2711, 2516, 2334, 2347, 2530, 2712, 2517, + 2335, 2348, 2531, 2713, 2518, 2336, 2349, 2543, + 2725, 2544, 2532, 2545, 2714, 2726, 2727, 2350, + 2739, 2740, 2546, 2728, 2741, 2336, 2518, 2532, + 2714, 2519, 2337, 2350, 2533, 2715, 2546, 2728, + 2351, 2547, 2729, 2742, 2743, }; static long _vq_fitmap_lsp30_1[] = { - 0, 83, 168, 257, 322, 423, 527, 633, - 712, 818, 916, 1008, 1079, 1165, 1246, 1324, - 1383, 1481, 1590, 1699, 1779, 1903, 2023, 2138, - 2226, 2350, 2468, 2573, 2655, 2751, 2844, 2930, - 2994, 3095, 3201, 3295, 3364, 3487, 3599, 3705, - 3786, 3892, 3995, 4086, 4157, 4240, 4323, 4398, - 4454, 4535, 4620, 4695, 4750, 4846, 4934, 5018, - 5082, 5166, 5247, 5319, 5375, 5441, 5506, 5565, + 0, 83, 166, 254, 342, 406, 495, 584, + 697, 816, 871, 977, 1079, 1193, 1304, 1388, + 1494, 1596, 1701, 1800, 1877, 1938, 2028, 2118, + 2180, 2226, 2316, 2406, 2516, 342, 2635, 2725, + 2815, 2949, 3091, 3155, 3289, 3417, 3559, 1304, + 3694, 3834, 3970, 4100, 1800, 4220, 1938, 2028, + 4294, 2180, 4366, 4468, 4574, 4697, 4813, 4866, + 4997, 5126, 5267, 5402, 5462, 5597, 5725, 5856, + 5975, 6034, 6158, 6281, 6402, 6510, 6565, 6632, + 6697, 6765, 6830, 6861, 6962, 7067, 7182, 7288, + 7361, 7494, 7623, 7756, 7288, 7878, 8001, 8117, + 8231, 8337, 8389, 8495, 8602, 8705, 8796, 8843, + 8902, 8961, 9020, 9075, 9102, 9161, 9223, 9289, + 9378, 9421, 9492, 9562, 9289, 9378, 9636, 9704, + 9768, 9832, 9894, 9924, 9985, 10046, 10105, 10158, + 10185, 10219, 10253, 10286, 10317, }; static long _vq_fitlength_lsp30_1[] = { - 83, 85, 89, 65, 101, 104, 106, 79, - 106, 98, 92, 71, 86, 81, 78, 59, - 98, 109, 109, 80, 124, 120, 115, 88, - 124, 118, 105, 82, 96, 93, 86, 64, - 101, 106, 94, 69, 123, 112, 106, 81, - 106, 103, 91, 71, 83, 83, 75, 56, - 81, 85, 75, 55, 96, 88, 84, 64, - 84, 81, 72, 56, 66, 65, 59, 45, + 83, 83, 88, 88, 64, 89, 89, 113, + 119, 55, 106, 102, 114, 111, 84, 106, + 102, 105, 99, 77, 61, 90, 90, 62, + 46, 90, 90, 110, 119, 64, 90, 90, + 134, 142, 64, 134, 128, 142, 135, 84, + 140, 136, 130, 120, 77, 74, 90, 90, + 72, 46, 102, 106, 123, 116, 53, 131, + 129, 141, 135, 60, 135, 128, 131, 119, + 59, 124, 123, 121, 108, 55, 67, 65, + 68, 65, 31, 101, 105, 115, 106, 73, + 133, 129, 133, 122, 73, 123, 116, 114, + 106, 52, 106, 107, 103, 91, 47, 59, + 59, 59, 55, 27, 59, 62, 66, 89, + 43, 71, 70, 74, 89, 43, 68, 64, + 64, 62, 30, 61, 61, 59, 53, 27, + 34, 34, 33, 31, 16, }; static encode_aux_pigeonhole _vq_auxp_lsp30_1 = { - 0.087, 0.001, 35, 4, + 0.083, 0.001, 39, 5, _vq_pigeonmap_lsp30_1, - 5610, + 10333, _vq_fitlist_lsp30_1, _vq_fitmap_lsp30_1, _vq_fitlength_lsp30_1 }; static static_codebook _vq_book_lsp30_1 = { - 3, 1728, + 3, 2744, _vq_lengthlist_lsp30_1, - 1, 1603683746, 1590714958, 6, 1, + 1, 1603616637, 1590714958, 6, 1, _vq_quantlist_lsp30_1, NULL, NULL, diff --git a/lib/books/res0_128_1024_1.vqh b/lib/books/res0_128_1024_1.vqh index 2dfee001..ac31d89a 100644 --- a/lib/books/res0_128_1024_1.vqh +++ b/lib/books/res0_128_1024_1.vqh @@ -26,9 +26,9 @@ static long _vq_quantlist_res0_128_1024_1[] = { static long _vq_lengthlist_res0_128_1024_1[] = { 1, 4, 4, 4, 8, 8, 4, 8, 8, 5, 8, 8, 9,12,12, 9, - 12,12, 4, 8, 8, 8,12,12, 8,12,12, 5, 8, 8, 9,12, + 12,12, 5, 8, 8, 8,12,12, 8,12,12, 5, 8, 8, 9,12, 12, 8,12,12, 9,12,12,12,16,16,13,16,16, 8,12,12, - 12,16,16,12,16,16, 5, 8, 8, 8,12,12, 8,12,12, 8, + 12,16,16,12,16,16, 4, 8, 8, 8,12,12, 8,12,12, 8, 12,12,13,16,16,12,16,16, 8,12,12,12,16,16,12,16, 16, }; diff --git a/lib/books/res0_128_1024_2.vqh b/lib/books/res0_128_1024_2.vqh index 83fad844..b26945e9 100644 --- a/lib/books/res0_128_1024_2.vqh +++ b/lib/books/res0_128_1024_2.vqh @@ -25,12 +25,12 @@ static long _vq_quantlist_res0_128_1024_2[] = { }; static long _vq_lengthlist_res0_128_1024_2[] = { - 3, 4, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 8, 8, 6, - 7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 7, 5, 6, 6, 6, 8, - 8, 6, 8, 7, 6, 8, 8, 8, 9, 9, 8, 9, 9, 6, 8, 8, - 8, 9, 9, 8, 9, 9, 5, 6, 6, 6, 8, 7, 6, 8, 7, 6, - 8, 8, 8, 9, 9, 8, 9, 9, 6, 7, 8, 8, 9, 9, 7, 9, - 9, + 3, 4, 4, 5, 6, 6, 4, 6, 6, 5, 6, 6, 6, 8, 8, 6, + 8, 8, 4, 6, 6, 6, 8, 8, 6, 8, 8, 5, 7, 6, 7, 8, + 8, 6, 8, 8, 6, 8, 8, 8,10,10, 8,10,10, 6, 8, 8, + 8,10,10, 8,10,10, 5, 6, 6, 6, 8, 8, 6, 8, 8, 6, + 8, 8, 8,10,10, 8,10,10, 6, 8, 8, 8,10,10, 8,10, + 10, }; static float _vq_quantthresh_res0_128_1024_2[] = { diff --git a/lib/books/res0_128_1024_3.vqh b/lib/books/res0_128_1024_3.vqh index 4a13c5df..441258ea 100644 --- a/lib/books/res0_128_1024_3.vqh +++ b/lib/books/res0_128_1024_3.vqh @@ -27,45 +27,45 @@ static long _vq_quantlist_res0_128_1024_3[] = { }; static long _vq_lengthlist_res0_128_1024_3[] = { - 2, 5, 4, 7, 7, 5, 7, 7, 9, 9, 5, 7, 6, 9, 9, 7, + 2, 5, 4, 7, 7, 5, 7, 7, 9, 9, 5, 7, 7, 9, 9, 7, 9, 9,13,13, 7, 9, 9,13,13, 5, 7, 7, 9, 9, 7, 9, - 9,11,11, 7, 9, 9,11,11, 9,11,11,15,16, 9,11,11, - 15,16, 5, 7, 7, 9, 9, 7, 9, 9,11,11, 7, 9, 9,11, - 11, 9,11,11,15,15, 9,11,11,15,15, 7, 9, 9,13,12, - 9,12,11,16,15, 9,12,12,15,16,13,15,16,19,21,13, - 15,16,20,19, 7, 9, 9,13,12, 9,12,12,15,15, 9,12, - 12,15,15,13,16,15,19,20,13,15,15,20,20, 5, 7, 7, - 9, 9, 7, 9, 9,12,11, 7, 9, 9,11,11, 9,12,11,15, - 16, 9,11,12,16,15, 7, 9, 9,11,11, 9,11,11,13,14, - 9,11,11,14,14,12,14,13,18,18,12,14,14,18,17, 7, - 9, 9,11,11, 9,11,11,14,14, 9,11,11,14,14,12,14, - 14,18,17,12,14,14,18,18, 9,12,12,16,16,12,14,14, - 18,17,12,14,14,18,17,16,18,17,20,21,16,19,18,21, - 21, 9,12,12,16,16,12,14,14,18,18,12,14,14,18,18, - 16,18,17,21,19,16,19,18,20,21, 5, 7, 7, 9, 9, 7, - 9, 9,11,11, 7, 9, 9,11,11, 9,11,11,15,16, 9,12, - 11,16,15, 7, 9, 9,11,11, 9,11,11,14,13, 9,11,11, - 13,14,12,14,14,18,18,11,14,14,17,17, 7, 9, 9,11, - 11, 9,11,11,13,14, 9,11,11,13,13,12,14,14,18,18, - 11,14,13,17,17, 9,12,12,15,16,12,14,14,18,18,11, - 14,14,18,18,16,19,18,20,20,15,17,18,21,21, 9,12, - 12,15,15,12,14,14,18,18,12,14,14,19,17,15,17,17, - 21,20,15,18,18,20,20, 7, 9, 9,13,13, 9,12,12,16, - 16, 9,11,12,16,16,13,16,16,20,19,13,15,15,20,18, - 9,12,12,16,16,11,14,14,18,17,11,14,14,18,18,16, - 17,18,21,20,15,18,18,20,20, 9,11,12,15,15,11,14, - 13,18,17,11,14,14,17,19,16,19,18,21,20,16,19,19, - 20,20,13,15,15,19,19,15,18,18,21,21,15,18,17,21, - 21,19,20,20,21,21,19,20,20,21,21,13,16,16,19,19, - 16,18,18,21,20,15,17,18,21,20,21,21,19,21,20,20, - 21,20,21,21, 7, 9, 9,13,13, 9,11,12,15,15, 9,12, - 12,16,16,13,15,16,19,18,13,16,15,19,20, 9,11,12, - 16,15,12,14,14,18,18,11,14,14,18,18,15,18,17,21, - 20,15,18,18,20,21, 9,11,11,15,16,11,14,14,17,18, - 11,14,13,18,18,15,18,18,21,21,16,17,17,21,20,13, - 15,15,19,19,16,18,18,20,21,15,17,18,21,21,20,21, - 20,21,21,20,20,20,21,21,13,16,16,19,19,15,18,17, - 20,20,15,18,17,21,20,19,21,21,21,21,19,20,19,21, + 9,12,12, 7, 9, 9,12,12,10,12,12,16,16,10,12,12, + 16,15, 4, 7, 7, 9, 9, 7, 9, 9,12,12, 7, 9, 9,12, + 11, 9,12,12,16,16,10,12,12,16,15, 7, 9, 9,12,12, + 10,12,12,16,16, 9,12,12,16,16,14,16,16,19,20,14, + 16,16,20,19, 7, 9, 9,13,13,10,12,12,16,16,10,12, + 12,16,16,14,16,16,19,21,14,16,16,21,20, 5, 7, 7, + 9, 9, 7, 9, 9,12,12, 7, 9, 9,12,12, 9,12,12,16, + 16, 9,12,12,16,16, 7, 9, 9,12,12, 9,11,11,14,14, + 9,11,11,14,14,12,14,14,17,18,12,14,14,18,18, 7, + 9, 9,12,12, 9,11,11,14,14, 9,11,11,14,14,12,15, + 14,18,18,12,14,14,19,19,10,12,12,16,16,12,14,14, + 18,19,12,14,14,19,18,16,17,20,20,21,16,19,20,20, + 20,10,12,12,16,16,12,14,14,20,20,12,14,14,19,18, + 16,18,17,21,19,16,18,19,20,20, 5, 7, 7, 9, 9, 7, + 9, 9,12,12, 7, 9, 9,12,12, 9,12,12,16,16, 9,12, + 12,17,16, 7, 9, 9,12,12, 9,11,11,14,14, 9,11,11, + 14,14,12,14,14,19,19,12,14,14,17,19, 7, 9, 9,12, + 12, 9,11,11,14,14, 9,11,11,14,14,12,14,14,18,20, + 12,14,14,18,18, 9,12,12,16,16,12,14,14,19,19,12, + 14,14,18,20,16,19,19,21,21,16,18,18,21,21, 9,12, + 12,16,16,12,14,14,19,18,12,14,14,20,19,16,17,18, + 21,21,16,19,17,21,19, 7,10, 9,13,13, 9,12,12,16, + 16, 9,12,12,17,16,13,16,16,20,20,13,17,16,21,21, + 9,12,12,16,16,12,14,14,19,18,12,14,14,19,19,16, + 18,19,20,20,16,19,18,21,21, 9,12,12,16,16,12,14, + 14,21,17,12,14,14,18,19,16,18,18,21,21,16,18,18, + 21,21,14,16,16,19,20,16,18,18,20,21,16,19,18,21, + 21,20,20,21,21,21,20,20,21,21,21,13,16,16,20,20, + 16,20,17,21,20,16,18,18,21,21,19,21,21,21,21,20, + 21,21,21,21, 7, 9, 9,13,13, 9,12,12,16,16, 9,12, + 12,17,16,13,16,16,19,20,13,16,16,20,20, 9,12,12, + 16,16,12,14,14,19,18,12,14,14,19,18,16,18,19,21, + 21,16,19,19,21,21, 9,12,12,16,16,12,14,14,19,21, + 12,14,14,20,17,16,19,19,21,21,16,20,18,21,20,14, + 16,16,21,20,16,19,19,20,21,16,17,18,20,20,20,21, + 21,21,21,18,21,21,21,21,13,16,16,20,21,16,19,19, + 21,21,16,17,17,20,21,20,21,19,21,21,19,21,20,20, 20, }; diff --git a/lib/books/res0_128_1024_4.vqh b/lib/books/res0_128_1024_4.vqh index f692dcd3..e4882044 100644 --- a/lib/books/res0_128_1024_4.vqh +++ b/lib/books/res0_128_1024_4.vqh @@ -28,45 +28,45 @@ static long _vq_quantlist_res0_128_1024_4[] = { static long _vq_lengthlist_res0_128_1024_4[] = { 5, 6, 6, 8, 8, 6, 6, 6, 9, 9, 6, 6, 6, 9, 9, 8, - 9, 9,12,11, 8, 9, 9,11,11, 6, 7, 6, 9, 9, 7, 7, - 7,10,10, 7, 7, 7,10,10, 9,10,10,12,13, 9,10,10, - 12,13, 6, 7, 6, 9, 9, 6, 7, 7,10,10, 6, 7, 7,10, - 10, 9,10,10,13,12, 9,10,10,13,12, 8, 9, 9,12,12, + 9, 9,12,12, 8, 9, 9,11,11, 6, 7, 6, 9, 9, 6, 7, + 7,10,10, 6, 7, 7,10,10, 9,10,10,13,12, 9,10,10, + 13,13, 6, 6, 6, 9, 9, 6, 7, 7,10,10, 6, 7, 7,10, + 10, 9,10,10,13,13, 9,10,10,13,12, 8, 9, 9,12,12, 9,10,10,13,13, 9,10,10,13,13,12,13,13,15,15,12, - 13,13,15,15, 8, 9, 9,12,12, 9,10,10,13,13, 9,10, - 10,13,13,12,13,12,15,15,12,13,13,15,15, 6, 7, 7, - 9, 9, 7, 7, 8,10,10, 7, 7, 7,10,10, 9,10,10,13, - 13, 9,10,10,13,13, 7, 7, 7,10,10, 7, 8, 8,11,11, - 7, 8, 8,11,11,10,11,11,13,14,10,11,11,14,14, 7, - 7, 7,10,10, 7, 8, 8,11,11, 7, 8, 8,11,11,10,11, - 11,14,13,10,11,11,14,14, 9,10,10,13,13,10,11,11, - 14,14,10,11,11,14,14,13,13,14,16,16,13,14,14,16, - 16, 9,10,10,13,13,10,11,11,14,14,10,11,11,14,14, - 13,14,14,16,16,13,14,14,16,17, 6, 7, 7, 9, 9, 7, - 7, 7,10,10, 7, 7, 7,10,10, 9,10,10,13,13, 9,10, - 10,13,13, 7, 7, 7,10,10, 7, 8, 8,11,11, 7, 8, 8, - 11,11,10,11,11,14,14,10,11,11,13,14, 6, 7, 7,10, - 10, 7, 8, 8,11,11, 7, 8, 8,11,11,10,11,11,14,13, - 10,11,11,14,13, 9,10,10,13,13,10,11,11,14,14,10, - 11,11,14,14,13,14,14,16,16,13,13,14,16,17, 9,10, - 10,13,13,10,11,11,14,14,10,11,11,14,14,13,14,14, - 16,16,13,14,13,16,16, 8, 9, 9,12,12, 9,10,10,13, - 13, 9,10,10,13,13,12,13,13,16,16,12,13,13,16,15, - 9,10,10,13,13,10,11,11,14,14,10,11,11,14,14,13, - 14,14,17,17,13,14,14,17,16, 9,10,10,13,13,10,11, - 11,14,14,10,11,11,14,14,13,14,14,17,17,13,14,14, - 17,17,12,13,13,16,15,12,14,14,16,16,13,14,14,16, - 16,15,16,17,17,20,15,17,16,20,18,12,13,13,15,16, - 13,14,14,16,16,13,14,14,16,17,15,16,16,19,18,15, - 17,16,20,20, 8, 9, 9,12,12, 9,10,10,13,13, 9,10, - 10,13,13,12,13,13,15,15,12,13,13,15,16, 9,10,10, - 13,13,10,11,11,14,14,10,11,11,14,14,13,14,14,17, - 16,13,14,14,16,16, 9,10,10,13,13,10,11,11,14,14, - 10,11,11,14,14,13,14,14,16,17,13,14,14,16,16,12, - 13,13,16,16,13,14,14,17,16,13,13,14,16,17,15,16, - 17,20,18,15,16,16,17,18,12,13,13,15,16,13,14,14, - 16,16,12,14,13,16,16,16,16,16,18,20,15,17,16,18, - 17, + 13,13,16,15, 8, 9, 9,12,12, 9,10,10,13,13, 9,10, + 10,13,13,12,13,13,16,15,12,13,13,16,15, 6, 7, 7, + 9, 9, 7, 8, 8,10,10, 6, 7, 7,10,10, 9,10,10,13, + 13, 9,10,10,13,13, 6, 8, 7,10,10, 7, 8, 9,11,11, + 7, 9, 9,11,11,10,11,11,14,14,10,11,11,14,14, 6, + 7, 8,10,10, 7, 9, 8,11,11, 7, 9, 9,11,11,10,11, + 11,15,14,10,11,11,14,14, 9,10,10,14,13,10,11,11, + 14,14,10,12,11,14,14,13,14,14,16,17,13,14,15,18, + 16, 9,10,10,13,14,10,11,11,15,14,10,11,11,14,15, + 13,14,14,16,16,13,14,15,16,16, 6, 7, 7, 9, 9, 6, + 8, 7,10,10, 7, 8, 8,10,10, 9,10,10,13,13, 9,10, + 10,13,13, 6, 8, 7,10,10, 7, 9, 9,11,11, 7, 8, 9, + 11,11,10,11,11,14,14,10,11,11,13,14, 6, 8, 7,10, + 10, 7, 9, 9,11,11, 7, 9, 8,11,11,10,11,11,14,14, + 10,12,11,14,13, 9,10,10,13,13,10,12,11,14,14,10, + 11,11,14,14,13,14,14,17,17,13,14,14,15,16, 9,10, + 10,14,14,10,11,11,14,15,10,11,11,14,14,13,14,15, + 17,16,13,14,14,16,15, 8, 9, 9,12,12, 9,11,10,14, + 14, 9,10,10,13,14,12,14,14,16,16,12,13,14,16,16, + 9,10,10,13,13,10,11,11,15,14,10,12,12,15,14,14, + 15,15,17,17,14,15,15,17,16, 9,10,10,13,13,10,12, + 11,15,14,10,11,12,14,15,13,15,15,16,16,14,14,15, + 17,17,12,14,13,16,16,13,14,15,17,18,13,15,14,17, + 17,16,17,17,17,19,16,17,17,18,20,12,13,13,16,16, + 13,15,14,17,16,13,14,15,16,17,15,17,16,20,17,15, + 16,18,18,18, 8, 9, 9,12,12, 9,10,10,13,13, 9,11, + 10,14,13,12,13,14,16,16,13,13,14,16,16, 9,10,10, + 13,13,10,12,11,14,14,10,11,12,14,15,14,15,14,17, + 17,14,15,15,17,18, 9,10,10,13,13,10,11,12,14,15, + 10,12,11,15,14,13,14,15,17,18,14,15,14,16,16,12, + 13,14,17,16,13,15,14,17,17,13,14,14,17,18,16,17, + 17,19,18,16,16,17,17,19,12,13,13,16,16,13,15,15, + 17,17,13,15,14,17,16,16,16,17,18,19,15,17,16,17, + 19, }; static float _vq_quantthresh_res0_128_1024_4[] = { diff --git a/lib/books/res0_128_1024_5.vqh b/lib/books/res0_128_1024_5.vqh index 2fcc889c..d5bc992e 100644 --- a/lib/books/res0_128_1024_5.vqh +++ b/lib/books/res0_128_1024_5.vqh @@ -19,46 +19,56 @@ #include "codebook.h" static long _vq_quantlist_res0_128_1024_5[] = { + 6, 5, + 7, 4, - 6, + 8, 3, - 7, + 9, 2, - 8, - 0, 10, + 1, + 11, + 0, + 12, }; static long _vq_lengthlist_res0_128_1024_5[] = { - 1, 4, 4, 6, 6, 6, 6, 9, 9, 4, 6, 6, 8, 8, 9, 9, - 11,11, 4, 6, 5, 8, 8, 9, 9,11,12, 6, 8, 8,11,11, - 12,12,14,14, 6, 8, 8,11,11,12,12,14,14, 7, 9, 9, - 12,12,13,13,15,15, 7, 9, 9,12,12,13,14,15,15, 9, - 12,12,14,14,15,15,16,16, 9,12,12,14,14,15,15,16, - 16, + 1, 4, 4, 6, 6, 6, 6, 8, 8, 9, 9,10,10, 4, 6, 6, + 8, 8, 9, 9,11,11,12,12,13,13, 4, 6, 6, 8, 8, 9, + 9,11,11,12,12,13,13, 6, 9, 9,12,11,12,12,13,14, + 14,14,15,15, 6, 9, 9,12,11,12,12,13,13,14,14,15, + 16, 7, 9, 9,12,12,14,14,15,15,16,16,17,17, 7, 9, + 9,12,12,14,14,15,15,16,16,16,17, 8,11,11,14,14, + 15,15,16,16,17,17,19,18, 8,11,11,14,14,15,15,16, + 16,17,17,17,18, 9,13,13,15,15,16,16,17,17,18,18, + 18,18, 9,12,13,15,15,16,16,17,17,18,17,19,18,10, + 14,14,16,16,18,17,19,20,19,19,19,19,10,14,14,16, + 16,18,18,18,17,18,19,20,19, }; static float _vq_quantthresh_res0_128_1024_5[] = { - -4, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 4, + -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, + 2.5, 3.5, 4.5, 5.5, }; static long _vq_quantmap_res0_128_1024_5[] = { - 7, 5, 3, 1, 0, 2, 4, 6, - 8, + 11, 9, 7, 5, 3, 1, 0, 2, + 4, 6, 8, 10, 12, }; static encode_aux_threshmatch _vq_auxt_res0_128_1024_5 = { _vq_quantthresh_res0_128_1024_5, _vq_quantmap_res0_128_1024_5, - 9, - 9 + 13, + 13 }; static static_codebook _vq_book_res0_128_1024_5 = { - 2, 81, + 2, 169, _vq_lengthlist_res0_128_1024_5, - 1, -531365888, 1611661312, 4, 0, + 1, -531103744, 1611661312, 4, 0, _vq_quantlist_res0_128_1024_5, NULL, &_vq_auxt_res0_128_1024_5, diff --git a/lib/books/res0_128_1024_6.vqh b/lib/books/res0_128_1024_6.vqh index 62d1e6f4..91de5995 100644 --- a/lib/books/res0_128_1024_6.vqh +++ b/lib/books/res0_128_1024_6.vqh @@ -19,46 +19,56 @@ #include "codebook.h" static long _vq_quantlist_res0_128_1024_6[] = { + 6, 5, + 7, 4, - 6, + 8, 3, - 7, + 9, 2, - 8, - 0, 10, + 1, + 11, + 0, + 12, }; static long _vq_lengthlist_res0_128_1024_6[] = { - 3, 4, 4, 5, 5, 6, 6, 7, 7, 4, 5, 5, 6, 6, 7, 7, - 8, 8, 4, 5, 4, 6, 6, 7, 7, 8, 8, 6, 6, 6, 8, 8, - 8, 8,10,10, 5, 6, 6, 8, 8, 8, 8,10,10, 6, 7, 7, - 9, 9, 9, 9,10,10, 6, 7, 7, 9, 9, 9, 9,10,10, 8, - 9, 9,10,10,11,11,11,11, 8, 9, 9,10,10,11,11,11, - 11, + 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 4, 5, 5, + 6, 6, 7, 7, 8, 8, 9, 9,10,10, 4, 5, 5, 6, 6, 7, + 7, 8, 8, 9, 9,10,10, 6, 6, 6, 7, 7, 9, 9,10,10, + 11,11,12,12, 5, 6, 6, 7, 7, 9, 9,10,10,11,11,12, + 12, 7, 7, 7, 9, 9,10,10,11,11,12,12,13,13, 7, 7, + 7, 9, 9,10,10,11,11,12,12,13,13, 8, 9, 9,10,10, + 11,11,12,12,13,13,14,14, 8, 9, 9,10,10,11,11,12, + 12,13,13,14,14, 9,10,10,11,11,13,12,13,13,14,14, + 14,15, 9,10,10,11,11,12,12,13,13,14,14,14,15,10, + 11,11,12,12,13,13,14,14,15,15,15,15,10,11,11,12, + 12,14,13,14,14,15,15,15,15, }; static float _vq_quantthresh_res0_128_1024_6[] = { - -4, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 4, + -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, + 2.5, 3.5, 4.5, 5.5, }; static long _vq_quantmap_res0_128_1024_6[] = { - 7, 5, 3, 1, 0, 2, 4, 6, - 8, + 11, 9, 7, 5, 3, 1, 0, 2, + 4, 6, 8, 10, 12, }; static encode_aux_threshmatch _vq_auxt_res0_128_1024_6 = { _vq_quantthresh_res0_128_1024_6, _vq_quantmap_res0_128_1024_6, - 9, - 9 + 13, + 13 }; static static_codebook _vq_book_res0_128_1024_6 = { - 2, 81, + 2, 169, _vq_lengthlist_res0_128_1024_6, - 1, -531365888, 1611661312, 4, 0, + 1, -531103744, 1611661312, 4, 0, _vq_quantlist_res0_128_1024_6, NULL, &_vq_auxt_res0_128_1024_6, diff --git a/lib/books/res0_128_1024_7.vqh b/lib/books/res0_128_1024_7.vqh index bf81728e..0c500552 100644 --- a/lib/books/res0_128_1024_7.vqh +++ b/lib/books/res0_128_1024_7.vqh @@ -48,44 +48,44 @@ static long _vq_quantlist_res0_128_1024_7[] = { static long _vq_lengthlist_res0_128_1024_7[] = { 2, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, - 8, 9, 9, 9, 9,10,10,10,10, 5, 6, 6, 7, 7, 8, 8, - 8, 8, 9, 9, 9, 9, 9, 9,10,10,10,10,11,11,11,11, - 12,12, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, - 9,10,10,10,10,11,11,11,11,12,12, 6, 7, 7, 8, 8, - 9, 9,10,10,10,10,11,11,11,11,11,11,11,12,12,12, - 12,12,13,13, 6, 7, 7, 8, 8, 9, 9,10,10,10,10,11, - 11,11,11,11,11,12,12,12,12,12,12,13,13, 7, 8, 8, - 9, 9,10,10,10,10,11,11,11,11,11,11,12,12,12,12, - 13,13,13,13,14,14, 7, 8, 8, 9, 9,10,10,10,10,11, - 11,11,11,11,11,12,12,13,12,13,13,13,14,14,13, 8, - 9, 9,10,10,11,11,11,11,12,12,12,12,12,12,13,13, - 13,13,14,14,14,14,14,14, 8, 9, 9,10,10,11,11,11, - 11,12,12,12,12,12,12,13,13,13,13,14,14,14,14,14, - 14, 8,10,10,11,11,11,11,12,12,12,12,13,13,13,13, - 14,13,14,14,14,14,15,15,15,15, 8, 9, 9,11,11,11, - 11,12,12,12,12,13,13,13,13,13,13,14,14,14,14,15, - 15,15,15, 9,10,10,11,11,12,12,12,12,13,13,13,14, - 14,13,14,14,14,14,15,15,15,15,15,16, 9,10,10,11, - 11,12,12,12,12,13,13,13,14,14,14,14,14,14,14,14, - 15,16,15,15,16, 9,10,10,11,11,12,12,12,13,13,13, - 14,13,14,14,15,15,15,15,15,15,16,15,16,15, 8,10, - 10,11,11,12,12,13,12,13,13,14,13,14,14,15,15,15, - 15,15,15,16,15,16,16, 9,11,11,12,12,12,12,13,13, - 14,14,14,14,15,14,15,15,15,16,16,16,16,16,16,16, - 9,11,11,12,12,12,12,13,13,14,14,14,14,15,15,15, - 15,15,15,16,16,16,16,16,17,10,11,11,12,12,13,13, - 14,14,14,14,14,15,15,15,16,16,16,16,16,16,16,16, - 17,17,10,11,11,12,12,13,13,13,14,14,14,14,14,15, - 15,16,15,15,16,17,16,16,16,16,17,10,12,12,13,13, - 13,13,14,14,15,15,15,15,15,15,16,16,16,16,17,17, - 16,17,17,17,10,12,12,13,13,14,13,14,14,15,14,15, - 15,15,16,16,16,16,16,16,17,16,16,17,17,10,12,12, - 13,13,14,14,15,14,15,15,16,15,16,16,16,16,16,16, - 16,17,18,17,18,17,11,12,12,13,13,14,14,14,15,15, - 15,16,15,16,16,16,16,17,17,17,17,17,17,17,18,11, - 13,13,14,14,15,14,15,15,15,16,16,16,16,17,16,17, - 18,17,17,17,18,17,17,18,11,12,12,14,14,15,14,15, - 15,16,15,16,16,16,16,17,17,16,17,17,17,17,17,17, + 8, 9, 9, 9, 9, 9, 9,10,10, 4, 6, 6, 7, 7, 8, 8, + 9, 9, 9, 9,10,10, 9, 9,10,10,10,10,11,11,11,11, + 11,12, 4, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9,10,10, 9, + 9,10,10,10,10,11,11,11,11,12,12, 6, 7, 7, 9, 9, + 9, 9,10,10,11,11,11,11,11,11,11,11,12,12,12,12, + 13,12,13,13, 6, 7, 7, 9, 8, 9, 9,10,10,11,11,11, + 11,11,11,11,11,12,12,12,12,13,12,13,13, 7, 8, 8, + 10, 9,10,10,11,11,11,11,12,12,12,12,12,12,13,13, + 13,13,13,13,14,14, 7, 8, 8,10, 9,10,10,11,11,11, + 12,12,12,12,12,13,12,13,13,13,13,14,14,14,14, 8, + 9, 9,10,10,11,11,12,12,12,12,13,13,13,13,13,13, + 13,13,14,14,14,14,15,15, 8, 9, 9,10,10,11,11,12, + 12,12,12,13,13,13,13,13,13,13,13,14,14,14,14,14, + 14, 8,10,10,11,11,12,12,12,12,13,13,13,13,13,13, + 14,14,14,14,14,14,14,15,15,15, 8,10,10,11,11,12, + 12,12,13,13,13,13,13,13,13,14,14,14,14,14,15,15, + 15,15,15, 9,10,10,12,12,13,13,13,13,14,14,14,14, + 14,14,14,14,15,15,15,15,15,15,16,16, 9,10,10,12, + 12,12,12,13,13,13,13,14,14,14,14,14,14,15,14,15, + 15,15,15,16,15, 8,10,10,12,11,13,13,13,13,14,13, + 14,14,14,14,15,15,15,15,15,16,16,16,16,16, 8,10, + 10,12,11,12,12,13,13,13,13,14,14,15,14,15,14,15, + 15,15,15,15,15,16,16, 9,11,11,12,12,13,13,14,14, + 14,14,15,14,15,15,15,15,15,15,16,16,16,16,16,17, + 9,11,11,12,12,13,13,14,13,14,14,14,15,15,15,15, + 15,15,15,16,16,16,16,17,16, 9,11,11,12,13,13,13, + 14,14,15,14,15,15,15,15,15,16,16,16,16,16,17,16, + 18,17, 9,11,11,13,13,13,14,14,14,15,15,15,14,15, + 15,16,16,16,16,16,16,16,16,17,17,10,12,12,13,13, + 14,14,14,15,15,15,15,15,15,15,16,16,16,17,16,16, + 17,16,17,17,10,12,12,13,13,14,14,14,14,15,15,15, + 15,16,16,16,16,16,16,17,16,17,17,17,17,10,12,12, + 13,13,14,14,15,15,15,15,15,16,17,16,17,16,16,18, + 17,17,18,17,18,17,10,12,12,13,14,14,14,15,15,15, + 15,16,15,16,16,16,16,16,17,16,16,19,17,18,17,11, + 13,12,14,14,15,15,15,15,15,16,16,16,16,17,16,16, + 18,17,17,17,17,17,17,19,11,13,13,14,14,15,15,15, + 16,16,16,16,16,17,16,16,16,18,18,17,17,17,17,18, 17, }; diff --git a/lib/books/res0_128_1024_8.vqh b/lib/books/res0_128_1024_8.vqh index 1178d041..5462940a 100644 --- a/lib/books/res0_128_1024_8.vqh +++ b/lib/books/res0_128_1024_8.vqh @@ -65,122 +65,122 @@ static long _vq_quantlist_res0_128_1024_8[] = { }; static long _vq_lengthlist_res0_128_1024_8[] = { - 3, 5, 4, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, - 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9,10,10,10,10,10,10,10,10,10,10, 5, 6, 6, 7, 7, - 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10, - 10,10,11,11,10,10,10,10,11,11,11,11,11,11,11,11, - 12,11,12,12,11,11, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, - 9, 9, 9, 9, 9,10, 9,10,10,10,10,10,10,11,11,10, - 10,10,10,11,11,11,11,11,11,11,11,12,12,12,12,11, - 11, 6, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,10,10,10, - 11,11,11,11,11,11,11,11,12,11,11,11,11,11,12,12, - 12,12,12,12,13,12,13,13,13,13,13,12, 6, 7, 7, 8, - 8, 9, 9, 9, 9,10,10,10,10,10,10,11,11,11,11,11, - 11,11,11,12,12,11,11,12,11,12,12,12,12,12,12,12, - 12,13,13,13,13,12,12, 7, 8, 8, 9, 9, 9, 9,10,10, - 10,10,11,11,11,11,11,11,12,12,12,12,12,12,13,12, - 12,12,12,12,12,12,13,13,13,13,13,13,13,13,14,14, - 13,13, 7, 8, 8, 9, 9, 9, 9,10,10,10,10,11,11,11, - 11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13, - 13,13,13,13,13,13,13,14,13,14,14,13,13, 8, 9, 9, - 10,10,10,10,11,11,11,11,11,11,12,12,12,12,12,12, - 13,12,13,13,13,13,13,12,13,13,13,13,13,13,14,14, - 14,14,15,14,14,14,14,14, 8, 9, 9,10,10,10,10,11, - 11,11,11,11,11,12,11,12,12,12,12,12,13,13,13,13, - 13,13,13,13,13,13,13,14,13,14,14,14,14,14,14,15, - 14,14,14, 8, 9, 9,10,10,11,11,11,11,11,12,12,12, - 12,12,12,12,13,13,13,13,14,13,13,13,13,13,13,13, - 14,13,14,14,14,14,15,14,15,15,15,15,14,14, 8, 9, - 9,10,10,11,11,11,11,11,11,12,12,12,12,12,12,13, - 12,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14, - 14,15,14,14,15,15,15,14,14, 9,10,10,11,11,11,11, - 12,12,12,12,12,12,13,12,13,13,13,13,13,13,14,13, - 14,14,14,13,14,14,14,14,14,14,15,15,15,15,15,15, - 15,15,15,14, 9,10,10,11,11,11,11,12,11,12,12,12, - 12,12,13,13,13,13,13,13,13,14,13,14,13,14,14,14, - 14,14,14,15,14,15,14,14,15,15,15,15,15,14,14, 9, - 10,10,11,11,11,12,12,12,12,12,13,13,13,13,13,13, - 14,13,14,14,14,14,14,14,14,14,14,14,15,15,15,15, - 15,15,15,15,15,15,16,16,15,14, 9,10,10,11,11,12, - 12,12,12,12,12,13,13,13,13,13,13,14,14,13,14,14, - 14,14,14,14,14,14,14,14,14,15,14,15,15,15,15,16, - 15,16,15,15,14, 9,10,10,11,11,12,12,12,12,13,13, - 13,13,13,13,14,14,14,14,14,14,14,14,14,15,15,14, - 15,15,15,15,15,15,15,15,16,15,15,16,16,16,16,15, - 10,11,10,11,11,12,12,13,12,13,13,13,13,13,13,14, - 14,14,14,14,14,15,14,15,15,15,14,15,15,15,15,15, - 15,16,15,16,15,16,15,16,16,16,15,10,11,11,12,12, - 12,12,13,13,13,13,14,13,14,13,14,14,15,14,14,15, - 14,15,15,15,15,14,15,15,15,15,15,15,16,15,16,15, - 16,17,15,17,15,15,10,11,11,12,12,12,12,13,13,13, - 13,13,14,14,14,14,13,14,15,15,15,15,15,15,15,15, - 14,15,15,16,15,16,15,15,15,16,16,16,15,16,16,15, - 15,10,11,11,12,12,13,13,13,13,14,13,14,14,14,14, - 15,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15, - 16,15,16,16,16,16,16,16,16,17,16,16,10,11,11,12, - 12,13,13,13,13,13,13,14,14,14,14,14,14,15,15,16, - 15,15,15,16,15,15,15,15,15,15,16,16,15,16,15,17, - 16,16,16,17,16,16,16,11,12,12,12,13,13,13,14,13, - 14,14,14,14,14,14,15,15,15,15,15,15,16,15,16,16, - 15,15,15,16,16,15,16,16,16,16,17,17,17,17,17,16, - 16,16,11,11,12,12,12,13,13,14,13,14,14,14,14,14, - 14,15,15,15,15,15,15,15,15,16,16,16,15,16,15,17, - 15,17,16,16,16,17,16,16,17,16,16,17,17,11,12,12, - 13,13,13,13,14,14,14,14,14,14,15,15,15,15,15,15, - 16,15,15,16,16,16,16,16,15,16,16,16,17,17,16,16, - 17,17,18,17,17,16,16,17,11,12,12,13,13,13,14,14, - 14,15,14,14,14,15,15,15,16,16,15,16,15,16,16,16, - 16,16,16,16,16,16,16,16,16,17,16,17,17,16,17,16, - 17,16,16,10,11,11,12,12,13,13,14,13,14,14,14,14, - 14,14,15,14,15,15,16,15,15,16,16,16,16,16,16,16, - 16,15,16,16,16,16,16,17,17,16,17,18,17,17,10,11, - 11,12,12,13,13,14,14,14,14,14,14,15,15,15,15,15, - 15,15,15,16,15,16,16,16,16,17,16,17,17,16,17,16, - 17,16,17,17,17,17,17,18,17,10,12,12,13,13,13,13, - 14,14,14,14,14,14,15,15,15,15,16,15,16,15,16,15, - 16,16,16,17,16,16,16,16,17,17,17,19,18,17,17,18, - 18,17,16,16,10,12,12,13,13,13,13,14,14,14,14,15, - 15,15,15,16,15,16,15,15,16,16,16,16,16,16,16,16, - 18,16,17,17,17,18,17,17,17,17,17,18,18,16,17,11, - 12,12,13,13,14,14,14,14,14,14,14,15,15,15,15,15, - 15,15,16,16,16,16,16,16,16,16,17,16,17,16,17,18, - 17,17,18,17,17,18,17,17,18,16,11,12,12,13,13,14, - 13,14,14,15,15,15,15,15,15,15,16,16,15,16,16,15, - 16,16,16,17,16,16,17,17,17,17,18,17,17,18,17,17, - 16,17,17,17,17,11,12,12,13,13,14,14,15,14,15,15, - 15,15,15,15,16,16,15,15,16,16,16,16,17,16,16,16, - 17,17,16,18,18,17,18,17,17,17,18,17,17,18,16,16, - 11,12,12,13,13,14,14,15,15,15,15,16,15,15,15,15, - 16,17,16,16,16,17,16,16,16,17,17,16,17,17,17,17, - 17,18,17,17,18,19,18,17,18,17,16,11,13,13,14,14, - 14,15,15,15,15,15,15,15,16,15,16,15,16,17,17,17, - 16,16,16,16,17,17,17,17,17,17,17,17,19,18,17,18, - 17,18,18,17,17,17,11,13,13,14,14,14,14,15,15,15, - 15,15,15,16,16,16,16,16,16,16,16,16,16,17,17,17, - 18,16,18,17,16,17,17,18,17,18,18,18,17,17,17,17, - 17,12,13,13,14,14,15,15,15,15,15,15,16,16,16,16, - 16,16,16,16,16,16,16,17,17,16,17,17,16,17,18,17, - 18,17,18,16,17,20,17,19,18,18,19,18,11,13,13,14, - 14,15,14,15,15,15,15,16,15,16,16,16,16,16,17,17, - 16,17,16,18,16,17,17,17,18,18,17,18,17,17,18,17, - 18,19,18,18,18,19,17,12,13,13,14,14,15,15,15,15, - 15,16,16,15,16,16,16,17,17,16,16,17,16,17,18,17, - 17,18,18,18,17,17,18,18,18,18,18,18,18,18,18,18, - 18,19,12,13,13,14,14,15,15,15,16,16,15,16,16,16, - 16,16,17,17,16,17,17,17,17,17,17,17,17,17,18,18, - 17,19,18,18,18,18,17,18,18,17,17,17,17,12,14,13, - 15,14,15,15,15,15,15,15,16,16,16,16,17,16,17,17, - 17,17,17,17,18,17,17,17,17,17,18,17,17,18,19,19, - 18,18,17,18,19,17,18,19,12,13,13,14,15,15,15,15, - 16,15,16,16,16,17,17,16,17,17,16,16,17,17,17,18, - 18,18,18,17,20,17,17,18,18,18,18,18,18,18,17,19, - 19,17,17,12,13,13,14,14,15,15,15,15,15,15,15,15, - 16,15,16,16,16,17,16,16,16,16,16,17,17,17,18,17, - 17,17,18,17,17,19,18,18,18,17,18,17,19,16,12,13, - 13,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17, - 16,16,16,17,17,17,16,16,16,17,17,18,18,17,17,17, - 17,17,17,18,17,17,18,17,17, + 3, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, + 8, 8, 8, 9, 8, 9, 9, 9, 9, 8, 8, 9, 9, 9, 9, 9, + 9,10,10,10,10,10,10,11,10,10,10, 5, 6, 6, 7, 7, + 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,10,10, + 10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11, + 11,11,12,12,11,11, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, + 8, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,10, + 10,10,10,10,10,11,10,11,11,11,11,11,11,12,12,11, + 11, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,10, 9,10,10, + 10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11, + 11,11,12,11,12,12,12,12,12,12,12,12, 7, 8, 7, 8, + 8, 9, 9, 9, 9, 9, 9,10, 9,10,10,10,10,10,10,11, + 10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12, + 12,12,12,12,12,12,12, 8, 8, 8, 9, 9, 9,10,10,10, + 10,10,10,10,11,11,11,11,11,11,11,11,11,11,12,11, + 11,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13, + 12,12, 8, 8, 8, 9, 9, 9,10,10,10,10,10,10,10,11, + 10,11,11,11,11,11,11,12,11,12,12,11,11,12,12,12, + 12,12,12,12,12,13,13,13,13,13,13,12,12, 8, 9, 9, + 10,10,10,10,10,10,11,11,11,11,11,11,11,11,12,12, + 12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13, + 13,13,13,13,13,13,13,13, 8, 9, 9,10,10,10,10,10, + 10,11,11,11,11,11,11,11,11,12,11,12,12,12,12,12, + 12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,14, + 13,13,13, 9,10,10,10,10,11,11,11,11,11,11,12,11, + 12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,12, + 13,13,13,13,14,13,14,14,14,14,14,14,13,13, 9,10, + 10,10,10,11,11,11,11,11,11,11,11,12,12,12,12,12, + 12,12,12,13,12,13,13,13,12,13,13,13,13,13,13,13, + 13,14,14,14,14,14,14,13,13, 9,10,10,11,11,11,11, + 12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13, + 13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14, + 14,15,14,14, 9,10,10,11,11,11,11,12,11,12,12,12, + 12,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13, + 13,14,13,13,14,14,14,14,14,14,14,15,14,14,14,10, + 11,11,11,11,12,12,12,12,12,12,13,12,13,13,13,13, + 13,13,13,13,13,13,14,13,13,13,13,13,14,15,14,14, + 14,14,14,14,14,14,15,15,14,14,10,11,11,11,11,12, + 12,12,12,12,12,12,12,13,12,13,13,13,13,13,13,13, + 13,14,14,13,14,14,13,14,14,14,14,14,14,14,15,14, + 14,15,15,14,14,10,11,11,12,12,12,12,13,12,13,12, + 13,13,13,13,13,13,14,14,14,13,14,14,14,14,14,14, + 14,14,14,15,14,15,15,15,15,15,15,15,16,15,14,14, + 10,11,11,12,12,12,12,12,13,13,13,13,13,13,13,13, + 13,14,13,13,13,13,14,14,14,14,14,14,14,14,14,15, + 14,15,15,15,15,15,14,15,15,14,14,10,11,11,12,12, + 12,12,13,13,13,13,13,13,14,13,13,13,14,14,14,14, + 14,14,14,15,14,14,14,15,15,15,15,15,15,15,15,15, + 16,15,15,15,15,15,10,11,12,12,12,12,13,13,13,13, + 13,13,13,14,13,14,14,14,13,14,14,14,14,14,15,14, + 14,14,15,15,15,15,15,15,15,15,16,15,15,16,16,15, + 15,11,12,12,12,12,13,13,13,13,13,13,13,13,13,14, + 14,14,14,14,15,14,15,15,15,14,15,15,15,15,15,15, + 16,15,15,15,16,15,15,16,16,16,15,16,11,12,12,12, + 12,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14, + 14,15,15,15,15,14,15,15,14,15,15,15,15,16,15,16, + 16,16,16,16,16,16,15,11,12,12,13,13,13,13,14,13, + 14,14,14,13,14,14,14,14,14,14,15,14,15,15,15,15, + 15,15,15,15,16,15,15,15,16,16,16,16,16,16,16,15, + 16,15,11,12,12,13,13,13,13,13,13,14,13,14,14,14, + 14,14,14,15,14,14,14,15,15,15,15,15,15,15,15,15, + 15,16,15,15,16,15,16,15,16,16,16,15,15,12,13,13, + 13,13,14,13,14,14,14,14,14,14,15,14,15,14,15,15, + 15,15,15,15,15,15,15,15,15,15,16,16,15,16,17,16, + 17,16,16,17,17,16,16,15,12,12,12,13,13,13,14,14, + 14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,16, + 16,15,15,16,15,15,16,16,16,16,16,16,16,17,16,16, + 16,16,16,10,12,12,13,13,13,13,14,13,14,14,14,14, + 15,14,15,15,15,15,15,15,16,15,15,15,15,16,15,16, + 16,15,16,17,16,16,18,17,17,17,18,17,16,16,10,12, + 12,12,13,13,13,14,14,14,14,14,14,14,14,14,14,15, + 15,15,15,15,15,15,15,16,16,15,16,16,16,16,17,16, + 16,17,16,17,16,17,16,16,16,11,12,12,13,13,13,14, + 14,14,14,14,14,14,14,15,15,15,15,15,16,15,15,16, + 15,16,16,16,16,18,17,16,17,16,16,17,17,17,16,16, + 17,16,17,16,11,12,12,13,13,13,13,15,14,15,14,15, + 14,15,14,15,15,15,15,15,15,15,15,15,15,16,16,16, + 16,16,16,17,16,16,17,16,16,17,17,17,18,17,17,11, + 12,12,13,13,14,14,14,15,14,15,15,15,15,15,15,15, + 15,15,16,15,16,16,16,16,17,16,17,16,17,17,17,17, + 17,19,17,18,17,18,18,17,17,17,11,12,12,13,13,14, + 14,14,14,14,15,15,15,16,16,15,15,16,16,15,15,16, + 15,16,16,16,16,17,17,18,16,17,16,18,16,17,16,18, + 16,17,17,17,17,12,13,13,14,14,14,14,14,14,15,15, + 15,15,16,16,16,16,16,16,17,16,16,16,16,16,16,16, + 18,17,16,17,18,17,17,20,18,19,17,19,18,20,18,17, + 12,13,13,14,14,14,14,15,14,15,15,16,15,15,15,16, + 16,15,15,17,16,17,16,17,16,16,16,16,16,17,16,20, + 17,19,19,18,18,19,19,17,18,19,17,12,13,13,14,14, + 14,15,15,15,16,15,16,15,15,15,16,15,16,16,17,17, + 16,16,16,17,16,17,17,18,17,17,18,18,19,18,18,18, + 17,17,20,19,17,17,12,13,14,14,15,15,15,15,15,15, + 15,15,16,16,16,16,16,17,16,16,17,18,16,16,16,18, + 16,18,18,18,17,18,17,18,18,18,19,17,18,18,19,18, + 17,13,14,14,15,15,15,15,16,15,15,16,15,16,17,17, + 16,16,17,17,17,17,17,17,16,19,18,19,18,17,17,17, + 18,20,20,17,18,18,18,18,19,18,18,20,13,14,14,14, + 15,15,15,15,15,16,16,16,16,16,16,16,16,17,17,17, + 17,17,17,16,18,19,17,19,17,17,17,18,17,18,17,18, + 18,19,19,19,18,20,18,13,14,14,15,16,16,15,16,17, + 16,16,16,17,17,17,17,20,17,17,18,18,17,17,19,18, + 17,18,19,18,18,17,19,18,17,18,18,19,18,20,20,20, + 19,19,13,14,14,15,15,15,16,16,16,16,17,16,17,17, + 17,18,17,17,17,16,17,17,17,17,18,20,18,19,18,19, + 19,18,18,18,19,17,18,18,18,18,20,18,17,14,15,15, + 15,16,15,17,16,17,16,18,17,17,17,17,16,18,19,17, + 18,19,19,17,19,19,18,18,19,18,18,18,18,20,20,20, + 20,20,19,20,20,18,18,18,14,15,15,16,15,16,16,17, + 17,17,17,17,16,20,17,17,19,17,19,17,17,19,17,17, + 20,17,20,18,20,19,19,18,18,19,20,20,20,20,18,18, + 20,19,18,13,15,15,15,15,15,15,17,16,16,16,16,17, + 16,16,16,17,17,19,17,18,18,18,19,18,18,19,18,18, + 17,18,19,19,18,20,18,18,18,20,18,17,17,19,13,15, + 15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,17, + 18,17,18,17,17,17,18,17,18,18,17,18,17,19,18,17, + 18,17,17,19,17,18,18,18,17, }; static float _vq_quantthresh_res0_128_1024_8[] = { diff --git a/lib/books/res0_128_1024_9.vqh b/lib/books/res0_128_1024_9.vqh index 16704110..6a6cf9f8 100644 --- a/lib/books/res0_128_1024_9.vqh +++ b/lib/books/res0_128_1024_9.vqh @@ -19,424 +19,477 @@ #include "codebook.h" static long _vq_quantlist_res0_128_1024_9[] = { + 170, + 169, + 171, + 168, + 172, + 167, + 173, + 166, + 174, + 165, + 175, + 164, + 176, + 163, + 177, + 162, + 178, + 161, + 179, + 160, + 180, + 159, + 181, + 158, + 182, + 157, + 183, + 156, + 184, + 155, + 185, + 154, + 186, + 153, + 187, + 152, + 188, + 151, + 189, 150, + 190, 149, - 151, + 191, 148, - 152, + 192, 147, - 153, + 193, 146, - 154, + 194, 145, - 155, + 195, 144, - 156, + 196, 143, - 157, + 197, 142, - 158, + 198, 141, - 159, + 199, 140, - 160, + 200, 139, - 161, + 201, 138, - 162, + 202, 137, - 163, + 203, 136, - 164, + 204, 135, - 165, + 205, 134, - 166, + 206, 133, - 167, + 207, 132, - 168, + 208, 131, - 169, + 209, 130, - 170, + 210, 129, - 171, + 211, 128, - 172, + 212, 127, - 173, + 213, 126, - 174, + 214, 125, - 175, + 215, 124, - 176, + 216, 123, - 177, + 217, 122, - 178, + 218, 121, - 179, + 219, 120, - 180, + 220, 119, - 181, + 221, 118, - 182, + 222, 117, - 183, + 223, 116, - 184, + 224, 115, - 185, + 225, 114, - 186, + 226, 113, - 187, + 227, 112, - 188, + 228, 111, - 189, + 229, 110, - 190, + 230, 109, - 191, + 231, 108, - 192, + 232, 107, - 193, + 233, 106, - 194, + 234, 105, - 195, + 235, 104, - 196, + 236, 103, - 197, + 237, 102, - 198, + 238, 101, - 199, + 239, 100, - 200, + 240, 99, - 201, + 241, 98, - 202, + 242, 97, - 203, + 243, 96, - 204, + 244, 95, - 205, + 245, 94, - 206, + 246, 93, - 207, + 247, 92, - 208, + 248, 91, - 209, + 249, 90, - 210, + 250, 89, - 211, + 251, 88, - 212, + 252, 87, - 213, + 253, 86, - 214, + 254, 85, - 215, + 255, 84, - 216, + 256, 83, - 217, + 257, 82, - 218, + 258, 81, - 219, + 259, 80, - 220, + 260, 79, - 221, + 261, 78, - 222, + 262, 77, - 223, + 263, 76, - 224, + 264, 75, - 225, + 265, 74, - 226, + 266, 73, - 227, + 267, 72, - 228, + 268, 71, - 229, + 269, 70, - 230, + 270, 69, - 231, + 271, 68, - 232, + 272, 67, - 233, + 273, 66, - 234, + 274, 65, - 235, + 275, 64, - 236, + 276, 63, - 237, + 277, 62, - 238, + 278, 61, - 239, + 279, 60, - 240, + 280, 59, - 241, + 281, 58, - 242, + 282, 57, - 243, + 283, 56, - 244, + 284, 55, - 245, + 285, 54, - 246, + 286, 53, - 247, + 287, 52, - 248, + 288, 51, - 249, + 289, 50, - 250, + 290, 49, - 251, + 291, 48, - 252, + 292, 47, - 253, + 293, 46, - 254, + 294, 45, - 255, + 295, 44, - 256, + 296, 43, - 257, + 297, 42, - 258, + 298, 41, - 259, + 299, 40, - 260, + 300, 39, - 261, + 301, 38, - 262, + 302, 37, - 263, + 303, 36, - 264, + 304, 35, - 265, + 305, 34, - 266, + 306, 33, - 267, + 307, 32, - 268, + 308, 31, - 269, + 309, 30, - 270, + 310, 29, - 271, + 311, 28, - 272, + 312, 27, - 273, + 313, 26, - 274, + 314, 25, - 275, + 315, 24, - 276, + 316, 23, - 277, + 317, 22, - 278, + 318, 21, - 279, + 319, 20, - 280, + 320, 19, - 281, + 321, 18, - 282, + 322, 17, - 283, + 323, 16, - 284, + 324, 15, - 285, + 325, 14, - 286, + 326, 13, - 287, + 327, 12, - 288, + 328, 11, - 289, + 329, 10, - 290, + 330, 9, - 291, + 331, 8, - 292, + 332, 7, - 293, + 333, 6, - 294, + 334, 5, - 295, + 335, 4, - 296, + 336, 3, - 297, + 337, 2, - 298, + 338, 1, - 299, + 339, 0, - 300, + 340, }; static long _vq_lengthlist_res0_128_1024_9[] = { - 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, - 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, - 10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11, - 11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12, - 12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12, - 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, - 13,13,14,13,13,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,15,14,14,14,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,16,16,15,15,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,17,16,16,16,16,17,16,16,16, - 17,17,17,16,16,17,17,17,17,16,17,17,17,17,17,17, - 17,17,18,17,17,18,17,18,17,17,18,17,19,17,18,19, - 17,18,18,18,18,18,19,18,18,18,18,18,18,18,18,19, - 18,18,20,19,19,18,19,19,19,19,18,18,18,19,19,19, - 19,19,19,19,19,19,19,19,19,19,20,19,20,19,21,19, - 21,19,20,19,20,19,20,19,21,18,21,17,17, + 3, 3, 3, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, + 6, 6, 6, 7, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,10,10, + 10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11, + 11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12, + 12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13, + 13,13,13,13,13,13,14,13,13,14,14,14,14,13,14,14, + 14,14,14,14,14,14,14,15,15,14,14,15,14,15,15,15, + 15,15,15,15,15,15,15,15,15,15,16,15,15,16,15,16, + 16,16,16,15,16,16,16,16,17,16,16,16,17,16,17,17, + 16,16,17,17,17,16,16,17,16,17,17,17,17,17,17,17, + 17,17,17,19,17,17,18,18,18,18,18,18,18,18,18,18, + 20,18,19,19,19,18,18,17,20,19,19,19,20,17,19,18, + 19,19,19,18,18,20,19,20,19,20,19,19,20,19,19,19, + 20,20,20,18,19,18,19,20,20,20,20,20,19,20,20,20, + 20,19,20,20,20,20,19,20,19,20,20,20,19,20,20,20, + 20,20,20,20,20,20,20,20,20,20,20,19,20,20,20,20, + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20, + 19,20,20,20,20,20,19,20,20,20,20,20,20,20,20,20, + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20, + 20,20,20,20,20, }; static float _vq_quantthresh_res0_128_1024_9[] = { - -149.5, -148.5, -147.5, -146.5, -145.5, -144.5, -143.5, -142.5, - -141.5, -140.5, -139.5, -138.5, -137.5, -136.5, -135.5, -134.5, - -133.5, -132.5, -131.5, -130.5, -129.5, -128.5, -127.5, -126.5, - -125.5, -124.5, -123.5, -122.5, -121.5, -120.5, -119.5, -118.5, - -117.5, -116.5, -115.5, -114.5, -113.5, -112.5, -111.5, -110.5, - -109.5, -108.5, -107.5, -106.5, -105.5, -104.5, -103.5, -102.5, - -101.5, -100.5, -99.5, -98.5, -97.5, -96.5, -95.5, -94.5, - -93.5, -92.5, -91.5, -90.5, -89.5, -88.5, -87.5, -86.5, - -85.5, -84.5, -83.5, -82.5, -81.5, -80.5, -79.5, -78.5, - -77.5, -76.5, -75.5, -74.5, -73.5, -72.5, -71.5, -70.5, - -69.5, -68.5, -67.5, -66.5, -65.5, -64.5, -63.5, -62.5, - -61.5, -60.5, -59.5, -58.5, -57.5, -56.5, -55.5, -54.5, - -53.5, -52.5, -51.5, -50.5, -49.5, -48.5, -47.5, -46.5, - -45.5, -44.5, -43.5, -42.5, -41.5, -40.5, -39.5, -38.5, - -37.5, -36.5, -35.5, -34.5, -33.5, -32.5, -31.5, -30.5, - -29.5, -28.5, -27.5, -26.5, -25.5, -24.5, -23.5, -22.5, - -21.5, -20.5, -19.5, -18.5, -17.5, -16.5, -15.5, -14.5, - -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, -7.5, -6.5, - -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, - 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, - 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, - 18.5, 19.5, 20.5, 21.5, 22.5, 23.5, 24.5, 25.5, - 26.5, 27.5, 28.5, 29.5, 30.5, 31.5, 32.5, 33.5, - 34.5, 35.5, 36.5, 37.5, 38.5, 39.5, 40.5, 41.5, - 42.5, 43.5, 44.5, 45.5, 46.5, 47.5, 48.5, 49.5, - 50.5, 51.5, 52.5, 53.5, 54.5, 55.5, 56.5, 57.5, - 58.5, 59.5, 60.5, 61.5, 62.5, 63.5, 64.5, 65.5, - 66.5, 67.5, 68.5, 69.5, 70.5, 71.5, 72.5, 73.5, - 74.5, 75.5, 76.5, 77.5, 78.5, 79.5, 80.5, 81.5, - 82.5, 83.5, 84.5, 85.5, 86.5, 87.5, 88.5, 89.5, - 90.5, 91.5, 92.5, 93.5, 94.5, 95.5, 96.5, 97.5, - 98.5, 99.5, 100.5, 101.5, 102.5, 103.5, 104.5, 105.5, - 106.5, 107.5, 108.5, 109.5, 110.5, 111.5, 112.5, 113.5, - 114.5, 115.5, 116.5, 117.5, 118.5, 119.5, 120.5, 121.5, - 122.5, 123.5, 124.5, 125.5, 126.5, 127.5, 128.5, 129.5, - 130.5, 131.5, 132.5, 133.5, 134.5, 135.5, 136.5, 137.5, - 138.5, 139.5, 140.5, 141.5, 142.5, 143.5, 144.5, 145.5, - 146.5, 147.5, 148.5, 149.5, + -169.5, -168.5, -167.5, -166.5, -165.5, -164.5, -163.5, -162.5, + -161.5, -160.5, -159.5, -158.5, -157.5, -156.5, -155.5, -154.5, + -153.5, -152.5, -151.5, -150.5, -149.5, -148.5, -147.5, -146.5, + -145.5, -144.5, -143.5, -142.5, -141.5, -140.5, -139.5, -138.5, + -137.5, -136.5, -135.5, -134.5, -133.5, -132.5, -131.5, -130.5, + -129.5, -128.5, -127.5, -126.5, -125.5, -124.5, -123.5, -122.5, + -121.5, -120.5, -119.5, -118.5, -117.5, -116.5, -115.5, -114.5, + -113.5, -112.5, -111.5, -110.5, -109.5, -108.5, -107.5, -106.5, + -105.5, -104.5, -103.5, -102.5, -101.5, -100.5, -99.5, -98.5, + -97.5, -96.5, -95.5, -94.5, -93.5, -92.5, -91.5, -90.5, + -89.5, -88.5, -87.5, -86.5, -85.5, -84.5, -83.5, -82.5, + -81.5, -80.5, -79.5, -78.5, -77.5, -76.5, -75.5, -74.5, + -73.5, -72.5, -71.5, -70.5, -69.5, -68.5, -67.5, -66.5, + -65.5, -64.5, -63.5, -62.5, -61.5, -60.5, -59.5, -58.5, + -57.5, -56.5, -55.5, -54.5, -53.5, -52.5, -51.5, -50.5, + -49.5, -48.5, -47.5, -46.5, -45.5, -44.5, -43.5, -42.5, + -41.5, -40.5, -39.5, -38.5, -37.5, -36.5, -35.5, -34.5, + -33.5, -32.5, -31.5, -30.5, -29.5, -28.5, -27.5, -26.5, + -25.5, -24.5, -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, + -17.5, -16.5, -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, + -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, + -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, + 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, + 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, + 22.5, 23.5, 24.5, 25.5, 26.5, 27.5, 28.5, 29.5, + 30.5, 31.5, 32.5, 33.5, 34.5, 35.5, 36.5, 37.5, + 38.5, 39.5, 40.5, 41.5, 42.5, 43.5, 44.5, 45.5, + 46.5, 47.5, 48.5, 49.5, 50.5, 51.5, 52.5, 53.5, + 54.5, 55.5, 56.5, 57.5, 58.5, 59.5, 60.5, 61.5, + 62.5, 63.5, 64.5, 65.5, 66.5, 67.5, 68.5, 69.5, + 70.5, 71.5, 72.5, 73.5, 74.5, 75.5, 76.5, 77.5, + 78.5, 79.5, 80.5, 81.5, 82.5, 83.5, 84.5, 85.5, + 86.5, 87.5, 88.5, 89.5, 90.5, 91.5, 92.5, 93.5, + 94.5, 95.5, 96.5, 97.5, 98.5, 99.5, 100.5, 101.5, + 102.5, 103.5, 104.5, 105.5, 106.5, 107.5, 108.5, 109.5, + 110.5, 111.5, 112.5, 113.5, 114.5, 115.5, 116.5, 117.5, + 118.5, 119.5, 120.5, 121.5, 122.5, 123.5, 124.5, 125.5, + 126.5, 127.5, 128.5, 129.5, 130.5, 131.5, 132.5, 133.5, + 134.5, 135.5, 136.5, 137.5, 138.5, 139.5, 140.5, 141.5, + 142.5, 143.5, 144.5, 145.5, 146.5, 147.5, 148.5, 149.5, + 150.5, 151.5, 152.5, 153.5, 154.5, 155.5, 156.5, 157.5, + 158.5, 159.5, 160.5, 161.5, 162.5, 163.5, 164.5, 165.5, + 166.5, 167.5, 168.5, 169.5, }; static long _vq_quantmap_res0_128_1024_9[] = { - 299, 297, 295, 293, 291, 289, 287, 285, - 283, 281, 279, 277, 275, 273, 271, 269, - 267, 265, 263, 261, 259, 257, 255, 253, - 251, 249, 247, 245, 243, 241, 239, 237, - 235, 233, 231, 229, 227, 225, 223, 221, - 219, 217, 215, 213, 211, 209, 207, 205, - 203, 201, 199, 197, 195, 193, 191, 189, - 187, 185, 183, 181, 179, 177, 175, 173, - 171, 169, 167, 165, 163, 161, 159, 157, - 155, 153, 151, 149, 147, 145, 143, 141, - 139, 137, 135, 133, 131, 129, 127, 125, - 123, 121, 119, 117, 115, 113, 111, 109, - 107, 105, 103, 101, 99, 97, 95, 93, - 91, 89, 87, 85, 83, 81, 79, 77, - 75, 73, 71, 69, 67, 65, 63, 61, - 59, 57, 55, 53, 51, 49, 47, 45, - 43, 41, 39, 37, 35, 33, 31, 29, - 27, 25, 23, 21, 19, 17, 15, 13, - 11, 9, 7, 5, 3, 1, 0, 2, - 4, 6, 8, 10, 12, 14, 16, 18, - 20, 22, 24, 26, 28, 30, 32, 34, - 36, 38, 40, 42, 44, 46, 48, 50, - 52, 54, 56, 58, 60, 62, 64, 66, - 68, 70, 72, 74, 76, 78, 80, 82, - 84, 86, 88, 90, 92, 94, 96, 98, - 100, 102, 104, 106, 108, 110, 112, 114, - 116, 118, 120, 122, 124, 126, 128, 130, - 132, 134, 136, 138, 140, 142, 144, 146, - 148, 150, 152, 154, 156, 158, 160, 162, - 164, 166, 168, 170, 172, 174, 176, 178, - 180, 182, 184, 186, 188, 190, 192, 194, - 196, 198, 200, 202, 204, 206, 208, 210, - 212, 214, 216, 218, 220, 222, 224, 226, - 228, 230, 232, 234, 236, 238, 240, 242, - 244, 246, 248, 250, 252, 254, 256, 258, - 260, 262, 264, 266, 268, 270, 272, 274, - 276, 278, 280, 282, 284, 286, 288, 290, - 292, 294, 296, 298, 300, + 339, 337, 335, 333, 331, 329, 327, 325, + 323, 321, 319, 317, 315, 313, 311, 309, + 307, 305, 303, 301, 299, 297, 295, 293, + 291, 289, 287, 285, 283, 281, 279, 277, + 275, 273, 271, 269, 267, 265, 263, 261, + 259, 257, 255, 253, 251, 249, 247, 245, + 243, 241, 239, 237, 235, 233, 231, 229, + 227, 225, 223, 221, 219, 217, 215, 213, + 211, 209, 207, 205, 203, 201, 199, 197, + 195, 193, 191, 189, 187, 185, 183, 181, + 179, 177, 175, 173, 171, 169, 167, 165, + 163, 161, 159, 157, 155, 153, 151, 149, + 147, 145, 143, 141, 139, 137, 135, 133, + 131, 129, 127, 125, 123, 121, 119, 117, + 115, 113, 111, 109, 107, 105, 103, 101, + 99, 97, 95, 93, 91, 89, 87, 85, + 83, 81, 79, 77, 75, 73, 71, 69, + 67, 65, 63, 61, 59, 57, 55, 53, + 51, 49, 47, 45, 43, 41, 39, 37, + 35, 33, 31, 29, 27, 25, 23, 21, + 19, 17, 15, 13, 11, 9, 7, 5, + 3, 1, 0, 2, 4, 6, 8, 10, + 12, 14, 16, 18, 20, 22, 24, 26, + 28, 30, 32, 34, 36, 38, 40, 42, + 44, 46, 48, 50, 52, 54, 56, 58, + 60, 62, 64, 66, 68, 70, 72, 74, + 76, 78, 80, 82, 84, 86, 88, 90, + 92, 94, 96, 98, 100, 102, 104, 106, + 108, 110, 112, 114, 116, 118, 120, 122, + 124, 126, 128, 130, 132, 134, 136, 138, + 140, 142, 144, 146, 148, 150, 152, 154, + 156, 158, 160, 162, 164, 166, 168, 170, + 172, 174, 176, 178, 180, 182, 184, 186, + 188, 190, 192, 194, 196, 198, 200, 202, + 204, 206, 208, 210, 212, 214, 216, 218, + 220, 222, 224, 226, 228, 230, 232, 234, + 236, 238, 240, 242, 244, 246, 248, 250, + 252, 254, 256, 258, 260, 262, 264, 266, + 268, 270, 272, 274, 276, 278, 280, 282, + 284, 286, 288, 290, 292, 294, 296, 298, + 300, 302, 304, 306, 308, 310, 312, 314, + 316, 318, 320, 322, 324, 326, 328, 330, + 332, 334, 336, 338, 340, }; static encode_aux_threshmatch _vq_auxt_res0_128_1024_9 = { _vq_quantthresh_res0_128_1024_9, _vq_quantmap_res0_128_1024_9, - 301, - 301 + 341, + 341 }; static static_codebook _vq_book_res0_128_1024_9 = { - 1, 301, + 1, 341, _vq_lengthlist_res0_128_1024_9, - 1, -520962048, 1611661312, 9, 0, + 1, -520798208, 1611661312, 9, 0, _vq_quantlist_res0_128_1024_9, NULL, &_vq_auxt_res0_128_1024_9, diff --git a/lib/books/res0_128_1024aux.vqh b/lib/books/res0_128_1024aux.vqh index bd35fd4a..2be776b3 100644 --- a/lib/books/res0_128_1024aux.vqh +++ b/lib/books/res0_128_1024aux.vqh @@ -20,13 +20,13 @@ #include "codebook.h" static long _huff_lengthlist_res0_128_1024aux[] = { - 2, 7,12,10,14,10,14,13,14,16, 5, 4, 7, 7, 8, 7, - 10,12,13,13,10, 6, 5, 6, 5, 7, 9,14,15,17, 9, 6, - 6, 5, 5, 6, 8,11,13,14,13, 7, 5, 5, 4, 6, 7,12, - 14,17, 8, 7, 7, 6, 6, 5, 8, 9,11,14,14, 9, 8, 7, - 6, 7, 7, 9,11,14,11,10,11, 9, 9, 7, 7, 7, 9,12, - 10,11,13,11,10, 9, 7, 7, 8,10,11,11,13,11,11, 9, - 7, 6, 6, 8, + 2, 6,11, 9,12, 9,15,13,15,20, 5, 3, 5, 5, 7, 7, + 11,11,13,15, 9, 5, 4, 5, 6, 8,11,13,15,18, 9, 5, + 5, 5, 7, 6,11,10,14,16,12, 7, 6, 7, 7, 9,11,13, + 15,20, 8, 6, 7, 6, 9, 6,10, 9,12,19,14,10, 9, 8, + 7, 7, 9, 9,12,17,10, 9,10, 8, 9, 6, 8, 7,10,14, + 11,11,13,10,11, 8, 7, 7, 8,13,13,12,13,12,11,10, + 7, 6, 8,13, }; static static_codebook _huff_book_res0_128_1024aux = { diff --git a/lib/books/res0_128_128_1.vqh b/lib/books/res0_128_128_1.vqh index 63bf3f50..6efaf6c6 100644 --- a/lib/books/res0_128_128_1.vqh +++ b/lib/books/res0_128_128_1.vqh @@ -26,10 +26,10 @@ static long _vq_quantlist_res0_128_128_1[] = { static long _vq_lengthlist_res0_128_128_1[] = { 3, 4, 4, 5, 6, 6, 4, 6, 6, 5, 6, 6, 6, 8, 8, 6, - 7, 8, 5, 6, 6, 6, 8, 8, 6, 8, 8, 5, 6, 6, 6, 8, - 8, 6, 8, 8, 6, 8, 8, 8, 9, 9, 8, 9, 9, 6, 8, 8, - 8,10, 9, 8, 9, 9, 5, 6, 6, 6, 8, 8, 6, 8, 8, 6, - 8, 8, 8,10, 9, 8, 9, 9, 6, 8, 8, 8, 9,10, 8,10, + 7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 8, 5, 6, 6, 6, 8, + 8, 6, 8, 8, 6, 8, 8, 8, 9,10, 8,10, 9, 6, 8, 8, + 8,10, 9, 8, 9,10, 5, 6, 6, 6, 8, 8, 6, 8, 8, 6, + 8, 8, 8,10, 9, 8, 9,10, 6, 8, 8, 8, 9,10, 8,10, 9, }; diff --git a/lib/books/res0_128_128_2.vqh b/lib/books/res0_128_128_2.vqh index edbec2e9..96063307 100644 --- a/lib/books/res0_128_128_2.vqh +++ b/lib/books/res0_128_128_2.vqh @@ -29,157 +29,157 @@ static long _vq_quantlist_res0_128_128_2[] = { }; static long _vq_lengthlist_res0_128_128_2[] = { - 4, 5, 5, 7, 7, 9, 9, 5, 7, 7, 8, 8,10,10, 5, 7, - 7, 8, 8,11,11, 7, 8, 9,11,11,12,12, 7, 9, 9,11, - 11,12,12,10,11,11,13,13,13,14,10,11,11,13,13,14, - 13, 6, 7, 7, 9, 8,11,11, 7, 8, 8,10,10,12,12, 7, - 8, 8, 9,10,11,12, 9,10,10,11,12,13,13, 9,10,10, - 11,12,13,14,11,12,12,13,14,14,14,12,13,12,14,14, - 14,14, 6, 7, 7, 8, 9,10,11, 7, 8, 8,10, 9,11,13, - 7, 8, 8,10, 9,11,12, 9,10, 9,12,11,13,12, 9,10, - 10,12,11,13,12,11,12,12,13,13,14,14,11,12,12,14, - 13,14,13, 7, 9, 9,12,11,13,13, 9,10,10,12,13,14, - 13, 9,10,10,13,12,13,13,12,12,13,13,13,14,14,12, - 13,12,14,14,14,14,13,13,14,14,15,14,16,14,14,14, - 16,15,15,15, 7, 9, 9,11,12,12,13, 9,10,10,12,13, - 14,13, 9,10,10,12,12,13,12,12,13,12,13,13,15,14, - 12,12,12,14,14,14,14,14,13,15,15,13,17,14,13,14, - 14,14,14,15,15,10,12,11,14,13,15,15,12,12,13,15, - 14,15,15,12,13,13,15,14,17,15,15,14,15,15,15,16, - 16,14,14,14,15,14,15,17,15,17,14,15,15,16,17,15, - 15,15,15,16,15,17,10,12,12,13,13,15,14,12,13,13, - 15,14,15,15,12,13,13,13,14,15,15,14,14,15,15,15, - 15,17,14,13,15,15,15,15,16,17,16,14,15,15,15,15, - 14,15,14,16,15,17,16, 6, 7, 7, 9, 9,11,11, 7, 8, - 8,10,10,12,12, 7, 8, 8,10,10,12,12, 9,10,10,12, - 12,14,13, 9,10,10,12,12,13,13,12,12,13,15,13,14, - 14,11,12,13,13,13,15,14, 7, 9, 8,10,10,12,12, 8, - 9,10,11,11,12,13, 8, 9, 9,11,11,13,12,11,11,12, - 12,13,14,14,10,11,11,13,13,13,14,12,13,14,15,15, - 15,17,12,13,14,14,14,15,15, 7, 8, 9,10,10,12,12, - 8, 9, 9,11,11,12,13, 8, 9, 9,10,11,12,13,11,11, - 11,13,12,14,13,11,11,11,12,13,14,16,13,14,13,15, - 14,16,15,13,13,14,15,14,17,15, 9,11,10,14,13,15, - 13,10,11,12,13,13,15,15,11,11,12,13,13,14,13,12, - 13,13,13,13,13,15,13,14,13,14,14,15,15,14,14,17, - 15,17,14,15,14,14,15,17,16,15,16, 9,10,11,12,14, - 14,14,10,11,11,13,13,14,15,10,11,12,13,13,14,14, - 12,13,12,14,13,15,15,13,13,14,15,14,15,14,14,14, - 14,16,14,16,14,14,14,14,15,16,15,15,12,13,13,15, - 14,15,15,13,13,14,14,15,15,15,13,14,14,15,14,16, - 14,14,16,15,15,15,17,15,15,15,15,15,15,17,16,16, - 15,15,16,15,15,17,14,15,15,15,17,17,15,13,13,14, - 13,14,14,15,13,14,14,15,15,15,15,14,14,14,15,14, - 15,15,15,17,14,16,15,15,15,13,14,15,14,15,17,15, - 15,15,16,16,14,17,15,16,15,16,16,16,16,16, 6, 7, - 7, 9, 9,11,12, 7, 8, 8,10,10,12,12, 7, 8, 8,10, - 10,12,12, 9,10,10,12,12,13,13, 9,10,10,13,12,13, - 14,12,12,13,13,14,14,14,12,12,12,14,14,15,14, 7, - 9, 8,10,10,12,12, 8, 9, 9,11,11,13,12, 8, 9,10, - 11,11,13,13,10,12,11,13,13,14,14,10,11,12,12,13, - 13,13,13,13,13,15,13,14,14,12,13,14,13,14,14,16, - 7, 8, 8,10,10,12,12, 8, 9,10,11,11,12,13, 8,10, - 9,11,11,13,12,10,11,11,13,13,13,14,10,11,11,13, - 12,14,13,13,14,14,14,14,15,14,13,13,13,15,14,15, - 14, 9,10,10,14,13,15,14,11,12,12,14,13,13,14,10, - 11,11,14,14,14,14,13,14,14,15,13,16,14,12,12,13, - 13,14,13,15,14,14,14,15,15,16,15,14,14,14,14,17, - 14,16, 9,10,10,12,12,13,14,10,11,12,13,14,13,14, - 10,11,11,13,13,14,14,13,14,14,14,14,14,15,12,13, - 13,15,13,15,13,15,14,14,15,15,15,15,14,15,15,17, - 14,16,15,12,13,14,15,13,16,15,13,14,13,15,14,15, - 15,13,14,14,15,14,14,16,14,15,15,15,15,17,15,14, - 14,14,14,15,15,17,15,15,15,17,15,16,17,15,14,15, - 17,16,15,17,12,12,14,14,14,15,14,13,14,15,14,15, - 16,16,13,14,14,16,15,14,15,14,15,15,15,15,15,16, - 14,15,14,15,17,16,16,16,15,17,16,15,16,17,15,14, - 15,17,15,17,15, 8,10, 9,12,12,14,14,10,11,11,13, - 13,13,13, 9,10,11,13,13,14,14,13,13,13,14,14,15, - 15,12,13,12,14,13,15,15,14,14,14,15,15,17,15,14, - 14,15,15,15,15,14, 9,11,11,14,13,14,14,11,12,12, - 14,13,15,14,11,12,11,14,13,14,14,13,13,14,14,16, - 15,15,13,14,14,16,14,16,14,15,15,14,16,15,15,16, - 14,15,15,15,15,15,15, 9,11,11,13,13,15,13,10,12, - 11,13,14,14,14,10,11,12,13,14,15,14,14,14,14,15, - 15,15,15,12,13,14,14,14,15,16,14,15,15,17,15,17, - 16,14,15,14,16,15,17,17,12,13,13,14,14,14,15,12, - 13,13,14,14,17,15,13,16,13,15,14,15,14,15,14,15, - 14,16,14,16,14,14,14,16,14,17,15,15,14,16,14,17, - 17,16,15,16,16,15,15,17,16,12,12,13,15,14,15,15, - 12,14,14,15,15,15,15,13,14,14,14,14,15,17,14,15, - 15,16,14,17,15,15,15,14,14,16,16,16,15,16,14,16, - 15,17,16,16,17,15,17,16,15,17,13,14,14,15,15,17, - 16,14,14,15,16,15,17,16,15,14,16,16,16,16,15,15, - 15,16,15,17,16,16,15,17,16,17,16,15,15,15,16,15, - 15,17,16,16,15,17,16,16,17,17,17,14,14,15,15,15, - 16,16,14,15,15,17,15,16,17,15,14,15,17,17,15,17, - 16,16,15,16,14,15,17,15,16,15,15,14,17,17,16,17, - 14,16,15,17,15,15,16,16,17,16,16,17, 8, 9, 9,12, - 12,13,14, 9,11,11,12,13,14,15, 9,11,11,13,13,14, - 14,12,13,13,14,14,14,14,12,13,14,14,14,15,15,14, - 14,15,15,15,15,15,14,15,15,15,14,15,16, 9,11,11, - 14,13,14,14,11,12,11,14,13,15,14,11,12,12,13,15, - 14,14,13,14,13,15,15,16,15,12,14,14,15,15,14,16, - 14,15,15,16,15,15,15,14,14,15,15,16,17,15, 9,10, - 11,12,13,15,14,10,12,12,13,14,14,14,10,12,11,14, - 14,14,14,13,13,13,14,15,14,15,14,14,13,15,15,15, - 16,15,15,15,16,16,15,16,13,17,14,16,15,14,16,12, - 14,12,15,14,16,14,13,14,14,15,16,17,15,12,13,13, - 15,14,15,15,15,15,14,16,16,15,14,14,14,14,14,15, - 14,15,16,15,15,17,16,17,17,17,16,14,15,17,15,17, - 12,13,13,14,14,15,15,13,13,14,16,14,14,16,13,13, - 13,14,14,15,15,14,15,15,15,15,15,17,14,15,13,15, - 14,15,15,14,15,16,15,16,16,16,15,15,15,15,15,17, - 14,14,15,15,16,16,16,15,14,16,15,17,14,16,15,14, - 15,16,15,14,15,16,14,17,16,16,17,17,17,17,15,15, - 15,15,17,16,15,16,15,16,17,16,17,15,15,16,16,16, - 15,16,13,16,15,15,16,15,16,14,16,15,15,17,17,15, - 13,14,14,15,16,17,17,15,15,15,15,16,16,17,16,17, - 14,16,15,17,17,17,17,16,17,17,16,16,16,15,15,17, - 16,17,15,11,12,13,14,14,14,15,13,13,14,14,15,14, - 17,13,13,14,14,15,17,15,14,15,14,15,15,16,17,14, - 15,15,14,16,15,17,15,16,15,17,16,17,16,15,16,15, - 16,16,15,17,12,13,13,15,14,15,15,14,14,14,14,17, - 16,15,13,14,14,15,15,15,15,15,16,15,17,16,16,17, - 15,14,15,15,17,16,17,16,17,16,16,17,17,16,15,15, - 15,17,15,17,17,13,13,13,15,15,17,17,13,14,14,15, - 15,15,15,13,14,14,14,15,14,15,14,15,15,15,15,15, - 15,14,15,14,15,17,15,15,15,16,15,16,17,17,16,16, - 15,15,17,17,16,16,14,15,15,15,15,15,15,15,14,16, - 16,17,17,16,15,16,16,15,15,16,15,15,15,15,15,17, - 16,15,15,17,15,17,17,17,15,16,15,15,15,17,15,15, - 15,16,17,16,17,17,16,14,15,14,15,14,17,17,14,15, - 15,16,15,17,17,14,15,15,15,17,15,17,15,15,16,15, - 16,17,16,15,15,17,16,15,16,17,15,17,15,17,15,17, - 16,17,16,15,17,17,17,17,14,16,15,15,17,16,17,15, - 15,15,17,16,16,17,16,15,15,17,16,16,16,15,15,15, - 16,15,16,16,16,16,15,16,16,17,17,17,15,16,17,17, - 16,17,16,17,16,17,15,17,16,14,16,15,15,16,16,17, - 15,15,16,16,16,16,17,15,15,16,16,16,17,16,15,15, - 15,17,16,17,16,17,17,17,15,17,15,16,16,17,15,17, - 16,17,17,17,16,16,17,17,17,17,11,12,12,14,15,15, - 15,12,13,13,14,15,16,16,12,14,13,16,14,17,15,15, - 15,15,15,15,15,16,15,15,14,16,15,15,17,15,15,15, - 16,15,17,16,15,14,16,17,17,15,17,12,13,14,16,14, - 15,15,14,14,14,15,16,17,15,13,14,14,14,15,15,17, - 15,14,14,15,16,16,16,15,17,15,15,15,16,17,15,17, - 16,17,15,15,15,16,16,16,15,16,16,17,12,13,13,14, - 14,17,15,13,13,14,14,15,16,17,14,15,14,15,15,15, - 16,15,14,17,15,15,15,16,15,15,17,17,17,16,15,15, - 15,15,15,16,17,15,16,15,15,17,15,16,17,15,15,14, - 16,14,15,16,14,17,15,16,17,15,16,15,15,14,17,14, - 16,17,15,16,17,17,16,16,16,15,15,16,15,16,17,16, - 17,15,17,17,16,16,16,16,16,15,15,17,15,17,14,14, - 15,15,16,17,15,14,15,16,17,15,14,15,15,14,15,15, - 15,16,17,16,15,16,16,17,17,17,17,15,15,15,17,17, - 16,17,15,17,17,17,17,17,16,16,16,17,17,16,16,16, - 15,15,17,15,17,17,14,16,15,15,16,17,16,14,14,15, - 16,17,16,17,16,17,16,17,15,17,17,17,14,15,17,17, - 17,17,17,17,16,16,17,17,17,16,15,17,17,17,17,17, - 17,15,15,16,17,16,16,16,17,15,16,15,15,17,16,15, - 15,17,17,17,17,17,17,16,17,17,15,17,16,17,16,17, - 16,17,17,17,17,16,17,17,17,17,17,17,16,16,17,17, - 17, + 3, 5, 5, 7, 7,10,10, 5, 7, 7, 9, 9,12,12, 5, 7, + 7, 8, 8,12,12, 7, 9, 9,14,14,16,16, 7, 9, 9,12, + 13,15,15,10,12,13,15,17,17,17,10,13,12,15,17,16, + 17, 5, 7, 7, 9, 9,12,12, 7, 8, 8,10,10,13,13, 7, + 8, 8,10,10,13,14, 9,10,10,15,16,15,15, 9,11,11, + 16,15,15,15,12,13,14,16,16,17,16,12,15,14,15,17, + 16,15, 5, 7, 7, 8, 9,12,11, 7, 8, 8,10,10,13,13, + 6, 8, 8,10,10,13,12, 9,11,10,14,15,15,15, 9,11, + 10,15,14,15,16,12,15,14,16,15,17,16,12,13,13,17, + 15,17,17, 7, 9, 9,14,12,14,15, 9,10,11,15,15,16, + 15, 9,10,11,13,15,15,17,14,15,16,16,17,17,17,13, + 14,15,17,17,17,17,15,17,17,17,17,16,17,16,17,17, + 17,17,17,17, 7, 9, 9,12,13,15,15, 9,10,10,14,16, + 15,17, 9,11,11,15,15,17,17,13,14,14,17,17,17,16, + 13,16,15,16,17,16,17,15,17,15,15,17,17,17,15,17, + 17,16,17,17,17,10,13,12,15,14,16,17,12,14,14,17, + 16,17,17,12,15,14,16,17,17,17,16,17,17,17,17,17, + 17,15,16,17,17,15,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,10,12,13,15,16,17,16,12,14,14, + 17,17,17,17,12,16,14,17,17,17,17,16,16,17,17,17, + 17,17,15,17,17,17,17,17,17,16,17,17,17,17,17,17, + 16,17,16,17,17,17,16, 5, 7, 7, 9, 9,12,12, 7, 8, + 8,11,10,14,14, 7, 8, 8,10,11,13,13, 9,11,11,16, + 17,16,17, 9,10,11,14,17,15,17,12,16,15,15,15,16, + 17,12,16,17,17,17,17,17, 7, 9, 8,10,10,15,13, 8, + 10,10,12,12,14,14, 8,10,10,12,11,15,16,10,12,13, + 14,17,15,16,11,12,12,17,17,17,17,14,16,16,17,17, + 17,17,14,16,17,17,16,17,16, 7, 8, 8,10,10,14,13, + 8,10,10,12,12,14,13, 8,10,10,12,12,14,14,11,12, + 12,16,16,15,16,11,13,13,16,16,17,15,15,16,17,17, + 17,17,17,15,16,15,17,16,17,16, 9,11,11,14,15,17, + 17,10,12,12,15,15,17,16,11,13,12,16,16,17,16,15, + 16,17,16,17,17,17,15,17,17,17,17,16,17,17,17,17, + 17,17,17,17,17,17,15,17,17,17,17, 9,11,11,15,15, + 16,15,10,13,12,17,16,17,15,11,13,13,15,15,15,16, + 14,17,16,17,17,17,16,14,17,17,17,16,17,17,16,17, + 17,17,16,17,17,17,17,15,17,17,17,17,13,14,15,17, + 16,16,17,14,14,15,17,16,17,17,14,16,16,17,17,16, + 17,16,17,17,17,17,17,17,16,17,17,17,17,17,17,17, + 16,17,17,17,17,17,17,17,17,17,17,17,17,12,13,15, + 17,17,17,17,14,14,16,17,17,17,17,14,17,17,17,17, + 17,17,16,17,17,17,17,17,17,17,17,17,16,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17, 5, 7, + 7, 9, 9,12,12, 7, 9, 8,10,10,13,13, 7, 8, 8,10, + 10,13,13, 9,11,10,14,14,16,15, 9,11,10,14,14,16, + 15,13,14,15,16,16,17,17,12,15,14,17,16,16,17, 7, + 8, 8,10,10,13,13, 8,10,10,12,12,14,13, 8,10,10, + 11,12,14,15,11,13,11,17,17,15,15,10,12,13,15,17, + 17,17,14,16,17,17,17,16,17,14,17,15,16,17,16,17, + 7, 8, 8,10,10,14,15, 8,10,10,11,12,13,14, 8,10, + 9,12,12,14,14,10,11,12,16,15,17,15,10,12,12,17, + 15,16,17,14,14,15,16,17,17,16,15,15,17,17,17,17, + 17, 9,11,10,16,15,17,16,10,12,12,16,15,17,17,10, + 12,12,15,15,14,17,17,17,16,17,17,16,17,15,16,17, + 16,17,17,17,17,17,17,16,17,17,17,17,17,17,17,17, + 17,17, 9,11,11,14,14,16,16,11,12,12,14,17,16,16, + 10,12,12,17,17,16,15,14,17,16,17,17,17,17,14,16, + 16,17,16,17,17,17,17,17,17,17,17,17,17,17,16,17, + 16,17,17,13,15,15,15,17,17,17,16,15,17,16,16,17, + 16,14,14,17,16,17,16,17,17,17,17,17,17,17,17,16, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,13,15,16,17,17,17,17,15,16,16,17,16, + 17,17,14,17,16,17,17,17,17,15,17,17,17,17,17,17, + 17,16,17,17,17,17,17,17,17,17,17,17,17,16,17,17, + 17,17,17,17,17, 7,10, 9,13,13,17,16, 9,11,11,14, + 14,15,17, 9,11,11,15,15,17,17,14,14,14,16,17,17, + 17,13,15,15,17,17,17,16,17,17,16,17,17,17,17,17, + 16,16,15,17,17,15, 9,11,11,15,14,17,17,11,12,13, + 16,16,16,16,11,13,12,16,17,17,16,16,16,17,17,17, + 17,17,16,16,16,17,17,17,17,16,17,17,17,17,17,17, + 17,17,17,17,17,17,17, 9,11,11,15,15,17,15,11,12, + 13,16,15,16,15,11,12,12,16,15,17,17,15,17,17,17, + 17,17,17,15,16,17,16,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,13,15,16,17,17,17,17,15, + 16,15,17,17,17,16,16,16,17,17,17,17,17,17,15,17, + 14,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 16,17,17,17,17,17,17,17,17,15,15,17,17,17,17,17, + 16,17,16,17,17,17,16,17,17,16,17,16,17,17,16,17, + 17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,15,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17, 7, 9, 9,14, + 14,17,17, 9,11,11,14,14,15,15, 9,11,11,14,15,15, + 16,15,17,15,17,17,17,15,14,17,16,17,16,16,17,16, + 17,17,17,17,17,17,17,17,16,17,17,17,17, 9,11,11, + 15,14,15,17,11,12,13,15,17,17,17,10,13,13,16,15, + 16,17,17,17,17,17,17,17,17,17,15,15,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17, 9,11, + 11,15,16,17,17,11,13,13,15,16,15,15,11,12,12,15, + 15,16,17,15,16,17,17,17,17,16,17,17,16,17,17,16, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,14, + 16,15,17,17,17,17,17,17,15,17,16,17,17,16,15,17, + 17,17,17,17,17,17,17,17,17,17,17,17,16,17,17,16, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 15,16,15,17,17,17,17,16,17,17,17,17,17,17,16,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,15,17, + 14,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,16, + 16,16,17,17,17,16,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,16,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,16,11,13,15,14,16,17,17,14,16,14,17,17,17, + 17,13,15,15,17,17,17,17,17,17,17,17,17,17,17,15, + 17,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,13,15,15,16,16,17,17,17,15,17,16,17, + 17,17,14,17,16,17,16,17,17,17,17,17,17,17,17,17, + 17,17,17,17,16,17,17,17,17,17,17,17,17,17,17,17, + 17,17,16,17,17,12,15,15,17,17,17,17,15,17,15,17, + 17,16,17,14,17,17,17,17,17,17,17,17,17,17,16,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,16,16,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,16,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,16,17,17,17,17,16, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,11,13,13,17,17,17, + 15,13,15,15,17,17,17,17,13,16,15,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,13,14,14,16,17, + 17,17,16,17,17,16,17,17,17,16,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,13,14,14,17, + 17,17,17,15,16,16,17,17,17,17,15,15,16,17,17,17, + 17,17,17,17,17,17,17,17,17,16,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,16,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,16,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 15, }; static float _vq_quantthresh_res0_128_128_2[] = { diff --git a/lib/books/res0_128_128_3.vqh b/lib/books/res0_128_128_3.vqh index 516a30ff..ba330e04 100644 --- a/lib/books/res0_128_128_3.vqh +++ b/lib/books/res0_128_128_3.vqh @@ -19,100 +19,128 @@ #include "codebook.h" static long _vq_quantlist_res0_128_128_3[] = { + 15, + 14, + 16, + 13, + 17, 12, + 18, 11, - 13, + 19, 10, - 14, + 20, 9, - 15, + 21, 8, - 16, + 22, 7, - 17, + 23, 6, - 18, + 24, 5, - 19, + 25, 4, - 20, + 26, 3, - 21, + 27, 2, - 22, + 28, 1, - 23, + 29, 0, - 24, + 30, }; static long _vq_lengthlist_res0_128_128_3[] = { - 4, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 9, 8, 9, - 9, 9, 9,10,10,10,10, 8, 8, 5, 6, 6, 6, 7, 7, 7, - 7, 7, 8, 8, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10, - 8, 8, 5, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, - 9,10, 9, 9,10,10,10,10,10, 8, 9, 6, 7, 7, 7, 7, - 8, 8, 8, 8, 9, 9, 9, 9,10, 9,10,10,11,11,11,11, - 11,11,10,10, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, - 9, 9,10,10,10,10,11,11,11,11,11,10,10, 7, 8, 8, - 8, 8, 9, 8, 9, 9, 9, 9,10,10,10,10,11,11,11,11, - 12,12,12,12,10,11, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, - 9,10,10,10,10,11,11,11,11,12,11,12,12,10,10, 8, - 8, 8, 9, 9, 9, 9,10, 9,10,10,10,10,11,11,11,12, - 12,11,12,12,12,13,11,11, 8, 8, 8, 9, 9, 9, 9, 9, - 9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,11, - 11, 8, 9, 9, 9, 9,10, 9,10,10,10,10,11,10,11,11, - 12,11,12,12,12,12,13,12,11,11, 8, 9, 9, 9, 9, 9, - 10,10,10,10,11,11,11,11,11,11,12,12,12,12,12,13, - 13,11,12, 9,10,10,10,10,10,10,11,11,11,11,12,11, - 12,12,12,12,13,13,13,13,14,13,12,12, 9, 9, 9,10, - 10,10,10,10,10,11,11,11,11,12,11,12,12,13,12,12, - 13,13,13,12,12,10,10,10,10,10,11,11,11,11,11,11, - 12,12,12,12,13,13,13,12,12,13,14,13,12,12,10,10, - 10,10,10,11,11,11,11,11,12,12,12,12,12,12,12,12, - 12,13,13,14,13,12,13,10,11,11,11,11,11,12,11,12, - 12,12,13,12,12,13,13,14,13,12,14,13,14,15,13,12, - 10,10,10,11,11,11,12,12,11,12,12,13,12,12,13,12, - 13,12,14,14,13,14,14,13,12,11,11,11,11,12,12,12, - 12,12,12,12,12,13,13,14,13,14,14,14,14,14,14,14, - 13,14,10,11,11,12,12,12,12,12,12,12,13,13,13,13, - 13,13,13,13,13,15,14,14,14,15,13,11,11,12,12,12, - 13,13,13,13,13,13,13,13,13,14,14,13,14,15,14,14, - 14,14,14,13,11,12,12,12,12,13,12,13,12,13,13,13, - 13,13,13,13,13,13,14,14,14,14,14,13,13,12,12,12, - 12,12,12,13,13,14,14,14,14,14,14,14,13,14,13,15, - 15,16,14,16,13,15,12,12,12,12,12,13,12,13,13,14, - 13,13,13,14,13,15,14,15,13,14,14,14,15,14,14,10, - 11,11,11,11,12,12,12,12,12,12,13,13,13,13,13,15, - 13,13,14,13,14,15,12,12,10,11,11,12,11,12,12,13, - 12,12,12,13,13,13,13,14,13,13,13,14,13,15,14,12, - 12, + 3, 4, 4, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 9, 9, 9, 9, 9,10,10,10,10,11,11, 4, + 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,11,11, 4, 5, + 5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 8, 8, 8, + 9, 9, 9, 9, 9, 9,10,10,10,10,10,11,11, 7, 7, 7, + 9, 8, 9,10,10,10,10,10,10,10,10,10,10,11,10,11, + 10,11,11,11,11,12,12,12,12,13,13,13, 7, 7, 7, 9, + 8, 9, 9,10,10,10,10,10,10,10,10,10,10,10,11,10, + 11,11,12,11,12,12,12,12,13,13,13, 9, 9, 9,10,10, + 11,11,11,11,12,12,11,12,12,12,12,12,12,12,12,13, + 12,12,13,13,13,13,14,14,14,15, 9, 9, 9,11,10,11, + 11,12,11,12,11,12,12,12,12,12,12,12,12,12,12,13, + 13,13,13,13,13,14,14,14,14,10,10,10,12,12,13,12, + 13,14,13,13,13,13,13,13,13,14,13,14,13,14,15,14, + 15,15,16,15,14,15,15,15,10,10,10,11,11,13,12,13, + 13,13,13,14,13,13,13,13,13,13,13,14,13,14,14,14, + 14,15,15,14,15,15,15,11,11,12,13,13,13,13,14,14, + 14,14,14,15,14,14,14,15,14,14,15,15,15,15,15,15, + 15,17,16,16,16,16,10,11,11,12,12,14,13,13,15,14, + 14,14,14,14,14,15,14,15,15,15,14,15,14,16,16,16, + 16,17,16,16,15,11,12,13,13,14,14,14,13,14,15,14, + 15,14,15,15,15,14,16,15,15,15,16,15,16,17,16,16, + 17,16,16,16,12,12,12,14,13,14,15,15,15,15,15,14, + 15,16,15,15,15,16,15,15,16,16,15,16,16,17,15,17, + 16,16,16,12,13,12,14,14,15,14,15,16,16,15,14,15, + 16,16,16,15,17,16,15,16,17,17,17,17,16,15,16,16, + 17,17,12,13,13,14,13,14,14,16,16,15,17,15,16,16, + 15,16,15,16,16,15,16,15,16,16,16,16,15,16,16,15, + 16,13,14,14,14,14,15,15,16,17,15,15,17,15,16,15, + 17,17,16,17,16,17,17,17,17,15,17,16,17,17,16,17, + 13,14,14,15,15,16,15,17,14,16,17,15,17,17,15,17, + 16,16,16,16,16,16,16,16,16,17,16,17,16,17,17,13, + 14,14,15,15,16,16,17,16,17,17,16,15,17,16,17,15, + 17,17,17,17,16,15,15,17,17,17,16,17,17,17,14,14, + 14,16,15,16,16,16,16,17,16,16,17,16,16,15,16,16, + 16,15,16,16,15,17,17,17,17,17,16,17,17,15,15,15, + 17,16,17,17,16,16,17,17,16,17,16,17,17,17,17,16, + 17,17,17,17,17,17,17,17,16,17,17,17,13,15,14,16, + 16,16,16,15,16,17,16,16,16,16,15,16,16,16,16,16, + 16,17,17,17,17,17,17,17,17,17,17,14,14,14,15,15, + 17,16,17,17,17,17,17,16,16,16,17,16,17,17,16,17, + 17,16,16,17,17,17,17,17,17,17,14,15,15,16,16,17, + 16,17,17,17,17,16,17,17,16,16,16,17,16,17,17,17, + 17,17,17,17,17,17,17,17,17,16,15,14,17,16,17,17, + 16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,16, + 16,17,17,17,17,17,17,17,15,15,15,15,16,16,17,16, + 16,17,17,17,17,17,16,17,17,16,17,17,17,17,17,17, + 16,16,17,17,17,17,17,15,16,17,16,17,16,17,17,16, + 16,17,17,17,17,17,17,16,17,17,17,16,17,17,17,17, + 17,16,17,17,17,17,15,16,14,16,17,17,17,17,17,17, + 17,17,17,16,17,17,17,16,16,16,17,16,17,17,17,17, + 17,17,17,17,17,15,16,16,17,17,15,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16, + 17,17,17,17,15,17,17,16,16,17,17,17,16,17,17,17, + 17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,16,17,17,16,17,17,17,17,17,17,17,17,17, + 16,17,17,17,17,16,17,17,17,17,17,17,17,17,17,17, + 17,17,17,16,17,16,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17, }; static float _vq_quantthresh_res0_128_128_3[] = { - -11.5, -10.5, -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, - -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, - 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, + -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, -7.5, + -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, + 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, + 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, }; static long _vq_quantmap_res0_128_128_3[] = { - 23, 21, 19, 17, 15, 13, 11, 9, - 7, 5, 3, 1, 0, 2, 4, 6, - 8, 10, 12, 14, 16, 18, 20, 22, - 24, + 29, 27, 25, 23, 21, 19, 17, 15, + 13, 11, 9, 7, 5, 3, 1, 0, + 2, 4, 6, 8, 10, 12, 14, 16, + 18, 20, 22, 24, 26, 28, 30, }; static encode_aux_threshmatch _vq_auxt_res0_128_128_3 = { _vq_quantthresh_res0_128_128_3, _vq_quantmap_res0_128_128_3, - 25, - 25 + 31, + 31 }; static static_codebook _vq_book_res0_128_128_3 = { - 2, 625, + 2, 961, _vq_lengthlist_res0_128_128_3, - 1, -529006592, 1611661312, 5, 0, + 1, -528613376, 1611661312, 5, 0, _vq_quantlist_res0_128_128_3, NULL, &_vq_auxt_res0_128_128_3, diff --git a/lib/books/res0_128_128_4.vqh b/lib/books/res0_128_128_4.vqh index 08529116..8cbd4eb9 100644 --- a/lib/books/res0_128_128_4.vqh +++ b/lib/books/res0_128_128_4.vqh @@ -19,199 +19,271 @@ #include "codebook.h" static long _vq_quantlist_res0_128_128_4[] = { + 26, + 25, + 27, + 24, + 28, + 23, + 29, + 22, + 30, 21, + 31, 20, - 22, + 32, 19, - 23, + 33, 18, - 24, + 34, 17, - 25, + 35, 16, - 26, + 36, 15, - 27, + 37, 14, - 28, + 38, 13, - 29, + 39, 12, - 30, + 40, 11, - 31, + 41, 10, - 32, + 42, 9, - 33, + 43, 8, - 34, + 44, 7, - 35, + 45, 6, - 36, + 46, 5, - 37, + 47, 4, - 38, + 48, 3, - 39, + 49, 2, - 40, + 50, 1, - 41, + 51, 0, - 42, + 52, }; static long _vq_lengthlist_res0_128_128_4[] = { - 5, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 7, 7, 5, 6, 6, 7, 7, - 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, - 10, 9, 9, 9, 9,10,10,10,10,10, 9, 9, 9, 9, 9, 9, - 9,10, 9,10, 7, 7, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, - 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10, - 10,10,10,10,10, 9, 9, 9, 9, 9, 9, 9,10,10,10, 7, - 7, 7, 8, 8, 9, 8, 9, 9, 9, 9,10, 9,10, 9,10,10, - 10,10,10,10,10,10,10,10,11,11,11,10,11,11,11,11, - 10,10,10,10,10,11,10,11,11,11, 9, 9, 7, 8, 8, 8, - 8, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,10,10,11, - 10,11,11,10,10,11,11,11,11,11,11,11,10,11,11,11, - 11,11,11,11,11, 9, 9, 9, 9, 9, 9, 9,10,10,10,10, - 10,10,10,11,11,11,11,11,11,11,11,11,12,11,12,11, - 11,11,12,11,11,12,11,12,12,11,11,11,12,11,12,12, - 9,10, 9, 9, 9,10, 9,10,10,10,10,10,11,11,11,11, - 11,11,11,11,11,11,11,11,11,11,12,11,12,12,12,12, - 12,11,12,11,11,11,12,11,11,12,11,10,10, 9,10,10, - 10,10,11,11,11,10,11,11,11,12,11,11,12,11,12,12, - 11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,10,10,10, 9,10,10,10,10,10,11, - 11,11,11,11,11,11,11,12,11,12,12,12,11,12,11,12, - 12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12, - 12,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12, - 12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13, - 12,13,12,12,12,13,12,12,13,13,13,12,11,11,10,10, - 10,10,11,11,11,11,11,11,11,12,12,12,12,12,12,12, - 12,12,12,13,13,12,12,12,13,13,12,12,13,12,13,13, - 12,12,12,13,13,13,13,11,11,11,10,10,11,11,11,11, - 12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12, - 13,12,13,13,14,13,13,13,13,13,13,13,14,13,13,13, - 13,13,11,11,10,10,11,11,11,11,11,12,12,12,12,12, - 12,12,12,12,13,12,13,13,12,12,13,13,13,13,13,12, - 12,14,13,13,13,13,13,13,12,13,13,13,13,11,11,11, - 11,11,11,11,12,12,12,11,12,12,12,12,13,13,13,12, - 12,13,14,13,13,13,13,13,14,14,14,14,13,14,12,12, - 13,13,13,13,13,13,14,13,11,12,11,11,11,11,11,12, - 12,11,12,12,12,12,12,12,12,13,13,12,13,13,13,13, - 13,12,13,13,13,13,13,14,13,13,13,14,14,14,13,13, - 13,14,13,11,12,11,11,11,12,12,12,12,12,12,12,13, - 12,12,13,13,13,13,13,13,13,13,13,13,14,13,12,13, - 14,13,13,13,13,13,14,14,13,14,14,13,16,14,12,13, - 11,11,11,12,11,11,12,12,12,12,13,12,13,13,13,13, - 12,12,13,13,13,13,14,14,14,13,14,13,13,13,13,14, - 13,13,14,14,14,14,14,14,14,12,12,11,12,11,12,12, - 12,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13, - 13,14,13,13,14,14,14,14,14,13,13,14,14,14,14,14, - 14,14,14,14,12,13,11,12,11,12,12,13,12,12,12,13, - 12,13,13,13,13,13,13,14,13,14,13,16,13,14,14,14, - 13,14,14,15,14,14,14,14,13,14,14,14,14,14,14,12, - 12,11,12,12,12,12,12,12,13,12,13,13,14,13,13,13, - 14,13,14,14,14,13,14,13,14,13,14,14,14,14,15,13, - 14,14,13,14,14,14,14,15,14,14,13,12,11,12,11,12, - 12,13,12,12,12,13,13,13,13,13,14,13,13,13,13,15, - 13,14,14,14,14,14,14,14,14,14,14,14,15,14,14,15, - 15,16,14,15,14,12,12,12,12,12,12,13,12,13,13,13, - 13,13,14,14,14,14,14,13,15,14,14,15,14,16,14,14, - 14,14,15,15,14,16,13,14,13,14,16,13,15,15,16,15, - 13,13,12,12,12,12,12,13,13,13,12,13,13,13,14,14, - 13,13,13,14,15,14,14,15,13,14,13,14,14,15,14,14, - 15,14,14,15,14,14,14,15,15,14,13,12,12,12,12,12, - 13,13,12,13,13,13,14,13,14,13,13,14,14,13,14,14, - 14,13,14,14,14,14,14,14,14,15,15,15,15,15,15,14, - 14,15,15,15,15,15,13,13,12,12,12,12,13,13,13,12, - 13,13,14,13,14,14,14,14,14,14,14,14,14,14,15,14, - 14,14,13,14,14,15,15,14,14,15,14,14,15,14,14,15, - 14,13,12,12,12,12,13,13,13,13,13,13,13,13,13,14, - 14,14,14,14,14,14,14,14,14,15,14,15,14,14,16,15, - 14,14,17,15,16,14,17,14,14,14,14,14,13,13,12,12, - 12,13,13,13,12,13,13,14,13,13,14,13,14,13,14,14, - 14,13,14,16,14,14,14,15,14,14,16,14,14,14,14,15, - 15,14,15,15,15,15,16,13,13,12,12,13,13,13,13,13, - 13,14,13,14,14,13,13,14,13,15,14,14,14,14,14,15, - 14,15,14,14,14,14,16,14,14,14,15,14,14,15,14,14, - 14,14,14,13,12,12,12,13,13,14,13,13,13,13,14,14, - 13,13,14,14,14,14,14,15,14,14,15,15,15,14,14,13, - 15,15,15,14,14,15,15,15,15,15,15,14,16,13,14,12, - 13,13,13,14,13,13,14,14,14,14,14,14,14,15,14,14, - 14,15,15,14,15,17,16,14,14,14,14,14,15,14,14,14, - 14,14,16,16,16,14,14,14,14,13,12,13,13,13,13,14, - 13,14,13,14,14,14,13,14,14,15,15,14,14,14,14,15, - 14,15,14,14,14,14,15,17,15,16,15,14,16,14,17,15, - 15,15,15,13,14,12,12,13,13,12,13,14,13,13,14,13, - 15,13,14,14,14,13,15,15,15,14,14,14,15,15,15,15, - 16,14,15,15,15,15,14,15,17,14,15,15,14,15,14,13, - 12,12,12,13,13,13,13,13,13,13,13,14,15,14,14,14, - 15,14,14,14,14,15,14,14,14,15,15,15,16,16,15,15, - 16,16,15,15,16,14,15,15,16,13,14,12,12,12,13,13, - 13,14,14,14,14,13,14,14,14,14,16,14,15,14,14,15, - 15,15,15,14,16,14,16,15,15,15,16,15,15,15,17,15, - 14,15,16,15,13,14,12,12,13,13,12,14,13,13,14,13, - 13,14,15,15,15,16,14,14,15,14,14,16,16,15,16,14, - 15,15,14,15,16,15,14,16,16,15,15,15,16,17,16,13, - 15,12,12,13,13,15,13,14,13,14,14,14,14,15,14,16, - 14,15,14,14,14,15,15,14,15,14,16,16,17,15,16,15, - 17,16,15,15,14,16,14,15,15,17,15,15,12,13,13,13, - 13,13,13,13,14,14,14,15,15,13,17,14,14,14,14,16, - 16,14,15,16,15,15,15,15,15,15,14,16,16,16,15,15, - 16,16,17,16,15,14,14,12,12,13,13,14,14,13,14,14, - 13,15,15,14,14,15,17,14,16,15,17,15,15,16,16,17, - 15,16,15,17,17,17,14,15,16,15,16,15,16,15,15,15, - 15,15,13,12,12,13,13,14,14,15,14,14,15,14,14,14, - 15,14,15,17,17,15,14,16,16,16,14,16,17,16,15,15, - 15,15,15,15,15,15,17,15,16,16,16,14,16,12,13,13, - 13,13,14,13,14,15,15,15,14,14,15,14,16,15,14,15, - 17,15,16,16,15,16,17,15,17,16,17,16,15,15,15,15, - 16,17,17,16,17,16,15,14,13,13,13,14,13,14,13,15, - 14,14,13,15,14,17,14,14,15,15,17,15,15,15,14,15, - 15,15,17,15,14,16,17,16,17,16,16,17,16,15,17,15, - 16,14,14,11,11,11,12,12,12,12,13,13,13,13,14,13, - 13,13,14,14,14,14,14,14,13,14,14,14,14,14,15,14, - 14,14,14,14,16,15,15,14,16,14,15,14,13,13,11,11, - 11,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14, - 14,15,14,14,15,14,15,14,14,16,14,15,14,15,14,14, - 15,16,15,14,14,17,14,13,13, + 4, 4, 4, 6, 6, 7, 7, 8, 7, 7, 8, 8, 8, 8, 8, 9, + 8, 9, 9,10,10,11,10,11,11,13,12,12,15,15,13, 8, + 8, 8, 8, 9, 9, 9, 9,10,10,11,10,11,10,12,11,13, + 11,12,11,12,12, 5, 5, 5, 7, 7, 7, 7, 8, 8, 8, 8, + 8, 9, 8, 9,10, 9,10,10,10,10,11,11,13,12,11,12, + 13,13,12,14, 8, 8, 8, 8, 9, 9,10,10,10,10,10,11, + 11,10,13,12,12,12,12,12,12,12, 5, 5, 5, 7, 7, 7, + 7, 8, 8, 8, 8, 8, 9, 8, 9, 9, 9, 9,10,10,11,11, + 11,11,12,13,11,12,13,13,14, 8, 8, 9, 8, 9, 9, 9, + 10,10,10,11,11,11,10,12,11,13,11,12,13,12,14, 7, + 7, 7, 9, 9, 9, 9,10,10,10,10,11,10,12,11,11,12, + 11,14,14,12,14,12,13,12,14,14,14,14,14,14,10,10, + 11,10,11,11,11,11,12,11,12,12,12,12,13,14,13,13, + 14,14,14,14, 7, 7, 7, 9, 9, 9, 9,10,10,11,11,11, + 10,11,11,11,11,11,11,13,13,12,13,14,14,12,14,14, + 13,14,14,10,11,10,10,10,10,11,14,11,11,12,12,11, + 13,14,11,13,13,14,12,14,14, 9, 9, 9,11,11,11,11, + 11,12,12,12,12,12,12,12,12,12,13,14,12,14,13,14, + 13,14,14,14,13,14,14,14,12,11,13,13,13,13,13,12, + 13,14,12,14,14,14,13,12,14,14,14,14,14,14, 9, 9, + 9,10,10,11,11,12,12,12,12,13,13,12,13,12,12,13, + 13,13,12,14,14,13,13,14,13,14,14,13,13,11,12,11, + 12,11,11,12,13,13,14,13,14,13,14,14,14,14,14,14, + 14,14,14,10,11,10,12,11,12,12,12,12,13,12,12,13, + 14,14,14,13,12,13,14,14,14,14,14,13,14,14,14,14, + 14,14,12,13,12,13,13,12,12,14,14,14,12,14,14,14, + 14,14,14,14,14,14,14,14,10,11,10,13,12,12,12,13, + 14,12,13,13,14,12,14,13,13,13,12,13,13,14,13,14, + 14,14,14,14,14,14,14,12,12,13,14,12,13,12,14,14, + 14,14,14,14,14,14,14,14,13,14,14,14,14,11,12,12, + 12,13,14,12,13,14,14,14,12,14,12,14,14,14,14,13, + 14,14,14,14,14,14,14,14,14,14,14,14,12,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,11,14,11,12,11,12,12,13,14,13,13,14,14,14, + 13,14,13,13,13,14,14,14,14,14,14,14,14,14,14,14, + 14,14,12,13,14,14,13,14,12,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,13,11,13,14,13,14,14,14,14, + 14,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,12,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,12,13,14, + 13,13,13,13,14,14,14,13,13,14,13,14,14,14,13,14, + 14,14,14,14,14,14,14,14,14,14,14,14,13,14,13,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,13,12,12,14,13,13,13,14,13,14,14,14,14,14,13, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,12,13,13,14,13,13,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,13,14,14,13,14,13, + 14,14,14,14,14,14,14,14,14,14,14,13,14,12,14,14, + 14,14,14,14,14,14,14,13,14,14,14,13,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,13,14,13, + 14,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 13,13,14,14,12,14,14,14,14,13,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,12, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,13,13,14,14,14,14,14,14,14,14,14, + 14,14,14,13,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,13,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,13,12,13,13,14, + 14,14,14,14,14,14,14,14,14,14,13,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,13,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13, + 12,14,14,13,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,13,14,14,14,14,14,13,14,14,13,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,13,14,13,14, + 14,14,14,12,14,14,13,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,13,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,13,14,14,14,14,13,14,14,13,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,14, + 14,14,14,13,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,13,14,14,13,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,13,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,13,14,13,14,13,14,14,14,14,14,14,14,14,14,14, + 13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,13,14,14,14,13,14,14,14,14,14, + 14,14,14,13,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,12,13,14,14,13,14, + 14,14,14,14,14,14,14,14,13,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13, + 13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,12,13,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,13,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,12,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,13,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,13,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,13,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,13,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,13,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,13,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,12,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14, }; static float _vq_quantthresh_res0_128_128_4[] = { - -20.5, -19.5, -18.5, -17.5, -16.5, -15.5, -14.5, -13.5, - -12.5, -11.5, -10.5, -9.5, -8.5, -7.5, -6.5, -5.5, - -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, - 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, - 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, - 19.5, 20.5, + -25.5, -24.5, -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, + -17.5, -16.5, -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, + -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, + -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, + 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, + 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, + 22.5, 23.5, 24.5, 25.5, }; static long _vq_quantmap_res0_128_128_4[] = { - 41, 39, 37, 35, 33, 31, 29, 27, - 25, 23, 21, 19, 17, 15, 13, 11, - 9, 7, 5, 3, 1, 0, 2, 4, - 6, 8, 10, 12, 14, 16, 18, 20, - 22, 24, 26, 28, 30, 32, 34, 36, - 38, 40, 42, + 51, 49, 47, 45, 43, 41, 39, 37, + 35, 33, 31, 29, 27, 25, 23, 21, + 19, 17, 15, 13, 11, 9, 7, 5, + 3, 1, 0, 2, 4, 6, 8, 10, + 12, 14, 16, 18, 20, 22, 24, 26, + 28, 30, 32, 34, 36, 38, 40, 42, + 44, 46, 48, 50, 52, }; static encode_aux_threshmatch _vq_auxt_res0_128_128_4 = { _vq_quantthresh_res0_128_128_4, _vq_quantmap_res0_128_128_4, - 43, - 43 + 53, + 53 }; static static_codebook _vq_book_res0_128_128_4 = { - 2, 1849, + 2, 2809, _vq_lengthlist_res0_128_128_4, - 1, -527106048, 1611661312, 6, 0, + 1, -526778368, 1611661312, 6, 0, _vq_quantlist_res0_128_128_4, NULL, &_vq_auxt_res0_128_128_4, diff --git a/lib/books/res0_128_128_5.vqh b/lib/books/res0_128_128_5.vqh index b7c62260..e9054690 100644 --- a/lib/books/res0_128_128_5.vqh +++ b/lib/books/res0_128_128_5.vqh @@ -323,25 +323,25 @@ static long _vq_quantlist_res0_128_128_5[] = { }; static long _vq_lengthlist_res0_128_128_5[] = { - 2, 3, 3, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, - 10,10,10, 8, 9, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, - 9, 9,10,10,10,10,10,11,10,10,11,11,11,11,11,11, - 11,11,11,11,11,11,12,13,12,12,12,12,12,12,12,12, - 12,12,12,13,13,13,13,13,14,13,14,14,14,14,14,15, - 14,14,14,15,14,15,14,15,15,15,15,15,15,17,16,17, - 15,15,15,17,15,16,16,16,16,15,15,17,17,17,17,17, - 17,16,15,17,17,17,17,17,17,17,17,16,17,17,17,17, - 17,17,17,16,17,17,17,17,17,17,16,17,17,17,16,17, - 17,17,17,17,17,17,17,17,16,17,17,17,17,17,16,17, - 17,17,17,17,17,17,17,17,17,17,17,17,16,17,17,17, - 17,17,17,17,17,17,17,17,17,17,17,17,16,17,17,17, - 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17,16,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17,17,17,17, + 2, 3, 3, 5, 4, 6, 6, 6, 6, 7, 6, 8, 8, 9, 8, 9, + 11, 9,10,11,11,11,11,10,10,10,10,11,11,11,11,11, + 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, + 11,11,11,11,11, 7, 7, 8, 8, 8,11, 8,10, 9, 8,10, + 9,10, 9,10, 9,10, 9, 9, 9,10,10, 9,10,10, 9,10, + 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, + 10, 9,10,10, 9,10, 9,10,10,10,10,10,10,10,10,10, + 10,10,10,10,10,10,10,10,10,10,10,10, 9,10,10,10, + 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, + 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, + 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, + 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, + 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, + 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, + 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, + 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, + 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, + 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, + 10,10,10,10,10,10,10,10,10,10,10,10,10, }; static float _vq_quantthresh_res0_128_128_5[] = { diff --git a/lib/books/res0_128_128aux.vqh b/lib/books/res0_128_128aux.vqh index 53a0afb7..1ef96b5c 100644 --- a/lib/books/res0_128_128aux.vqh +++ b/lib/books/res0_128_128aux.vqh @@ -20,20 +20,20 @@ #include "codebook.h" static long _huff_lengthlist_res0_128_128aux[] = { - 13,16,16,15,15,15,14,11,12,15,15,15,11,11,12,15, - 15,15,10,15,15,15,15,15,14,15,15,15,15,15,15,15, - 15,15,15,15, 8, 9,14,14,15,15, 5, 3, 6,14,15,15, - 8, 4, 7,15,15,15,11,11,13,14,15,15,15,13,14,15, - 15,15,15,14,14,15,15,15, 8, 9,10,10,15,15, 5, 4, - 7,12,15,15, 7, 5, 7,10,15,15,11,10, 9,10,13,15, - 14,15,15,15,15,15,15,15,15,15,15,15,10,10,12,13, - 15,15, 8, 6, 7,11,14,14, 8, 5, 6, 9,11,14,12, 7, - 6, 6,10,12,12, 9,10, 9,11,12,15,12,11,10,12,14, - 13,13,14,15,15,15,12, 4, 5,10,13,15,11, 4, 4, 7, - 12,14,13, 6, 6, 6,10,12,13, 9, 8, 7, 9,13,15,12, - 10, 9,11,13,13,14,15,15,15,15,13, 5, 6,10,15,15, - 12, 5, 5, 8,13,14,15, 7, 7, 7,10,13,15,10, 9, 8, - 10,13,15,12,10,10,12,14, + 13,15,16,16,16,16,13,11,13,16,16,16,11,11,13,16, + 15,15,10,14,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15, 9,10,12,13,15,15, 5, 2, 6,13,15,15, + 7, 5, 8,14,15,15,10,12,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15, 8, 9,10,10,15,15, 5, 4, + 8,12,15,15, 8, 7,10,13,15,15,12,12,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,10,10,12,13, + 15,15, 9, 2, 4, 9,15,15,11, 3, 5, 9,15,15,13, 8, + 9,14,15,15,15,14,15,15,15,15,15,15,15,15,15,15, + 13,14,15,15,15,15,14, 6, 7,12,15,15,15, 6, 8,14, + 15,15,14,11,13,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,14,11,12,15,15,15, + 15,11,13,15,15,15,15,14,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15, }; static static_codebook _huff_book_res0_128_128aux = { diff --git a/lib/books/res0_160_1024_1.vqh b/lib/books/res0_160_1024_1.vqh new file mode 100644 index 00000000..fbf2e530 --- /dev/null +++ b/lib/books/res0_160_1024_1.vqh @@ -0,0 +1,63 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_160_1024_1_VQH_ +#define _V_res0_160_1024_1_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_160_1024_1[] = { + 1, + 0, + 2, +}; + +static long _vq_lengthlist_res0_160_1024_1[] = { + 1, 4, 4, 4, 8, 8, 4, 8, 8, 5, 8, 8, 9,12,12, 8, + 12,12, 4, 8, 8, 8,12,12, 8,12,12, 5, 8, 8, 9,12, + 12, 8,12,12, 9,12,12,12,16,16,13,16,16, 8,12,12, + 12,16,16,12,16,16, 5, 8, 8, 9,12,12, 8,12,12, 8, + 12,12,12,16,16,12,16,16, 8,12,12,13,16,16,12,16, + 16, +}; + +static float _vq_quantthresh_res0_160_1024_1[] = { + -0.5, 0.5, +}; + +static long _vq_quantmap_res0_160_1024_1[] = { + 1, 0, 2, +}; + +static encode_aux_threshmatch _vq_auxt_res0_160_1024_1 = { + _vq_quantthresh_res0_160_1024_1, + _vq_quantmap_res0_160_1024_1, + 3, + 3 +}; + +static static_codebook _vq_book_res0_160_1024_1 = { + 4, 81, + _vq_lengthlist_res0_160_1024_1, + 1, -535822336, 1611661312, 2, 0, + _vq_quantlist_res0_160_1024_1, + NULL, + &_vq_auxt_res0_160_1024_1, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_160_1024_2.vqh b/lib/books/res0_160_1024_2.vqh new file mode 100644 index 00000000..0a62318b --- /dev/null +++ b/lib/books/res0_160_1024_2.vqh @@ -0,0 +1,63 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_160_1024_2_VQH_ +#define _V_res0_160_1024_2_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_160_1024_2[] = { + 1, + 0, + 2, +}; + +static long _vq_lengthlist_res0_160_1024_2[] = { + 3, 4, 4, 5, 6, 6, 4, 6, 6, 5, 6, 6, 6, 8, 8, 6, + 8, 8, 5, 6, 6, 6, 8, 8, 6, 8, 8, 5, 6, 6, 6, 8, + 8, 6, 8, 8, 6, 8, 8, 8, 9, 9, 8, 9, 9, 6, 8, 8, + 8, 9, 9, 8, 9, 9, 5, 6, 6, 6, 8, 8, 6, 8, 8, 6, + 8, 8, 8, 9, 9, 8, 9, 9, 6, 8, 8, 8, 9, 9, 8, 9, + 9, +}; + +static float _vq_quantthresh_res0_160_1024_2[] = { + -0.5, 0.5, +}; + +static long _vq_quantmap_res0_160_1024_2[] = { + 1, 0, 2, +}; + +static encode_aux_threshmatch _vq_auxt_res0_160_1024_2 = { + _vq_quantthresh_res0_160_1024_2, + _vq_quantmap_res0_160_1024_2, + 3, + 3 +}; + +static static_codebook _vq_book_res0_160_1024_2 = { + 4, 81, + _vq_lengthlist_res0_160_1024_2, + 1, -535822336, 1611661312, 2, 0, + _vq_quantlist_res0_160_1024_2, + NULL, + &_vq_auxt_res0_160_1024_2, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_160_1024_3.vqh b/lib/books/res0_160_1024_3.vqh new file mode 100644 index 00000000..6879f3b2 --- /dev/null +++ b/lib/books/res0_160_1024_3.vqh @@ -0,0 +1,99 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_160_1024_3_VQH_ +#define _V_res0_160_1024_3_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_160_1024_3[] = { + 2, + 1, + 3, + 0, + 4, +}; + +static long _vq_lengthlist_res0_160_1024_3[] = { + 3, 5, 5, 7, 7, 5, 6, 6, 9, 9, 5, 6, 6, 9, 9, 7, + 9, 9,13,13, 7, 9, 9,13,12, 5, 7, 6, 9, 9, 7, 8, + 8,11,11, 7, 8, 8,11,11, 9,11,11,14,15, 9,11,11, + 14,15, 5, 6, 6, 9, 9, 7, 8, 8,11,11, 6, 8, 8,11, + 11, 9,11,11,15,15, 9,11,11,15,14, 7, 9, 9,12,12, + 9,11,11,15,15, 9,11,11,15,15,13,15,15,18,18,13, + 15,15,18,17, 7, 9, 9,12,12, 9,11,11,15,15, 9,11, + 11,15,15,13,15,15,18,20,13,15,15,19,18, 5, 7, 7, + 9, 9, 7, 8, 8,11,11, 7, 8, 8,11,11, 9,11,11,15, + 15, 9,11,11,15,15, 7, 8, 8,11,11, 8,10,10,13,13, + 8,10,10,13,13,11,13,13,17,17,11,13,13,17,16, 7, + 8, 8,11,11, 8,10,10,13,13, 8,10,10,13,13,11,13, + 13,17,17,11,13,13,17,17, 9,11,11,15,15,11,13,14, + 17,17,11,13,13,17,16,15,16,18,18,20,15,17,17,20, + 20, 9,11,11,15,15,11,13,13,17,17,11,13,13,17,17, + 15,17,16,20,20,15,17,18,21,19, 5, 7, 6, 9, 9, 7, + 8, 8,11,11, 7, 8, 8,11,11, 9,11,11,15,15, 9,11, + 11,15,15, 7, 8, 8,11,11, 8,10,10,13,13, 8,10,10, + 13,13,11,13,13,17,17,11,13,13,17,17, 6, 8, 8,11, + 11, 8,10,10,13,13, 8,10,10,13,13,11,13,13,17,17, + 11,13,13,17,17, 9,11,11,15,15,11,13,13,17,17,11, + 13,13,17,17,15,17,17,21,20,15,17,17,19,21, 9,11, + 11,15,15,11,13,13,17,17,11,13,13,17,17,15,17,16, + 19,19,15,17,17,20,19, 7, 9, 9,13,13, 9,11,11,15, + 15, 9,11,11,15,15,12,15,15,19,18,13,15,15,18,18, + 9,11,11,15,15,11,13,13,17,17,11,13,13,17,17,15, + 17,17,19,20,15,18,17,20,20, 9,11,11,15,15,11,13, + 13,18,17,11,13,13,17,17,15,17,17,21,20,15,18,17, + 22,20,13,15,15,19,19,15,17,17,20,21,15,17,17,22, + 21,19,20,20,21,21,18,20,20,22,22,13,15,15,18,18, + 15,17,17,21,19,15,17,17,19,19,18,20,19,22,22,18, + 20,19,22,22, 7, 9, 9,12,13, 9,11,11,15,15, 9,11, + 11,15,15,12,15,15,18,19,13,15,15,18,19, 9,11,11, + 15,15,11,13,13,17,17,11,13,13,17,18,15,17,17,20, + 19,15,17,18,19,20, 9,11,11,15,15,11,13,13,17,17, + 11,13,13,17,17,15,18,17,20,20,15,18,17,22,20,13, + 15,15,19,19,15,17,17,20,21,14,17,17,20,20,18,20, + 19,22,22,18,19,20,22,22,13,15,15,18,18,15,17,17, + 21,20,15,17,17,22,21,19,20,22,22,22,18,21,19,20, + 22, +}; + +static float _vq_quantthresh_res0_160_1024_3[] = { + -1.5, -0.5, 0.5, 1.5, +}; + +static long _vq_quantmap_res0_160_1024_3[] = { + 3, 1, 0, 2, 4, +}; + +static encode_aux_threshmatch _vq_auxt_res0_160_1024_3 = { + _vq_quantthresh_res0_160_1024_3, + _vq_quantmap_res0_160_1024_3, + 5, + 5 +}; + +static static_codebook _vq_book_res0_160_1024_3 = { + 4, 625, + _vq_lengthlist_res0_160_1024_3, + 1, -533725184, 1611661312, 3, 0, + _vq_quantlist_res0_160_1024_3, + NULL, + &_vq_auxt_res0_160_1024_3, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_160_1024_4.vqh b/lib/books/res0_160_1024_4.vqh new file mode 100644 index 00000000..b633f983 --- /dev/null +++ b/lib/books/res0_160_1024_4.vqh @@ -0,0 +1,99 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_160_1024_4_VQH_ +#define _V_res0_160_1024_4_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_160_1024_4[] = { + 2, + 1, + 3, + 0, + 4, +}; + +static long _vq_lengthlist_res0_160_1024_4[] = { + 5, 6, 6, 8, 8, 6, 7, 7, 9, 9, 6, 7, 7, 9, 9, 8, + 9, 9,11,11, 8, 9, 9,11,11, 6, 7, 7, 9, 9, 7, 7, + 7,10,10, 7, 7, 7, 9, 9, 9, 9,10,12,12, 9, 9,10, + 12,12, 6, 7, 7, 9, 9, 7, 7, 7, 9, 9, 7, 7, 7, 9, + 9, 9,10, 9,12,12, 9, 9, 9,12,12, 8, 9, 9,11,11, + 9,10,10,12,12, 9,10,10,12,12,11,12,12,14,14,11, + 12,12,14,14, 8, 9, 9,11,11, 9,10,10,12,12, 9,10, + 10,12,12,11,12,12,14,14,11,12,12,14,14, 6, 7, 7, + 9, 9, 7, 7, 7,10,10, 7, 7, 7,10,10, 9,10,10,12, + 12, 9,10, 9,12,12, 7, 7, 7,10,10, 7, 8, 8,10,10, + 7, 8, 8,10,10,10,10,10,13,13,10,10,10,13,13, 7, + 7, 7,10,10, 7, 8, 8,10,10, 7, 8, 8,10,10,10,11, + 10,13,13,10,10,10,13,13, 9,10,10,12,12,10,10,10, + 13,13,10,11,10,13,13,12,13,13,15,15,12,13,13,15, + 15, 9,10,10,12,12,10,10,10,13,13,10,10,10,13,13, + 12,13,12,15,15,12,13,13,15,15, 6, 7, 7, 9, 9, 7, + 7, 7,10,10, 7, 7, 7,10,10, 9,10,10,12,12, 9,10, + 10,12,12, 7, 7, 7,10,10, 7, 8, 8,10,10, 7, 8, 8, + 10,10,10,10,10,13,13,10,10,10,13,13, 7, 7, 7,10, + 10, 7, 8, 8,10,10, 7, 8, 8,10,10,10,10,10,13,13, + 10,10,10,13,12, 9,10,10,12,12,10,10,10,13,13, 9, + 10,10,13,13,12,13,13,15,15,12,13,13,15,15, 9,10, + 10,12,12,10,10,10,13,13, 9,10,10,13,13,12,13,13, + 15,15,12,13,12,16,15, 8, 9, 9,11,11, 9,10,10,12, + 12, 9,10,10,12,12,11,12,12,15,15,11,12,12,15,14, + 9,10,10,12,12,10,10,10,13,13,10,11,10,13,13,12, + 13,13,15,16,12,13,13,15,15, 9,10,10,12,12,10,10, + 10,13,13,10,10,10,13,13,12,13,13,16,15,12,13,13, + 15,15,11,12,12,15,14,12,13,13,15,15,12,13,13,16, + 15,14,15,15,17,18,15,16,15,17,18,11,12,12,15,15, + 12,13,13,16,15,12,13,13,15,15,14,16,15,17,17,15, + 16,16,17,18, 8, 9, 9,11,11, 9,10,10,12,12, 9,10, + 10,12,12,11,12,12,15,15,11,12,12,15,15, 9,10,10, + 12,12,10,10,10,13,13,10,10,10,13,13,12,13,13,15, + 16,12,13,13,15,15, 9,10,10,12,12,10,10,11,13,13, + 10,10,10,13,13,12,13,13,15,15,12,13,13,16,15,11, + 12,12,15,14,12,13,13,15,15,12,13,13,15,15,15,15, + 15,17,17,14,15,15,17,17,11,12,12,14,14,12,13,13, + 15,15,12,13,12,15,15,14,15,15,17,18,14,15,15,17, + 17, +}; + +static float _vq_quantthresh_res0_160_1024_4[] = { + -1.5, -0.5, 0.5, 1.5, +}; + +static long _vq_quantmap_res0_160_1024_4[] = { + 3, 1, 0, 2, 4, +}; + +static encode_aux_threshmatch _vq_auxt_res0_160_1024_4 = { + _vq_quantthresh_res0_160_1024_4, + _vq_quantmap_res0_160_1024_4, + 5, + 5 +}; + +static static_codebook _vq_book_res0_160_1024_4 = { + 4, 625, + _vq_lengthlist_res0_160_1024_4, + 1, -533725184, 1611661312, 3, 0, + _vq_quantlist_res0_160_1024_4, + NULL, + &_vq_auxt_res0_160_1024_4, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_160_1024_5.vqh b/lib/books/res0_160_1024_5.vqh new file mode 100644 index 00000000..560c542f --- /dev/null +++ b/lib/books/res0_160_1024_5.vqh @@ -0,0 +1,80 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_160_1024_5_VQH_ +#define _V_res0_160_1024_5_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_160_1024_5[] = { + 6, + 5, + 7, + 4, + 8, + 3, + 9, + 2, + 10, + 1, + 11, + 0, + 12, +}; + +static long _vq_lengthlist_res0_160_1024_5[] = { + 1, 4, 4, 6, 6, 7, 7, 8, 8,10,10,11,10, 4, 6, 6, + 8, 8, 9, 9,11,11,12,12,14,14, 4, 6, 5, 8, 8, 9, + 9,11,11,12,12,13,14, 6, 8, 8,11,11,11,11,13,13, + 15,15,16,16, 6, 8, 8,11,11,11,11,13,13,15,14,16, + 16, 7, 9, 9,12,11,14,13,15,15,16,16,17,17, 7, 9, + 9,12,12,13,14,15,15,16,16,17,17, 9,11,11,14,14, + 15,15,16,16,17,17,18,18, 9,11,11,13,14,15,15,16, + 16,17,18,18,18,10,13,13,15,15,17,17,17,17,19,18, + 20,19,10,13,13,15,15,16,16,17,18,20,19,18,19,11, + 14,14,16,16,17,17,18,19,20,19,20,19,11,14,14,16, + 16,18,17,19,18,18,19,20,20, +}; + +static float _vq_quantthresh_res0_160_1024_5[] = { + -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, + 2.5, 3.5, 4.5, 5.5, +}; + +static long _vq_quantmap_res0_160_1024_5[] = { + 11, 9, 7, 5, 3, 1, 0, 2, + 4, 6, 8, 10, 12, +}; + +static encode_aux_threshmatch _vq_auxt_res0_160_1024_5 = { + _vq_quantthresh_res0_160_1024_5, + _vq_quantmap_res0_160_1024_5, + 13, + 13 +}; + +static static_codebook _vq_book_res0_160_1024_5 = { + 2, 169, + _vq_lengthlist_res0_160_1024_5, + 1, -531103744, 1611661312, 4, 0, + _vq_quantlist_res0_160_1024_5, + NULL, + &_vq_auxt_res0_160_1024_5, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_160_1024_6.vqh b/lib/books/res0_160_1024_6.vqh new file mode 100644 index 00000000..21104da6 --- /dev/null +++ b/lib/books/res0_160_1024_6.vqh @@ -0,0 +1,80 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_160_1024_6_VQH_ +#define _V_res0_160_1024_6_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_160_1024_6[] = { + 6, + 5, + 7, + 4, + 8, + 3, + 9, + 2, + 10, + 1, + 11, + 0, + 12, +}; + +static long _vq_lengthlist_res0_160_1024_6[] = { + 3, 4, 4, 5, 5, 7, 7, 8, 8, 9, 9,10,10, 4, 4, 4, + 6, 6, 7, 7, 9, 9,10,10,11,11, 4, 5, 4, 6, 6, 7, + 7, 9, 9,10,10,11,11, 6, 6, 6, 8, 8, 9, 9,10,10, + 12,12,13,13, 5, 6, 6, 8, 8, 9, 9,10,10,12,12,13, + 13, 7, 8, 8, 9, 9,11,11,12,12,13,13,14,14, 7, 8, + 8, 9, 9,11,11,12,12,13,13,14,14, 9, 9, 9,11,11, + 12,12,13,13,14,14,15,15, 8, 9, 9,11,11,12,12,13, + 13,14,14,16,15,10,11,11,12,12,13,13,14,14,15,15, + 16,16,10,11,11,12,12,13,13,14,14,15,15,16,15,11, + 12,12,13,13,14,14,15,15,16,16,17,17,11,12,12,13, + 13,14,14,16,16,16,16,17,17, +}; + +static float _vq_quantthresh_res0_160_1024_6[] = { + -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, + 2.5, 3.5, 4.5, 5.5, +}; + +static long _vq_quantmap_res0_160_1024_6[] = { + 11, 9, 7, 5, 3, 1, 0, 2, + 4, 6, 8, 10, 12, +}; + +static encode_aux_threshmatch _vq_auxt_res0_160_1024_6 = { + _vq_quantthresh_res0_160_1024_6, + _vq_quantmap_res0_160_1024_6, + 13, + 13 +}; + +static static_codebook _vq_book_res0_160_1024_6 = { + 2, 169, + _vq_lengthlist_res0_160_1024_6, + 1, -531103744, 1611661312, 4, 0, + _vq_quantlist_res0_160_1024_6, + NULL, + &_vq_auxt_res0_160_1024_6, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_160_1024_7.vqh b/lib/books/res0_160_1024_7.vqh new file mode 100644 index 00000000..cf97e21b --- /dev/null +++ b/lib/books/res0_160_1024_7.vqh @@ -0,0 +1,142 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_160_1024_7_VQH_ +#define _V_res0_160_1024_7_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_160_1024_7[] = { + 14, + 13, + 15, + 12, + 16, + 11, + 17, + 10, + 18, + 9, + 19, + 8, + 20, + 7, + 21, + 6, + 22, + 5, + 23, + 4, + 24, + 3, + 25, + 2, + 26, + 1, + 27, + 0, + 28, +}; + +static long _vq_lengthlist_res0_160_1024_7[] = { + 2, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, + 8, 9, 9, 9, 9,10,10,10,10,10,10,10,10, 4, 6, 6, + 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,10,10,10,11,11, + 11,11,11,11,12,12,12,12,12,12, 4, 6, 6, 7, 7, 8, + 8, 9, 9, 9, 9,10,10,10,10,10,10,11,11,11,11,11, + 11,12,12,12,12,12,12, 6, 7, 7, 8, 8, 9, 9,10,10, + 11,11,11,11,11,11,11,12,12,12,12,12,13,13,13,13, + 13,13,14,14, 6, 7, 7, 8, 8, 9, 9,10,10,11,11,11, + 11,11,11,12,12,12,12,12,12,13,13,13,13,13,13,14, + 14, 7, 8, 8, 9, 9,10,10,11,11,12,12,12,12,12,12, + 13,12,13,13,13,13,14,14,14,14,14,14,15,15, 7, 8, + 8, 9, 9,10,10,11,11,11,11,12,12,12,12,13,13,13, + 13,13,14,14,14,14,14,15,14,15,15, 8, 9, 9,10,10, + 11,11,12,12,12,12,13,13,13,13,14,13,14,14,14,14, + 15,14,15,15,15,15,16,15, 8, 9, 9,10,10,11,11,12, + 12,12,12,13,13,13,13,13,13,14,14,14,14,14,14,15, + 15,15,15,15,15, 9,10,10,11,11,12,12,12,13,13,13, + 14,14,14,14,14,14,14,14,15,15,15,15,16,15,16,16, + 16,15, 9,10,10,11,11,12,12,12,12,13,13,14,14,14, + 14,14,14,15,15,15,15,15,15,15,15,16,15,16,16, 9, + 10,10,12,11,12,12,13,13,14,14,14,14,14,14,15,15, + 15,15,15,15,15,16,16,16,17,16,17,17, 9,10,10,12, + 11,12,12,13,13,14,14,14,14,14,14,14,15,15,15,15, + 15,16,16,16,16,16,16,17,16, 9,10,10,11,11,12,12, + 13,13,14,14,14,14,15,15,15,15,15,15,16,16,16,16, + 16,16,16,17,17,17, 9,10,10,11,11,12,12,13,13,14, + 14,14,15,15,15,15,16,16,15,16,15,16,17,16,17,17, + 16,16,17, 9,11,11,12,12,13,13,14,14,14,14,15,15, + 15,15,16,15,16,16,16,17,17,16,17,17,16,16,18,18, + 9,11,11,12,12,13,13,14,14,14,14,15,15,15,16,15, + 15,16,16,16,16,17,16,17,16,17,17,17,19,10,11,11, + 12,13,13,13,14,14,15,15,15,15,16,15,16,16,16,16, + 17,16,17,17,18,17,18,18,17,17,10,11,11,12,13,13, + 13,14,14,15,15,15,15,15,16,16,16,16,16,16,17,16, + 17,17,17,19,17,18,18,10,12,12,13,13,14,14,15,14, + 15,15,15,16,16,16,16,16,17,17,17,17,17,18,18,17, + 18,19,17,17,10,12,11,13,13,14,14,14,15,16,15,15, + 15,15,16,16,16,17,17,17,18,17,18,17,17,18,18,18, + 18,10,12,12,13,13,14,14,15,15,16,16,17,16,16,17, + 17,17,17,17,17,18,17,17,18,18,19,17,19,18,10,12, + 12,13,13,14,14,15,15,15,15,16,16,16,16,16,17,18, + 17,17,17,18,18,18,18,18,17,18,18,11,12,12,14,14, + 15,15,15,15,16,16,16,16,17,17,17,16,17,18,17,18, + 17,17,18,18,17,19,19,18,11,13,12,14,14,15,15,15, + 15,16,16,17,16,17,16,17,17,18,17,17,17,17,18,18, + 17,18,18,19,18,11,13,13,14,14,15,15,15,15,15,16, + 17,16,16,17,17,17,17,17,18,17,18,18,19,19,18,18, + 18,20,11,13,13,14,14,15,15,15,16,17,16,17,17,16, + 17,18,17,17,18,18,18,18,18,18,18,18,18,18,18,11, + 13,13,14,14,16,15,17,16,16,17,17,17,17,18,17,18, + 18,18,19,18,19,19,18,18,19,19,18,18,11,13,13,14, + 14,15,16,16,16,16,16,17,16,17,17,17,17,18,17,19, + 17,19,19,18,18,18,19,20,17, +}; + +static float _vq_quantthresh_res0_160_1024_7[] = { + -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, -7.5, -6.5, + -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, + 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, + 10.5, 11.5, 12.5, 13.5, +}; + +static long _vq_quantmap_res0_160_1024_7[] = { + 27, 25, 23, 21, 19, 17, 15, 13, + 11, 9, 7, 5, 3, 1, 0, 2, + 4, 6, 8, 10, 12, 14, 16, 18, + 20, 22, 24, 26, 28, +}; + +static encode_aux_threshmatch _vq_auxt_res0_160_1024_7 = { + _vq_quantthresh_res0_160_1024_7, + _vq_quantmap_res0_160_1024_7, + 29, + 29 +}; + +static static_codebook _vq_book_res0_160_1024_7 = { + 2, 841, + _vq_lengthlist_res0_160_1024_7, + 1, -528744448, 1611661312, 5, 0, + _vq_quantlist_res0_160_1024_7, + NULL, + &_vq_auxt_res0_160_1024_7, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_160_1024_8.vqh b/lib/books/res0_160_1024_8.vqh new file mode 100644 index 00000000..02ea047b --- /dev/null +++ b/lib/books/res0_160_1024_8.vqh @@ -0,0 +1,362 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_160_1024_8_VQH_ +#define _V_res0_160_1024_8_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_160_1024_8[] = { + 30, + 29, + 31, + 28, + 32, + 27, + 33, + 26, + 34, + 25, + 35, + 24, + 36, + 23, + 37, + 22, + 38, + 21, + 39, + 20, + 40, + 19, + 41, + 18, + 42, + 17, + 43, + 16, + 44, + 15, + 45, + 14, + 46, + 13, + 47, + 12, + 48, + 11, + 49, + 10, + 50, + 9, + 51, + 8, + 52, + 7, + 53, + 6, + 54, + 5, + 55, + 4, + 56, + 3, + 57, + 2, + 58, + 1, + 59, + 0, + 60, +}; + +static long _vq_lengthlist_res0_160_1024_8[] = { + 3, 4, 4, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, + 8, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10, 9, 9, 9, + 9, 9, 9,10,10,10,10,10,10,10,10,10,10,10,10,11, + 11,11,11,11,11,11,11,11,11,12,11,12,12, 5, 6, 6, + 7, 7, 8, 8, 8, 9, 9, 9, 9, 9,10,10,10,10,10,10, + 10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11, + 11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12, + 12,13,13,13,13,13,13,13,13,13, 5, 6, 6, 7, 7, 8, + 8, 8, 8, 9, 9, 9, 9,10,10,10,10,10,10,10,10,11, + 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, + 11,12,11,12,12,12,12,12,12,12,12,12,12,13,12,13, + 13,13,13,13,13,13,13, 6, 7, 7, 8, 8, 9, 9,10,10, + 10,10,10,10,11,11,11,11,11,11,11,11,12,12,12,12, + 12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13, + 13,13,13,13,13,13,13,13,13,13,14,13,14,14,14,14, + 14,14,14,14, 6, 7, 7, 8, 8, 9, 9,10,10,10,10,10, + 10,11,11,11,11,11,11,12,11,12,12,12,12,12,12,12, + 12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13, + 13,13,13,14,13,13,13,13,13,14,14,14,14,14,14,14, + 14, 7, 8, 8, 9, 9,10,10,10,11,11,11,11,11,11,11, + 12,12,12,12,12,12,12,12,13,13,13,13,13,13,12,13, + 13,13,13,13,13,13,14,13,14,13,14,14,14,14,14,14, + 14,14,14,14,14,14,15,15,15,15,15,14,15,15, 7, 8, + 8, 9, 9,10,10,10,10,11,11,11,11,11,11,12,12,12, + 12,12,12,12,12,13,12,13,13,13,13,13,12,13,13,13, + 13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,15,14,15,15,15,15, 8, 9, 9,10,10, + 11,11,11,11,12,12,12,12,12,12,12,12,13,13,13,13, + 13,13,13,13,13,13,14,14,13,13,14,13,14,14,14,14, + 14,14,14,14,15,14,14,14,15,15,15,15,15,14,15,15, + 15,15,15,15,15,15,16,15, 8, 9, 9,10,10,11,11,11, + 11,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13, + 13,13,13,14,13,13,13,13,13,14,13,14,14,14,14,14, + 14,14,14,14,14,15,14,15,14,15,15,15,15,15,15,15, + 15,15,15,16,15, 9,10,10,11,11,11,11,12,12,12,12, + 12,12,13,13,13,13,13,13,14,13,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15, + 15,15,15,15,15,15,15,15,15,16,16,15,15,15,15,15, + 16,16, 9,10,10,11,11,11,11,12,12,12,12,12,12,13, + 13,13,13,13,13,13,13,14,14,14,14,14,13,14,14,14, + 14,14,14,14,14,14,14,15,14,15,14,15,14,15,15,15, + 14,15,15,15,15,15,15,16,15,16,15,16,16,16,15, 9, + 10,10,11,11,12,12,12,12,13,13,13,13,13,13,13,14, + 14,14,14,14,14,14,15,14,14,14,15,14,14,15,15,14, + 15,14,15,14,15,14,15,15,15,15,15,15,15,15,16,15, + 16,15,16,15,16,16,16,16,16,16,16,16, 9,10,10,11, + 11,12,12,12,12,13,12,13,13,13,13,14,13,14,14,14, + 14,14,14,14,14,15,14,15,14,14,14,14,14,15,15,15, + 14,15,15,15,15,15,15,15,15,16,15,15,15,16,16,16, + 16,16,16,16,16,16,16,16,16, 9,10,10,12,12,12,12, + 13,13,13,13,13,14,14,13,14,14,14,14,14,14,15,14, + 15,14,15,15,15,15,14,14,15,15,15,15,15,15,15,15, + 15,15,15,15,16,16,16,15,16,16,16,16,16,16,16,16, + 16,17,16,16,16,17, 9,11,10,11,12,12,12,13,13,13, + 13,13,13,14,14,14,14,14,14,14,14,14,14,15,14,15, + 15,15,15,14,15,15,15,16,15,15,15,15,15,15,15,16, + 15,16,16,16,15,16,16,16,16,16,16,16,16,17,16,16, + 16,17,16,10,11,11,12,12,13,13,13,13,13,14,14,14, + 14,14,14,14,15,15,15,14,14,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,16,15,16,16,15,16,16,16,16, + 16,16,17,16,16,17,16,16,16,16,17,16,17,19,18,18, + 10,11,11,12,12,13,13,13,13,14,13,14,14,14,14,14, + 14,15,14,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,16,15,16,16,16,16,16,16,17,16,16, + 16,17,16,17,17,17,17,17,16,17,17,17,17,10,11,11, + 12,12,13,13,13,13,14,14,14,14,14,14,14,15,15,15, + 15,15,15,15,15,15,16,15,15,15,16,15,16,15,16,16, + 16,15,16,16,15,16,16,16,16,16,16,17,17,17,16,16, + 17,17,17,16,17,17,17,18,18,19,10,11,11,12,12,13, + 13,13,13,14,14,14,14,14,14,15,15,15,15,15,15,15, + 15,15,15,16,15,15,15,15,15,16,15,16,16,15,16,16, + 15,16,16,16,15,16,16,16,16,17,17,17,16,17,17,16, + 17,17,17,17,18,17,17,10,12,11,13,12,13,13,14,14, + 14,14,14,14,14,14,15,15,15,15,15,15,15,15,16,16, + 16,16,16,15,16,16,16,16,16,15,16,15,16,16,17,16, + 17,16,17,16,17,17,17,17,18,16,17,17,17,17,17,17, + 17,17,18,18,10,12,11,12,12,13,13,14,14,14,14,14, + 14,15,14,15,14,15,15,16,15,16,15,15,15,16,15,16, + 16,15,15,16,16,16,16,15,16,16,15,16,16,16,16,16, + 16,17,16,17,16,16,16,16,17,18,17,18,16,17,18,17, + 17,10,12,12,13,13,13,14,14,14,14,14,15,15,15,15, + 15,15,15,15,15,15,16,16,16,16,16,16,16,16,15,16, + 16,15,17,16,17,17,17,16,17,16,17,16,16,17,16,17, + 17,18,16,17,18,17,18,17,18,17,18,17,18,17,11,12, + 12,13,13,13,14,14,14,14,14,15,15,15,15,15,15,15, + 15,15,15,15,16,15,15,16,15,16,16,16,16,16,16,16, + 16,16,16,17,16,17,16,16,17,17,16,17,17,17,17,17, + 16,17,17,17,17,18,18,17,17,18,18,11,12,12,13,13, + 14,14,14,14,15,15,15,14,15,15,15,15,15,15,16,15, + 17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,17,16,17,17,17,17,19,17,17,17,17,18, + 19,17,17,17,18,17,18,18,11,12,12,13,13,13,13,14, + 14,15,14,15,15,15,15,15,15,16,15,16,16,16,16,17, + 16,16,15,16,15,16,16,16,16,17,17,17,16,17,17,18, + 16,16,17,17,17,17,16,16,17,17,20,17,17,17,18,17, + 17,17,19,18,17,11,12,12,13,13,14,14,14,14,15,15, + 15,15,15,15,15,15,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,17,16,16,17,16,17,17,16,16,19,17, + 17,17,18,17,17,17,17,18,18,18,17,18,17,18,18,18, + 18,18,11,12,12,13,13,14,14,14,15,15,15,15,15,15, + 15,16,15,16,16,16,15,16,16,17,16,17,16,17,17,16, + 16,16,16,17,17,16,16,17,17,17,17,17,16,17,16,17, + 17,17,18,17,17,18,18,19,17,19,17,18,17,17,19,11, + 13,13,13,13,14,14,15,15,15,15,15,15,16,15,16,16, + 16,15,16,15,16,16,17,16,17,16,17,16,16,16,17,16, + 16,17,16,17,18,16,18,17,17,17,17,17,17,18,19,18, + 17,17,17,17,19,19,17,18,19,18,19,18,11,13,13,13, + 13,14,14,15,15,15,15,16,16,16,15,16,15,16,16,17, + 16,16,16,16,16,17,16,17,16,16,16,17,17,17,16,17, + 17,16,17,17,17,17,17,18,17,17,17,17,17,19,17,18, + 17,17,18,18,18,17,19,18,18,10,12,12,13,13,14,14, + 14,14,15,15,15,15,15,15,16,16,16,15,16,16,16,16, + 16,16,17,16,17,17,17,16,17,16,16,16,17,16,17,17, + 17,17,17,17,17,17,19,18,18,18,17,17,18,18,19,19, + 19,18,19,17,19,19,10,12,12,13,13,14,14,14,14,15, + 14,15,15,16,15,16,16,15,16,16,16,16,16,16,16,17, + 16,16,16,16,16,17,17,17,17,17,17,17,17,17,18,18, + 17,18,18,17,17,17,17,17,18,17,18,19,19,18,17,19, + 18,18,18,11,12,12,13,13,14,14,14,14,15,15,15,15, + 16,16,16,16,16,16,16,16,17,17,16,16,17,17,16,16, + 17,16,17,17,17,17,17,17,17,18,17,17,18,17,17,17, + 18,17,18,18,18,18,19,17,19,19,18,17,19,18,18,18, + 11,12,12,13,13,14,14,14,15,15,15,15,15,15,15,16, + 16,16,16,15,16,16,16,17,16,17,16,16,17,16,16,16, + 16,17,17,17,17,17,17,17,16,18,18,17,17,17,18,18, + 18,18,20,18,19,18,18,18,18,19,17,19,18,11,12,12, + 13,14,14,14,14,14,15,15,15,16,15,16,16,16,16,15, + 16,16,16,16,17,16,17,16,17,16,18,17,17,16,17,17, + 17,17,18,17,17,19,17,18,18,18,18,17,18,17,18,17, + 19,18,18,18,18,18,19,18,18,19,11,12,12,13,13,14, + 14,15,15,15,15,15,16,16,16,16,16,16,16,17,16,17, + 16,16,17,17,17,17,17,17,17,17,17,18,17,19,18,17, + 18,17,18,17,17,18,17,20,17,18,17,19,18,19,17,20, + 19,18,18,17,18,20,18,11,12,13,14,14,15,15,15,15, + 15,15,16,15,16,16,16,16,16,16,16,16,17,16,16,17, + 18,16,16,17,17,17,17,16,18,17,19,17,18,17,18,17, + 19,18,18,17,19,17,17,17,19,18,18,19,19,19,17,18, + 19,18,18,20,11,13,13,13,14,14,14,15,15,16,16,16, + 16,17,16,16,16,16,16,16,16,17,17,16,16,16,17,17, + 16,17,17,17,17,17,17,17,18,17,18,17,17,17,18,19, + 18,17,18,19,18,19,19,18,18,18,18,18,18,19,19,19, + 18,11,13,13,14,14,15,15,15,15,15,16,16,16,16,16, + 16,16,17,16,16,16,17,16,17,16,18,17,17,17,17,17, + 17,17,17,18,17,18,18,17,17,19,18,18,17,18,19,18, + 18,17,18,17,19,18,19,19,18,18,19,19,19,19,11,12, + 13,14,14,14,15,15,15,15,15,16,16,16,16,17,16,16, + 16,16,16,17,18,17,17,17,17,17,17,17,17,18,17,19, + 17,18,17,18,17,18,17,17,18,17,18,18,18,19,18,17, + 19,17,17,19,18,18,19,19,19,19,18,11,13,13,14,14, + 15,15,15,16,15,16,17,17,17,16,17,16,16,16,16,17, + 17,17,17,16,17,17,16,17,19,17,19,17,20,19,18,18, + 20,17,18,19,18,18,18,18,18,19,19,18,19,17,19,18, + 18,19,20,19,19,19,19,19,12,13,13,14,14,15,15,15, + 16,16,16,16,16,16,16,16,16,16,17,17,16,17,17,17, + 17,17,16,18,18,17,17,17,17,18,17,18,18,17,19,19, + 17,18,18,19,18,18,19,18,18,19,19,18,18,19,18,19, + 19,19,19,19,19,12,13,13,15,14,15,15,15,16,16,16, + 17,17,17,16,16,17,17,16,17,17,17,17,17,17,17,17, + 17,17,19,18,17,18,18,18,18,18,18,18,18,18,19,17, + 19,18,19,20,19,18,20,18,18,19,19,18,19,18,18,18, + 18,19,12,13,13,15,15,16,16,15,16,16,16,17,17,16, + 16,16,17,17,16,17,17,17,17,17,17,19,18,17,18,18, + 17,18,18,19,18,17,18,19,19,19,17,19,18,18,18,18, + 18,19,18,18,18,18,19,19,19,19,19,19,18,18,19,12, + 14,14,15,15,15,16,16,15,16,16,17,18,17,17,17,17, + 17,17,19,16,17,17,19,17,19,17,18,17,19,18,17,18, + 18,17,17,18,17,19,18,19,19,18,17,19,19,19,18,19, + 19,19,19,18,18,18,20,18,19,19,20,19,12,13,14,15, + 15,15,15,16,16,16,16,17,16,17,16,17,17,17,16,17, + 17,17,17,18,17,17,17,18,18,17,18,18,18,18,19,17, + 19,20,17,17,17,18,18,18,20,19,18,18,19,19,19,19, + 19,19,19,18,19,20,20,18,19,12,14,14,15,15,15,16, + 16,16,16,16,17,16,17,16,18,17,17,17,16,18,19,17, + 18,18,18,17,18,17,18,18,18,17,17,17,18,18,18,19, + 18,18,19,19,18,19,18,20,20,19,18,19,19,19,19,19, + 19,18,19,19,19,19,12,14,14,15,15,16,16,16,16,16, + 17,16,17,17,17,17,17,18,18,18,17,18,17,18,17,16, + 17,17,17,18,19,19,19,17,17,18,19,19,18,19,18,19, + 18,18,20,18,19,18,18,19,18,19,19,19,20,19,19,20, + 20,19,19,13,14,14,15,15,16,16,16,16,17,16,16,17, + 17,17,17,17,17,18,19,17,18,18,18,17,18,18,19,18, + 19,18,20,18,17,18,18,19,18,19,18,19,19,19,18,18, + 19,18,19,18,19,18,19,19,18,19,19,18,19,19,19,19, + 12,14,14,15,15,16,16,16,17,17,17,17,17,17,17,17, + 17,18,17,18,18,18,17,18,17,18,17,18,18,18,18,17, + 18,19,19,20,19,18,20,18,18,19,19,18,18,19,19,19, + 18,19,19,19,19,20,19,18,20,19,19,19,19,13,14,14, + 15,15,16,16,16,16,17,16,17,17,17,16,17,17,17,17, + 17,17,18,17,19,17,19,18,18,18,19,18,19,18,18,18, + 18,18,19,19,20,19,18,18,19,19,19,19,19,19,19,18, + 18,18,19,19,20,19,18,19,20,18,13,14,15,15,15,16, + 16,16,17,17,17,17,17,18,17,17,17,17,18,17,17,18, + 18,18,17,17,18,18,20,19,19,19,18,18,18,18,19,19, + 19,19,18,19,18,19,19,19,20,20,19,19,19,19,18,18, + 19,18,19,18,19,19,19,13,14,14,16,15,16,16,16,17, + 17,17,18,17,18,17,18,17,18,17,18,17,18,18,17,19, + 17,19,19,19,18,18,19,20,18,18,19,18,19,19,20,19, + 19,18,19,19,19,19,18,19,19,18,20,18,19,19,20,19, + 19,18,19,20,13,14,15,15,16,17,16,17,17,16,17,17, + 17,18,16,18,18,18,19,17,18,17,18,18,18,19,18,18, + 18,18,19,19,18,19,18,20,19,19,20,19,19,19,18,19, + 18,20,19,19,18,19,19,19,20,20,20,20,20,20,19,20, + 20,14,15,15,16,15,16,17,17,17,16,17,17,17,17,17, + 17,18,18,18,18,17,18,18,18,19,18,18,18,19,18,19, + 19,20,20,20,18,18,19,19,18,19,19,18,20,19,19,19, + 18,19,20,19,18,19,19,20,20,18,19,19,19,19,14,15, + 14,16,16,17,17,17,17,18,18,18,18,17,17,17,18,18, + 18,18,18,18,18,19,18,18,18,19,18,18,18,18,19,19, + 19,19,19,18,19,19,19,20,19,18,19,19,19,19,19,20, + 19,18,19,20,19,19,19,19,20,20,19,14,15,15,16,17, + 17,17,18,17,18,17,18,18,19,17,17,18,18,18,18,19, + 19,18,18,20,19,18,19,18,20,19,18,19,18,19,18,18, + 20,19,20,19,20,19,18,18,19,19,19,20,19,19,19,20, + 19,20,19,20,20,19,19,20,14,15,15,16,16,17,17,16, + 17,17,17,17,18,17,18,18,18,19,18,18,18,19,19,19, + 20,18,19,19,19,19,18,19,18,18,18,18,19,19,18,19, + 18,18,20,20,18,18,19,19,19,19,19,20,19,20,19,19, + 19,20,19,20,19,14,15,15,17,16,17,17,18,17,17,17, + 17,19,18,18,17,19,17,19,18,19,19,18,19,17,20,19, + 20,19,18,18,18,19,20,17,19,18,19,18,19,18,19,20, + 19,19,19,20,20,19,19,19,19,19,19,19,19,19,20,19, + 19,20,14,15,15,17,17,17,16,17,17,17,17,18,18,18, + 19,17,19,17,18,19,18,17,17,18,19,19,18,19,19,19, + 18,19,18,18,18,19,19,20,19,20,19,19,19,20,20,19, + 20,19,20,19,20,20,19,19,20,19,20,20,20,19,20,14, + 15,16,16,16,17,17,17,19,20,18,18,17,18,18,18,17, + 19,18,18,18,19,18,19,19,18,19,20,19,18,20,18,19, + 19,19,19,18,20,19,19,20,20,19,19,19,19,19,20,20, + 20,20,19,20,19,18,20,19,19,19,19,19,14,16,15,16, + 16,17,17,17,18,17,17,17,19,18,19,19,17,19,19,20, + 20,20,18,18,19,19,19,19,17,19,19,20,19,19,19,20, + 19,19,19,19,19,20,18,19,19,20,19,19,18,20,20,20, + 19,19,19,20,20,20,19,19,19, +}; + +static float _vq_quantthresh_res0_160_1024_8[] = { + -29.5, -28.5, -27.5, -26.5, -25.5, -24.5, -23.5, -22.5, + -21.5, -20.5, -19.5, -18.5, -17.5, -16.5, -15.5, -14.5, + -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, -7.5, -6.5, + -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, + 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, + 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, + 18.5, 19.5, 20.5, 21.5, 22.5, 23.5, 24.5, 25.5, + 26.5, 27.5, 28.5, 29.5, +}; + +static long _vq_quantmap_res0_160_1024_8[] = { + 59, 57, 55, 53, 51, 49, 47, 45, + 43, 41, 39, 37, 35, 33, 31, 29, + 27, 25, 23, 21, 19, 17, 15, 13, + 11, 9, 7, 5, 3, 1, 0, 2, + 4, 6, 8, 10, 12, 14, 16, 18, + 20, 22, 24, 26, 28, 30, 32, 34, + 36, 38, 40, 42, 44, 46, 48, 50, + 52, 54, 56, 58, 60, +}; + +static encode_aux_threshmatch _vq_auxt_res0_160_1024_8 = { + _vq_quantthresh_res0_160_1024_8, + _vq_quantmap_res0_160_1024_8, + 61, + 61 +}; + +static static_codebook _vq_book_res0_160_1024_8 = { + 2, 3721, + _vq_lengthlist_res0_160_1024_8, + 1, -526516224, 1611661312, 6, 0, + _vq_quantlist_res0_160_1024_8, + NULL, + &_vq_auxt_res0_160_1024_8, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_160_1024_9.vqh b/lib/books/res0_160_1024_9.vqh new file mode 100644 index 00000000..28c8f3db --- /dev/null +++ b/lib/books/res0_160_1024_9.vqh @@ -0,0 +1,790 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_160_1024_9_VQH_ +#define _V_res0_160_1024_9_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_160_1024_9[] = { + 280, + 279, + 281, + 278, + 282, + 277, + 283, + 276, + 284, + 275, + 285, + 274, + 286, + 273, + 287, + 272, + 288, + 271, + 289, + 270, + 290, + 269, + 291, + 268, + 292, + 267, + 293, + 266, + 294, + 265, + 295, + 264, + 296, + 263, + 297, + 262, + 298, + 261, + 299, + 260, + 300, + 259, + 301, + 258, + 302, + 257, + 303, + 256, + 304, + 255, + 305, + 254, + 306, + 253, + 307, + 252, + 308, + 251, + 309, + 250, + 310, + 249, + 311, + 248, + 312, + 247, + 313, + 246, + 314, + 245, + 315, + 244, + 316, + 243, + 317, + 242, + 318, + 241, + 319, + 240, + 320, + 239, + 321, + 238, + 322, + 237, + 323, + 236, + 324, + 235, + 325, + 234, + 326, + 233, + 327, + 232, + 328, + 231, + 329, + 230, + 330, + 229, + 331, + 228, + 332, + 227, + 333, + 226, + 334, + 225, + 335, + 224, + 336, + 223, + 337, + 222, + 338, + 221, + 339, + 220, + 340, + 219, + 341, + 218, + 342, + 217, + 343, + 216, + 344, + 215, + 345, + 214, + 346, + 213, + 347, + 212, + 348, + 211, + 349, + 210, + 350, + 209, + 351, + 208, + 352, + 207, + 353, + 206, + 354, + 205, + 355, + 204, + 356, + 203, + 357, + 202, + 358, + 201, + 359, + 200, + 360, + 199, + 361, + 198, + 362, + 197, + 363, + 196, + 364, + 195, + 365, + 194, + 366, + 193, + 367, + 192, + 368, + 191, + 369, + 190, + 370, + 189, + 371, + 188, + 372, + 187, + 373, + 186, + 374, + 185, + 375, + 184, + 376, + 183, + 377, + 182, + 378, + 181, + 379, + 180, + 380, + 179, + 381, + 178, + 382, + 177, + 383, + 176, + 384, + 175, + 385, + 174, + 386, + 173, + 387, + 172, + 388, + 171, + 389, + 170, + 390, + 169, + 391, + 168, + 392, + 167, + 393, + 166, + 394, + 165, + 395, + 164, + 396, + 163, + 397, + 162, + 398, + 161, + 399, + 160, + 400, + 159, + 401, + 158, + 402, + 157, + 403, + 156, + 404, + 155, + 405, + 154, + 406, + 153, + 407, + 152, + 408, + 151, + 409, + 150, + 410, + 149, + 411, + 148, + 412, + 147, + 413, + 146, + 414, + 145, + 415, + 144, + 416, + 143, + 417, + 142, + 418, + 141, + 419, + 140, + 420, + 139, + 421, + 138, + 422, + 137, + 423, + 136, + 424, + 135, + 425, + 134, + 426, + 133, + 427, + 132, + 428, + 131, + 429, + 130, + 430, + 129, + 431, + 128, + 432, + 127, + 433, + 126, + 434, + 125, + 435, + 124, + 436, + 123, + 437, + 122, + 438, + 121, + 439, + 120, + 440, + 119, + 441, + 118, + 442, + 117, + 443, + 116, + 444, + 115, + 445, + 114, + 446, + 113, + 447, + 112, + 448, + 111, + 449, + 110, + 450, + 109, + 451, + 108, + 452, + 107, + 453, + 106, + 454, + 105, + 455, + 104, + 456, + 103, + 457, + 102, + 458, + 101, + 459, + 100, + 460, + 99, + 461, + 98, + 462, + 97, + 463, + 96, + 464, + 95, + 465, + 94, + 466, + 93, + 467, + 92, + 468, + 91, + 469, + 90, + 470, + 89, + 471, + 88, + 472, + 87, + 473, + 86, + 474, + 85, + 475, + 84, + 476, + 83, + 477, + 82, + 478, + 81, + 479, + 80, + 480, + 79, + 481, + 78, + 482, + 77, + 483, + 76, + 484, + 75, + 485, + 74, + 486, + 73, + 487, + 72, + 488, + 71, + 489, + 70, + 490, + 69, + 491, + 68, + 492, + 67, + 493, + 66, + 494, + 65, + 495, + 64, + 496, + 63, + 497, + 62, + 498, + 61, + 499, + 60, + 500, + 59, + 501, + 58, + 502, + 57, + 503, + 56, + 504, + 55, + 505, + 54, + 506, + 53, + 507, + 52, + 508, + 51, + 509, + 50, + 510, + 49, + 511, + 48, + 512, + 47, + 513, + 46, + 514, + 45, + 515, + 44, + 516, + 43, + 517, + 42, + 518, + 41, + 519, + 40, + 520, + 39, + 521, + 38, + 522, + 37, + 523, + 36, + 524, + 35, + 525, + 34, + 526, + 33, + 527, + 32, + 528, + 31, + 529, + 30, + 530, + 29, + 531, + 28, + 532, + 27, + 533, + 26, + 534, + 25, + 535, + 24, + 536, + 23, + 537, + 22, + 538, + 21, + 539, + 20, + 540, + 19, + 541, + 18, + 542, + 17, + 543, + 16, + 544, + 15, + 545, + 14, + 546, + 13, + 547, + 12, + 548, + 11, + 549, + 10, + 550, + 9, + 551, + 8, + 552, + 7, + 553, + 6, + 554, + 5, + 555, + 4, + 556, + 3, + 557, + 2, + 558, + 1, + 559, + 0, + 560, +}; + +static long _vq_lengthlist_res0_160_1024_9[] = { + 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10, + 10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11, + 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, + 11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12, + 12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13, + 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, + 13,13,13,13,13,13,14,13,14,13,14,14,14,13,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,15,14,15,14,14,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 16,15,15,16,15,15,15,16,16,16,16,15,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,17,16,16,16, + 16,16,16,16,17,16,16,16,16,17,16,17,17,16,17,17, + 17,17,17,17,16,16,16,17,17,17,17,17,17,17,16,17, + 18,17,18,17,17,18,17,17,17,17,17,17,17,18,18,17, + 18,17,17,19,18,17,17,17,18,17,18,18,18,19,18,18, + 19,18,18,18,18,18,18,18,18,18,17,18,18,19,19,18, + 19,18,18,18,19,19,19,18,18,20,18,19,18,20,18,20, + 19,19,18,18,20,18,19,20,20,19,19,18,19,19,19,19, + 20,19,20,18,19,20,19,21,19,19,20,21,20,20,20,19, + 19,19,20,20,19,20,20,21,21,20,20,21,21,21,20,19, + 20,21,21,21,21,21,19,20,19,20,20,21,21,21,21,21, + 21,19,20,21,21,20,21,21,21,21,21,21,19,21,20,21, + 21,21,21,21,20,20,21,21,21,21,21,21,21,21,21,21, + 21,21,21,21,21,21,21,20,21,21,21,21,21,20,21,21, + 21,21,21,20,21,21,21,20,21,21,21,21,21,21,21,21, + 20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21, + 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21, + 21,21,21,21,21,20,21,21,21,21,21,21,21,21,21,21, + 21,21,21,21,21,21,21,21,21,21,21,21,20,21,21,21, + 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21, + 21, +}; + +static float _vq_quantthresh_res0_160_1024_9[] = { + -279.5, -278.5, -277.5, -276.5, -275.5, -274.5, -273.5, -272.5, + -271.5, -270.5, -269.5, -268.5, -267.5, -266.5, -265.5, -264.5, + -263.5, -262.5, -261.5, -260.5, -259.5, -258.5, -257.5, -256.5, + -255.5, -254.5, -253.5, -252.5, -251.5, -250.5, -249.5, -248.5, + -247.5, -246.5, -245.5, -244.5, -243.5, -242.5, -241.5, -240.5, + -239.5, -238.5, -237.5, -236.5, -235.5, -234.5, -233.5, -232.5, + -231.5, -230.5, -229.5, -228.5, -227.5, -226.5, -225.5, -224.5, + -223.5, -222.5, -221.5, -220.5, -219.5, -218.5, -217.5, -216.5, + -215.5, -214.5, -213.5, -212.5, -211.5, -210.5, -209.5, -208.5, + -207.5, -206.5, -205.5, -204.5, -203.5, -202.5, -201.5, -200.5, + -199.5, -198.5, -197.5, -196.5, -195.5, -194.5, -193.5, -192.5, + -191.5, -190.5, -189.5, -188.5, -187.5, -186.5, -185.5, -184.5, + -183.5, -182.5, -181.5, -180.5, -179.5, -178.5, -177.5, -176.5, + -175.5, -174.5, -173.5, -172.5, -171.5, -170.5, -169.5, -168.5, + -167.5, -166.5, -165.5, -164.5, -163.5, -162.5, -161.5, -160.5, + -159.5, -158.5, -157.5, -156.5, -155.5, -154.5, -153.5, -152.5, + -151.5, -150.5, -149.5, -148.5, -147.5, -146.5, -145.5, -144.5, + -143.5, -142.5, -141.5, -140.5, -139.5, -138.5, -137.5, -136.5, + -135.5, -134.5, -133.5, -132.5, -131.5, -130.5, -129.5, -128.5, + -127.5, -126.5, -125.5, -124.5, -123.5, -122.5, -121.5, -120.5, + -119.5, -118.5, -117.5, -116.5, -115.5, -114.5, -113.5, -112.5, + -111.5, -110.5, -109.5, -108.5, -107.5, -106.5, -105.5, -104.5, + -103.5, -102.5, -101.5, -100.5, -99.5, -98.5, -97.5, -96.5, + -95.5, -94.5, -93.5, -92.5, -91.5, -90.5, -89.5, -88.5, + -87.5, -86.5, -85.5, -84.5, -83.5, -82.5, -81.5, -80.5, + -79.5, -78.5, -77.5, -76.5, -75.5, -74.5, -73.5, -72.5, + -71.5, -70.5, -69.5, -68.5, -67.5, -66.5, -65.5, -64.5, + -63.5, -62.5, -61.5, -60.5, -59.5, -58.5, -57.5, -56.5, + -55.5, -54.5, -53.5, -52.5, -51.5, -50.5, -49.5, -48.5, + -47.5, -46.5, -45.5, -44.5, -43.5, -42.5, -41.5, -40.5, + -39.5, -38.5, -37.5, -36.5, -35.5, -34.5, -33.5, -32.5, + -31.5, -30.5, -29.5, -28.5, -27.5, -26.5, -25.5, -24.5, + -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, -17.5, -16.5, + -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, + -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, + 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, + 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, + 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5, + 24.5, 25.5, 26.5, 27.5, 28.5, 29.5, 30.5, 31.5, + 32.5, 33.5, 34.5, 35.5, 36.5, 37.5, 38.5, 39.5, + 40.5, 41.5, 42.5, 43.5, 44.5, 45.5, 46.5, 47.5, + 48.5, 49.5, 50.5, 51.5, 52.5, 53.5, 54.5, 55.5, + 56.5, 57.5, 58.5, 59.5, 60.5, 61.5, 62.5, 63.5, + 64.5, 65.5, 66.5, 67.5, 68.5, 69.5, 70.5, 71.5, + 72.5, 73.5, 74.5, 75.5, 76.5, 77.5, 78.5, 79.5, + 80.5, 81.5, 82.5, 83.5, 84.5, 85.5, 86.5, 87.5, + 88.5, 89.5, 90.5, 91.5, 92.5, 93.5, 94.5, 95.5, + 96.5, 97.5, 98.5, 99.5, 100.5, 101.5, 102.5, 103.5, + 104.5, 105.5, 106.5, 107.5, 108.5, 109.5, 110.5, 111.5, + 112.5, 113.5, 114.5, 115.5, 116.5, 117.5, 118.5, 119.5, + 120.5, 121.5, 122.5, 123.5, 124.5, 125.5, 126.5, 127.5, + 128.5, 129.5, 130.5, 131.5, 132.5, 133.5, 134.5, 135.5, + 136.5, 137.5, 138.5, 139.5, 140.5, 141.5, 142.5, 143.5, + 144.5, 145.5, 146.5, 147.5, 148.5, 149.5, 150.5, 151.5, + 152.5, 153.5, 154.5, 155.5, 156.5, 157.5, 158.5, 159.5, + 160.5, 161.5, 162.5, 163.5, 164.5, 165.5, 166.5, 167.5, + 168.5, 169.5, 170.5, 171.5, 172.5, 173.5, 174.5, 175.5, + 176.5, 177.5, 178.5, 179.5, 180.5, 181.5, 182.5, 183.5, + 184.5, 185.5, 186.5, 187.5, 188.5, 189.5, 190.5, 191.5, + 192.5, 193.5, 194.5, 195.5, 196.5, 197.5, 198.5, 199.5, + 200.5, 201.5, 202.5, 203.5, 204.5, 205.5, 206.5, 207.5, + 208.5, 209.5, 210.5, 211.5, 212.5, 213.5, 214.5, 215.5, + 216.5, 217.5, 218.5, 219.5, 220.5, 221.5, 222.5, 223.5, + 224.5, 225.5, 226.5, 227.5, 228.5, 229.5, 230.5, 231.5, + 232.5, 233.5, 234.5, 235.5, 236.5, 237.5, 238.5, 239.5, + 240.5, 241.5, 242.5, 243.5, 244.5, 245.5, 246.5, 247.5, + 248.5, 249.5, 250.5, 251.5, 252.5, 253.5, 254.5, 255.5, + 256.5, 257.5, 258.5, 259.5, 260.5, 261.5, 262.5, 263.5, + 264.5, 265.5, 266.5, 267.5, 268.5, 269.5, 270.5, 271.5, + 272.5, 273.5, 274.5, 275.5, 276.5, 277.5, 278.5, 279.5, +}; + +static long _vq_quantmap_res0_160_1024_9[] = { + 559, 557, 555, 553, 551, 549, 547, 545, + 543, 541, 539, 537, 535, 533, 531, 529, + 527, 525, 523, 521, 519, 517, 515, 513, + 511, 509, 507, 505, 503, 501, 499, 497, + 495, 493, 491, 489, 487, 485, 483, 481, + 479, 477, 475, 473, 471, 469, 467, 465, + 463, 461, 459, 457, 455, 453, 451, 449, + 447, 445, 443, 441, 439, 437, 435, 433, + 431, 429, 427, 425, 423, 421, 419, 417, + 415, 413, 411, 409, 407, 405, 403, 401, + 399, 397, 395, 393, 391, 389, 387, 385, + 383, 381, 379, 377, 375, 373, 371, 369, + 367, 365, 363, 361, 359, 357, 355, 353, + 351, 349, 347, 345, 343, 341, 339, 337, + 335, 333, 331, 329, 327, 325, 323, 321, + 319, 317, 315, 313, 311, 309, 307, 305, + 303, 301, 299, 297, 295, 293, 291, 289, + 287, 285, 283, 281, 279, 277, 275, 273, + 271, 269, 267, 265, 263, 261, 259, 257, + 255, 253, 251, 249, 247, 245, 243, 241, + 239, 237, 235, 233, 231, 229, 227, 225, + 223, 221, 219, 217, 215, 213, 211, 209, + 207, 205, 203, 201, 199, 197, 195, 193, + 191, 189, 187, 185, 183, 181, 179, 177, + 175, 173, 171, 169, 167, 165, 163, 161, + 159, 157, 155, 153, 151, 149, 147, 145, + 143, 141, 139, 137, 135, 133, 131, 129, + 127, 125, 123, 121, 119, 117, 115, 113, + 111, 109, 107, 105, 103, 101, 99, 97, + 95, 93, 91, 89, 87, 85, 83, 81, + 79, 77, 75, 73, 71, 69, 67, 65, + 63, 61, 59, 57, 55, 53, 51, 49, + 47, 45, 43, 41, 39, 37, 35, 33, + 31, 29, 27, 25, 23, 21, 19, 17, + 15, 13, 11, 9, 7, 5, 3, 1, + 0, 2, 4, 6, 8, 10, 12, 14, + 16, 18, 20, 22, 24, 26, 28, 30, + 32, 34, 36, 38, 40, 42, 44, 46, + 48, 50, 52, 54, 56, 58, 60, 62, + 64, 66, 68, 70, 72, 74, 76, 78, + 80, 82, 84, 86, 88, 90, 92, 94, + 96, 98, 100, 102, 104, 106, 108, 110, + 112, 114, 116, 118, 120, 122, 124, 126, + 128, 130, 132, 134, 136, 138, 140, 142, + 144, 146, 148, 150, 152, 154, 156, 158, + 160, 162, 164, 166, 168, 170, 172, 174, + 176, 178, 180, 182, 184, 186, 188, 190, + 192, 194, 196, 198, 200, 202, 204, 206, + 208, 210, 212, 214, 216, 218, 220, 222, + 224, 226, 228, 230, 232, 234, 236, 238, + 240, 242, 244, 246, 248, 250, 252, 254, + 256, 258, 260, 262, 264, 266, 268, 270, + 272, 274, 276, 278, 280, 282, 284, 286, + 288, 290, 292, 294, 296, 298, 300, 302, + 304, 306, 308, 310, 312, 314, 316, 318, + 320, 322, 324, 326, 328, 330, 332, 334, + 336, 338, 340, 342, 344, 346, 348, 350, + 352, 354, 356, 358, 360, 362, 364, 366, + 368, 370, 372, 374, 376, 378, 380, 382, + 384, 386, 388, 390, 392, 394, 396, 398, + 400, 402, 404, 406, 408, 410, 412, 414, + 416, 418, 420, 422, 424, 426, 428, 430, + 432, 434, 436, 438, 440, 442, 444, 446, + 448, 450, 452, 454, 456, 458, 460, 462, + 464, 466, 468, 470, 472, 474, 476, 478, + 480, 482, 484, 486, 488, 490, 492, 494, + 496, 498, 500, 502, 504, 506, 508, 510, + 512, 514, 516, 518, 520, 522, 524, 526, + 528, 530, 532, 534, 536, 538, 540, 542, + 544, 546, 548, 550, 552, 554, 556, 558, + 560, +}; + +static encode_aux_threshmatch _vq_auxt_res0_160_1024_9 = { + _vq_quantthresh_res0_160_1024_9, + _vq_quantmap_res0_160_1024_9, + 561, + 561 +}; + +static static_codebook _vq_book_res0_160_1024_9 = { + 1, 561, + _vq_lengthlist_res0_160_1024_9, + 1, -518946816, 1611661312, 10, 0, + _vq_quantlist_res0_160_1024_9, + NULL, + &_vq_auxt_res0_160_1024_9, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_160_1024aux.vqh b/lib/books/res0_160_1024aux.vqh new file mode 100644 index 00000000..e583d212 --- /dev/null +++ b/lib/books/res0_160_1024aux.vqh @@ -0,0 +1,43 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by huff/huffbuld + + ********************************************************************/ + +#ifndef _V_res0_160_1024aux_VQH_ +#define _V_res0_160_1024aux_VQH_ +#include "codebook.h" + +static long _huff_lengthlist_res0_160_1024aux[] = { + 2, 7,12,11,13,10,13,12,15,18, 5, 4, 7, 7, 9, 7, + 9,11,12,15,10, 6, 5, 6, 6, 8, 8,12,14,17, 9, 6, + 5, 5, 5, 5, 7, 9,12,16,13, 8, 6, 5, 5, 6, 7,12, + 14,18, 9, 7, 7, 5, 6, 5, 7, 8,11,16,13, 9, 8, 7, + 6, 7, 6, 9,11,16,10, 9,10, 8, 9, 7, 7, 7, 9,13, + 10,10,12,10,11, 8, 7, 7, 7,11,12,12,13,11,12,10, + 7, 6, 6,10, +}; + +static static_codebook _huff_book_res0_160_1024aux = { + 2, 100, + _huff_lengthlist_res0_160_1024aux, + 0, 0, 0, 0, 0, + NULL, + NULL, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_160_128_1.vqh b/lib/books/res0_160_128_1.vqh new file mode 100644 index 00000000..2b44a65d --- /dev/null +++ b/lib/books/res0_160_128_1.vqh @@ -0,0 +1,63 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_160_128_1_VQH_ +#define _V_res0_160_128_1_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_160_128_1[] = { + 1, + 0, + 2, +}; + +static long _vq_lengthlist_res0_160_128_1[] = { + 3, 4, 4, 5, 6, 6, 4, 6, 6, 5, 6, 6, 6, 8, 8, 6, + 8, 8, 5, 6, 6, 6, 8, 7, 6, 8, 8, 5, 6, 6, 6, 8, + 8, 6, 8, 8, 6, 8, 8, 8, 9,10, 8,10, 9, 6, 8, 8, + 8,10, 8, 8, 9,10, 5, 6, 6, 6, 8, 8, 6, 8, 8, 6, + 8, 8, 8,10, 9, 8, 8,10, 6, 8, 8, 8, 9,10, 8,10, + 9, +}; + +static float _vq_quantthresh_res0_160_128_1[] = { + -0.5, 0.5, +}; + +static long _vq_quantmap_res0_160_128_1[] = { + 1, 0, 2, +}; + +static encode_aux_threshmatch _vq_auxt_res0_160_128_1 = { + _vq_quantthresh_res0_160_128_1, + _vq_quantmap_res0_160_128_1, + 3, + 3 +}; + +static static_codebook _vq_book_res0_160_128_1 = { + 4, 81, + _vq_lengthlist_res0_160_128_1, + 1, -535822336, 1611661312, 2, 0, + _vq_quantlist_res0_160_128_1, + NULL, + &_vq_auxt_res0_160_128_1, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_160_128_2.vqh b/lib/books/res0_160_128_2.vqh new file mode 100644 index 00000000..16c721a4 --- /dev/null +++ b/lib/books/res0_160_128_2.vqh @@ -0,0 +1,212 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_160_128_2_VQH_ +#define _V_res0_160_128_2_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_160_128_2[] = { + 3, + 2, + 4, + 1, + 5, + 0, + 6, +}; + +static long _vq_lengthlist_res0_160_128_2[] = { + 3, 5, 5, 7, 7,10,10, 5, 7, 7, 9, 8,12,11, 5, 7, + 7, 8, 9,12,12, 7, 9, 9,13,13,15,16, 7, 9, 9,12, + 12,15,16,10,11,12,15,14,16,16,10,12,12,15,15,17, + 17, 5, 7, 7, 9, 9,12,12, 7, 8, 8,10,10,13,13, 7, + 8, 8,10,10,13,14, 9,10,10,14,14,16,16, 9,10,10, + 14,14,15,17,12,13,14,17,17,17,17,12,13,13,15,17, + 17,16, 5, 7, 7, 8, 9,12,11, 7, 8, 8,10,10,13,13, + 7, 8, 8,10,10,14,12, 9,11,10,14,13,16,17, 9,11, + 10,15,13,15,17,12,14,13,17,17,17,15,12,13,13,17, + 17,17,17, 7, 9, 9,13,13,15,14, 9,10,10,14,14,16, + 15, 9,10,10,14,14,16,17,12,14,16,16,15,17,17,13, + 14,14,15,17,17,17,14,15,16,17,17,17,17,14,16,16, + 16,17,17,17, 7, 9, 9,13,13,14,15, 9,10,10,13,14, + 16,15, 9,10,10,15,14,17,15,13,14,13,17,16,16,17, + 13,14,14,17,15,17,17,15,17,17,17,15,17,17,16,17, + 16,16,17,17,17,10,13,13,15,14,17,16,12,14,13,17, + 15,17,16,12,14,14,16,17,17,17,15,15,16,16,17,17, + 17,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17, + 16,16,17,17,16,17,10,12,13,15,15,17,17,12,15,13, + 17,17,17,17,13,15,14,16,16,17,16,15,16,14,17,16, + 17,17,14,14,16,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,16,17,17, 5, 7, 7, 9, 9,12,12, 7, 8, + 8,11,10,14,15, 7, 8, 8,10,11,13,13, 9,10,11,15, + 16,16,17, 9,10,11,14,17,17,17,12,14,15,15,15,17, + 17,12,14,14,15,17,17,17, 7, 9, 8,10,10,14,13, 8, + 10,10,11,12,17,15, 8,10,10,12,11,14,15,10,12,12, + 14,15,17,17,11,12,12,16,15,17,16,13,15,15,17,17, + 17,17,14,16,17,17,17,17,17, 7, 8, 9,11,10,13,13, + 8,10,10,12,12,15,14, 8,10,10,12,12,14,14,11,12, + 11,17,14,17,17,11,12,13,14,16,17,16,14,16,15,17, + 17,16,17,15,15,15,17,15,17,17, 9,11,11,14,15,17, + 17,10,12,12,16,17,15,15,11,13,12,17,15,17,17,14, + 15,16,16,17,17,16,15,15,15,17,16,17,17,16,16,17, + 17,17,17,17,17,17,17,17,17,17,17, 9,11,11,14,14, + 16,17,10,13,12,17,14,16,15,11,13,12,15,15,15,17, + 14,15,16,17,15,17,17,14,16,14,17,17,17,16,15,17, + 16,17,16,17,17,17,17,16,17,17,16,17,13,14,14,17, + 17,17,16,14,13,15,16,16,17,17,13,16,15,17,17,17, + 17,16,17,17,15,17,17,17,17,17,17,17,17,17,17,17, + 17,16,16,17,17,17,17,17,17,17,17,17,17,12,13,15, + 17,17,17,17,13,14,15,16,16,17,17,15,16,15,17,17, + 17,17,17,17,15,17,17,17,17,15,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17, 5, 7, + 7, 9, 9,12,12, 7, 9, 8,10,10,13,14, 7, 8, 8,10, + 10,13,13, 9,10,10,15,14,16,15, 9,11,10,14,15,16, + 17,12,13,14,15,16,17,17,12,15,14,15,16,17,17, 7, + 8, 8,10,10,15,14, 8,10,10,12,11,14,14, 8,10,10, + 11,12,14,15,11,12,11,16,15,17,17,11,11,13,14,15, + 17,17,14,17,16,16,17,17,17,14,16,14,16,17,17,17, + 7, 8, 8,10,10,14,13, 8,10,10,11,12,14,14, 8,10, + 10,12,12,14,14,10,11,12,14,14,16,17,10,12,12,17, + 14,17,17,15,15,16,17,17,16,17,14,15,15,17,17,17, + 17, 9,11,10,14,14,17,17,10,12,12,17,14,17,17,10, + 12,12,14,17,15,17,15,14,15,17,17,17,17,14,16,15, + 17,17,17,17,16,16,17,17,17,16,17,17,17,17,17,17, + 16,17, 9,11,11,15,13,15,16,11,12,12,14,17,16,17, + 11,12,12,16,17,17,17,15,16,16,16,15,16,17,14,15, + 15,17,15,17,17,17,15,17,16,16,17,16,17,17,17,17, + 17,17,17,13,15,14,15,17,17,17,15,15,15,17,17,17, + 17,14,15,17,17,17,16,17,17,17,17,17,17,17,17,17, + 16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,13,14,17,16,17,17,17,14,16,15,17,17, + 17,16,15,16,14,17,17,17,17,16,17,17,17,15,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17, 7, 9, 9,13,13,15,17, 9,11,11,14, + 14,15,16, 9,11,11,15,14,16,17,14,15,14,17,17,16, + 17,13,17,15,17,17,17,17,17,16,16,16,17,17,17,16, + 17,15,17,17,17,17, 9,11,11,14,14,17,17,11,12,13, + 15,17,17,16,11,13,12,17,15,16,17,16,16,17,17,17, + 17,17,16,15,15,17,16,17,17,16,17,17,17,17,17,17, + 17,17,17,15,17,17,17, 9,11,11,15,16,17,16,11,12, + 12,16,16,16,17,11,12,13,17,16,16,17,14,17,17,17, + 17,17,17,17,16,16,16,17,17,17,17,17,15,17,17,17, + 17,17,17,16,17,17,17,17,13,16,14,16,14,17,16,15, + 15,15,17,15,17,17,16,15,16,17,17,17,17,16,15,16, + 16,17,17,17,17,17,17,17,17,17,17,17,17,17,16,17, + 17,17,17,17,17,17,17,17,17,13,17,15,17,16,17,17, + 14,15,15,17,17,17,17,17,16,16,17,16,17,17,15,16, + 17,17,15,16,17,16,17,17,17,17,16,17,17,17,17,17, + 16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,16,17,17,17,17,16,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,15,16,17,17,17,17,17,17, + 17,17,17,17,17,17,16,17,17,17,17,17,17,16,17,17, + 17,17,16,17,16,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17, 7, 9, 9,13, + 14,15,15, 9,11,11,14,15,17,16, 9,11,11,15,15,17, + 17,13,16,15,16,17,17,17,13,15,15,17,16,17,17,17, + 17,17,17,17,17,17,17,17,16,17,17,17,17, 9,11,11, + 14,15,17,16,11,12,12,17,15,17,17,10,13,13,16,15, + 16,17,15,17,15,16,16,16,17,16,15,16,15,17,17,17, + 17,17,17,17,17,17,16,17,17,16,17,17,17,17, 9,11, + 11,14,15,15,17,11,12,12,14,16,17,17,11,12,12,17, + 15,16,17,14,15,17,17,17,17,16,15,17,16,17,16,17, + 17,16,17,17,17,17,17,17,16,17,16,17,17,16,17,14, + 15,15,17,17,17,17,15,16,17,17,16,17,17,14,17,17, + 17,17,17,17,16,17,17,17,17,17,17,17,17,17,15,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 15,14,14,17,15,16,17,15,17,16,17,17,17,17,15,17, + 15,17,17,17,17,15,17,17,16,17,17,17,17,17,17,17, + 16,17,17,16,17,17,17,17,17,17,17,17,17,17,15,17, + 17,15,16,17,17,17,17,17,17,17,16,17,17,17,17,17, + 17,16,17,17,17,17,17,16,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,16,17,16,17,17,17,17,17,17,17,17,17,17,17, + 15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,11,13,13,15,16,17,17,13,15,14,17,17,17, + 17,13,14,14,17,17,17,17,17,17,17,17,17,17,17,15, + 17,17,17,16,17,16,17,17,17,16,17,17,17,17,17,17, + 17,17,17,17,12,14,17,15,17,17,17,17,15,15,16,17, + 17,16,13,17,16,17,17,17,17,16,15,17,17,17,17,17, + 16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,12,15,15,17,17,17,17,14,17,15,17, + 17,17,17,14,16,17,17,17,16,17,16,16,16,17,17,17, + 17,16,17,17,17,17,17,17,17,16,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,16,17,17,17,17, + 16,16,17,17,17,16,17,17,17,17,17,17,15,17,17,17, + 17,17,17,17,16,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,16,16,16,17,17,17,17,17,16, + 16,17,17,17,17,17,17,17,16,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,16,17,17,17,17,17,17, + 16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,11,13,13,17,17,17, + 15,13,16,13,16,15,17,17,13,15,16,17,17,17,17,17, + 17,17,17,17,17,17,16,16,17,17,17,17,17,17,17,16, + 17,17,17,17,17,17,17,17,17,17,17,12,14,14,17,16, + 17,16,16,16,17,17,15,17,17,16,17,15,16,17,17,17, + 17,17,17,16,17,17,17,17,17,17,16,17,17,17,17,17, + 17,17,17,17,17,17,16,15,17,17,17,17,12,15,14,17, + 17,17,17,14,16,14,17,17,16,17,15,16,15,15,16,17, + 17,17,17,17,17,17,17,17,16,17,16,17,17,17,17,17, + 16,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,15,17,17,17, + 17,17,17,17,16,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,17, + 16,17,17,17,17,17,14,17,17,17,17,17,16,16,17,17, + 17,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,16,17,17, + 17,17,17,17,16,17,17,17,17,17,17,17,16,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,16,17,17,17,17,17,17,17,17,17,17,16,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 16, +}; + +static float _vq_quantthresh_res0_160_128_2[] = { + -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, +}; + +static long _vq_quantmap_res0_160_128_2[] = { + 5, 3, 1, 0, 2, 4, 6, +}; + +static encode_aux_threshmatch _vq_auxt_res0_160_128_2 = { + _vq_quantthresh_res0_160_128_2, + _vq_quantmap_res0_160_128_2, + 7, + 7 +}; + +static static_codebook _vq_book_res0_160_128_2 = { + 4, 2401, + _vq_lengthlist_res0_160_128_2, + 1, -533200896, 1611661312, 3, 0, + _vq_quantlist_res0_160_128_2, + NULL, + &_vq_auxt_res0_160_128_2, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_160_128_3.vqh b/lib/books/res0_160_128_3.vqh new file mode 100644 index 00000000..f3a21d4e --- /dev/null +++ b/lib/books/res0_160_128_3.vqh @@ -0,0 +1,152 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_160_128_3_VQH_ +#define _V_res0_160_128_3_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_160_128_3[] = { + 15, + 14, + 16, + 13, + 17, + 12, + 18, + 11, + 19, + 10, + 20, + 9, + 21, + 8, + 22, + 7, + 23, + 6, + 24, + 5, + 25, + 4, + 26, + 3, + 27, + 2, + 28, + 1, + 29, + 0, + 30, +}; + +static long _vq_lengthlist_res0_160_128_3[] = { + 3, 4, 4, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, + 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, + 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9, 9, 9, 9, 5, 5, + 5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 7, 7, 7, + 8, 8, 9, 9, 9,10,10,10,10,10,10,10,11,11,11,11, + 11,11,11,11,11,11,11,12,11,11,11,11, 7, 7, 7, 8, + 8, 9, 9, 9, 9,10,10,10,10,10,11,11,11,11,11,11, + 11,11,11,11,11,10,11,11,11,11,11, 8, 8, 9,10,10, + 11,10,11,11,12,11,12,12,12,12,12,12,13,12,12,13, + 12,13,12,12,13,13,12,13,12,13, 8, 9, 9,10,10,10, + 11,11,11,12,12,12,12,12,12,12,12,13,12,12,12,13, + 13,12,13,12,12,12,13,12,12, 9, 9, 9,11,11,11,11, + 12,13,12,13,13,13,14,13,13,14,13,13,13,14,15,14, + 15,14,13,14,13,13,13,14, 9, 9, 9,11,11,11,11,12, + 12,12,12,13,12,12,13,14,14,14,14,13,14,17,14,14, + 14,13,13,13,17,14,14,10,11,10,12,12,12,13,13,13, + 13,13,14,13,13,15,13,15,14,14,15,15,14,14,16,15, + 15,15,14,14,16,16, 9,10,10,12,12,12,13,12,13,13, + 15,13,13,13,13,13,14,14,15,15,14,16,15,16,15,14, + 15,15,15,14,15,11,11,11,13,13,13,13,15,14,13,14, + 13,15,13,15,15,14,15,14,15,14,15,16,15,15,15,15, + 16,16,16,15,10,12,11,13,12,13,14,14,13,15,15,15, + 13,15,13,15,15,14,15,15,15,15,14,14,16,16,15,15, + 15,16,15,11,12,13,13,13,13,14,13,13,14,14,14,14, + 13,16,16,15,16,15,15,16,15,15,16,15,16,15,15,16, + 15,15,11,12,12,13,13,13,13,15,15,16,14,16,16,15, + 14,15,15,16,14,15,15,15,16,16,16,15,16,15,16,16, + 16,12,12,13,14,13,16,16,15,16,15,15,15,15,15,15, + 14,14,14,14,15,15,16,15,16,15,16,16,16,16,16,16, + 11,13,13,14,14,14,15,15,14,16,15,16,15,16,16,16, + 14,16,14,16,15,15,16,16,16,15,15,15,14,15,16,13, + 13,14,15,15,15,16,15,16,16,15,16,15,16,15,16,16, + 16,16,15,15,15,15,16,15,15,16,16,16,15,16,13,14, + 13,15,15,16,14,15,16,16,15,15,16,16,16,16,15,16, + 16,16,16,16,15,16,16,15,16,16,16,16,16,13,14,13, + 15,16,15,15,15,15,16,15,16,16,16,15,15,16,16,16, + 15,16,16,16,15,16,16,16,15,16,16,16,13,12,15,15, + 15,16,15,16,15,16,16,15,16,16,16,16,16,16,15,16, + 15,16,16,16,16,16,16,16,15,16,16,13,15,14,15,15, + 15,16,16,16,16,16,16,16,16,16,15,16,15,15,16,16, + 16,16,16,16,16,16,16,16,16,16,13,15,14,15,15,15, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16, + 16,16,16,16,16,16,16,15,15,14,15,15,15,15,16,16, + 16,15,16,16,16,16,16,16,15,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,14,15,15,16,15,16,15,16, + 16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,15,16,16,16,16,14,14,16,15,16,15,16,16,16, + 16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16, + 16,16,16,16,16,15,15,15,15,16,16,15,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16, + 16,16,16,16,16,14,15,15,16,16,15,16,16,16,16,16, + 16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16, + 16,16,16,16,15,16,16,15,16,15,16,16,16,16,16,16, + 16,15,16,15,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,15,14,16,15,16,16,16,16,16,16,15,16,16,15, + 16,16,16,16,15,16,16,16,16,16,15,16,16,16,16,16, + 16,16,15,15,16,16,16,16,15,16,16,15,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16, + 16, +}; + +static float _vq_quantthresh_res0_160_128_3[] = { + -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, -7.5, + -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, + 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, + 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, +}; + +static long _vq_quantmap_res0_160_128_3[] = { + 29, 27, 25, 23, 21, 19, 17, 15, + 13, 11, 9, 7, 5, 3, 1, 0, + 2, 4, 6, 8, 10, 12, 14, 16, + 18, 20, 22, 24, 26, 28, 30, +}; + +static encode_aux_threshmatch _vq_auxt_res0_160_128_3 = { + _vq_quantthresh_res0_160_128_3, + _vq_quantmap_res0_160_128_3, + 31, + 31 +}; + +static static_codebook _vq_book_res0_160_128_3 = { + 2, 961, + _vq_lengthlist_res0_160_128_3, + 1, -528613376, 1611661312, 5, 0, + _vq_quantlist_res0_160_128_3, + NULL, + &_vq_auxt_res0_160_128_3, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_160_128_4.vqh b/lib/books/res0_160_128_4.vqh new file mode 100644 index 00000000..1b7ec427 --- /dev/null +++ b/lib/books/res0_160_128_4.vqh @@ -0,0 +1,295 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_160_128_4_VQH_ +#define _V_res0_160_128_4_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_160_128_4[] = { + 26, + 25, + 27, + 24, + 28, + 23, + 29, + 22, + 30, + 21, + 31, + 20, + 32, + 19, + 33, + 18, + 34, + 17, + 35, + 16, + 36, + 15, + 37, + 14, + 38, + 13, + 39, + 12, + 40, + 11, + 41, + 10, + 42, + 9, + 43, + 8, + 44, + 7, + 45, + 6, + 46, + 5, + 47, + 4, + 48, + 3, + 49, + 2, + 50, + 1, + 51, + 0, + 52, +}; + +static long _vq_lengthlist_res0_160_128_4[] = { + 4, 4, 4, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, + 9, 9, 9, 9, 9,10,10,10,10,10,10,10,10,10,10, 8, + 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9, + 10,10,10,10,10, 4, 5, 5, 6, 7, 7, 7, 8, 8, 8, 8, + 9, 9, 9,10, 9, 9,10,10,10,10,10,10,10,10,10,10, + 10,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, + 9,10, 9,10,10,10,10,10,10,10, 4, 5, 5, 6, 7, 7, + 7, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10, + 10,10,10,10,10,10,10,11,10, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,10,10,10, 7, + 7, 7, 9, 9,10, 9,10,10,11,11,11,11,11,11,11,11, + 12,12,11,12,12,12,12,12,13,12,12,13,12,13,11,11, + 11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,12, + 12,12,12,12, 7, 7, 7, 9, 9,10,10,10,10,10,10,11, + 11,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12, + 12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11, + 12,11,12,12,11,12,13,12,12, 9, 9, 9,10,11,11,11, + 11,12,13,12,12,13,12,13,14,13,14,13,13,13,13,13, + 13,16,13,13,14,14,13,14,13,13,13,13,12,12,12,13, + 12,12,13,13,12,12,13,13,13,13,13,13,13,14, 9, 9, + 9,10,10,12,11,12,11,12,12,13,12,13,13,13,13,13, + 14,14,13,14,13,14,13,14,13,13,14,15,13,12,12,13, + 12,12,13,13,12,13,12,13,12,13,13,13,13,13,13,14, + 14,13,14,10,10,11,11,12,12,12,13,13,14,13,13,14, + 14,14,14,14,14,14,14,14,14,15,14,15,14,16,15,15, + 14,15,15,14,14,13,14,13,14,13,15,14,13,13,14,14, + 14,14,14,14,14,15,14,16,10,10,10,12,12,12,12,14, + 13,14,13,13,13,14,13,14,14,14,15,14,14,14,15,15, + 14,14,14,15,15,15,15,13,14,14,15,14,13,13,13,14, + 14,14,15,14,14,14,13,14,14,15,14,15,14,11,11,12, + 13,13,14,14,15,14,15,14,14,15,14,15,15,14,15,15, + 15,16,15,15,15,15,15,14,15,15,15,15,14,14,15,14, + 14,15,15,16,14,14,14,14,14,14,15,15,14,15,15,15, + 15,15,11,11,11,13,13,13,13,15,13,14,14,15,15,14, + 14,16,15,15,16,15,16,16,15,14,16,14,15,16,16,15, + 15,14,15,14,14,14,14,14,14,14,14,15,15,16,14,15, + 16,14,16,15,14,15,15,11,12,12,14,13,14,14,13,14, + 15,14,16,15,15,14,16,16,15,16,16,15,15,15,15,16, + 15,16,15,15,16,16,15,15,15,15,15,16,14,15,15,15, + 14,15,15,16,15,15,15,15,16,15,16,16,11,12,12,13, + 13,13,13,14,15,15,15,14,15,14,16,16,14,14,16,15, + 15,16,16,15,15,15,15,15,16,16,16,16,14,15,14,15, + 15,16,14,16,16,15,15,15,16,15,15,15,15,16,15,16, + 16,12,12,13,14,13,14,14,14,15,15,16,16,15,15,14, + 15,15,16,15,15,15,14,15,16,16,16,16,16,16,15,16, + 15,15,15,15,14,16,15,15,15,15,16,15,16,15,16,16, + 16,15,16,16,16,16,12,13,13,14,14,15,15,14,16,15, + 15,15,15,16,15,15,15,15,15,16,16,15,15,15,15,16, + 16,16,16,15,15,16,15,14,15,15,16,16,16,15,16,16, + 16,16,15,16,15,16,15,16,16,16,16,12,13,14,15,14, + 15,15,15,16,16,15,15,15,15,16,16,15,16,15,16,15, + 16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,15, + 16,15,15,16,16,15,16,16,16,15,16,16,16,16,15,16, + 13,13,13,14,14,15,15,15,15,15,15,16,15,15,16,16, + 16,16,16,15,16,16,16,16,15,16,15,16,16,16,16,14, + 14,16,15,16,16,15,15,15,15,16,16,15,16,16,16,16, + 16,16,15,16,16,13,13,14,15,14,15,15,16,16,15,16, + 16,15,15,16,16,15,15,16,16,15,16,16,16,16,15,16, + 16,16,16,15,16,15,16,16,15,16,16,15,16,16,15,16, + 16,16,16,16,16,15,16,16,16,16,13,14,14,15,13,16, + 14,15,16,16,15,16,15,15,15,16,15,16,16,16,16,15, + 16,16,16,15,16,15,16,16,16,14,16,16,16,15,16,15, + 15,15,16,16,15,16,16,16,16,16,16,16,16,16,16,14, + 14,14,15,15,15,15,15,16,16,16,16,15,16,16,15,16, + 16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16, + 15,16,16,16,16,16,15,16,15,16,16,15,16,16,16,15, + 16,16,16,16,13,14,13,15,14,15,16,16,15,15,16,16, + 15,15,15,16,16,16,15,16,16,15,15,16,16,15,16,16, + 15,15,16,15,16,16,16,15,16,16,16,16,15,16,15,16, + 15,16,16,16,16,15,16,16,15,14,14,14,15,14,16,15, + 15,16,15,16,16,15,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,15, + 16,15,16,16,16,16,16,16,15,16,16,16,16,16,14,15, + 14,16,16,16,16,16,16,15,16,16,15,16,16,16,16,16, + 15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,15,16,16,16,16,16,15,16,15,16, + 16,16,16,14,14,14,15,15,16,16,16,15,16,16,16,16, + 15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,15,16,16,16,15,15,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,14,14,15,16,15,15,16,16, + 15,15,16,16,16,16,16,16,16,16,16,16,16,16,16,15, + 16,16,15,15,16,16,16,16,15,15,16,16,16,16,16,16, + 15,16,16,16,16,16,15,16,16,15,16,16,16,14,14,15, + 15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,15,16,15,16,16,16,15,16,16,16,15,16,16,16,15, + 16,16,15,15,15,16,15,15,16,16,16,16,16,15,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,15,16,16,16,15,15,16,16,15,16,16,16,16,16, + 16,16,16,16,16,16,16,15,14,15,16,16,16,16,15,16, + 16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,15,16,16,16,15,14,16, + 15,15,16,15,16,16,15,16,16,16,16,16,16,16,16,16, + 16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,15, + 15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,15,16,15,16,15,16,15,16,16,16,16,16,16,16,16, + 16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,15,15,15,14,16,15,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,15, + 16,15,15,16,16,16,16,16,16,16,16,14,16,15,15,15, + 15,15,16,16,15,16,15,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16, + 16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,15, + 14,16,14,15,16,16,16,16,16,15,16,16,16,16,16,15, + 16,16,16,16,16,15,16,16,16,16,16,16,15,16,16,16, + 16,15,16,16,16,16,16,16,16,16,15,16,16,16,16,16, + 16,16,16,16,15,15,15,14,16,15,15,16,14,16,16,16, + 16,16,16,15,16,16,16,15,16,16,16,16,16,16,16,16, + 15,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16, + 16,16,16,15,15,16,16,16,16,16,14,14,15,16,16,16, + 15,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,15, + 16,15,16,15,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,15, + 16,16,16,16,14,16,16,16,16,15,16,16,16,16,16,16, + 16,15,16,16,16,16,15,16,16,15,16,16,16,16,16,16, + 16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,14,15,16,15,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15, + 16,16,15,16,15,16,16,16,16,16,15,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,15,15,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,15,14,15,16,16,16,16,16, + 16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16, + 16,16,16,15,15,16,16,15,16,16,16,16,16,16,16,15, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 15,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,15, + 16,16,15,15,16,15,16,16,16,16,16,16,15,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15, + 16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16, + 15,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16, + 15,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16, + 16,16,16,16,16,16,16,16,16, +}; + +static float _vq_quantthresh_res0_160_128_4[] = { + -25.5, -24.5, -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, + -17.5, -16.5, -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, + -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, + -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, + 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, + 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, + 22.5, 23.5, 24.5, 25.5, +}; + +static long _vq_quantmap_res0_160_128_4[] = { + 51, 49, 47, 45, 43, 41, 39, 37, + 35, 33, 31, 29, 27, 25, 23, 21, + 19, 17, 15, 13, 11, 9, 7, 5, + 3, 1, 0, 2, 4, 6, 8, 10, + 12, 14, 16, 18, 20, 22, 24, 26, + 28, 30, 32, 34, 36, 38, 40, 42, + 44, 46, 48, 50, 52, +}; + +static encode_aux_threshmatch _vq_auxt_res0_160_128_4 = { + _vq_quantthresh_res0_160_128_4, + _vq_quantmap_res0_160_128_4, + 53, + 53 +}; + +static static_codebook _vq_book_res0_160_128_4 = { + 2, 2809, + _vq_lengthlist_res0_160_128_4, + 1, -526778368, 1611661312, 6, 0, + _vq_quantlist_res0_160_128_4, + NULL, + &_vq_auxt_res0_160_128_4, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_160_128_5.vqh b/lib/books/res0_160_128_5.vqh new file mode 100644 index 00000000..f33a163b --- /dev/null +++ b/lib/books/res0_160_128_5.vqh @@ -0,0 +1,448 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_160_128_5_VQH_ +#define _V_res0_160_128_5_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_160_128_5[] = { + 150, + 149, + 151, + 148, + 152, + 147, + 153, + 146, + 154, + 145, + 155, + 144, + 156, + 143, + 157, + 142, + 158, + 141, + 159, + 140, + 160, + 139, + 161, + 138, + 162, + 137, + 163, + 136, + 164, + 135, + 165, + 134, + 166, + 133, + 167, + 132, + 168, + 131, + 169, + 130, + 170, + 129, + 171, + 128, + 172, + 127, + 173, + 126, + 174, + 125, + 175, + 124, + 176, + 123, + 177, + 122, + 178, + 121, + 179, + 120, + 180, + 119, + 181, + 118, + 182, + 117, + 183, + 116, + 184, + 115, + 185, + 114, + 186, + 113, + 187, + 112, + 188, + 111, + 189, + 110, + 190, + 109, + 191, + 108, + 192, + 107, + 193, + 106, + 194, + 105, + 195, + 104, + 196, + 103, + 197, + 102, + 198, + 101, + 199, + 100, + 200, + 99, + 201, + 98, + 202, + 97, + 203, + 96, + 204, + 95, + 205, + 94, + 206, + 93, + 207, + 92, + 208, + 91, + 209, + 90, + 210, + 89, + 211, + 88, + 212, + 87, + 213, + 86, + 214, + 85, + 215, + 84, + 216, + 83, + 217, + 82, + 218, + 81, + 219, + 80, + 220, + 79, + 221, + 78, + 222, + 77, + 223, + 76, + 224, + 75, + 225, + 74, + 226, + 73, + 227, + 72, + 228, + 71, + 229, + 70, + 230, + 69, + 231, + 68, + 232, + 67, + 233, + 66, + 234, + 65, + 235, + 64, + 236, + 63, + 237, + 62, + 238, + 61, + 239, + 60, + 240, + 59, + 241, + 58, + 242, + 57, + 243, + 56, + 244, + 55, + 245, + 54, + 246, + 53, + 247, + 52, + 248, + 51, + 249, + 50, + 250, + 49, + 251, + 48, + 252, + 47, + 253, + 46, + 254, + 45, + 255, + 44, + 256, + 43, + 257, + 42, + 258, + 41, + 259, + 40, + 260, + 39, + 261, + 38, + 262, + 37, + 263, + 36, + 264, + 35, + 265, + 34, + 266, + 33, + 267, + 32, + 268, + 31, + 269, + 30, + 270, + 29, + 271, + 28, + 272, + 27, + 273, + 26, + 274, + 25, + 275, + 24, + 276, + 23, + 277, + 22, + 278, + 21, + 279, + 20, + 280, + 19, + 281, + 18, + 282, + 17, + 283, + 16, + 284, + 15, + 285, + 14, + 286, + 13, + 287, + 12, + 288, + 11, + 289, + 10, + 290, + 9, + 291, + 8, + 292, + 7, + 293, + 6, + 294, + 5, + 295, + 4, + 296, + 3, + 297, + 2, + 298, + 1, + 299, + 0, + 300, +}; + +static long _vq_lengthlist_res0_160_128_5[] = { + 2, 2, 2, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, + 8, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 10,10,10,10,10,10,10,10,10,10,10,11,11,11,13,12, + 13,12,14,12,13, 8, 8, 8, 9, 8, 8, 8, 9, 9, 9, 9, + 9, 9,10,10,10,10,10,10,10,11,10,10,11,11,11,11, + 11,12,12,12,11,12,12,13,12,13,12,13,12,13,13,15, + 13,13,12,13,13,14,13,16,13,14,14,13,14,14,14,14, + 15,15,15,15,13,14,13,14,15,16,16,15,15,16,15,16, + 15,16,16,16,15,16,16,15,16,16,16,16,16,16,16,15, + 15,16,16,16,16,16,15,16,16,16,16,16,15,16,16,16, + 16,16,15,16,16,16,16,15,16,16,16,16,16,16,16,16, + 15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,15, +}; + +static float _vq_quantthresh_res0_160_128_5[] = { + -149.5, -148.5, -147.5, -146.5, -145.5, -144.5, -143.5, -142.5, + -141.5, -140.5, -139.5, -138.5, -137.5, -136.5, -135.5, -134.5, + -133.5, -132.5, -131.5, -130.5, -129.5, -128.5, -127.5, -126.5, + -125.5, -124.5, -123.5, -122.5, -121.5, -120.5, -119.5, -118.5, + -117.5, -116.5, -115.5, -114.5, -113.5, -112.5, -111.5, -110.5, + -109.5, -108.5, -107.5, -106.5, -105.5, -104.5, -103.5, -102.5, + -101.5, -100.5, -99.5, -98.5, -97.5, -96.5, -95.5, -94.5, + -93.5, -92.5, -91.5, -90.5, -89.5, -88.5, -87.5, -86.5, + -85.5, -84.5, -83.5, -82.5, -81.5, -80.5, -79.5, -78.5, + -77.5, -76.5, -75.5, -74.5, -73.5, -72.5, -71.5, -70.5, + -69.5, -68.5, -67.5, -66.5, -65.5, -64.5, -63.5, -62.5, + -61.5, -60.5, -59.5, -58.5, -57.5, -56.5, -55.5, -54.5, + -53.5, -52.5, -51.5, -50.5, -49.5, -48.5, -47.5, -46.5, + -45.5, -44.5, -43.5, -42.5, -41.5, -40.5, -39.5, -38.5, + -37.5, -36.5, -35.5, -34.5, -33.5, -32.5, -31.5, -30.5, + -29.5, -28.5, -27.5, -26.5, -25.5, -24.5, -23.5, -22.5, + -21.5, -20.5, -19.5, -18.5, -17.5, -16.5, -15.5, -14.5, + -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, -7.5, -6.5, + -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, + 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, + 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, + 18.5, 19.5, 20.5, 21.5, 22.5, 23.5, 24.5, 25.5, + 26.5, 27.5, 28.5, 29.5, 30.5, 31.5, 32.5, 33.5, + 34.5, 35.5, 36.5, 37.5, 38.5, 39.5, 40.5, 41.5, + 42.5, 43.5, 44.5, 45.5, 46.5, 47.5, 48.5, 49.5, + 50.5, 51.5, 52.5, 53.5, 54.5, 55.5, 56.5, 57.5, + 58.5, 59.5, 60.5, 61.5, 62.5, 63.5, 64.5, 65.5, + 66.5, 67.5, 68.5, 69.5, 70.5, 71.5, 72.5, 73.5, + 74.5, 75.5, 76.5, 77.5, 78.5, 79.5, 80.5, 81.5, + 82.5, 83.5, 84.5, 85.5, 86.5, 87.5, 88.5, 89.5, + 90.5, 91.5, 92.5, 93.5, 94.5, 95.5, 96.5, 97.5, + 98.5, 99.5, 100.5, 101.5, 102.5, 103.5, 104.5, 105.5, + 106.5, 107.5, 108.5, 109.5, 110.5, 111.5, 112.5, 113.5, + 114.5, 115.5, 116.5, 117.5, 118.5, 119.5, 120.5, 121.5, + 122.5, 123.5, 124.5, 125.5, 126.5, 127.5, 128.5, 129.5, + 130.5, 131.5, 132.5, 133.5, 134.5, 135.5, 136.5, 137.5, + 138.5, 139.5, 140.5, 141.5, 142.5, 143.5, 144.5, 145.5, + 146.5, 147.5, 148.5, 149.5, +}; + +static long _vq_quantmap_res0_160_128_5[] = { + 299, 297, 295, 293, 291, 289, 287, 285, + 283, 281, 279, 277, 275, 273, 271, 269, + 267, 265, 263, 261, 259, 257, 255, 253, + 251, 249, 247, 245, 243, 241, 239, 237, + 235, 233, 231, 229, 227, 225, 223, 221, + 219, 217, 215, 213, 211, 209, 207, 205, + 203, 201, 199, 197, 195, 193, 191, 189, + 187, 185, 183, 181, 179, 177, 175, 173, + 171, 169, 167, 165, 163, 161, 159, 157, + 155, 153, 151, 149, 147, 145, 143, 141, + 139, 137, 135, 133, 131, 129, 127, 125, + 123, 121, 119, 117, 115, 113, 111, 109, + 107, 105, 103, 101, 99, 97, 95, 93, + 91, 89, 87, 85, 83, 81, 79, 77, + 75, 73, 71, 69, 67, 65, 63, 61, + 59, 57, 55, 53, 51, 49, 47, 45, + 43, 41, 39, 37, 35, 33, 31, 29, + 27, 25, 23, 21, 19, 17, 15, 13, + 11, 9, 7, 5, 3, 1, 0, 2, + 4, 6, 8, 10, 12, 14, 16, 18, + 20, 22, 24, 26, 28, 30, 32, 34, + 36, 38, 40, 42, 44, 46, 48, 50, + 52, 54, 56, 58, 60, 62, 64, 66, + 68, 70, 72, 74, 76, 78, 80, 82, + 84, 86, 88, 90, 92, 94, 96, 98, + 100, 102, 104, 106, 108, 110, 112, 114, + 116, 118, 120, 122, 124, 126, 128, 130, + 132, 134, 136, 138, 140, 142, 144, 146, + 148, 150, 152, 154, 156, 158, 160, 162, + 164, 166, 168, 170, 172, 174, 176, 178, + 180, 182, 184, 186, 188, 190, 192, 194, + 196, 198, 200, 202, 204, 206, 208, 210, + 212, 214, 216, 218, 220, 222, 224, 226, + 228, 230, 232, 234, 236, 238, 240, 242, + 244, 246, 248, 250, 252, 254, 256, 258, + 260, 262, 264, 266, 268, 270, 272, 274, + 276, 278, 280, 282, 284, 286, 288, 290, + 292, 294, 296, 298, 300, +}; + +static encode_aux_threshmatch _vq_auxt_res0_160_128_5 = { + _vq_quantthresh_res0_160_128_5, + _vq_quantmap_res0_160_128_5, + 301, + 301 +}; + +static static_codebook _vq_book_res0_160_128_5 = { + 1, 301, + _vq_lengthlist_res0_160_128_5, + 1, -520962048, 1611661312, 9, 0, + _vq_quantlist_res0_160_128_5, + NULL, + &_vq_auxt_res0_160_128_5, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_160_128aux.vqh b/lib/books/res0_160_128aux.vqh new file mode 100644 index 00000000..6036a944 --- /dev/null +++ b/lib/books/res0_160_128aux.vqh @@ -0,0 +1,50 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by huff/huffbuld + + ********************************************************************/ + +#ifndef _V_res0_160_128aux_VQH_ +#define _V_res0_160_128aux_VQH_ +#include "codebook.h" + +static long _huff_lengthlist_res0_160_128aux[] = { + 13,15,16,16,16,16,13,11,13,16,16,15,11,11,12,15, + 15,15,10,14,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15, 9,10,12,13,15,15, 5, 2, 5,13,15,15, + 7, 5, 8,12,15,15,10,11,13,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15, 9, 9,10,10,15,15, 5, 4, + 8,12,15,15, 9, 7,10,12,15,15,12,12,13,13,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,11,11,12,12, + 15,15, 9, 4, 5,10,15,15,12, 4, 6,10,15,15,13, 8, + 9,10,15,15,15,14,15,15,15,15,15,15,15,15,15,15, + 12,13,15,15,15,15,13, 3, 5,10,15,15,15, 4, 5,10, + 15,15,14, 8, 9,10,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,13,14,15,15,15,15,15, 5, 6,12,15,15, + 15, 6, 7,11,15,15,15,10,11,13,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15, +}; + +static static_codebook _huff_book_res0_160_128aux = { + 3, 216, + _huff_lengthlist_res0_160_128aux, + 0, 0, 0, 0, 0, + NULL, + NULL, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_192_1024_1.vqh b/lib/books/res0_192_1024_1.vqh new file mode 100644 index 00000000..7a2fc050 --- /dev/null +++ b/lib/books/res0_192_1024_1.vqh @@ -0,0 +1,63 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_192_1024_1_VQH_ +#define _V_res0_192_1024_1_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_192_1024_1[] = { + 1, + 0, + 2, +}; + +static long _vq_lengthlist_res0_192_1024_1[] = { + 1, 4, 4, 4, 8, 8, 4, 8, 8, 5, 8, 8, 8,12,12, 8, + 12,12, 4, 8, 8, 8,12,12, 8,12,12, 5, 9, 8, 9,12, + 12, 8,12,12, 9,12,12,13,16,16,12,16,16, 8,12,12, + 12,17,16,12,16,16, 5, 8, 8, 8,12,12, 8,12,12, 9, + 12,12,12,16,16,12,16,16, 8,12,12,13,17,16,12,16, + 15, +}; + +static float _vq_quantthresh_res0_192_1024_1[] = { + -0.5, 0.5, +}; + +static long _vq_quantmap_res0_192_1024_1[] = { + 1, 0, 2, +}; + +static encode_aux_threshmatch _vq_auxt_res0_192_1024_1 = { + _vq_quantthresh_res0_192_1024_1, + _vq_quantmap_res0_192_1024_1, + 3, + 3 +}; + +static static_codebook _vq_book_res0_192_1024_1 = { + 4, 81, + _vq_lengthlist_res0_192_1024_1, + 1, -535822336, 1611661312, 2, 0, + _vq_quantlist_res0_192_1024_1, + NULL, + &_vq_auxt_res0_192_1024_1, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_192_1024_2.vqh b/lib/books/res0_192_1024_2.vqh new file mode 100644 index 00000000..8090449a --- /dev/null +++ b/lib/books/res0_192_1024_2.vqh @@ -0,0 +1,63 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_192_1024_2_VQH_ +#define _V_res0_192_1024_2_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_192_1024_2[] = { + 1, + 0, + 2, +}; + +static long _vq_lengthlist_res0_192_1024_2[] = { + 3, 4, 4, 5, 6, 6, 4, 6, 6, 5, 6, 6, 6, 8, 8, 6, + 8, 8, 5, 6, 6, 6, 8, 8, 6, 8, 8, 5, 6, 6, 6, 8, + 8, 6, 8, 8, 6, 8, 8, 8, 9, 9, 8, 9, 9, 6, 8, 8, + 8, 9, 9, 8, 9, 9, 5, 6, 6, 6, 8, 8, 6, 8, 8, 6, + 8, 8, 8, 9, 9, 8, 9, 9, 6, 8, 8, 8, 9, 9, 8, 9, + 9, +}; + +static float _vq_quantthresh_res0_192_1024_2[] = { + -0.5, 0.5, +}; + +static long _vq_quantmap_res0_192_1024_2[] = { + 1, 0, 2, +}; + +static encode_aux_threshmatch _vq_auxt_res0_192_1024_2 = { + _vq_quantthresh_res0_192_1024_2, + _vq_quantmap_res0_192_1024_2, + 3, + 3 +}; + +static static_codebook _vq_book_res0_192_1024_2 = { + 4, 81, + _vq_lengthlist_res0_192_1024_2, + 1, -535822336, 1611661312, 2, 0, + _vq_quantlist_res0_192_1024_2, + NULL, + &_vq_auxt_res0_192_1024_2, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_192_1024_3.vqh b/lib/books/res0_192_1024_3.vqh new file mode 100644 index 00000000..eecb71a4 --- /dev/null +++ b/lib/books/res0_192_1024_3.vqh @@ -0,0 +1,99 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_192_1024_3_VQH_ +#define _V_res0_192_1024_3_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_192_1024_3[] = { + 2, + 1, + 3, + 0, + 4, +}; + +static long _vq_lengthlist_res0_192_1024_3[] = { + 3, 5, 5, 7, 7, 5, 6, 6, 9, 9, 5, 6, 6, 9, 9, 7, + 9, 9,12,12, 7, 9, 9,12,12, 5, 7, 6, 9, 9, 7, 8, + 8,11,11, 7, 8, 8,11,10, 9,11,11,14,14, 9,11,11, + 13,14, 5, 6, 6, 9, 9, 7, 8, 8,11,10, 7, 8, 8,10, + 10, 9,11,11,14,14, 9,11,11,14,14, 7, 9, 9,12,12, + 9,11,11,14,14, 9,11,11,14,14,12,14,14,17,17,12, + 14,14,17,17, 7, 9, 9,12,12, 9,11,11,14,14, 9,11, + 11,14,14,12,14,14,17,17,12,14,14,17,18, 5, 7, 7, + 9, 9, 7, 8, 8,11,11, 7, 8, 8,11,11, 9,11,11,14, + 14, 9,11,11,14,14, 7, 8, 8,11,11, 8,10,10,12,12, + 8,10,10,12,12,11,12,13,15,16,11,13,12,16,16, 7, + 8, 8,11,11, 8,10,10,12,12, 8,10,10,12,12,11,13, + 12,16,16,11,12,12,15,16, 9,11,11,14,14,11,12,12, + 16,16,11,13,12,16,16,14,16,16,19,19,14,16,16,19, + 18, 9,11,11,14,14,11,12,12,15,15,11,12,12,15,16, + 14,16,16,19,18,14,16,16,19,19, 5, 7, 6, 9, 9, 7, + 8, 8,11,11, 7, 8, 8,11,11, 9,11,11,14,14, 9,11, + 11,14,14, 7, 8, 8,11,11, 8,10,10,12,12, 8,10,10, + 12,12,11,13,13,16,16,11,12,12,16,16, 7, 8, 8,11, + 11, 8,10,10,12,12, 8,10, 9,12,12,11,12,12,15,16, + 11,12,12,15,15, 9,11,11,14,14,11,12,12,16,16,11, + 12,12,16,16,14,16,16,18,19,14,16,15,18,20, 9,11, + 11,14,14,11,12,12,15,16,11,12,12,16,15,14,16,16, + 18,18,14,16,16,19,19, 7, 9, 9,12,12, 9,11,11,14, + 14, 9,11,11,14,14,12,14,14,17,17,12,14,14,18,17, + 9,11,11,14,14,11,12,12,16,15,11,13,12,16,16,14, + 16,16,18,19,14,16,16,18,18, 9,11,11,14,14,11,13, + 12,16,15,11,13,12,16,16,14,16,16,20,18,14,16,16, + 19,18,12,14,14,17,17,14,15,16,18,19,14,16,16,19, + 18,17,19,18,20,21,18,20,18,21,20,12,14,14,17,17, + 14,16,16,19,18,14,16,17,18,18,17,19,17,21,20,17, + 19,19,20,20, 7, 9, 9,12,12, 9,11,11,14,14, 9,11, + 11,14,14,12,14,14,17,17,12,14,14,17,17, 9,11,11, + 14,14,11,12,12,16,16,11,12,12,16,16,14,16,16,19, + 19,14,16,16,19,18, 9,11,11,14,14,11,12,13,15,16, + 11,12,12,16,16,14,16,16,18,19,14,16,16,18,18,12, + 14,14,17,17,14,15,16,19,19,14,15,16,18,20,18,18, + 19,20,21,17,19,18,20,21,12,14,14,17,17,14,16,16, + 19,18,14,16,16,20,18,17,20,19,21,20,17,18,18,20, + 19, +}; + +static float _vq_quantthresh_res0_192_1024_3[] = { + -1.5, -0.5, 0.5, 1.5, +}; + +static long _vq_quantmap_res0_192_1024_3[] = { + 3, 1, 0, 2, 4, +}; + +static encode_aux_threshmatch _vq_auxt_res0_192_1024_3 = { + _vq_quantthresh_res0_192_1024_3, + _vq_quantmap_res0_192_1024_3, + 5, + 5 +}; + +static static_codebook _vq_book_res0_192_1024_3 = { + 4, 625, + _vq_lengthlist_res0_192_1024_3, + 1, -533725184, 1611661312, 3, 0, + _vq_quantlist_res0_192_1024_3, + NULL, + &_vq_auxt_res0_192_1024_3, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_192_1024_4.vqh b/lib/books/res0_192_1024_4.vqh new file mode 100644 index 00000000..53a1ca94 --- /dev/null +++ b/lib/books/res0_192_1024_4.vqh @@ -0,0 +1,99 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_192_1024_4_VQH_ +#define _V_res0_192_1024_4_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_192_1024_4[] = { + 2, + 1, + 3, + 0, + 4, +}; + +static long _vq_lengthlist_res0_192_1024_4[] = { + 6, 7, 7, 8, 8, 7, 7, 7, 9, 9, 7, 7, 7, 9, 9, 8, + 9, 9,11,11, 8, 9, 9,11,11, 7, 7, 7, 9, 9, 7, 7, + 7, 9, 9, 7, 7, 7, 9, 9, 9, 9, 9,11,11, 9, 9, 9, + 11,11, 7, 7, 7, 9, 9, 7, 7, 7, 9, 9, 7, 7, 7, 9, + 9, 9, 9, 9,11,11, 9, 9, 9,11,11, 8, 9, 9,11,11, + 9, 9, 9,11,11, 9, 9, 9,11,11,11,11,11,13,14,11, + 11,11,13,13, 8, 9, 9,11,11, 9, 9, 9,11,11, 9, 9, + 9,11,11,11,11,11,13,13,11,11,11,13,13, 7, 7, 7, + 9, 9, 7, 8, 8, 9, 9, 7, 7, 7, 9, 9, 9, 9, 9,11, + 11, 9, 9, 9,11,11, 7, 8, 7, 9, 9, 7, 8, 8,10,10, + 7, 8, 8,10,10, 9,10,10,12,12, 9,10,10,12,12, 7, + 8, 8, 9, 9, 8, 8, 8,10,10, 8, 8, 8,10,10, 9,10, + 10,12,12, 9,10,10,12,12, 9,10, 9,12,11, 9,10,10, + 12,12, 9,10,10,12,12,11,12,12,14,14,11,12,12,14, + 14, 9, 9, 9,11,11, 9,10,10,12,12, 9,10,10,12,12, + 11,12,12,14,13,11,12,12,14,14, 7, 7, 7, 9, 9, 7, + 8, 7, 9, 9, 7, 8, 7, 9, 9, 9, 9, 9,11,11, 9, 9, + 9,11,11, 7, 8, 7, 9, 9, 7, 8, 8,10,10, 7, 8, 8, + 10,10, 9,10,10,12,12, 9,10,10,12,12, 7, 7, 7, 9, + 9, 7, 8, 8,10,10, 7, 8, 8,10,10, 9,10,10,12,12, + 9,10,10,12,12, 9, 9, 9,11,11, 9,10,10,12,12, 9, + 10,10,12,12,11,12,12,14,14,11,12,12,14,14, 9, 9, + 9,11,11, 9,10,10,12,12, 9,10,10,12,12,11,12,12, + 14,14,11,12,12,14,13, 8, 9, 9,11,11, 9,10,10,12, + 11, 9, 9, 9,11,11,11,11,12,13,13,11,11,11,13,13, + 9, 9, 9,12,11, 9,10,10,12,12, 9,10,10,12,12,11, + 12,12,14,14,11,12,12,14,14, 9, 9, 9,11,11, 9,10, + 10,12,12, 9,10,10,12,12,11,12,12,14,14,11,12,12, + 14,14,11,12,11,13,13,11,12,12,14,14,11,12,12,14, + 14,13,14,14,15,16,14,14,14,16,16,11,11,11,13,13, + 11,12,12,14,14,11,12,12,14,14,13,14,14,17,15,13, + 14,14,16,16, 8, 9, 9,11,11, 9, 9, 9,11,11, 9, 9, + 9,11,11,11,11,11,13,13,11,11,11,14,13, 9, 9, 9, + 11,11, 9,10,10,12,12, 9,10,10,12,12,11,12,12,14, + 14,11,12,12,14,14, 9, 9, 9,11,11, 9,10,10,12,12, + 9,10,10,12,12,11,12,12,14,14,11,12,12,14,14,11, + 11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14, + 14,16,17,13,14,14,15,16,11,11,11,13,13,11,12,12, + 14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16, + 15, +}; + +static float _vq_quantthresh_res0_192_1024_4[] = { + -1.5, -0.5, 0.5, 1.5, +}; + +static long _vq_quantmap_res0_192_1024_4[] = { + 3, 1, 0, 2, 4, +}; + +static encode_aux_threshmatch _vq_auxt_res0_192_1024_4 = { + _vq_quantthresh_res0_192_1024_4, + _vq_quantmap_res0_192_1024_4, + 5, + 5 +}; + +static static_codebook _vq_book_res0_192_1024_4 = { + 4, 625, + _vq_lengthlist_res0_192_1024_4, + 1, -533725184, 1611661312, 3, 0, + _vq_quantlist_res0_192_1024_4, + NULL, + &_vq_auxt_res0_192_1024_4, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_192_1024_5.vqh b/lib/books/res0_192_1024_5.vqh new file mode 100644 index 00000000..2d161270 --- /dev/null +++ b/lib/books/res0_192_1024_5.vqh @@ -0,0 +1,80 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_192_1024_5_VQH_ +#define _V_res0_192_1024_5_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_192_1024_5[] = { + 6, + 5, + 7, + 4, + 8, + 3, + 9, + 2, + 10, + 1, + 11, + 0, + 12, +}; + +static long _vq_lengthlist_res0_192_1024_5[] = { + 2, 4, 3, 6, 5, 7, 7, 8, 8,10,10,11,11, 4, 5, 5, + 7, 7, 8, 8,10,10,12,12,13,13, 3, 5, 5, 7, 7, 8, + 8,10,10,12,12,13,13, 6, 7, 7, 9, 9,11,10,12,13, + 14,14,15,15, 6, 7, 7, 9, 9,10,10,13,13,14,14,15, + 15, 7, 8, 8,11,10,13,13,14,14,15,15,16,16, 7, 8, + 8,11,11,13,13,14,14,15,15,17,16, 8,10,10,13,13, + 14,14,16,16,16,16,18,17, 9,11,10,13,13,14,14,16, + 16,16,17,17,17,10,12,12,14,14,15,15,17,16,17,18, + 19,18,10,12,12,14,14,16,15,16,16,18,17,18,20,11, + 13,13,15,15,16,17,18,17,18,19,19,19,11,13,13,15, + 15,16,16,17,17,18,18,19,20, +}; + +static float _vq_quantthresh_res0_192_1024_5[] = { + -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, + 2.5, 3.5, 4.5, 5.5, +}; + +static long _vq_quantmap_res0_192_1024_5[] = { + 11, 9, 7, 5, 3, 1, 0, 2, + 4, 6, 8, 10, 12, +}; + +static encode_aux_threshmatch _vq_auxt_res0_192_1024_5 = { + _vq_quantthresh_res0_192_1024_5, + _vq_quantmap_res0_192_1024_5, + 13, + 13 +}; + +static static_codebook _vq_book_res0_192_1024_5 = { + 2, 169, + _vq_lengthlist_res0_192_1024_5, + 1, -531103744, 1611661312, 4, 0, + _vq_quantlist_res0_192_1024_5, + NULL, + &_vq_auxt_res0_192_1024_5, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_192_1024_6.vqh b/lib/books/res0_192_1024_6.vqh new file mode 100644 index 00000000..5f14fb36 --- /dev/null +++ b/lib/books/res0_192_1024_6.vqh @@ -0,0 +1,80 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_192_1024_6_VQH_ +#define _V_res0_192_1024_6_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_192_1024_6[] = { + 6, + 5, + 7, + 4, + 8, + 3, + 9, + 2, + 10, + 1, + 11, + 0, + 12, +}; + +static long _vq_lengthlist_res0_192_1024_6[] = { + 4, 4, 4, 5, 5, 7, 7, 8, 8, 9, 9,10,10, 4, 5, 4, + 6, 6, 7, 7, 9, 9,10,10,11,11, 4, 4, 4, 6, 6, 7, + 7, 9, 9,10,10,11,11, 5, 6, 6, 7, 7, 9, 9,10,10, + 11,11,12,12, 5, 6, 6, 7, 7, 9, 9,10,10,11,11,12, + 12, 7, 7, 7, 9, 9,10,10,11,11,13,12,13,13, 7, 7, + 7, 9, 9,10,10,11,11,12,12,13,13, 8, 9, 9,10,10, + 12,12,13,12,13,14,14,14, 8, 9, 9,10,10,12,12,13, + 13,13,13,14,14, 9,10,10,11,12,13,13,14,14,15,15, + 15,15, 9,10,10,12,12,13,13,14,14,15,14,15,15,10, + 11,11,13,13,14,14,15,15,16,15,16,16,10,11,11,13, + 13,14,14,15,15,16,15,16,16, +}; + +static float _vq_quantthresh_res0_192_1024_6[] = { + -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, + 2.5, 3.5, 4.5, 5.5, +}; + +static long _vq_quantmap_res0_192_1024_6[] = { + 11, 9, 7, 5, 3, 1, 0, 2, + 4, 6, 8, 10, 12, +}; + +static encode_aux_threshmatch _vq_auxt_res0_192_1024_6 = { + _vq_quantthresh_res0_192_1024_6, + _vq_quantmap_res0_192_1024_6, + 13, + 13 +}; + +static static_codebook _vq_book_res0_192_1024_6 = { + 2, 169, + _vq_lengthlist_res0_192_1024_6, + 1, -531103744, 1611661312, 4, 0, + _vq_quantlist_res0_192_1024_6, + NULL, + &_vq_auxt_res0_192_1024_6, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_192_1024_7.vqh b/lib/books/res0_192_1024_7.vqh new file mode 100644 index 00000000..1e191f26 --- /dev/null +++ b/lib/books/res0_192_1024_7.vqh @@ -0,0 +1,236 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_192_1024_7_VQH_ +#define _V_res0_192_1024_7_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_192_1024_7[] = { + 22, + 21, + 23, + 20, + 24, + 19, + 25, + 18, + 26, + 17, + 27, + 16, + 28, + 15, + 29, + 14, + 30, + 13, + 31, + 12, + 32, + 11, + 33, + 10, + 34, + 9, + 35, + 8, + 36, + 7, + 37, + 6, + 38, + 5, + 39, + 4, + 40, + 3, + 41, + 2, + 42, + 1, + 43, + 0, + 44, +}; + +static long _vq_lengthlist_res0_192_1024_7[] = { + 2, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, + 9, 9, 9, 9, 9,10,10,10,10,10,10,10,11,11,11,11, + 11,11,11,11,11,12,12,12,12,12,12,12,12, 5, 6, 6, + 7, 7, 8, 8, 9, 9, 9, 9,10,10,10, 9,10,10,10,10, + 11,11,11,11,11,12,12,12,12,12,12,12,12,13,13,13, + 13,13,13,13,13,13,14,13,14,14, 5, 6, 6, 7, 7, 8, + 8, 8, 9, 9, 9,10,10,10, 9,10,10,10,10,11,11,11, + 11,12,11,12,12,12,12,12,12,12,12,13,13,13,13,13, + 13,13,13,13,13,14,14, 6, 7, 7, 8, 8, 9, 9, 9, 9, + 10,10,10,10,11,11,11,11,12,12,12,12,12,12,12,13, + 13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14, + 15,14,15,15, 6, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10, + 10,11,11,11,11,12,11,12,12,12,12,13,13,13,13,13, + 13,13,13,14,14,14,14,14,14,14,14,14,14,15,14,15, + 15, 7, 8, 8, 9, 9,10,10,10,10,11,11,11,11,12,11, + 12,12,12,12,13,13,13,13,13,13,14,14,14,14,14,14, + 14,14,15,15,15,15,15,15,15,15,16,15,15,16, 7, 8, + 8, 9, 9,10,10,10,10,11,11,11,11,12,11,12,12,12, + 12,13,13,13,13,13,13,13,14,14,14,14,14,14,14,15, + 15,15,15,15,15,15,15,16,15,16,16, 8, 9, 9,10,10, + 10,10,11,11,12,12,12,12,12,12,13,13,13,13,13,14, + 14,14,14,14,14,14,15,15,15,15,15,15,15,15,16,15, + 16,16,16,16,16,16,16,16, 8, 9, 9,10,10,10,10,11, + 11,12,12,12,12,12,12,13,13,13,13,14,13,14,14,14, + 14,14,14,15,15,15,15,15,15,15,15,16,15,16,15,16, + 16,16,16,16,16, 8,10,10,10,10,11,11,12,12,12,12, + 13,13,13,13,13,13,14,14,14,14,14,14,15,15,15,15, + 15,15,15,15,16,16,16,16,16,16,16,17,16,17,17,17, + 17,17, 8,10,10,10,10,11,11,12,12,12,12,13,13,13, + 13,13,13,14,14,14,14,14,14,15,15,14,15,15,15,15, + 15,16,15,16,16,16,16,16,16,17,16,17,17,17,16, 9, + 10,10,11,11,12,12,12,12,13,13,13,13,13,13,14,14, + 14,14,15,14,15,15,15,15,16,15,15,15,16,16,16,16, + 16,16,16,17,17,16,17,17,17,17,17,17, 9,10,10,11, + 11,12,12,12,12,13,13,13,13,14,14,14,14,15,14,15, + 15,15,15,15,15,16,15,16,16,16,16,16,16,16,16,17, + 16,17,16,16,17,17,17,17,17, 9,10,10,11,11,12,12, + 13,12,13,13,14,13,14,14,14,14,15,15,15,15,15,15, + 15,16,16,16,16,16,17,16,16,17,17,17,17,17,17,17, + 17,18,17,17,17,17, 9,10,10,11,11,12,12,12,13,13, + 13,14,13,14,14,14,14,15,15,15,15,15,15,15,15,16, + 16,16,16,16,16,16,16,17,17,16,17,17,17,17,17,17, + 17,18,17, 9,11,11,12,12,12,12,13,13,14,14,14,14, + 14,14,15,15,15,15,16,16,16,16,16,16,16,16,16,16, + 16,16,17,17,17,17,18,17,17,17,18,17,18,18,18,18, + 9,11,11,12,12,12,12,13,13,14,14,14,14,15,15,15, + 15,15,15,16,15,15,15,16,16,16,16,16,16,17,17,17, + 16,17,16,17,17,17,17,17,17,18,17,18,18,10,11,11, + 12,12,13,13,13,14,14,14,15,15,15,15,15,15,15,15, + 16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17, + 18,17,18,17,18,18,19,18,18,18,10,11,11,12,12,13, + 13,14,14,14,14,14,14,15,15,15,15,15,16,16,16,16, + 16,16,16,17,16,17,17,17,17,17,17,18,17,17,17,18, + 17,18,17,18,18,18,18,10,12,12,12,12,13,13,14,14, + 14,15,15,15,15,15,16,16,16,16,16,16,16,17,16,17, + 17,17,17,17,17,17,17,17,17,17,18,18,18,18,18,19, + 18,18,19,18,10,11,11,13,13,13,13,14,14,15,14,15, + 15,15,15,16,16,16,16,16,16,16,17,17,16,17,17,17, + 17,17,17,17,18,17,18,18,18,17,18,18,18,18,18,18, + 19,10,12,12,13,13,14,14,14,14,15,15,15,15,16,16, + 16,16,16,16,16,17,16,16,17,17,17,17,17,18,17,18, + 18,17,18,18,19,17,19,18,18,18,19,19,19,20,10,12, + 12,13,13,14,14,14,14,15,15,15,15,16,15,16,16,17, + 16,17,17,17,17,17,17,17,17,17,17,18,18,18,18,18, + 18,17,18,19,18,18,18,20,18,19,19,11,12,12,13,13, + 14,14,15,15,15,15,16,16,16,16,17,16,16,16,17,17, + 17,17,17,17,18,17,18,18,18,18,19,18,18,18,19,19, + 18,18,19,18,18,19,19,19,11,12,12,13,13,14,14,15, + 15,15,15,16,16,16,16,16,17,16,17,17,17,17,17,17, + 17,17,17,17,18,18,18,18,18,18,19,18,19,19,18,19, + 18,19,19,19,19,11,13,13,14,14,14,14,15,15,15,15, + 16,16,17,16,17,17,17,17,17,17,17,17,17,18,18,17, + 18,18,18,18,18,18,18,18,19,19,19,18,18,19,19,19, + 19,19,11,13,13,14,13,14,14,15,15,16,15,16,16,16, + 16,17,16,17,17,17,17,18,17,18,17,18,17,18,18,18, + 18,18,18,18,19,19,18,20,19,19,18,19,18,18,20,11, + 13,13,14,14,15,15,16,15,16,16,16,16,16,17,17,17, + 17,17,17,17,18,18,18,18,18,18,17,18,18,18,19,19, + 19,18,19,19,19,19,19,19,20,19,19,19,11,13,13,14, + 14,15,15,15,15,16,16,17,16,17,17,17,17,17,17,18, + 17,18,17,18,18,18,18,18,18,19,19,19,18,18,18,19, + 18,19,19,21,18,19,20,19,19,12,13,13,14,14,15,15, + 16,16,16,16,17,17,17,17,17,17,17,18,17,18,17,17, + 19,18,18,18,18,19,19,18,19,19,19,19,18,19,19,19, + 19,20,20,19,19,19,12,13,13,14,14,15,15,16,16,16, + 16,17,17,17,17,17,17,17,18,18,18,18,18,19,18,18, + 18,18,18,18,18,18,20,19,19,19,19,19,19,20,19,18, + 20,20,19,12,14,14,15,14,15,15,16,16,16,17,17,17, + 17,17,17,18,17,18,18,18,18,18,19,18,19,18,19,19, + 18,19,19,20,18,20,19,19,20,18,20,19,19,19,20,19, + 12,14,13,15,14,15,15,16,16,16,17,17,17,17,17,18, + 17,18,18,18,18,18,18,18,18,18,18,19,18,19,19,18, + 19,19,19,20,21,19,19,20,19,19,19,20,19,12,14,14, + 15,15,16,16,16,16,17,17,17,17,17,18,18,18,18,18, + 20,19,18,18,18,18,19,19,19,18,19,19,19,18,22,19, + 19,19,19,18,20,19,22,20,20,19,12,14,14,15,15,16, + 16,16,17,17,17,17,17,18,17,17,17,18,18,18,18,19, + 19,18,19,18,20,19,18,19,19,19,19,18,19,19,20,19, + 19,19,19,20,19,20,19,12,14,14,15,15,16,16,17,16, + 17,17,18,18,18,17,18,17,18,18,18,19,19,18,18,18, + 18,19,18,18,19,19,20,19,21,19,20,19,19,19,19,20, + 20,20,20,20,13,14,14,15,15,16,16,16,17,17,17,17, + 18,17,17,18,18,18,18,18,18,19,19,19,19,20,18,18, + 19,19,19,20,19,19,19,19,20,20,18,20,20,19,20,20, + 20,13,14,14,15,15,16,16,17,17,17,17,17,17,18,19, + 18,18,19,18,18,18,18,19,19,19,19,19,19,19,19,19, + 20,20,19,20,19,20,19,20,19,20,19,20,21,20,13,15, + 14,15,15,17,16,17,17,17,18,18,18,18,18,19,18,19, + 18,19,19,18,19,19,18,20,18,20,19,19,19,19,19,19, + 20,19,19,19,19,20,20,19,21,22,19,13,14,14,15,16, + 16,16,17,17,18,17,18,18,18,18,18,18,19,19,19,18, + 19,18,19,19,19,19,19,20,19,19,20,20,20,20,19,20, + 21,20,20,21,21,20,20,22,13,14,14,15,16,16,17,17, + 17,18,17,18,18,18,19,19,18,18,19,19,19,18,19,18, + 20,19,19,20,19,19,19,20,20,20,19,20,20,21,20,19, + 20,21,19,20,20,13,15,15,16,16,17,17,17,17,17,18, + 18,18,19,19,20,19,19,20,19,19,19,19,19,19,20,19, + 20,20,20,20,19,19,20,20,20,20,21,20,20,21,20,21, + 20,22,13,15,15,16,16,17,17,17,17,18,18,18,18,18, + 18,19,18,18,20,19,19,19,19,22,19,19,20,20,20,19, + 20,19,19,19,20,21,19,20,20,20,20,20,22,21,20,13, + 15,15,16,16,16,17,17,17,18,18,18,18,18,18,19,19, + 18,20,19,20,20,20,20,19,19,20,20,20,20,20,21,20, + 21,20,20,21,19,20,20,20,20,20,21,22,14,15,15,16, + 16,17,17,17,18,17,18,19,19,18,19,19,19,20,19,20, + 19,20,20,20,20,20,19,19,20,20,21,19,21,21,21,21, + 20,20,19,20,20,21,21,21,21, +}; + +static float _vq_quantthresh_res0_192_1024_7[] = { + -21.5, -20.5, -19.5, -18.5, -17.5, -16.5, -15.5, -14.5, + -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, -7.5, -6.5, + -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, + 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, + 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, + 18.5, 19.5, 20.5, 21.5, +}; + +static long _vq_quantmap_res0_192_1024_7[] = { + 43, 41, 39, 37, 35, 33, 31, 29, + 27, 25, 23, 21, 19, 17, 15, 13, + 11, 9, 7, 5, 3, 1, 0, 2, + 4, 6, 8, 10, 12, 14, 16, 18, + 20, 22, 24, 26, 28, 30, 32, 34, + 36, 38, 40, 42, 44, +}; + +static encode_aux_threshmatch _vq_auxt_res0_192_1024_7 = { + _vq_quantthresh_res0_192_1024_7, + _vq_quantmap_res0_192_1024_7, + 45, + 45 +}; + +static static_codebook _vq_book_res0_192_1024_7 = { + 2, 2025, + _vq_lengthlist_res0_192_1024_7, + 1, -527040512, 1611661312, 6, 0, + _vq_quantlist_res0_192_1024_7, + NULL, + &_vq_auxt_res0_192_1024_7, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_192_1024_8.vqh b/lib/books/res0_192_1024_8.vqh new file mode 100644 index 00000000..b57a3d41 --- /dev/null +++ b/lib/books/res0_192_1024_8.vqh @@ -0,0 +1,565 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_192_1024_8_VQH_ +#define _V_res0_192_1024_8_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_192_1024_8[] = { + 40, + 39, + 41, + 38, + 42, + 37, + 43, + 36, + 44, + 35, + 45, + 34, + 46, + 33, + 47, + 32, + 48, + 31, + 49, + 30, + 50, + 29, + 51, + 28, + 52, + 27, + 53, + 26, + 54, + 25, + 55, + 24, + 56, + 23, + 57, + 22, + 58, + 21, + 59, + 20, + 60, + 19, + 61, + 18, + 62, + 17, + 63, + 16, + 64, + 15, + 65, + 14, + 66, + 13, + 67, + 12, + 68, + 11, + 69, + 10, + 70, + 9, + 71, + 8, + 72, + 7, + 73, + 6, + 74, + 5, + 75, + 4, + 76, + 3, + 77, + 2, + 78, + 1, + 79, + 0, + 80, +}; + +static long _vq_lengthlist_res0_192_1024_8[] = { + 3, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, + 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, + 10,10,10,10,10,10,10,10,10,10,10,11,11, 9, 9,10, + 10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11, + 11,11,11,11,11,12,11,12,12,12,12,12,12,12,12,13, + 12, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, + 10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11, + 11,11,11,11,11,11,11,11,11,11,12,11,12,12,11,11, + 11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12, + 12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13, + 14,13, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, + 9,10, 9,10,10,10,10,10,10,10,10,10,10,11,10,11, + 11,11,11,11,11,11,11,11,11,12,11,12,12,12,11,11, + 11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12, + 12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,14, + 14,14,13, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9,10,10,10, + 10,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11, + 11,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12, + 12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13, + 13,13,13,13,13,13,13,13,13,13,14,13,14,14,14,14, + 14,14,14,14, 7, 8, 8, 8, 8, 9, 9, 9, 9,10,10,10, + 10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11, + 11,11,11,11,11,12,11,12,12,12,12,12,12,12,12,12, + 12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13, + 13,13,13,13,13,13,13,14,13,13,14,14,14,14,14,14, + 14,14,14,14,14, 8, 9, 9, 9, 9,10,10,10,10,10,10, + 10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12, + 12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13, + 13,13,12,12,12,12,13,13,13,13,13,13,13,13,13,13, + 13,13,14,13,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,15, 8, 9, 8, 9, 9,10,10,10,10,10, + 10,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12, + 12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13, + 12,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13, + 13,13,13,14,13,14,13,14,13,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14, 8, 9, 9,10,10,10,10,10,11, + 11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12, + 12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,13, + 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, + 14,14,14,14,14,14,14,14,15,14,14,14,14,14,15,14, + 14,14,15,14,15,15,15,15, 8, 9, 9,10,10,10,10,10, + 11,11,11,11,11,11,11,11,11,12,11,12,12,12,12,12, + 12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13, + 13,13,13,14,13,13,13,13,13,13,13,13,13,13,13,14, + 14,14,14,14,14,14,14,14,14,14,14,15,15,14,14,14, + 15,15,15,15,15,15,15,15,15, 9,10,10,10,10,11,11, + 11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12, + 12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13, + 13,14,13,14,14,14,13,13,13,13,14,14,14,14,14,14, + 14,14,14,14,14,14,15,14,15,14,15,14,14,14,15,15, + 15,15,15,15,15,15,15,16,15,15, 9,10,10,10,10,11, + 11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12, + 12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13, + 13,13,13,14,13,13,14,13,13,13,13,14,13,14,13,14, + 14,14,14,14,14,14,14,14,14,15,14,14,14,14,15,15, + 15,15,15,15,15,15,15,15,15,15,16, 9,10,10,11,11, + 11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12, + 12,12,13,13,13,13,13,13,13,13,13,13,13,13,14,13, + 14,13,14,14,14,13,14,14,13,13,14,14,14,14,14,14, + 14,14,14,14,15,14,15,14,15,15,15,15,15,15,15,15, + 15,15,15,15,14,15,15,16,15,16,15,15, 9,10,10,11, + 11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12, + 13,13,13,13,13,13,13,13,13,13,13,13,13,14,13,14, + 13,13,13,14,14,14,14,14,14,13,14,14,14,14,14,14, + 14,14,14,14,15,15,14,14,15,15,15,15,14,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,16,16,10,10,11, + 11,11,12,12,12,12,12,12,12,12,12,12,13,13,13,13, + 13,13,13,13,13,13,13,13,13,13,14,13,13,13,13,13, + 13,14,14,13,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,16,16,16,15,16,15,16,16,16,15,16,10,11, + 10,11,11,11,11,12,12,12,12,12,12,12,12,12,13,13, + 12,13,13,13,13,13,13,13,13,13,13,14,13,14,14,14, + 14,14,14,14,14,14,14,14,15,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,15,15,15,15,14,15,15,15, + 15,15,15,15,15,15,16,15,16,16,16,15,16,16,16,10, + 11,11,11,11,12,12,12,12,12,12,12,13,13,13,13,13, + 13,13,13,13,13,13,14,13,13,14,14,13,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,15,15,14,14,14,14, + 14,14,15,14,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,16,16,16,16,16,15,16,16,15,16,15,17,16,16, + 10,11,11,11,11,12,12,12,12,12,13,13,13,13,13,13, + 13,13,13,13,13,13,13,13,13,13,13,14,13,14,13,14, + 14,14,14,14,14,14,14,14,14,15,14,15,15,14,14,14, + 14,14,14,15,14,15,15,15,15,15,15,15,15,15,16,15, + 15,15,15,16,15,15,15,16,16,15,16,16,16,18,16,16, + 16,10,11,11,12,12,12,12,12,13,13,13,13,13,13,13, + 13,13,13,13,13,13,14,14,14,13,14,14,14,14,14,14, + 14,14,14,14,15,14,14,14,15,14,14,14,15,15,14,15, + 15,14,15,15,15,15,15,15,15,14,15,15,16,16,16,15, + 16,16,16,15,16,16,16,16,16,16,16,17,17,17,16,16, + 16,16,10,11,11,12,12,12,12,12,13,13,13,13,13,13, + 13,13,13,13,13,13,14,14,14,14,13,14,14,14,14,14, + 14,14,14,14,14,14,14,15,14,15,15,15,15,15,15,14, + 14,15,15,14,15,14,15,15,15,15,15,15,15,15,16,15, + 16,15,16,16,16,16,16,16,16,17,16,16,16,17,16,16, + 17,17,16,11,11,11,12,12,12,12,13,13,13,13,13,13, + 13,13,13,14,14,14,13,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,15,15,15,15,15,15,15,16,15, + 15,14,15,14,15,15,15,15,15,15,15,15,16,15,16,16, + 15,15,16,16,15,17,16,15,17,16,17,16,17,16,16,16, + 17,16,16,16,11,12,12,12,12,12,12,13,13,13,13,13, + 13,13,13,14,14,14,13,14,14,14,14,14,14,14,14,14, + 14,14,14,15,14,15,14,14,14,15,15,15,15,15,14,15, + 15,15,15,15,15,15,15,15,15,16,15,15,15,16,15,16, + 16,17,15,16,16,16,16,16,16,16,16,16,17,17,16,16, + 17,17,18,17,17,11,12,12,12,12,13,13,13,13,13,13, + 14,14,14,13,14,13,14,14,14,14,14,14,15,14,15,14, + 14,14,15,15,15,14,15,14,15,15,15,14,15,15,15,15, + 15,16,15,15,16,15,15,15,15,15,15,15,16,16,16,16, + 16,16,16,15,16,16,16,16,16,16,17,16,17,16,18,16, + 17,18,16,17,16,17,11,12,12,12,12,13,13,13,13,13, + 13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,15,15,15,14,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,16,16,16,16,15, + 15,16,16,16,16,16,16,17,16,16,16,16,17,17,16,16, + 17,17,18,17,17,17,18,11,12,12,13,12,13,13,13,13, + 14,13,14,14,14,14,14,14,15,14,14,14,14,14,14,14, + 14,15,15,15,15,15,15,15,15,15,15,15,15,15,16,15, + 15,15,16,15,15,15,15,15,15,16,15,16,16,16,16,16, + 16,16,16,16,17,16,17,16,17,16,17,16,17,17,17,16, + 17,17,17,17,17,17,16,17,11,12,12,13,13,13,13,13, + 13,13,13,14,14,14,14,14,14,15,14,15,14,14,14,15, + 14,15,14,15,14,15,14,15,14,16,15,15,15,16,15,15, + 15,16,16,15,16,15,15,15,15,15,15,15,15,17,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17, + 16,17,16,16,17,17,17,16,18,11,12,12,13,13,13,13, + 14,14,13,14,14,14,14,14,14,14,14,14,14,14,15,14, + 15,15,15,14,15,15,15,16,15,15,15,15,16,15,16,15, + 15,16,16,16,16,16,15,16,16,15,16,16,16,16,16,16, + 17,16,16,16,16,16,16,17,16,16,16,17,17,16,17,17, + 16,17,17,17,17,17,20,17,17,17,11,12,12,13,13,13, + 13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,15,15,15,14,15,15,15,15,16,15,15,15,16,16,16, + 16,16,16,16,16,16,16,15,15,15,16,15,16,16,16,16, + 15,17,16,16,16,16,16,17,16,17,17,16,17,16,16,17, + 17,17,17,17,17,17,18,17,17,17,19,12,13,12,13,13, + 13,13,14,14,14,14,14,14,14,14,14,15,14,15,15,15, + 15,15,15,15,15,15,16,15,15,15,15,15,15,15,16,16, + 16,15,16,16,16,16,16,16,16,15,16,15,16,16,16,16, + 17,16,16,16,16,16,17,16,16,17,16,16,17,17,18,16, + 17,17,17,16,17,18,17,16,18,18,18,17,12,13,12,13, + 13,13,13,14,14,14,14,14,14,14,14,15,14,15,15,15, + 15,15,15,15,15,16,15,15,15,16,15,15,15,16,15,16, + 15,16,16,17,15,16,17,16,16,16,15,16,16,17,16,16, + 16,16,16,17,16,16,17,16,16,17,17,16,16,17,17,17, + 16,17,16,18,17,17,17,18,17,17,18,17,17,12,13,13, + 13,13,14,14,14,14,14,14,14,14,15,14,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,16,16,15,15,15, + 16,16,16,15,15,16,16,16,17,17,17,16,16,16,15,17, + 16,16,16,16,16,17,16,16,18,17,17,17,17,17,17,17, + 18,17,17,17,18,19,18,17,18,17,17,18,18,17,12,13, + 13,13,13,14,14,14,14,14,14,14,14,14,15,15,15,15, + 15,15,15,15,15,16,15,15,15,16,16,15,16,16,16,15, + 15,15,15,16,16,16,16,17,16,16,16,16,16,16,15,16, + 16,17,16,16,17,18,17,16,17,16,16,16,16,16,16,16, + 17,17,17,17,17,16,18,18,18,20,17,18,18,17,18,12, + 13,13,13,14,14,14,14,14,15,14,15,15,15,15,14,15, + 15,15,15,15,15,15,15,15,16,15,15,16,16,16,16,17, + 16,16,16,16,16,16,16,16,16,17,16,16,17,16,16,16, + 16,17,18,16,16,16,16,16,18,16,17,17,18,17,18,18, + 18,17,17,17,18,17,17,17,18,18,17,17,18,17,17,18, + 12,13,13,13,13,14,14,14,14,14,14,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,16,15,16,16,15,16,17, + 16,15,16,16,16,17,15,16,16,16,16,17,16,16,16,16, + 16,16,16,16,17,16,16,17,16,17,17,16,16,18,18,17, + 17,18,18,18,17,19,18,18,17,18,18,17,18,18,18,18, + 18,12,13,13,13,14,14,14,14,14,14,14,15,15,15,16, + 15,15,15,15,16,16,15,15,16,15,17,15,16,17,16,16, + 17,16,16,17,16,16,18,17,16,16,17,16,17,16,16,16, + 17,16,17,16,16,17,17,16,18,17,17,17,18,17,17,17, + 17,16,17,17,17,18,18,17,17,17,17,20,18,17,19,18, + 18,19,12,13,13,14,14,14,14,14,14,14,15,15,15,15, + 15,16,15,15,16,15,16,15,15,15,15,16,15,16,16,16, + 16,16,16,16,16,17,15,17,16,17,17,16,16,17,17,16, + 16,17,16,16,16,16,17,16,17,16,16,16,17,16,18,17, + 17,18,17,18,17,17,17,17,17,18,17,18,18,18,18,18, + 18,18,17,12,13,13,14,14,14,14,15,14,15,15,15,15, + 15,15,15,15,15,15,16,16,16,15,16,15,16,16,16,16, + 16,17,16,16,16,16,17,16,18,15,16,17,17,16,16,16, + 16,17,17,18,17,17,16,16,17,17,17,17,17,17,18,17, + 18,18,18,17,17,18,17,18,18,18,18,18,18,18,18,20, + 18,19,18,18,12,13,13,14,14,14,14,14,15,15,15,15, + 15,15,14,15,15,15,16,16,15,16,16,16,15,15,16,16, + 16,16,16,16,16,16,16,16,17,17,16,16,17,16,17,16, + 16,17,17,16,16,17,17,17,16,17,16,16,16,17,17,17, + 17,18,18,18,17,18,17,18,18,19,17,17,17,18,18,18, + 17,18,18,18,18,13,13,14,14,14,14,14,14,15,15,15, + 16,15,15,15,15,15,15,16,16,16,16,15,16,16,16,16, + 16,16,16,17,17,16,17,16,16,16,17,16,17,17,18,16, + 16,16,17,16,17,17,16,17,17,18,16,18,17,17,17,17, + 18,19,18,18,19,18,17,18,18,18,18,17,18,17,18,17, + 20,18,18,18,18,17,13,14,13,14,13,14,14,15,15,14, + 15,15,15,15,15,15,15,15,16,17,15,15,15,16,15,16, + 16,16,16,16,15,17,17,17,16,16,16,16,16,16,17,17, + 17,17,17,16,16,17,17,16,16,17,17,17,17,17,18,17, + 17,18,18,19,17,18,17,18,19,18,18,18,18,18,18,19, + 18,17,17,17,17,18,18,13,14,14,14,14,15,15,15,15, + 15,15,15,15,16,16,16,16,15,15,16,16,17,16,16,16, + 16,16,16,16,16,16,17,16,16,16,17,16,17,17,17,16, + 17,17,17,17,17,17,17,18,17,17,17,17,17,17,17,17, + 18,17,18,18,17,18,17,17,18,18,18,17,18,17,19,17, + 19,18,18,19,19,18,20,18,13,14,14,14,14,15,15,14, + 15,15,15,16,15,16,15,15,15,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,17,16,17,16,17,17,18,17,17, + 17,17,16,17,17,17,16,17,17,16,18,18,17,18,17,17, + 17,18,17,18,17,19,19,20,17,19,18,17,18,19,18,18, + 18,18,18,18,18,20,19,18,18,13,14,14,14,15,15,15, + 15,15,15,16,16,16,15,16,16,16,16,15,16,16,16,16, + 16,16,16,16,17,16,17,16,18,17,17,17,17,17,18,17, + 18,17,17,17,17,17,17,18,17,17,17,17,18,17,17,17, + 18,17,18,17,17,18,18,18,18,18,17,18,18,17,17,20, + 18,20,18,18,18,18,20,19,19,19,13,14,14,14,14,14, + 15,15,15,15,16,16,15,16,15,16,15,16,16,16,16,16, + 16,16,17,17,16,16,16,17,16,17,17,18,17,17,17,16, + 16,17,17,17,18,17,17,18,17,17,16,18,16,17,17,18, + 17,17,18,17,17,18,17,19,18,17,18,18,17,17,17,19, + 18,18,18,18,18,18,18,20,17,18,20,13,14,14,14,14, + 15,15,15,15,15,16,16,15,16,16,16,16,16,16,16,16, + 17,16,17,16,16,16,16,18,16,17,17,17,16,18,18,16, + 18,20,17,18,17,16,17,17,16,17,17,18,18,16,17,17, + 17,17,17,17,18,17,18,18,18,18,18,18,18,18,20,18, + 18,18,18,18,17,18,18,18,20,18,18,18,13,14,14,15, + 15,15,15,15,15,16,16,15,16,16,16,16,16,17,16,18, + 16,17,16,17,16,16,16,18,16,17,17,17,17,16,16,17, + 18,17,17,17,17,20,17,18,17,17,17,17,17,17,18,18, + 18,18,17,18,18,18,17,19,18,17,18,19,18,18,17,18, + 18,18,20,17,18,18,20,18,17,19,18,18,19,11,13,13, + 14,14,15,14,15,15,15,15,16,15,16,15,15,15,16,16, + 15,15,16,16,17,17,16,16,16,17,17,17,16,17,17,16, + 16,16,17,18,16,17,17,17,17,19,17,17,18,17,18,17, + 18,17,17,17,19,18,17,19,19,17,18,17,18,17,19,19, + 20,18,19,20,18,18,18,18,18,18,18,18,18,18,11,13, + 13,14,13,14,14,14,15,15,15,15,15,15,16,15,15,16, + 16,16,15,16,16,15,17,16,17,17,16,16,16,17,16,17, + 18,17,17,17,17,18,16,17,17,17,16,17,18,17,17,18, + 17,18,18,19,18,17,18,18,18,19,20,19,19,17,18,18, + 18,19,18,20,18,18,17,18,18,20,18,18,17,18,18,12, + 13,13,14,14,14,15,14,15,15,15,15,15,15,16,16,16, + 16,16,16,16,16,17,16,16,17,17,17,17,17,16,16,17, + 17,17,17,17,18,17,17,18,17,18,18,17,18,17,17,17, + 18,18,18,18,17,20,19,19,18,18,18,18,18,18,19,19, + 18,18,18,18,19,19,19,18,19,18,19,19,20,19,18,19, + 12,13,13,14,14,15,14,15,15,15,15,15,15,15,17,15, + 16,16,16,16,16,16,16,16,16,16,17,17,17,17,16,17, + 17,17,17,17,17,16,18,18,18,17,17,17,17,17,18,18, + 17,19,17,18,17,18,18,17,18,18,18,18,19,18,18,18, + 18,18,18,19,18,18,18,19,18,18,20,19,20,19,19,19, + 18,12,13,13,14,14,15,15,15,15,15,15,16,15,16,17, + 17,16,16,16,17,16,17,16,16,16,17,16,17,17,16,17, + 16,18,17,16,18,18,17,17,17,17,19,17,18,18,18,19, + 17,17,18,18,18,18,18,18,18,18,18,18,18,18,18,17, + 20,18,19,18,18,18,18,20,19,18,20,18,19,18,19,18, + 19,20,12,13,13,14,14,14,15,15,15,15,15,16,16,16, + 16,16,16,16,16,16,16,17,16,17,16,17,17,16,17,17, + 16,17,17,17,17,17,17,17,17,17,16,17,18,17,18,18, + 17,18,17,18,17,18,18,18,18,18,18,18,17,18,17,19, + 18,18,18,18,18,20,18,18,20,18,18,18,18,18,20,20, + 20,20,20,12,13,14,14,14,14,15,15,16,15,16,16,16, + 16,16,16,16,16,17,17,16,17,16,17,17,17,17,17,17, + 18,17,17,16,17,17,18,17,18,18,17,17,17,17,18,17, + 18,17,17,18,18,18,19,18,18,18,19,18,17,19,19,18, + 18,20,18,18,19,17,20,18,18,18,20,19,18,19,19,18, + 20,19,18,20,12,13,13,14,14,15,15,15,15,16,15,15, + 16,16,16,16,16,16,17,17,17,17,17,17,17,18,16,17, + 16,18,17,17,17,18,17,17,17,17,17,19,18,17,17,17, + 17,17,18,17,18,18,17,17,18,18,19,18,18,18,20,18, + 18,18,18,20,20,18,20,20,18,18,18,18,18,19,18,18, + 19,20,18,18,20,13,14,14,14,15,15,15,15,16,15,16, + 16,16,16,16,17,16,16,17,17,17,16,16,18,16,17,17, + 17,19,18,17,17,17,18,17,17,17,17,17,18,17,19,17, + 17,18,18,18,18,18,20,18,18,18,18,18,18,18,19,19, + 18,18,20,18,20,19,20,20,20,18,18,19,18,19,18,20, + 19,19,18,19,18,18,13,14,14,15,14,15,15,15,15,16, + 16,16,16,16,16,17,16,17,17,16,17,17,17,17,16,17, + 18,18,16,18,17,17,17,17,18,18,18,17,17,18,18,18, + 17,18,17,19,18,18,18,18,18,18,18,18,18,19,18,18, + 17,18,18,17,18,20,20,18,19,17,18,20,20,19,20,18, + 20,19,20,18,19,19,20,13,14,14,15,15,15,15,16,16, + 16,16,16,17,16,17,16,16,17,16,17,16,17,17,16,18, + 17,17,17,17,17,18,18,17,17,18,17,18,18,18,18,18, + 18,17,18,18,18,18,18,17,18,18,18,18,20,18,18,18, + 19,19,19,19,18,19,20,20,18,18,20,19,19,19,18,19, + 19,20,19,20,20,19,20,18,13,14,14,14,15,15,15,15, + 16,16,16,16,16,17,16,17,17,17,17,17,16,17,18,17, + 17,17,17,17,18,18,16,18,16,17,17,18,18,18,18,20, + 18,18,17,17,18,18,18,18,18,18,19,19,20,18,20,18, + 18,20,19,19,19,19,19,20,19,18,18,18,19,20,19,20, + 19,20,18,18,19,18,20,19,20,13,14,14,15,15,16,15, + 16,16,16,16,17,16,17,17,17,17,17,17,17,18,16,17, + 17,16,18,17,18,17,17,17,18,18,19,18,18,17,17,19, + 18,18,19,17,17,18,18,19,18,19,18,18,19,19,19,19, + 17,19,20,18,18,18,19,18,19,20,20,19,19,20,20,19, + 18,19,20,19,19,20,18,20,20,20,13,14,14,15,15,16, + 16,17,17,16,16,16,16,17,17,17,18,18,18,17,16,18, + 17,17,17,18,17,18,18,17,17,17,17,19,18,18,17,18, + 18,18,18,18,18,18,18,18,18,18,20,17,18,19,18,18, + 18,18,19,19,18,19,18,18,19,18,19,19,18,19,18,20, + 18,19,19,19,20,20,20,18,19,20,18,13,15,15,15,15, + 16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,17, + 17,17,17,17,18,17,17,18,18,17,18,19,20,18,18,19, + 18,18,19,18,20,20,19,19,19,18,18,19,18,19,19,18, + 18,18,20,17,20,18,19,18,20,18,18,20,20,20,19,19, + 20,18,19,19,18,18,19,20,18,20,19,18,13,15,15,15, + 15,16,16,15,17,16,16,16,17,16,17,17,17,17,16,17, + 17,18,17,17,18,18,18,19,17,17,18,19,18,18,18,18, + 18,17,18,18,17,19,18,18,18,18,18,17,19,18,18,18, + 18,19,18,17,19,18,18,20,19,18,20,20,19,19,20,19, + 18,20,19,20,20,20,20,20,19,19,20,19,20,13,15,15, + 16,15,15,16,16,17,16,16,18,17,18,18,16,17,18,18, + 17,17,18,17,17,17,18,17,19,19,17,18,18,18,18,19, + 18,17,18,18,19,19,20,18,18,17,20,18,20,17,20,18, + 20,20,18,18,18,19,19,18,18,20,20,19,19,20,19,19, + 19,19,18,19,20,19,19,19,19,20,20,18,20,20,13,15, + 14,16,15,16,16,16,16,18,16,17,17,17,17,17,17,17, + 18,18,17,18,18,18,18,18,18,19,18,18,17,19,18,18, + 18,18,17,19,18,19,19,18,18,20,19,19,19,18,18,19, + 18,20,20,18,18,19,19,18,20,20,18,18,19,18,18,20, + 18,19,19,20,20,20,19,20,20,20,20,19,19,19,20,14, + 15,15,16,16,16,16,17,18,18,17,17,18,18,18,17,18, + 17,18,18,18,18,17,18,18,18,18,18,18,18,18,18,19, + 20,18,18,17,18,17,18,18,18,18,18,19,19,18,19,18, + 19,20,20,18,18,19,20,18,20,19,20,19,18,20,20,19, + 20,19,20,18,18,20,20,18,20,18,20,19,18,20,20,20, + 14,15,15,16,16,15,17,16,17,17,17,17,18,17,18,17, + 17,17,18,18,18,20,18,19,18,17,18,18,18,18,19,18, + 18,19,18,18,18,18,18,18,20,19,18,18,19,18,18,18, + 18,18,19,20,19,19,20,18,19,19,20,18,20,19,18,20, + 20,20,19,19,20,19,19,20,18,19,20,19,19,18,19,20, + 19,14,15,15,17,16,18,17,17,18,18,17,18,18,20,18, + 18,20,18,17,17,18,18,18,18,18,20,19,19,18,20,18, + 20,18,18,20,19,18,19,19,19,18,20,19,20,18,19,20, + 18,19,19,19,19,19,19,20,20,20,20,18,18,19,18,20, + 20,19,19,20,19,20,19,20,19,20,18,20,20,20,19,20, + 20,20,14,15,16,16,16,17,17,17,17,17,17,18,18,20, + 20,18,18,18,19,17,20,18,18,18,20,18,18,20,18,19, + 17,18,18,20,18,19,18,19,18,18,20,19,19,18,19,18, + 19,20,18,18,20,20,18,20,20,19,19,20,19,19,20,20, + 18,20,19,18,20,20,20,20,20,20,19,20,20,20,20,20, + 20,20,20,14,16,15,16,16,16,17,17,17,17,18,18,18, + 18,18,18,18,18,17,18,19,18,17,19,18,20,18,20,17, + 19,18,18,18,19,18,18,18,18,20,19,19,19,20,20,19, + 19,18,18,18,18,19,20,20,19,19,19,19,19,20,20,20, + 20,19,20,19,19,20,19,19,20,20,19,20,19,20,20,20, + 20,20,20,19,15,16,15,16,17,16,16,17,17,17,18,17, + 18,20,19,18,17,18,17,19,17,18,20,18,17,19,18,19, + 19,18,19,20,18,18,20,20,18,19,19,20,20,19,19,18, + 20,18,19,18,20,20,18,18,19,19,19,19,19,20,19,18, + 20,19,20,20,20,20,19,19,20,19,19,20,20,19,20,18, + 18,20,20,20,20,15,17,16,18,16,17,17,17,18,18,17, + 18,17,19,20,18,19,18,18,18,18,18,19,18,18,19,18, + 18,19,19,20,20,20,18,18,19,18,19,19,18,18,20,20, + 20,19,20,18,19,20,18,20,19,19,19,19,19,20,20,20, + 20,19,20,20,20,20,19,20,18,20,19,18,20,19,19,19, + 20,20,20,20,19,20,15,16,16,17,17,17,18,17,18,18, + 20,18,17,18,18,20,20,18,19,18,18,18,19,18,19,19, + 18,18,18,19,18,18,19,20,18,18,20,19,18,18,19,20, + 20,19,19,19,20,18,20,20,20,18,19,18,19,19,20,20, + 20,18,18,20,20,20,19,18,20,20,20,20,19,20,18,19, + 20,20,20,20,20,20,19,15,17,17,17,17,18,18,18,18, + 18,17,19,18,17,19,19,18,18,18,20,19,19,19,18,19, + 18,18,18,20,20,18,19,19,18,18,18,18,20,19,19,20, + 19,19,20,20,18,20,18,18,20,20,20,19,19,20,20,18, + 19,20,20,19,20,19,20,19,18,20,20,20,18,20,20,19, + 20,20,20,20,20,20,20,20,15,16,16,17,17,18,17,18, + 18,18,17,18,18,18,18,19,18,18,18,19,19,20,20,19, + 20,18,18,19,19,20,18,18,20,19,20,18,19,20,19,19, + 20,20,19,18,20,20,18,20,20,19,20,20,19,18,18,20, + 19,19,20,20,20,20,18,20,20,19,18,20,19,20,20,19, + 20,19,20,20,20,20,18,20,20,16,17,17,18,18,18,18, + 19,17,18,17,19,19,19,17,18,18,20,19,19,18,19,18, + 18,19,18,20,19,20,20,18,20,18,18,18,19,18,20,20, + 20,20,20,19,18,19,20,20,20,19,19,20,19,20,20,20, + 20,20,20,20,20,20,20,20,20,20,20,20,18,20,20,19, + 19,20,20,19,19,20,20,20,19,20,16,17,17,18,17,18, + 20,18,18,17,18,18,19,19,18,18,20,20,19,19,19,20, + 18,20,18,20,19,19,19,20,19,18,19,18,20,19,20,20, + 19,20,19,20,19,19,18,18,20,20,20,19,20,20,19,20, + 20,20,20,20,19,19,19,20,19,20,20,20,20,20,20,20, + 20,20,18,20,20,20,20,19,20,20,20,16,17,17,18,18, + 18,18,18,19,18,18,19,19,20,18,19,18,18,19,19,18, + 19,18,18,20,20,20,19,19,20,20,20,20,19,19,20,18, + 19,20,20,20,19,19,20,19,19,20,20,20,20,20,20,20, + 19,19,19,20,19,19,20,19,20,20,20,20,20,20,20,20, + 19,20,19,19,19,19,19,20,19,20,20,20,16,17,17,18, + 18,19,18,18,18,20,19,20,20,20,19,18,20,19,20,20, + 18,20,19,19,18,20,19,20,19,20,20,20,20,19,19,18, + 19,18,20,20,19,20,19,18,20,20,19,20,19,20,20,20, + 20,20,20,20,20,19,20,20,18,18,20,20,20,20,19,19, + 20,20,20,20,20,20,20,20,20,20,20,20,20,16,17,18, + 19,18,18,18,17,18,19,19,19,19,18,18,19,19,19,19, + 19,20,20,19,19,20,18,19,19,19,19,18,20,20,20,19, + 20,20,20,20,19,20,19,20,20,20,19,19,20,19,19,20, + 18,20,20,20,19,19,20,20,20,20,20,20,20,20,20,20, + 20,19,20,20,20,20,20,20,20,20,20,20,20,20,16,16, + 17,20,18,18,19,17,19,19,19,19,20,19,20,19,18,20, + 19,19,19,19,19,20,20,19,19,20,18,20,19,20,20,20, + 20,19,20,19,18,20,20,18,20,20,19,20,20,20,18,20, + 20,20,19,20,20,20,20,20,20,20,20,20,20,19,20,20, + 20,20,20,19,20,20,20,19,20,20,20,18,20,19,20,17, + 19,18,18,18,18,20,18,20,19,20,19,20,19,20,19,18, + 18,19,20,18,20,18,20,20,20,20,20,20,19,20,18,19, + 19,20,19,20,19,20,20,20,20,20,18,20,20,20,20,20, + 20,20,19,20,20,19,19,20,19,20,20,19,20,20,20,20, + 20,20,20,20,20,20,20,20,20,20,20,20,19,20,20,20, + 18,16,18,19,18,17,18,19,20,17,19,19,18,20,18,19, + 19,20,20,18,19,20,20,20,19,20,20,20,18,20,19,20, + 20,20,20,20,19,20,20,20,20,20,19,20,20,20,20,20, + 20,20,20,20,18,20,19,20,19,19,20,20,20,20,20,20, + 20,19,20,20,20,20,20,20,20,20,20,20,20,19,20,20, + 20, +}; + +static float _vq_quantthresh_res0_192_1024_8[] = { + -39.5, -38.5, -37.5, -36.5, -35.5, -34.5, -33.5, -32.5, + -31.5, -30.5, -29.5, -28.5, -27.5, -26.5, -25.5, -24.5, + -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, -17.5, -16.5, + -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, + -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, + 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, + 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, + 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5, + 24.5, 25.5, 26.5, 27.5, 28.5, 29.5, 30.5, 31.5, + 32.5, 33.5, 34.5, 35.5, 36.5, 37.5, 38.5, 39.5, +}; + +static long _vq_quantmap_res0_192_1024_8[] = { + 79, 77, 75, 73, 71, 69, 67, 65, + 63, 61, 59, 57, 55, 53, 51, 49, + 47, 45, 43, 41, 39, 37, 35, 33, + 31, 29, 27, 25, 23, 21, 19, 17, + 15, 13, 11, 9, 7, 5, 3, 1, + 0, 2, 4, 6, 8, 10, 12, 14, + 16, 18, 20, 22, 24, 26, 28, 30, + 32, 34, 36, 38, 40, 42, 44, 46, + 48, 50, 52, 54, 56, 58, 60, 62, + 64, 66, 68, 70, 72, 74, 76, 78, + 80, +}; + +static encode_aux_threshmatch _vq_auxt_res0_192_1024_8 = { + _vq_quantthresh_res0_192_1024_8, + _vq_quantmap_res0_192_1024_8, + 81, + 81 +}; + +static static_codebook _vq_book_res0_192_1024_8 = { + 2, 6561, + _vq_lengthlist_res0_192_1024_8, + 1, -525074432, 1611661312, 7, 0, + _vq_quantlist_res0_192_1024_8, + NULL, + &_vq_auxt_res0_192_1024_8, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_192_1024_9.vqh b/lib/books/res0_192_1024_9.vqh new file mode 100644 index 00000000..5c8d9738 --- /dev/null +++ b/lib/books/res0_192_1024_9.vqh @@ -0,0 +1,790 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_192_1024_9_VQH_ +#define _V_res0_192_1024_9_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_192_1024_9[] = { + 280, + 279, + 281, + 278, + 282, + 277, + 283, + 276, + 284, + 275, + 285, + 274, + 286, + 273, + 287, + 272, + 288, + 271, + 289, + 270, + 290, + 269, + 291, + 268, + 292, + 267, + 293, + 266, + 294, + 265, + 295, + 264, + 296, + 263, + 297, + 262, + 298, + 261, + 299, + 260, + 300, + 259, + 301, + 258, + 302, + 257, + 303, + 256, + 304, + 255, + 305, + 254, + 306, + 253, + 307, + 252, + 308, + 251, + 309, + 250, + 310, + 249, + 311, + 248, + 312, + 247, + 313, + 246, + 314, + 245, + 315, + 244, + 316, + 243, + 317, + 242, + 318, + 241, + 319, + 240, + 320, + 239, + 321, + 238, + 322, + 237, + 323, + 236, + 324, + 235, + 325, + 234, + 326, + 233, + 327, + 232, + 328, + 231, + 329, + 230, + 330, + 229, + 331, + 228, + 332, + 227, + 333, + 226, + 334, + 225, + 335, + 224, + 336, + 223, + 337, + 222, + 338, + 221, + 339, + 220, + 340, + 219, + 341, + 218, + 342, + 217, + 343, + 216, + 344, + 215, + 345, + 214, + 346, + 213, + 347, + 212, + 348, + 211, + 349, + 210, + 350, + 209, + 351, + 208, + 352, + 207, + 353, + 206, + 354, + 205, + 355, + 204, + 356, + 203, + 357, + 202, + 358, + 201, + 359, + 200, + 360, + 199, + 361, + 198, + 362, + 197, + 363, + 196, + 364, + 195, + 365, + 194, + 366, + 193, + 367, + 192, + 368, + 191, + 369, + 190, + 370, + 189, + 371, + 188, + 372, + 187, + 373, + 186, + 374, + 185, + 375, + 184, + 376, + 183, + 377, + 182, + 378, + 181, + 379, + 180, + 380, + 179, + 381, + 178, + 382, + 177, + 383, + 176, + 384, + 175, + 385, + 174, + 386, + 173, + 387, + 172, + 388, + 171, + 389, + 170, + 390, + 169, + 391, + 168, + 392, + 167, + 393, + 166, + 394, + 165, + 395, + 164, + 396, + 163, + 397, + 162, + 398, + 161, + 399, + 160, + 400, + 159, + 401, + 158, + 402, + 157, + 403, + 156, + 404, + 155, + 405, + 154, + 406, + 153, + 407, + 152, + 408, + 151, + 409, + 150, + 410, + 149, + 411, + 148, + 412, + 147, + 413, + 146, + 414, + 145, + 415, + 144, + 416, + 143, + 417, + 142, + 418, + 141, + 419, + 140, + 420, + 139, + 421, + 138, + 422, + 137, + 423, + 136, + 424, + 135, + 425, + 134, + 426, + 133, + 427, + 132, + 428, + 131, + 429, + 130, + 430, + 129, + 431, + 128, + 432, + 127, + 433, + 126, + 434, + 125, + 435, + 124, + 436, + 123, + 437, + 122, + 438, + 121, + 439, + 120, + 440, + 119, + 441, + 118, + 442, + 117, + 443, + 116, + 444, + 115, + 445, + 114, + 446, + 113, + 447, + 112, + 448, + 111, + 449, + 110, + 450, + 109, + 451, + 108, + 452, + 107, + 453, + 106, + 454, + 105, + 455, + 104, + 456, + 103, + 457, + 102, + 458, + 101, + 459, + 100, + 460, + 99, + 461, + 98, + 462, + 97, + 463, + 96, + 464, + 95, + 465, + 94, + 466, + 93, + 467, + 92, + 468, + 91, + 469, + 90, + 470, + 89, + 471, + 88, + 472, + 87, + 473, + 86, + 474, + 85, + 475, + 84, + 476, + 83, + 477, + 82, + 478, + 81, + 479, + 80, + 480, + 79, + 481, + 78, + 482, + 77, + 483, + 76, + 484, + 75, + 485, + 74, + 486, + 73, + 487, + 72, + 488, + 71, + 489, + 70, + 490, + 69, + 491, + 68, + 492, + 67, + 493, + 66, + 494, + 65, + 495, + 64, + 496, + 63, + 497, + 62, + 498, + 61, + 499, + 60, + 500, + 59, + 501, + 58, + 502, + 57, + 503, + 56, + 504, + 55, + 505, + 54, + 506, + 53, + 507, + 52, + 508, + 51, + 509, + 50, + 510, + 49, + 511, + 48, + 512, + 47, + 513, + 46, + 514, + 45, + 515, + 44, + 516, + 43, + 517, + 42, + 518, + 41, + 519, + 40, + 520, + 39, + 521, + 38, + 522, + 37, + 523, + 36, + 524, + 35, + 525, + 34, + 526, + 33, + 527, + 32, + 528, + 31, + 529, + 30, + 530, + 29, + 531, + 28, + 532, + 27, + 533, + 26, + 534, + 25, + 535, + 24, + 536, + 23, + 537, + 22, + 538, + 21, + 539, + 20, + 540, + 19, + 541, + 18, + 542, + 17, + 543, + 16, + 544, + 15, + 545, + 14, + 546, + 13, + 547, + 12, + 548, + 11, + 549, + 10, + 550, + 9, + 551, + 8, + 552, + 7, + 553, + 6, + 554, + 5, + 555, + 4, + 556, + 3, + 557, + 2, + 558, + 1, + 559, + 0, + 560, +}; + +static long _vq_lengthlist_res0_192_1024_9[] = { + 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9,10,10,10,10,10,10,10,10,10,10,10, + 10, 9,10,10,10,10,10,10,10,10,10,10,10,10,10,10, + 10,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11, + 11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11, + 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, + 12,12,12,12,12,12,12,12,13,12,13,13,13,13,13,13, + 13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,13, + 13,13,13,13,13,14,13,14,14,14,14,13,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,15,14,14,14,15,14,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,16, + 15,15,16,15,15,16,16,16,16,15,16,16,16,15,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,16, + 16,17,16,16,17,16,17,16,16,16,17,16,16,17,17,17, + 16,17,16,17,17,17,17,17,17,17,18,17,17,18,17,17, + 17,17,18,17,18,18,18,18,17,17,17,18,20,18,17,18, + 19,19,17,18,18,17,19,19,19,18,18,18,18,18,18,18, + 18,17,18,19,19,19,19,18,18,19,19,20,18,18,19,21, + 18,19,21,19,18,18,18,19,19,18,20,19,19,19,20,19, + 21,19,19,19,19,20,18,19,19,19,21,20,19,20,20,19, + 20,20,19,21,20,20,21,19,20,19,21,19,20,20,19,20, + 20,21,19,19,21,21,19,20,21,21,19,20,21,20,21,20, + 21,21,19,21,21,21,19,21,21,20,21,21,21,21,21,21, + 20,21,21,20,20,21,21,21,21,21,21,21,20,21,21,21, + 21,21,21,21,21,20,21,21,21,21,21,21,21,20,20,21, + 21,21,21,21,21,21,21,21,21,21,21,21,20,20,20,20, + 20,20,20,20,19,20,20,20,20,20,20,20,20,20,20,20, + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20, + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20, + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20, + 20,20,20,20,20,19,20,20,20,20,20,20,20,20,20,20, + 20, +}; + +static float _vq_quantthresh_res0_192_1024_9[] = { + -279.5, -278.5, -277.5, -276.5, -275.5, -274.5, -273.5, -272.5, + -271.5, -270.5, -269.5, -268.5, -267.5, -266.5, -265.5, -264.5, + -263.5, -262.5, -261.5, -260.5, -259.5, -258.5, -257.5, -256.5, + -255.5, -254.5, -253.5, -252.5, -251.5, -250.5, -249.5, -248.5, + -247.5, -246.5, -245.5, -244.5, -243.5, -242.5, -241.5, -240.5, + -239.5, -238.5, -237.5, -236.5, -235.5, -234.5, -233.5, -232.5, + -231.5, -230.5, -229.5, -228.5, -227.5, -226.5, -225.5, -224.5, + -223.5, -222.5, -221.5, -220.5, -219.5, -218.5, -217.5, -216.5, + -215.5, -214.5, -213.5, -212.5, -211.5, -210.5, -209.5, -208.5, + -207.5, -206.5, -205.5, -204.5, -203.5, -202.5, -201.5, -200.5, + -199.5, -198.5, -197.5, -196.5, -195.5, -194.5, -193.5, -192.5, + -191.5, -190.5, -189.5, -188.5, -187.5, -186.5, -185.5, -184.5, + -183.5, -182.5, -181.5, -180.5, -179.5, -178.5, -177.5, -176.5, + -175.5, -174.5, -173.5, -172.5, -171.5, -170.5, -169.5, -168.5, + -167.5, -166.5, -165.5, -164.5, -163.5, -162.5, -161.5, -160.5, + -159.5, -158.5, -157.5, -156.5, -155.5, -154.5, -153.5, -152.5, + -151.5, -150.5, -149.5, -148.5, -147.5, -146.5, -145.5, -144.5, + -143.5, -142.5, -141.5, -140.5, -139.5, -138.5, -137.5, -136.5, + -135.5, -134.5, -133.5, -132.5, -131.5, -130.5, -129.5, -128.5, + -127.5, -126.5, -125.5, -124.5, -123.5, -122.5, -121.5, -120.5, + -119.5, -118.5, -117.5, -116.5, -115.5, -114.5, -113.5, -112.5, + -111.5, -110.5, -109.5, -108.5, -107.5, -106.5, -105.5, -104.5, + -103.5, -102.5, -101.5, -100.5, -99.5, -98.5, -97.5, -96.5, + -95.5, -94.5, -93.5, -92.5, -91.5, -90.5, -89.5, -88.5, + -87.5, -86.5, -85.5, -84.5, -83.5, -82.5, -81.5, -80.5, + -79.5, -78.5, -77.5, -76.5, -75.5, -74.5, -73.5, -72.5, + -71.5, -70.5, -69.5, -68.5, -67.5, -66.5, -65.5, -64.5, + -63.5, -62.5, -61.5, -60.5, -59.5, -58.5, -57.5, -56.5, + -55.5, -54.5, -53.5, -52.5, -51.5, -50.5, -49.5, -48.5, + -47.5, -46.5, -45.5, -44.5, -43.5, -42.5, -41.5, -40.5, + -39.5, -38.5, -37.5, -36.5, -35.5, -34.5, -33.5, -32.5, + -31.5, -30.5, -29.5, -28.5, -27.5, -26.5, -25.5, -24.5, + -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, -17.5, -16.5, + -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, + -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, + 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, + 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, + 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5, + 24.5, 25.5, 26.5, 27.5, 28.5, 29.5, 30.5, 31.5, + 32.5, 33.5, 34.5, 35.5, 36.5, 37.5, 38.5, 39.5, + 40.5, 41.5, 42.5, 43.5, 44.5, 45.5, 46.5, 47.5, + 48.5, 49.5, 50.5, 51.5, 52.5, 53.5, 54.5, 55.5, + 56.5, 57.5, 58.5, 59.5, 60.5, 61.5, 62.5, 63.5, + 64.5, 65.5, 66.5, 67.5, 68.5, 69.5, 70.5, 71.5, + 72.5, 73.5, 74.5, 75.5, 76.5, 77.5, 78.5, 79.5, + 80.5, 81.5, 82.5, 83.5, 84.5, 85.5, 86.5, 87.5, + 88.5, 89.5, 90.5, 91.5, 92.5, 93.5, 94.5, 95.5, + 96.5, 97.5, 98.5, 99.5, 100.5, 101.5, 102.5, 103.5, + 104.5, 105.5, 106.5, 107.5, 108.5, 109.5, 110.5, 111.5, + 112.5, 113.5, 114.5, 115.5, 116.5, 117.5, 118.5, 119.5, + 120.5, 121.5, 122.5, 123.5, 124.5, 125.5, 126.5, 127.5, + 128.5, 129.5, 130.5, 131.5, 132.5, 133.5, 134.5, 135.5, + 136.5, 137.5, 138.5, 139.5, 140.5, 141.5, 142.5, 143.5, + 144.5, 145.5, 146.5, 147.5, 148.5, 149.5, 150.5, 151.5, + 152.5, 153.5, 154.5, 155.5, 156.5, 157.5, 158.5, 159.5, + 160.5, 161.5, 162.5, 163.5, 164.5, 165.5, 166.5, 167.5, + 168.5, 169.5, 170.5, 171.5, 172.5, 173.5, 174.5, 175.5, + 176.5, 177.5, 178.5, 179.5, 180.5, 181.5, 182.5, 183.5, + 184.5, 185.5, 186.5, 187.5, 188.5, 189.5, 190.5, 191.5, + 192.5, 193.5, 194.5, 195.5, 196.5, 197.5, 198.5, 199.5, + 200.5, 201.5, 202.5, 203.5, 204.5, 205.5, 206.5, 207.5, + 208.5, 209.5, 210.5, 211.5, 212.5, 213.5, 214.5, 215.5, + 216.5, 217.5, 218.5, 219.5, 220.5, 221.5, 222.5, 223.5, + 224.5, 225.5, 226.5, 227.5, 228.5, 229.5, 230.5, 231.5, + 232.5, 233.5, 234.5, 235.5, 236.5, 237.5, 238.5, 239.5, + 240.5, 241.5, 242.5, 243.5, 244.5, 245.5, 246.5, 247.5, + 248.5, 249.5, 250.5, 251.5, 252.5, 253.5, 254.5, 255.5, + 256.5, 257.5, 258.5, 259.5, 260.5, 261.5, 262.5, 263.5, + 264.5, 265.5, 266.5, 267.5, 268.5, 269.5, 270.5, 271.5, + 272.5, 273.5, 274.5, 275.5, 276.5, 277.5, 278.5, 279.5, +}; + +static long _vq_quantmap_res0_192_1024_9[] = { + 559, 557, 555, 553, 551, 549, 547, 545, + 543, 541, 539, 537, 535, 533, 531, 529, + 527, 525, 523, 521, 519, 517, 515, 513, + 511, 509, 507, 505, 503, 501, 499, 497, + 495, 493, 491, 489, 487, 485, 483, 481, + 479, 477, 475, 473, 471, 469, 467, 465, + 463, 461, 459, 457, 455, 453, 451, 449, + 447, 445, 443, 441, 439, 437, 435, 433, + 431, 429, 427, 425, 423, 421, 419, 417, + 415, 413, 411, 409, 407, 405, 403, 401, + 399, 397, 395, 393, 391, 389, 387, 385, + 383, 381, 379, 377, 375, 373, 371, 369, + 367, 365, 363, 361, 359, 357, 355, 353, + 351, 349, 347, 345, 343, 341, 339, 337, + 335, 333, 331, 329, 327, 325, 323, 321, + 319, 317, 315, 313, 311, 309, 307, 305, + 303, 301, 299, 297, 295, 293, 291, 289, + 287, 285, 283, 281, 279, 277, 275, 273, + 271, 269, 267, 265, 263, 261, 259, 257, + 255, 253, 251, 249, 247, 245, 243, 241, + 239, 237, 235, 233, 231, 229, 227, 225, + 223, 221, 219, 217, 215, 213, 211, 209, + 207, 205, 203, 201, 199, 197, 195, 193, + 191, 189, 187, 185, 183, 181, 179, 177, + 175, 173, 171, 169, 167, 165, 163, 161, + 159, 157, 155, 153, 151, 149, 147, 145, + 143, 141, 139, 137, 135, 133, 131, 129, + 127, 125, 123, 121, 119, 117, 115, 113, + 111, 109, 107, 105, 103, 101, 99, 97, + 95, 93, 91, 89, 87, 85, 83, 81, + 79, 77, 75, 73, 71, 69, 67, 65, + 63, 61, 59, 57, 55, 53, 51, 49, + 47, 45, 43, 41, 39, 37, 35, 33, + 31, 29, 27, 25, 23, 21, 19, 17, + 15, 13, 11, 9, 7, 5, 3, 1, + 0, 2, 4, 6, 8, 10, 12, 14, + 16, 18, 20, 22, 24, 26, 28, 30, + 32, 34, 36, 38, 40, 42, 44, 46, + 48, 50, 52, 54, 56, 58, 60, 62, + 64, 66, 68, 70, 72, 74, 76, 78, + 80, 82, 84, 86, 88, 90, 92, 94, + 96, 98, 100, 102, 104, 106, 108, 110, + 112, 114, 116, 118, 120, 122, 124, 126, + 128, 130, 132, 134, 136, 138, 140, 142, + 144, 146, 148, 150, 152, 154, 156, 158, + 160, 162, 164, 166, 168, 170, 172, 174, + 176, 178, 180, 182, 184, 186, 188, 190, + 192, 194, 196, 198, 200, 202, 204, 206, + 208, 210, 212, 214, 216, 218, 220, 222, + 224, 226, 228, 230, 232, 234, 236, 238, + 240, 242, 244, 246, 248, 250, 252, 254, + 256, 258, 260, 262, 264, 266, 268, 270, + 272, 274, 276, 278, 280, 282, 284, 286, + 288, 290, 292, 294, 296, 298, 300, 302, + 304, 306, 308, 310, 312, 314, 316, 318, + 320, 322, 324, 326, 328, 330, 332, 334, + 336, 338, 340, 342, 344, 346, 348, 350, + 352, 354, 356, 358, 360, 362, 364, 366, + 368, 370, 372, 374, 376, 378, 380, 382, + 384, 386, 388, 390, 392, 394, 396, 398, + 400, 402, 404, 406, 408, 410, 412, 414, + 416, 418, 420, 422, 424, 426, 428, 430, + 432, 434, 436, 438, 440, 442, 444, 446, + 448, 450, 452, 454, 456, 458, 460, 462, + 464, 466, 468, 470, 472, 474, 476, 478, + 480, 482, 484, 486, 488, 490, 492, 494, + 496, 498, 500, 502, 504, 506, 508, 510, + 512, 514, 516, 518, 520, 522, 524, 526, + 528, 530, 532, 534, 536, 538, 540, 542, + 544, 546, 548, 550, 552, 554, 556, 558, + 560, +}; + +static encode_aux_threshmatch _vq_auxt_res0_192_1024_9 = { + _vq_quantthresh_res0_192_1024_9, + _vq_quantmap_res0_192_1024_9, + 561, + 561 +}; + +static static_codebook _vq_book_res0_192_1024_9 = { + 1, 561, + _vq_lengthlist_res0_192_1024_9, + 1, -518946816, 1611661312, 10, 0, + _vq_quantlist_res0_192_1024_9, + NULL, + &_vq_auxt_res0_192_1024_9, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_192_1024aux.vqh b/lib/books/res0_192_1024aux.vqh new file mode 100644 index 00000000..1940b104 --- /dev/null +++ b/lib/books/res0_192_1024aux.vqh @@ -0,0 +1,43 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by huff/huffbuld + + ********************************************************************/ + +#ifndef _V_res0_192_1024aux_VQH_ +#define _V_res0_192_1024aux_VQH_ +#include "codebook.h" + +static long _huff_lengthlist_res0_192_1024aux[] = { + 2, 7,12,11,16,10,14,11,17,22, 5, 4, 7, 8,11, 9, + 10,10,14,22, 9, 6, 6, 6, 8, 8, 8,11,15,20, 9, 6, + 6, 5, 6, 6, 7, 9,13,21,15,10, 7, 5, 5, 6, 6,11, + 18,21, 9, 8, 7, 5, 6, 5, 6, 7,13,21,14, 9, 8, 6, + 6, 5, 5, 8,13,20, 9, 9,10, 8, 9, 6, 6, 5, 9,15, + 11,12,13,11,13, 9, 8, 6, 8,14,13,12,13,12,13,10, + 9, 5, 8,13, +}; + +static static_codebook _huff_book_res0_192_1024aux = { + 2, 100, + _huff_lengthlist_res0_192_1024aux, + 0, 0, 0, 0, 0, + NULL, + NULL, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_192_128_1.vqh b/lib/books/res0_192_128_1.vqh new file mode 100644 index 00000000..a07e14a8 --- /dev/null +++ b/lib/books/res0_192_128_1.vqh @@ -0,0 +1,63 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_192_128_1_VQH_ +#define _V_res0_192_128_1_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_192_128_1[] = { + 1, + 0, + 2, +}; + +static long _vq_lengthlist_res0_192_128_1[] = { + 2, 4, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 8, 8, 6, + 8, 8, 5, 6, 6, 6, 8, 8, 6, 8, 8, 5, 7, 7, 7, 8, + 8, 6, 8, 8, 7, 8, 8, 8, 9,10, 8,10, 9, 7, 8, 8, + 8,10, 9, 8, 9,10, 5, 7, 7, 7, 8, 8, 7, 8, 8, 7, + 8, 8, 8,10, 9, 8, 9,10, 7, 8, 8, 8, 9,10, 8,10, + 9, +}; + +static float _vq_quantthresh_res0_192_128_1[] = { + -0.5, 0.5, +}; + +static long _vq_quantmap_res0_192_128_1[] = { + 1, 0, 2, +}; + +static encode_aux_threshmatch _vq_auxt_res0_192_128_1 = { + _vq_quantthresh_res0_192_128_1, + _vq_quantmap_res0_192_128_1, + 3, + 3 +}; + +static static_codebook _vq_book_res0_192_128_1 = { + 4, 81, + _vq_lengthlist_res0_192_128_1, + 1, -535822336, 1611661312, 2, 0, + _vq_quantlist_res0_192_128_1, + NULL, + &_vq_auxt_res0_192_128_1, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_192_128_2.vqh b/lib/books/res0_192_128_2.vqh new file mode 100644 index 00000000..74036e29 --- /dev/null +++ b/lib/books/res0_192_128_2.vqh @@ -0,0 +1,212 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_192_128_2_VQH_ +#define _V_res0_192_128_2_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_192_128_2[] = { + 3, + 2, + 4, + 1, + 5, + 0, + 6, +}; + +static long _vq_lengthlist_res0_192_128_2[] = { + 4, 5, 5, 7, 7,10,10, 5, 6, 6, 8, 8,12,12, 5, 6, + 6, 8, 9,12,12, 7, 8, 8,12,13,15,16, 7, 8, 9,12, + 12,15,15,10,12,12,17,16,17,18,10,12,12,15,17,18, + 17, 5, 7, 6, 9, 8,12,12, 7, 8, 8,10,10,13,13, 7, + 8, 8,10,10,13,13, 9,10,10,14,14,16,15, 9,10,10, + 13,14,16,18,12,14,13,17,16,18,18,12,14,13,16,18, + 17,18, 5, 6, 7, 8, 8,12,12, 7, 8, 8,10,10,13,13, + 7, 8, 8,10,10,13,13, 9,10,10,14,14,18,15, 9,10, + 10,14,13,17,16,12,14,13,17,16,18,18,12,13,14,15, + 16,17,17, 7, 9, 9,12,12,15,14, 9,10,10,14,13,18, + 16, 9,10,10,14,14,16,16,13,14,14,18,18,18,18,12, + 14,14,18,18,18,18,14,18,15,18,18,18,18,14,17,17, + 18,18,18,18, 7, 9, 9,12,12,14,14, 9,10,10,14,14, + 15,15, 9,10,10,13,15,16,15,13,14,14,17,16,18,18, + 12,14,15,17,16,18,18,16,17,17,18,18,18,18,16,18, + 16,18,18,18,18,10,12,12,16,15,16,16,12,14,13,17, + 17,18,17,13,14,14,16,16,18,17,15,17,18,18,18,18, + 18,17,18,17,18,16,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,10,12,13,15,14,17,18,12,14,13, + 17,16,18,18,12,14,14,17,17,18,17,18,16,18,18,18, + 18,18,16,17,18,18,18,18,18,16,18,18,18,18,18,18, + 17,18,18,18,18,18,18, 6, 7, 7, 9, 9,12,12, 7, 8, + 8,10,10,14,13, 7, 8, 8,10,10,13,14, 9,11,10,14, + 15,16,18, 9,10,10,14,14,16,17,12,13,14,17,16,18, + 18,12,14,14,17,18,18,18, 7, 8, 8,10,10,13,13, 8, + 9, 9,12,11,15,14, 8, 9, 9,11,11,14,14,11,12,12, + 16,15,16,18,10,12,12,17,17,17,18,14,15,16,18,18, + 17,18,13,15,16,17,16,18,18, 7, 8, 8,10,10,13,13, + 8, 9, 9,11,11,14,14, 8, 9, 9,11,12,14,14,10,12, + 11,16,15,18,17,11,12,12,15,16,18,18,14,15,15,18, + 16,18,18,14,17,15,18,18,18,18, 9,11,10,14,14,18, + 16,10,12,12,15,16,17,18,10,12,12,16,15,16,18,14, + 15,16,16,18,17,18,14,16,17,18,17,18,18,16,17,18, + 18,18,18,18,17,18,16,18,18,18,18, 9,10,11,15,14, + 16,16,10,12,11,14,15,18,17,11,12,12,15,16,16,17, + 14,15,15,18,18,18,18,14,18,17,18,18,18,18,18,18, + 17,18,18,18,18,17,18,18,18,18,18,17,13,14,15,17, + 16,18,18,13,14,16,18,17,18,18,14,17,15,18,18,18, + 18,18,18,18,18,18,18,18,18,17,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,12,14,13, + 15,18,17,17,14,16,15,18,18,18,18,14,16,15,18,17, + 18,18,17,17,18,18,18,18,18,16,18,18,18,18,18,18, + 17,18,18,18,18,18,18,18,18,18,18,18,18,18, 5, 7, + 7, 9, 9,12,12, 7, 8, 8,10,10,13,13, 7, 8, 8,10, + 10,13,13, 9,10,10,14,13,16,18, 9,10,10,13,15,17, + 17,12,13,14,17,16,18,18,12,14,13,16,16,18,18, 7, + 8, 8,10,10,14,13, 8, 9, 9,12,11,14,15, 8, 9, 9, + 11,11,14,15,10,12,11,16,16,18,17,10,11,12,16,15, + 16,18,14,15,14,17,18,18,18,13,15,15,17,18,18,18, + 7, 8, 8,10,10,13,13, 8, 9, 9,11,11,14,14, 8, 9, + 9,11,11,14,15,10,12,12,15,15,18,18,10,12,11,15, + 15,18,18,15,16,14,17,18,18,18,14,14,17,18,18,18, + 18, 9,11,10,13,14,15,17,10,12,12,15,15,18,18,10, + 11,12,14,15,18,17,16,16,16,18,18,18,18,14,17,17, + 16,18,18,18,17,18,18,18,18,18,18,18,17,18,18,18, + 18,18, 9,10,11,14,15,17,16,10,12,12,14,15,17,18, + 10,12,12,16,14,17,18,14,17,17,18,18,18,18,15,16, + 15,17,17,18,18,18,18,18,18,18,18,18,17,18,17,18, + 18,18,18,12,15,15,17,17,17,18,14,15,17,17,17,18, + 18,14,15,15,18,18,18,18,18,18,18,18,18,18,18,17, + 17,18,18,18,18,18,18,18,18,18,18,18,18,17,18,18, + 18,18,18,18,13,14,14,17,16,18,17,14,16,17,16,18, + 18,18,14,15,14,18,18,18,18,17,18,18,18,18,18,18, + 18,17,17,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18, 8, 9, 9,13,13,15,16, 9,11,11,14, + 13,16,17, 9,11,11,14,14,16,16,14,15,14,18,18,18, + 18,13,15,16,17,17,18,17,16,17,16,18,18,18,18,16, + 17,18,18,18,18,17, 9,11,11,14,14,18,17,11,12,12, + 16,15,17,18,11,13,12,15,15,17,18,15,15,17,17,18, + 18,18,14,15,16,18,17,18,18,18,18,18,18,18,18,18, + 17,16,18,18,18,18,18, 9,11,11,14,15,18,15,11,12, + 12,16,15,18,18,10,12,12,15,15,17,18,15,17,18,18, + 17,18,18,14,15,17,18,18,18,18,18,17,18,18,18,18, + 18,18,18,18,18,18,18,18,13,15,14,17,16,18,18,14, + 16,16,18,18,18,18,15,18,16,17,18,18,18,18,17,18, + 15,18,18,18,17,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,13,15,15,18,18,18,18, + 14,16,16,18,18,18,17,16,16,16,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 17,18,17,18,18,18,18,18,18,18,17,18,18,18,18,18, + 18,17,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,17,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 17,18,18,18,18,18,18,18,18,18,18,18,17,18,18,18, + 18,18,18,18,17,18,17,18,18,18,18,17,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18, 8, 9, 9,13, + 13,16,15, 9,11,11,14,14,18,17, 9,11,11,15,14,18, + 18,13,14,15,16,17,17,18,13,15,15,17,18,18,18,16, + 16,18,18,18,18,18,16,18,17,18,18,18,18, 9,11,10, + 14,14,17,17,11,13,12,15,14,18,18,10,12,12,15,16, + 15,17,15,17,16,18,17,18,18,14,17,16,18,18,18,18, + 17,18,18,18,18,18,18,18,18,16,18,18,18,18, 9,11, + 11,14,14,17,16,11,12,12,14,15,17,18,11,12,12,16, + 15,18,17,15,15,17,18,18,18,18,15,17,16,18,18,18, + 18,18,17,18,18,18,18,16,17,18,18,18,18,18,18,13, + 14,14,16,18,18,18,14,18,16,18,17,18,18,14,15,15, + 17,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 13,15,15,16,18,18,18,16,15,16,18,18,18,18,15,17, + 16,18,18,18,18,18,18,18,18,18,18,18,17,18,16,18, + 15,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 17,16,18,18,18,18,18,18,16,18,18,18,18,18,18,18, + 18,17,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,16,17,17,18,18,18,18,18,18,18,18,18,18,18, + 16,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,16,11,13,14,16,17,18,18,13,15,15,17,16,18, + 17,13,15,15,16,18,18,18,17,18,18,18,18,18,18,16, + 17,16,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 17,18,18,18,13,14,14,17,18,18,18,14,16,16,16,18, + 18,16,14,16,14,18,18,18,18,18,17,18,18,18,18,18, + 17,18,17,18,18,18,18,18,18,18,18,18,18,18,18,18, + 17,18,18,18,18,13,14,15,17,18,18,18,14,15,17,17, + 17,18,18,14,15,16,17,18,18,18,18,18,18,18,18,18, + 18,17,18,18,18,18,18,18,17,18,18,18,18,18,18,18, + 18,18,18,18,18,18,16,17,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,17,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,16,18,18,18,18,18,18,18,16, + 18,18,18,18,18,16,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,17,18, + 15,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,11,13,13,16,15,18, + 18,13,15,15,18,16,16,18,13,15,15,17,18,17,18,17, + 18,17,18,18,18,18,17,18,16,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,12,15,13,16,18, + 18,18,14,16,17,17,17,18,17,15,15,17,17,18,18,18, + 17,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,13,14,15,16, + 16,17,18,15,17,16,17,18,18,18,16,16,16,18,18,18, + 18,18,17,18,18,18,18,18,18,18,17,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,17,18,17,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 16,17,18,18,18,16,17,18,18,18,18,18,17,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,17,17,17,17,17, + 15, +}; + +static float _vq_quantthresh_res0_192_128_2[] = { + -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, +}; + +static long _vq_quantmap_res0_192_128_2[] = { + 5, 3, 1, 0, 2, 4, 6, +}; + +static encode_aux_threshmatch _vq_auxt_res0_192_128_2 = { + _vq_quantthresh_res0_192_128_2, + _vq_quantmap_res0_192_128_2, + 7, + 7 +}; + +static static_codebook _vq_book_res0_192_128_2 = { + 4, 2401, + _vq_lengthlist_res0_192_128_2, + 1, -533200896, 1611661312, 3, 0, + _vq_quantlist_res0_192_128_2, + NULL, + &_vq_auxt_res0_192_128_2, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_192_128_3.vqh b/lib/books/res0_192_128_3.vqh new file mode 100644 index 00000000..85111662 --- /dev/null +++ b/lib/books/res0_192_128_3.vqh @@ -0,0 +1,265 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_192_128_3_VQH_ +#define _V_res0_192_128_3_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_192_128_3[] = { + 24, + 23, + 25, + 22, + 26, + 21, + 27, + 20, + 28, + 19, + 29, + 18, + 30, + 17, + 31, + 16, + 32, + 15, + 33, + 14, + 34, + 13, + 35, + 12, + 36, + 11, + 37, + 10, + 38, + 9, + 39, + 8, + 40, + 7, + 41, + 6, + 42, + 5, + 43, + 4, + 44, + 3, + 45, + 2, + 46, + 1, + 47, + 0, + 48, +}; + +static long _vq_lengthlist_res0_192_128_3[] = { + 4, 4, 4, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10, + 10, 5, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10, + 10,10, 5, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9, + 10, 9, 9, 9,10, 9, 9, 9,10,10,10,10,10,10,10,10, + 10,10,10, 7, 7, 7, 8, 8, 9, 9,10, 9,10,10,10,10, + 11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11, + 11,12,11,11,11,11,11,11,11,11,11,12,12,12,12,12, + 12,12,12,12, 7, 7, 7, 8, 8, 9, 9, 9,10,10,10,10, + 10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, + 11,11,11,11,11,11,11,11,11,12,11,11,12,11,12,11, + 12,12,12,12,12, 9, 9, 9,10,10,11,11,11,11,12,12, + 12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,14, + 13,13,13,13,13,14,13,13,13,14,13,13,13,13,13,13, + 14,14,14,13,13,13, 9, 9, 9,10,10,11,11,11,11,12, + 12,12,12,13,12,12,12,13,12,13,13,13,13,13,13,13, + 12,13,12,13,14,13,13,13,13,13,13,13,13,14,13,14, + 13,14,14,13,13,14,14, 9,10,10,11,11,12,12,13,13, + 13,13,13,14,14,14,13,14,15,13,13,14,14,14,16,15, + 14,15,14,15,13,15,14,14,15,15,14,15,14,14,14,15, + 14,15,15,14,15,15,15,15, 9,10,10,12,11,12,12,13, + 12,13,13,14,13,14,13,14,14,15,14,13,14,14,15,14, + 14,14,15,14,14,15,15,15,14,14,15,14,15,14,15,15, + 14,14,14,14,14,14,14,15,16,10,11,11,13,12,13,13, + 13,13,14,14,14,14,15,14,14,14,15,14,14,14,15,14, + 14,16,15,15,17,14,15,16,15,15,16,16,16,14,15,15, + 15,15,15,16,16,15,17,15,16,16,10,11,11,12,12,14, + 13,13,13,13,14,14,14,14,15,14,14,15,15,15,15,15, + 15,15,14,15,15,15,14,16,15,15,17,16,15,16,16,16, + 15,15,15,16,15,16,15,14,15,16,17,12,12,12,13,14, + 14,14,14,14,14,14,15,16,15,15,16,17,14,16,16,16, + 15,15,17,16,14,17,15,16,15,16,16,16,16,16,16,15, + 15,17,15,15,17,17,16,16,17,16,16,16,11,12,12,13, + 14,14,14,14,15,14,15,15,15,17,15,16,15,16,16,15, + 16,14,16,16,16,16,17,16,16,15,16,15,17,15,15,16, + 16,16,17,17,15,16,17,16,15,16,15,16,16,12,13,13, + 14,14,14,15,15,15,15,16,15,15,15,16,16,15,15,16, + 15,17,17,16,16,16,17,15,16,17,16,17,17,16,17,16, + 17,17,16,16,17,17,17,17,17,16,17,16,17,17,12,13, + 13,14,15,14,14,14,15,15,15,16,15,15,16,15,16,16, + 15,16,15,15,16,17,17,17,16,16,15,17,16,16,16,16, + 15,17,16,17,16,16,17,16,16,16,17,16,16,17,16,12, + 13,13,14,15,15,16,15,16,16,16,17,16,16,17,16,16, + 17,16,17,15,16,17,15,17,17,17,16,16,16,17,16,17, + 17,16,17,16,16,17,16,17,16,17,16,17,16,17,17,15, + 12,13,13,16,14,16,15,16,15,16,14,17,16,15,17,17, + 17,17,17,16,16,16,17,16,16,17,17,17,17,17,17,17, + 17,17,16,17,17,17,16,17,16,17,16,17,16,17,16,17, + 16,13,15,14,16,15,15,16,16,15,16,15,16,17,15,17, + 17,16,16,17,17,16,17,16,17,16,16,16,17,16,16,17, + 17,15,16,17,16,17,17,16,17,16,17,17,17,16,16,17, + 17,17,13,14,13,15,15,16,15,16,16,15,15,16,17,16, + 17,17,17,16,17,16,16,17,17,15,17,16,16,17,16,17, + 17,16,17,17,16,17,17,17,16,16,16,17,17,17,17,16, + 16,16,17,14,14,14,16,14,17,16,15,16,16,16,17,17, + 16,17,17,17,16,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,16,16,16,17,17,17,17,16,17,17,17,17, + 16,17,17,17,14,16,14,15,14,15,16,16,16,16,16,16, + 17,17,16,17,17,17,17,17,17,17,16,16,17,17,17,17, + 16,16,17,16,17,17,17,16,17,16,17,16,17,16,15,17, + 17,17,17,17,16,14,14,14,15,16,15,17,15,16,17,17, + 16,16,17,17,17,17,16,16,17,17,17,16,17,16,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,16,17,17, + 17,17,17,17,17,17,14,15,15,15,15,17,16,17,17,17, + 17,16,16,16,17,17,17,16,17,16,17,17,17,17,16,17, + 16,17,17,17,17,16,17,16,16,17,16,17,16,17,17,16, + 17,17,17,17,17,16,17,14,16,15,15,15,17,16,16,16, + 17,17,16,16,16,17,17,16,17,17,17,17,17,17,17,17, + 17,16,17,17,17,17,17,16,17,16,17,17,17,17,17,17, + 17,17,16,17,17,17,17,17,14,15,16,16,15,16,16,16, + 17,16,17,17,17,17,16,17,17,17,17,17,17,17,17,17, + 17,17,17,16,17,16,16,17,17,17,16,16,17,17,17,16, + 17,17,16,16,17,17,16,17,17,14,16,14,15,16,16,17, + 17,16,17,17,17,17,17,17,17,17,17,17,16,17,17,17, + 16,17,17,17,17,17,17,17,17,17,17,17,17,16,16,17, + 17,17,17,17,17,17,17,17,17,17,16,15,16,16,16,16, + 15,16,17,16,17,17,17,17,17,16,17,17,17,16,17,17, + 17,17,16,17,16,17,17,17,17,17,17,17,17,17,16,16, + 17,17,16,17,17,17,16,17,17,17,17,15,16,16,16,16, + 17,17,17,17,17,17,16,17,17,17,16,17,17,17,16,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,16,16,14,17, + 17,16,15,16,15,17,17,17,17,17,17,17,16,17,17,16, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,16,17,16,17,17,17,17,17,17,17,17,16,16,15, + 17,16,17,17,16,17,16,17,16,16,17,17,17,17,17,17, + 17,17,16,17,17,17,17,17,17,17,16,17,17,17,17,16, + 17,16,17,17,17,17,17,17,17,17,17,17,17,17,15,15, + 15,16,16,16,17,17,15,16,17,16,17,17,16,17,17,17, + 17,17,17,17,17,16,17,17,16,17,17,17,16,17,17,16, + 17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,14, + 16,15,16,16,16,16,17,16,17,17,17,16,16,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,16,17,17,17,16,17,17,17,17,17,17, + 15,16,16,16,17,17,17,16,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,16,17,16,17,17, + 17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,15,15,15,16,17,17,17,17,17,16,17,16,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,15,16,16,17,17,16,17,17,17,17,17,17,17,17, + 17,17,17,17,16,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,16,16,16,16,17,17,17,17,17, + 17,17,17,17,16,16,17,17,17,16,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,16,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,16,16,16,16,17,17,17,17,16,16,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,16,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,16,17,17,17,17,16,17,17,17,17,17,17, + 17,17,17,17,17,17,17,16,16,16,16,16,16,17,17,17, + 17,17,17,17,17,16,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,16,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,16,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16, + 17,17,17,17,17,17,17,17,17,17,17,16,16,17,17,16, + 17,17,17,17,17,17,17,17,16,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,16,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,16,17,17,16,17,17,17, + 17,17,17,17,16,17,17,17,17,17,17,17,17,17,17,16, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,16,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,16,17,17, + 17,17,17,17,17,17,17,17,16,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,17, + 17,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,17, + 17,17,17,17,17,16,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,16,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,16,17,17,17,17,17,17,17, + 17,17,16,16,17,16,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17, +}; + +static float _vq_quantthresh_res0_192_128_3[] = { + -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, -17.5, -16.5, + -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, + -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, + 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, + 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, + 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5, +}; + +static long _vq_quantmap_res0_192_128_3[] = { + 47, 45, 43, 41, 39, 37, 35, 33, + 31, 29, 27, 25, 23, 21, 19, 17, + 15, 13, 11, 9, 7, 5, 3, 1, + 0, 2, 4, 6, 8, 10, 12, 14, + 16, 18, 20, 22, 24, 26, 28, 30, + 32, 34, 36, 38, 40, 42, 44, 46, + 48, +}; + +static encode_aux_threshmatch _vq_auxt_res0_192_128_3 = { + _vq_quantthresh_res0_192_128_3, + _vq_quantmap_res0_192_128_3, + 49, + 49 +}; + +static static_codebook _vq_book_res0_192_128_3 = { + 2, 2401, + _vq_lengthlist_res0_192_128_3, + 1, -526909440, 1611661312, 6, 0, + _vq_quantlist_res0_192_128_3, + NULL, + &_vq_auxt_res0_192_128_3, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_192_128_4.vqh b/lib/books/res0_192_128_4.vqh new file mode 100644 index 00000000..6c2ceef3 --- /dev/null +++ b/lib/books/res0_192_128_4.vqh @@ -0,0 +1,565 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_192_128_4_VQH_ +#define _V_res0_192_128_4_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_192_128_4[] = { + 40, + 39, + 41, + 38, + 42, + 37, + 43, + 36, + 44, + 35, + 45, + 34, + 46, + 33, + 47, + 32, + 48, + 31, + 49, + 30, + 50, + 29, + 51, + 28, + 52, + 27, + 53, + 26, + 54, + 25, + 55, + 24, + 56, + 23, + 57, + 22, + 58, + 21, + 59, + 20, + 60, + 19, + 61, + 18, + 62, + 17, + 63, + 16, + 64, + 15, + 65, + 14, + 66, + 13, + 67, + 12, + 68, + 11, + 69, + 10, + 70, + 9, + 71, + 8, + 72, + 7, + 73, + 6, + 74, + 5, + 75, + 4, + 76, + 3, + 77, + 2, + 78, + 1, + 79, + 0, + 80, +}; + +static long _vq_lengthlist_res0_192_128_4[] = { + 5, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, + 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 10, 9,10, 9,10,10,10,10,10,10,10,11,10,11,11,11, + 12, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10, + 10,10,10,10,10,10,11,11,10,11,10,11,11,12,12,12, + 12, 5, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 8, 9, 9, + 9, 9, 9, 9, 9, 9, 9,10, 9,10,10,10,10,10,10,10, + 10,10,10,10,10,10,10,11,11,11,11,11,11,11,12,11, + 12,12, 9, 9, 9, 9, 9, 9, 9,10, 9,10,10,10,10,10, + 10,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12, + 12,12, 5, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 8, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9,10,10,10,10,10, + 10,10,10,10,11,10,10,10,10,10,11,11,12,11,11,12, + 12,12,12, 9, 9, 9, 9,10,10,10,10,10,10,10,10,10, + 10,10,10,11,11,11,11,11,11,11,11,11,11,12,12,12, + 12,12,12, 7, 7, 7, 8, 8, 9, 9,10,10,10,10,10,10, + 11,11,11,11,11,11,11,12,11,11,12,11,11,12,12,12, + 12,12,12,12,12,12,13,13,12,13,13,13,13,13,14,13, + 13,14,14,14,11,11,11,11,11,11,11,12,12,12,12,13, + 12,12,13,13,13,13,13,13,14,12,14,14,13,13,14,13, + 14,16,13,14, 7, 7, 7, 8, 8, 9, 9,10,10,10,10,10, + 10,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12, + 12,12,12,11,12,12,12,12,13,12,13,13,13,14,13,13, + 12,13,14,13,13,11,11,11,11,11,11,11,11,11,12,12, + 12,12,13,12,12,12,14,13,13,13,12,12,13,13,14,15, + 14,13,12,14,14, 9, 9, 9,10,10,11,11,12,11,12,12, + 12,12,12,12,13,12,13,13,13,13,12,14,13,13,14,14, + 13,13,13,14,13,13,13,13,13,14,15,14,14,14,13,13, + 15,16,15,15,15,15,12,12,14,13,13,13,13,13,14,14, + 13,13,13,15,14,14,14,14,15,15,15,15,14,15,15,15, + 14,14,16,15,15,15, 9, 9, 9,10,10,11,11,11,12,12, + 12,12,12,13,12,13,13,14,13,13,12,13,13,14,14,14, + 13,13,14,14,13,14,12,13,12,14,14,15,14,15,16,16, + 14,14,14,15,15,15,14,12,13,12,12,13,12,14,13,15, + 13,14,13,14,14,14,15,14,15,13,15,14,16,14,15,14, + 15,16,16,16,14,15,15,10,10,10,11,12,12,13,12,13, + 14,13,13,14,14,13,14,13,14,14,14,14,15,15,14,16, + 14,14,14,14,15,15,15,14,14,15,15,14,13,16,15,15, + 16,15,15,15,15,15,16,16,14,15,14,14,13,15,15,14, + 14,14,16,15,14,16,16,16,14,16,16,15,15,16,15,15, + 15,15,16,16,16,15,16,16,10,11,10,12,11,12,11,13, + 12,13,13,13,14,14,13,15,14,14,13,14,14,14,14,14, + 15,14,15,15,14,15,14,15,13,15,16,15,15,15,15,15, + 16,16,16,16,15,16,15,16,15,14,14,14,14,13,15,14, + 13,13,15,15,14,15,14,15,15,16,16,16,15,15,16,15, + 15,16,16,15,16,15,16,15,15,11,11,12,12,12,14,14, + 14,14,13,14,14,14,14,15,15,14,15,15,14,15,15,15, + 14,16,15,16,14,15,15,15,15,14,15,15,15,15,16,15, + 15,15,16,16,16,15,16,16,16,16,15,15,14,15,15,14, + 15,15,14,15,16,15,15,16,15,16,15,16,16,16,15,16, + 16,15,16,16,16,15,16,16,16,16,11,11,11,13,13,14, + 14,14,13,15,15,14,14,15,15,14,15,14,14,14,16,15, + 16,15,16,16,14,15,16,15,14,15,15,15,15,16,15,14, + 15,15,15,16,16,16,16,15,16,16,16,15,14,16,15,14, + 14,15,15,15,15,16,15,16,16,16,15,16,15,15,16,16, + 16,16,16,15,15,16,15,16,16,16,15,12,12,13,14,14, + 14,14,15,14,14,14,14,15,15,15,14,16,15,14,14,16, + 15,15,16,15,16,16,16,15,15,16,14,16,16,15,16,16, + 16,16,16,16,16,15,16,16,16,15,16,16,14,15,15,16, + 15,16,16,15,16,15,16,16,16,16,15,16,16,16,16,16, + 16,16,16,16,16,16,15,16,16,15,16,16,12,12,13,13, + 13,16,15,16,14,14,14,14,16,16,16,15,15,14,15,16, + 15,15,16,16,16,16,16,15,15,15,16,16,15,16,16,15, + 15,16,15,16,15,15,16,16,15,16,16,16,16,15,15,16, + 15,16,15,16,15,16,16,16,16,15,15,16,16,16,16,15, + 16,16,16,16,16,16,16,16,16,16,16,16,16,14,14,13, + 13,15,14,15,15,15,15,15,15,15,16,16,15,15,16,15, + 16,16,15,16,15,16,16,16,15,16,15,16,16,16,16,16, + 15,15,16,16,15,16,16,15,16,16,16,15,16,16,16,15, + 16,15,16,16,16,16,16,16,16,15,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,13,14, + 13,14,15,15,15,16,16,16,16,16,14,16,14,15,14,15, + 16,16,16,16,16,16,15,15,16,15,16,16,15,16,15,16, + 16,16,15,16,16,16,16,16,16,16,15,16,16,16,16,15, + 15,15,15,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15, + 15,14,15,15,14,15,15,15,16,16,15,15,16,16,16,16, + 16,15,15,16,16,15,16,16,16,15,15,16,16,16,16,15, + 16,15,16,15,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,15,15,16,15,16,15,15,15,16,16,16,16,16,15, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 14,14,15,15,15,15,16,16,15,15,15,15,16,15,15,16, + 16,16,16,16,16,15,16,16,16,16,15,16,16,16,15,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,15,15,16,16,16,16,15,16,16,16,16,16,16,16,16, + 16,15,14,14,16,15,16,16,16,16,15,15,15,16,16,16, + 16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,15,14,14,16,16,16,15,16,15,15,16,16,15,15, + 16,15,16,16,16,16,16,16,16,16,15,16,16,16,16,16, + 16,15,16,15,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,15,14,15,16,16,16,16,16,16,15,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 15,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16, + 16,16,16,16,16,15,16,16,16,16,15,15,16,15,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,15,16,14,16,16,16,16,16,15,16,16,15, + 16,15,16,16,16,16,16,16,16,15,16,15,16,15,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16, + 16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,15,14,16,16,15,16,16,16,16,16,16, + 15,16,15,16,16,15,16,16,16,16,16,16,16,16,15,16, + 15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,15,15,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,15,15,15,16,15,15,16,15,15,16, + 15,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16, + 15,16,16,15,16,16,16,15,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,15,15,16,16,16,16,16,16, + 16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16, + 16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,15,15,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16, + 16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16, + 16,16,16,16,15,16,16,15,16,16,16,16,16,15,16,16, + 16,16,16,16,16,15,16,16,16,16,16,15,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,15, + 15,15,16,16,16,16,15,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16, + 16,16,15,16,15,16,16,16,16,16,16,16,16,16,16,16, + 15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15, + 16,15,16,16,16,15,15,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,15,15,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,15,16,16,16,16,16,16,16,16,16,16,15,16,15,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,15,15,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,15,16,16,16,16,15,16,16,16,16,16, + 16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,15,15,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,15,16,16,16,15,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16, +}; + +static float _vq_quantthresh_res0_192_128_4[] = { + -39.5, -38.5, -37.5, -36.5, -35.5, -34.5, -33.5, -32.5, + -31.5, -30.5, -29.5, -28.5, -27.5, -26.5, -25.5, -24.5, + -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, -17.5, -16.5, + -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, + -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, + 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, + 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, + 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5, + 24.5, 25.5, 26.5, 27.5, 28.5, 29.5, 30.5, 31.5, + 32.5, 33.5, 34.5, 35.5, 36.5, 37.5, 38.5, 39.5, +}; + +static long _vq_quantmap_res0_192_128_4[] = { + 79, 77, 75, 73, 71, 69, 67, 65, + 63, 61, 59, 57, 55, 53, 51, 49, + 47, 45, 43, 41, 39, 37, 35, 33, + 31, 29, 27, 25, 23, 21, 19, 17, + 15, 13, 11, 9, 7, 5, 3, 1, + 0, 2, 4, 6, 8, 10, 12, 14, + 16, 18, 20, 22, 24, 26, 28, 30, + 32, 34, 36, 38, 40, 42, 44, 46, + 48, 50, 52, 54, 56, 58, 60, 62, + 64, 66, 68, 70, 72, 74, 76, 78, + 80, +}; + +static encode_aux_threshmatch _vq_auxt_res0_192_128_4 = { + _vq_quantthresh_res0_192_128_4, + _vq_quantmap_res0_192_128_4, + 81, + 81 +}; + +static static_codebook _vq_book_res0_192_128_4 = { + 2, 6561, + _vq_lengthlist_res0_192_128_4, + 1, -525074432, 1611661312, 7, 0, + _vq_quantlist_res0_192_128_4, + NULL, + &_vq_auxt_res0_192_128_4, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_192_128_5.vqh b/lib/books/res0_192_128_5.vqh new file mode 100644 index 00000000..2fefd88c --- /dev/null +++ b/lib/books/res0_192_128_5.vqh @@ -0,0 +1,448 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_192_128_5_VQH_ +#define _V_res0_192_128_5_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_192_128_5[] = { + 150, + 149, + 151, + 148, + 152, + 147, + 153, + 146, + 154, + 145, + 155, + 144, + 156, + 143, + 157, + 142, + 158, + 141, + 159, + 140, + 160, + 139, + 161, + 138, + 162, + 137, + 163, + 136, + 164, + 135, + 165, + 134, + 166, + 133, + 167, + 132, + 168, + 131, + 169, + 130, + 170, + 129, + 171, + 128, + 172, + 127, + 173, + 126, + 174, + 125, + 175, + 124, + 176, + 123, + 177, + 122, + 178, + 121, + 179, + 120, + 180, + 119, + 181, + 118, + 182, + 117, + 183, + 116, + 184, + 115, + 185, + 114, + 186, + 113, + 187, + 112, + 188, + 111, + 189, + 110, + 190, + 109, + 191, + 108, + 192, + 107, + 193, + 106, + 194, + 105, + 195, + 104, + 196, + 103, + 197, + 102, + 198, + 101, + 199, + 100, + 200, + 99, + 201, + 98, + 202, + 97, + 203, + 96, + 204, + 95, + 205, + 94, + 206, + 93, + 207, + 92, + 208, + 91, + 209, + 90, + 210, + 89, + 211, + 88, + 212, + 87, + 213, + 86, + 214, + 85, + 215, + 84, + 216, + 83, + 217, + 82, + 218, + 81, + 219, + 80, + 220, + 79, + 221, + 78, + 222, + 77, + 223, + 76, + 224, + 75, + 225, + 74, + 226, + 73, + 227, + 72, + 228, + 71, + 229, + 70, + 230, + 69, + 231, + 68, + 232, + 67, + 233, + 66, + 234, + 65, + 235, + 64, + 236, + 63, + 237, + 62, + 238, + 61, + 239, + 60, + 240, + 59, + 241, + 58, + 242, + 57, + 243, + 56, + 244, + 55, + 245, + 54, + 246, + 53, + 247, + 52, + 248, + 51, + 249, + 50, + 250, + 49, + 251, + 48, + 252, + 47, + 253, + 46, + 254, + 45, + 255, + 44, + 256, + 43, + 257, + 42, + 258, + 41, + 259, + 40, + 260, + 39, + 261, + 38, + 262, + 37, + 263, + 36, + 264, + 35, + 265, + 34, + 266, + 33, + 267, + 32, + 268, + 31, + 269, + 30, + 270, + 29, + 271, + 28, + 272, + 27, + 273, + 26, + 274, + 25, + 275, + 24, + 276, + 23, + 277, + 22, + 278, + 21, + 279, + 20, + 280, + 19, + 281, + 18, + 282, + 17, + 283, + 16, + 284, + 15, + 285, + 14, + 286, + 13, + 287, + 12, + 288, + 11, + 289, + 10, + 290, + 9, + 291, + 8, + 292, + 7, + 293, + 6, + 294, + 5, + 295, + 4, + 296, + 3, + 297, + 2, + 298, + 1, + 299, + 0, + 300, +}; + +static long _vq_lengthlist_res0_192_128_5[] = { + 2, 3, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 6, 7, 7, 7, + 7, 7, 7, 7, 7, 8, 7, 8, 8, 8, 8, 8, 8, 9, 8, 9, + 9, 9, 9, 9, 9,11,10,11,11,12,10,12,12,12,11,12, + 12,12,10,13,11,12,12,13,12,13,13,12,13,13,13,13, + 13,13,13,12,12,13,13,12,13,13,12,12,13,13,13,13, + 13, 7, 8, 8, 8, 8, 8, 9, 8, 8, 8, 9, 9, 9, 9, 9, + 9, 9, 9,11, 9,11,10,11, 9,10,10,10,10,12,10,11, + 10,11,10,11,11,12,10,12,12,12,12,12,11,12,12,11, + 13,12,12,13,13,11,13,13,13,13,13,13,12,13,12,13, + 12,12,12,11,12,13,13,12,13,13,13,13,13,12,13,13, + 13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13, + 13,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13, + 12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13, + 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, + 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, + 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, + 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, + 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, + 13,13,13,13,13,13,13,13,13,13,13,13,13, +}; + +static float _vq_quantthresh_res0_192_128_5[] = { + -149.5, -148.5, -147.5, -146.5, -145.5, -144.5, -143.5, -142.5, + -141.5, -140.5, -139.5, -138.5, -137.5, -136.5, -135.5, -134.5, + -133.5, -132.5, -131.5, -130.5, -129.5, -128.5, -127.5, -126.5, + -125.5, -124.5, -123.5, -122.5, -121.5, -120.5, -119.5, -118.5, + -117.5, -116.5, -115.5, -114.5, -113.5, -112.5, -111.5, -110.5, + -109.5, -108.5, -107.5, -106.5, -105.5, -104.5, -103.5, -102.5, + -101.5, -100.5, -99.5, -98.5, -97.5, -96.5, -95.5, -94.5, + -93.5, -92.5, -91.5, -90.5, -89.5, -88.5, -87.5, -86.5, + -85.5, -84.5, -83.5, -82.5, -81.5, -80.5, -79.5, -78.5, + -77.5, -76.5, -75.5, -74.5, -73.5, -72.5, -71.5, -70.5, + -69.5, -68.5, -67.5, -66.5, -65.5, -64.5, -63.5, -62.5, + -61.5, -60.5, -59.5, -58.5, -57.5, -56.5, -55.5, -54.5, + -53.5, -52.5, -51.5, -50.5, -49.5, -48.5, -47.5, -46.5, + -45.5, -44.5, -43.5, -42.5, -41.5, -40.5, -39.5, -38.5, + -37.5, -36.5, -35.5, -34.5, -33.5, -32.5, -31.5, -30.5, + -29.5, -28.5, -27.5, -26.5, -25.5, -24.5, -23.5, -22.5, + -21.5, -20.5, -19.5, -18.5, -17.5, -16.5, -15.5, -14.5, + -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, -7.5, -6.5, + -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, + 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, + 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, + 18.5, 19.5, 20.5, 21.5, 22.5, 23.5, 24.5, 25.5, + 26.5, 27.5, 28.5, 29.5, 30.5, 31.5, 32.5, 33.5, + 34.5, 35.5, 36.5, 37.5, 38.5, 39.5, 40.5, 41.5, + 42.5, 43.5, 44.5, 45.5, 46.5, 47.5, 48.5, 49.5, + 50.5, 51.5, 52.5, 53.5, 54.5, 55.5, 56.5, 57.5, + 58.5, 59.5, 60.5, 61.5, 62.5, 63.5, 64.5, 65.5, + 66.5, 67.5, 68.5, 69.5, 70.5, 71.5, 72.5, 73.5, + 74.5, 75.5, 76.5, 77.5, 78.5, 79.5, 80.5, 81.5, + 82.5, 83.5, 84.5, 85.5, 86.5, 87.5, 88.5, 89.5, + 90.5, 91.5, 92.5, 93.5, 94.5, 95.5, 96.5, 97.5, + 98.5, 99.5, 100.5, 101.5, 102.5, 103.5, 104.5, 105.5, + 106.5, 107.5, 108.5, 109.5, 110.5, 111.5, 112.5, 113.5, + 114.5, 115.5, 116.5, 117.5, 118.5, 119.5, 120.5, 121.5, + 122.5, 123.5, 124.5, 125.5, 126.5, 127.5, 128.5, 129.5, + 130.5, 131.5, 132.5, 133.5, 134.5, 135.5, 136.5, 137.5, + 138.5, 139.5, 140.5, 141.5, 142.5, 143.5, 144.5, 145.5, + 146.5, 147.5, 148.5, 149.5, +}; + +static long _vq_quantmap_res0_192_128_5[] = { + 299, 297, 295, 293, 291, 289, 287, 285, + 283, 281, 279, 277, 275, 273, 271, 269, + 267, 265, 263, 261, 259, 257, 255, 253, + 251, 249, 247, 245, 243, 241, 239, 237, + 235, 233, 231, 229, 227, 225, 223, 221, + 219, 217, 215, 213, 211, 209, 207, 205, + 203, 201, 199, 197, 195, 193, 191, 189, + 187, 185, 183, 181, 179, 177, 175, 173, + 171, 169, 167, 165, 163, 161, 159, 157, + 155, 153, 151, 149, 147, 145, 143, 141, + 139, 137, 135, 133, 131, 129, 127, 125, + 123, 121, 119, 117, 115, 113, 111, 109, + 107, 105, 103, 101, 99, 97, 95, 93, + 91, 89, 87, 85, 83, 81, 79, 77, + 75, 73, 71, 69, 67, 65, 63, 61, + 59, 57, 55, 53, 51, 49, 47, 45, + 43, 41, 39, 37, 35, 33, 31, 29, + 27, 25, 23, 21, 19, 17, 15, 13, + 11, 9, 7, 5, 3, 1, 0, 2, + 4, 6, 8, 10, 12, 14, 16, 18, + 20, 22, 24, 26, 28, 30, 32, 34, + 36, 38, 40, 42, 44, 46, 48, 50, + 52, 54, 56, 58, 60, 62, 64, 66, + 68, 70, 72, 74, 76, 78, 80, 82, + 84, 86, 88, 90, 92, 94, 96, 98, + 100, 102, 104, 106, 108, 110, 112, 114, + 116, 118, 120, 122, 124, 126, 128, 130, + 132, 134, 136, 138, 140, 142, 144, 146, + 148, 150, 152, 154, 156, 158, 160, 162, + 164, 166, 168, 170, 172, 174, 176, 178, + 180, 182, 184, 186, 188, 190, 192, 194, + 196, 198, 200, 202, 204, 206, 208, 210, + 212, 214, 216, 218, 220, 222, 224, 226, + 228, 230, 232, 234, 236, 238, 240, 242, + 244, 246, 248, 250, 252, 254, 256, 258, + 260, 262, 264, 266, 268, 270, 272, 274, + 276, 278, 280, 282, 284, 286, 288, 290, + 292, 294, 296, 298, 300, +}; + +static encode_aux_threshmatch _vq_auxt_res0_192_128_5 = { + _vq_quantthresh_res0_192_128_5, + _vq_quantmap_res0_192_128_5, + 301, + 301 +}; + +static static_codebook _vq_book_res0_192_128_5 = { + 1, 301, + _vq_lengthlist_res0_192_128_5, + 1, -520962048, 1611661312, 9, 0, + _vq_quantlist_res0_192_128_5, + NULL, + &_vq_auxt_res0_192_128_5, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_192_128aux.vqh b/lib/books/res0_192_128aux.vqh new file mode 100644 index 00000000..99393a39 --- /dev/null +++ b/lib/books/res0_192_128aux.vqh @@ -0,0 +1,117 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by huff/huffbuld + + ********************************************************************/ + +#ifndef _V_res0_192_128aux_VQH_ +#define _V_res0_192_128aux_VQH_ +#include "codebook.h" + +static long _huff_lengthlist_res0_192_128aux[] = { + 9,16,16,16,16,16,12,14,16,16,16,16,15,16,16,16, + 16,16,12,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16, 9,14,16,16,16,16,10,11,15,16,16,16, + 14,14,16,16,16,16,15,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,11,16,16,16,16,16,12,14, + 15,16,16,16,15,16,16,16,16,16,15,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,10,16,16,16, + 16,16,12,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16, 4,10,13,14,16,16, 8, 9, + 14,16,16,16,14,13,14,16,16,16,12,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16, 4, 8,11,12, + 16,16, 5, 3, 6,10,16,16,10, 6, 8,15,16,16,13,15, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 9,12,16,16,16,16, 8, 5, 8,13,16,16,11, 7,10,16, + 16,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,11,15,16,16,16,16,13,13,15,16,16,16, + 14,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 6,11,16,16,16,16,10,10,16,16,16,16,14,13,13,16, + 16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16, 6, 9,11,14,16,16, 6, 5, 8,11,16,16, + 11, 7, 9,15,16,16,16,14,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16, 9,12,15,16,16,16, 9, 7, + 10,16,16,16,12, 9,11,16,16,16,14,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16, + 16,16,13,13,15,16,16,16,15,16,16,16,16,16,13,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16, 9,12,16,16,16,16,11,13, + 15,16,16,16,15,14,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,11,14,13,14, + 16,16,11, 4, 6,10,16,16,11, 5, 7,13,16,16,14,11, + 12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 12,14,13,12,16,16,13, 4, 4, 9,15,16,11, 4, 6,10, + 16,16,13,10,11,14,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,14,15,13,13,16,16,16, 8, 8,10,15,16, + 16, 8, 9,12,16,16,16,12,14,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 13,15,16,16,16,16,16,15,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,15,15,14,16,16,16,13, 6, 7,12,16,16, + 14, 7, 8,13,16,16,16,12,13,15,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,15,16,16,16,13, 5, + 6,10,16,16,13, 6, 7,11,16,16,16,11,12,15,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16, 9, 9,14,16,16,16, 9,11,14,16,16,16,14, + 14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16, 9,10,15,16,16,16,10,11,16,16,16,16,14, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16, 8, 9,13,16,16,15, 9,10,16, + 16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,13,12,16,16,16, + 16,15,13,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15, +}; + +static static_codebook _huff_book_res0_192_128aux = { + 4, 1296, + _huff_lengthlist_res0_192_128aux, + 0, 0, 0, 0, 0, + NULL, + NULL, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_256_1024_1.vqh b/lib/books/res0_256_1024_1.vqh new file mode 100644 index 00000000..c1095998 --- /dev/null +++ b/lib/books/res0_256_1024_1.vqh @@ -0,0 +1,99 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_256_1024_1_VQH_ +#define _V_res0_256_1024_1_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_256_1024_1[] = { + 2, + 1, + 3, + 0, + 4, +}; + +static long _vq_lengthlist_res0_256_1024_1[] = { + 2, 4, 4, 8, 8, 5, 7, 7,10,10, 5, 7, 7,10,10, 9, + 10,10,12,13, 9,10,10,12,12, 5, 7, 7,10,10, 7, 8, + 8,11,11, 7, 8, 8,11,11,10,11,11,13,13,10,11,11, + 13,14, 5, 7, 7,10,10, 7, 8, 8,11,11, 7, 8, 8,11, + 11,10,11,11,13,13,10,11,11,13,13, 9,10,10,13,13, + 10,12,11,14,13,10,12,11,14,14,13,14,14,15,16,13, + 14,14,15,15, 9,10,10,13,13,10,11,11,14,13,10,11, + 11,14,13,13,14,14,15,15,13,14,14,15,15, 5, 7, 7, + 10,10, 7, 8, 8,11,11, 7, 8, 8,11,11,10,11,11,13, + 13,10,11,11,13,13, 7, 9, 9,11,11, 9,10,10,12,12, + 9,10,10,12,12,11,12,12,14,14,11,12,12,14,14, 7, + 9, 9,11,11, 9,10,10,12,12, 9,10,10,12,12,11,12, + 12,15,14,12,12,12,14,14,11,12,12,14,14,12,12,12, + 14,15,12,12,12,14,14,14,14,14,16,16,14,14,14,16, + 16,10,12,12,14,14,11,12,12,15,14,12,12,13,14,14, + 14,14,14,16,15,14,15,15,16,16, 5, 7, 7,10,10, 7, + 8, 8,11,11, 7, 8, 8,11,11,10,11,11,13,13,10,11, + 11,13,13, 7, 9, 8,11,11, 9,10,10,12,12, 9,10,10, + 12,12,12,12,12,14,14,11,12,12,14,14, 7, 8, 8,11, + 11, 9,10,10,12,12, 8,10,10,12,12,11,12,12,14,14, + 11,12,12,14,14,11,12,12,14,14,12,12,12,14,14,12, + 12,12,15,14,14,14,15,16,17,14,14,15,16,16,10,12, + 12,14,14,12,12,12,14,14,11,12,12,15,14,14,14,14, + 16,16,14,14,14,16,16, 9,11,11,13,13,10,12,12,14, + 14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15, + 10,12,12,14,14,12,12,13,15,14,12,13,12,15,14,14, + 14,15,16,16,14,15,15,16,16,10,12,12,14,14,12,13, + 12,15,14,12,12,12,14,15,14,15,14,16,16,14,15,15, + 16,16,13,14,14,16,15,14,14,14,16,17,14,15,15,16, + 16,15,16,16,17,18,16,16,16,17,17,13,14,14,16,16, + 14,14,14,17,16,14,15,15,16,16,16,16,16,18,17,16, + 17,17,18,18, 9,11,10,13,13,10,12,11,14,14,10,12, + 12,14,14,13,14,14,16,15,13,14,14,15,15,10,12,12, + 14,14,12,13,12,14,14,12,12,13,14,14,14,15,14,16, + 16,14,14,14,16,16,10,12,11,14,13,12,12,12,15,15, + 12,13,12,14,14,14,14,15,16,16,14,14,15,16,16,13, + 14,14,15,15,14,15,15,16,16,14,14,14,16,16,16,16, + 16,18,18,16,16,16,17,18,13,14,14,15,16,14,15,15, + 17,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18, + 17, +}; + +static float _vq_quantthresh_res0_256_1024_1[] = { + -1.5, -0.5, 0.5, 1.5, +}; + +static long _vq_quantmap_res0_256_1024_1[] = { + 3, 1, 0, 2, 4, +}; + +static encode_aux_threshmatch _vq_auxt_res0_256_1024_1 = { + _vq_quantthresh_res0_256_1024_1, + _vq_quantmap_res0_256_1024_1, + 5, + 5 +}; + +static static_codebook _vq_book_res0_256_1024_1 = { + 4, 625, + _vq_lengthlist_res0_256_1024_1, + 1, -533725184, 1611661312, 3, 0, + _vq_quantlist_res0_256_1024_1, + NULL, + &_vq_auxt_res0_256_1024_1, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_256_1024_2.vqh b/lib/books/res0_256_1024_2.vqh new file mode 100644 index 00000000..fdbecd97 --- /dev/null +++ b/lib/books/res0_256_1024_2.vqh @@ -0,0 +1,475 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_256_1024_2_VQH_ +#define _V_res0_256_1024_2_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_256_1024_2[] = { + 4, + 3, + 5, + 2, + 6, + 1, + 7, + 0, + 8, +}; + +static long _vq_lengthlist_res0_256_1024_2[] = { + 5, 7, 7, 8, 8, 9, 9,10,10, 7, 8, 8, 9, 9,10,10, + 12,12, 7, 8, 8, 9, 9,10,10,12,12, 8, 9, 9,10,10, + 12,12,13,13, 8, 9, 9,10,10,12,12,13,13, 9,10,10, + 12,12,13,13,14,14, 9,10,10,12,12,13,13,14,14,10, + 12,12,14,13,15,14,16,16,10,12,12,13,13,14,15,16, + 16, 7, 8, 8, 9, 9,10,10,12,12, 8, 9, 9,10,10,11, + 11,13,13, 8, 9, 9,10,10,11,11,13,13, 9,10,10,11, + 11,12,12,13,14, 9,10,10,11,11,12,12,14,14,11,11, + 11,12,12,14,13,15,15,11,11,11,12,12,13,13,15,15, + 12,13,13,14,14,15,15,16,17,12,13,13,14,14,15,15, + 16,16, 7, 8, 8, 9, 9,10,10,12,12, 8, 9, 9,10,10, + 11,11,13,12, 8, 9, 9,10,10,11,11,13,12, 9,10,10, + 11,11,12,12,14,14, 9,10,10,11,11,12,12,14,14,11, + 11,11,12,12,14,13,15,15,11,11,11,12,12,14,14,15, + 15,12,13,13,14,14,15,15,16,16,12,13,13,14,14,15, + 15,16,16, 8, 9, 9,11,11,12,12,13,13, 9,10,10,11, + 11,12,12,14,14, 9,10,10,11,11,12,12,14,14,11,11, + 11,12,12,13,13,14,14,11,11,11,12,12,13,13,14,15, + 12,12,13,13,13,14,15,15,15,12,12,12,13,13,14,14, + 16,16,14,14,14,15,15,16,16,17,18,14,14,14,15,15, + 15,16,16,18, 8, 9, 9,11,11,12,12,13,13, 9,10,10, + 11,11,12,12,14,14, 9,10,10,11,11,12,12,14,14,11, + 11,11,12,12,13,13,15,15,11,11,11,12,12,13,13,14, + 15,12,12,12,13,13,14,15,15,16,12,12,12,13,13,15, + 14,15,16,14,14,14,15,15,16,16,17,17,14,14,14,15, + 15,16,16,17,17, 9,11,11,12,12,13,13,15,14,11,11, + 11,12,12,14,14,15,15,11,11,11,12,12,14,14,15,15, + 12,12,12,14,13,15,14,15,16,12,13,12,14,13,15,15, + 16,16,13,14,14,15,15,16,16,17,17,13,14,14,15,15, + 15,16,17,17,15,15,15,16,16,16,16,17,18,15,15,15, + 16,16,17,17,18,18, 9,11,11,12,12,13,13,15,14,11, + 11,11,12,12,14,14,15,15,11,11,11,12,12,14,14,15, + 15,12,13,13,14,13,15,14,16,16,12,12,12,13,13,15, + 15,16,15,13,14,14,14,15,16,16,17,16,13,14,14,15, + 15,16,15,18,17,15,15,16,15,16,16,17,18,18,15,15, + 15,16,16,17,16,18,18,11,12,12,13,14,15,15,16,16, + 12,13,13,14,14,15,15,17,16,12,13,13,14,14,15,16, + 16,16,14,14,14,15,15,16,16,17,17,14,14,14,15,15, + 16,16,17,17,15,15,15,16,16,16,17,18,17,15,15,15, + 16,16,17,17,18,18,16,16,17,17,18,18,19,18,19,16, + 17,16,17,18,17,18,19,20,11,12,12,14,14,15,15,16, + 16,12,13,13,14,14,16,15,16,16,12,13,13,14,14,15, + 15,16,16,13,14,14,15,15,16,16,17,17,13,14,14,15, + 15,16,16,17,17,15,15,15,16,16,17,17,19,18,15,15, + 15,16,16,17,17,17,18,16,16,16,17,17,17,18,19,21, + 16,17,17,17,17,18,18,18,19, 7, 8, 8, 9, 9,10,10, + 12,12, 8, 9, 9,10,10,11,11,13,13, 8, 9, 9,10,10, + 11,11,13,13, 9,10,10,11,11,12,12,14,14, 9,10,10, + 11,11,12,12,13,14,10,11,11,12,12,14,14,15,15,11, + 11,11,12,12,14,13,15,15,12,13,13,14,14,15,15,17, + 16,12,13,13,14,14,15,15,16,16, 8, 9, 9,10,10,11, + 11,13,13, 9, 9, 9,10,10,12,12,13,13, 9, 9, 9,10, + 10,12,12,13,13,10,10,10,11,12,12,13,14,14,10,10, + 11,12,11,13,13,14,14,11,12,12,13,13,14,14,16,15, + 11,12,12,13,13,14,14,16,15,13,13,13,14,14,16,15, + 16,16,13,13,13,14,14,15,15,16,17, 8, 9, 9,10,10, + 11,11,13,13, 9, 9, 9,10,10,12,12,13,13, 9, 9, 9, + 10,10,12,12,13,13,10,10,10,11,11,13,13,14,14,10, + 10,10,11,11,13,13,14,14,11,12,12,13,13,14,14,15, + 15,11,12,12,13,13,14,14,15,15,13,13,13,14,14,15, + 16,16,16,13,13,13,14,14,15,15,17,16, 9,10,10,11, + 11,12,12,14,14,10,10,10,12,12,13,13,14,14,10,10, + 11,12,12,13,13,14,14,11,11,12,12,13,14,14,15,15, + 11,12,12,13,13,14,14,15,15,12,13,13,14,14,15,15, + 16,16,12,13,13,14,14,15,15,16,16,14,14,14,15,15, + 16,16,17,18,14,14,14,15,15,16,16,18,17, 9,10,10, + 11,11,12,12,14,14,10,11,10,12,12,13,13,14,14,10, + 10,11,12,12,13,13,14,14,11,12,12,12,12,14,13,15, + 15,11,12,12,13,13,14,14,15,15,12,13,13,14,14,15, + 14,16,16,12,13,13,14,14,15,14,16,16,14,15,14,15, + 15,16,16,17,17,14,14,14,15,15,16,16,18,17,11,11, + 11,12,12,14,14,15,15,11,12,12,13,13,14,14,15,16, + 11,12,12,13,13,14,14,16,15,12,13,13,14,14,15,15, + 17,16,13,13,13,14,14,15,15,16,16,14,14,14,15,15, + 16,16,17,17,14,14,14,15,15,16,16,17,17,15,15,16, + 16,16,17,17,18,17,15,16,16,16,16,17,17,18,18,11, + 11,11,13,12,14,14,15,15,11,12,12,13,13,14,14,16, + 15,11,12,12,13,13,14,14,15,16,12,13,13,14,14,15, + 15,16,16,12,13,13,14,14,15,15,16,16,14,14,14,15, + 15,16,16,17,17,14,14,14,15,15,16,16,17,17,15,15, + 16,16,16,17,17,17,18,15,16,15,16,16,17,17,18,19, + 12,13,13,14,14,15,15,16,17,13,14,13,15,15,16,15, + 18,16,13,13,14,14,14,16,15,17,16,14,14,14,15,15, + 16,16,18,17,14,14,15,15,15,16,16,17,18,15,16,16, + 16,16,18,17,18,18,16,15,15,16,17,17,17,18,18,17, + 17,17,18,17,18,18,20,21,16,16,17,18,17,19,19,20, + 18,12,13,13,14,14,15,15,17,17,13,13,14,14,15,16, + 16,17,17,13,14,14,14,15,16,15,17,17,14,15,14,15, + 15,16,17,18,17,14,14,14,15,15,16,17,17,17,15,16, + 15,17,16,18,18,19,19,15,16,15,16,16,17,17,18,17, + 17,17,17,18,17,19,18,19,19,16,17,17,17,17,18,19, + 19,19, 7, 8, 8, 9, 9,10,10,12,12, 8, 9, 9,10,10, + 11,11,13,13, 8, 9, 9,10,10,11,11,13,13, 9,10,10, + 11,11,12,12,14,13, 9,10,10,11,11,12,12,14,14,10, + 11,11,12,12,13,14,15,15,10,11,11,12,12,14,14,15, + 15,12,13,13,14,14,15,15,17,17,12,13,13,14,14,15, + 15,16,16, 8, 9, 9,10,10,11,11,13,13, 9, 9, 9,11, + 10,12,12,13,13, 9, 9, 9,10,10,12,12,13,13,10,10, + 11,11,11,13,13,14,14,10,10,10,11,12,13,13,14,14, + 11,12,12,13,13,14,14,16,15,11,12,12,13,13,14,14, + 16,15,13,13,13,14,14,15,15,17,17,13,13,13,14,14, + 15,16,17,17, 8, 9, 9,10,10,11,11,13,13, 9, 9, 9, + 10,10,12,12,13,13, 9, 9, 9,10,10,12,12,13,13,10, + 11,10,12,11,13,13,14,14,10,10,10,11,11,13,13,14, + 14,11,12,12,13,13,14,14,15,15,11,12,12,13,13,14, + 14,15,15,13,14,14,14,14,15,16,17,17,13,13,13,14, + 14,16,16,17,17, 9,10,10,11,11,12,12,14,14,10,11, + 10,12,11,13,13,14,14,10,11,11,12,11,13,13,14,14, + 11,12,12,13,13,14,13,15,14,11,12,12,12,12,13,13, + 15,15,13,13,13,14,14,15,15,16,16,12,13,13,14,14, + 15,15,16,16,14,14,14,15,15,16,16,18,17,14,14,15, + 15,15,16,16,17,18, 9,10,10,11,11,12,12,14,14,10, + 10,11,12,12,13,13,14,14,10,11,10,12,11,13,13,14, + 14,11,12,12,12,13,14,14,15,15,11,12,12,13,12,13, + 14,15,15,13,13,13,14,14,15,15,16,16,12,13,13,14, + 14,15,14,16,16,14,14,14,15,15,16,16,17,17,14,14, + 14,15,15,16,16,17,17,11,11,11,13,12,14,14,15,15, + 11,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14, + 15,15,12,13,13,14,14,15,15,16,16,12,13,13,14,14, + 15,15,16,16,14,14,14,15,15,16,16,18,17,14,14,14, + 15,15,16,16,17,17,15,16,15,16,16,18,18,18,18,15, + 16,15,16,17,17,17,18,18,11,11,11,12,13,14,14,15, + 15,11,12,12,13,13,14,14,15,15,11,12,12,13,13,14, + 14,16,15,13,13,13,14,14,15,15,16,16,12,13,13,14, + 14,15,15,16,16,14,14,14,15,15,16,16,18,17,14,14, + 14,15,15,16,16,17,17,15,16,15,16,16,17,17,18,18, + 15,16,16,16,16,17,17,20,18,12,13,13,14,14,15,15, + 16,17,13,14,14,14,15,16,15,18,16,13,13,13,15,14, + 16,16,16,17,14,14,14,16,15,16,16,17,18,14,14,14, + 15,15,16,17,17,17,15,16,16,16,16,17,17,18,18,15, + 16,15,16,17,17,17,18,19,17,17,17,17,18,18,20,20, + 20,17,17,17,17,17,19,19,20,19,12,13,13,14,14,15, + 16,16,16,13,14,13,14,15,16,15,17,17,13,13,13,14, + 14,16,15,17,17,14,14,14,15,16,16,16,18,17,14,14, + 14,15,15,16,16,17,17,15,16,16,16,16,17,17,18,18, + 15,15,15,16,16,17,17,19,18,17,17,17,17,17,18,18, + 20,19,16,17,16,17,18,20,19,18,19, 9, 9, 9,11,11, + 12,12,13,13, 9,10,10,11,11,12,12,14,14, 9,10,10, + 11,11,12,12,14,14,11,11,11,12,12,14,13,15,15,11, + 11,11,12,12,13,13,15,15,12,13,13,13,14,15,15,17, + 16,12,12,12,13,13,14,14,16,16,13,14,14,15,15,16, + 16,17,18,13,14,14,15,15,16,16,17,17, 9,10,10,11, + 11,12,12,14,14,10,11,11,12,12,13,13,14,14,10,11, + 10,12,12,13,13,14,14,11,12,12,12,13,14,14,15,15, + 11,12,12,13,13,14,14,15,15,13,13,13,14,14,15,15, + 16,16,13,13,13,14,14,15,15,16,16,14,14,14,15,16, + 16,16,18,17,14,15,15,15,15,16,17,18,17, 9,10,10, + 11,11,13,12,14,14,10,11,10,12,12,13,13,14,14,10, + 11,11,12,12,13,13,14,14,11,12,12,13,13,14,14,15, + 15,11,12,12,13,13,14,14,16,15,12,13,13,14,14,15, + 15,16,16,12,13,13,14,14,15,15,16,16,14,14,14,15, + 15,16,16,17,18,14,14,14,15,15,16,16,18,17,11,11, + 11,12,12,14,13,15,15,11,12,12,13,13,14,14,15,15, + 11,12,12,13,13,14,14,15,15,12,12,13,13,14,14,15, + 16,16,12,13,13,14,13,15,15,16,16,13,14,14,15,15, + 16,16,17,17,13,14,14,14,15,16,16,17,17,15,15,15, + 16,16,17,17,18,18,15,15,15,16,16,17,16,18,17,11, + 11,11,12,12,13,13,15,15,11,12,12,13,12,14,14,15, + 15,11,12,12,13,13,14,14,15,15,12,13,13,14,13,14, + 14,16,15,12,13,13,13,13,15,14,16,16,13,14,14,15, + 15,16,16,17,17,14,14,14,15,15,16,16,16,17,15,15, + 15,16,16,17,17,18,18,15,15,15,16,16,17,17,18,18, + 12,13,13,14,13,14,15,16,16,12,13,13,14,14,15,15, + 16,16,12,13,13,14,14,15,15,16,16,13,14,14,14,15, + 16,16,17,17,13,14,14,15,15,16,15,18,17,15,15,15, + 16,16,16,17,17,18,15,15,15,16,16,17,16,17,18,16, + 16,16,16,17,18,18,18,20,16,16,16,17,18,19,18,19, + 18,12,12,13,14,13,14,15,16,16,12,13,13,14,14,15, + 15,16,16,12,13,13,14,14,15,15,16,17,13,14,14,14, + 15,16,15,17,17,14,14,14,14,15,16,16,17,17,15,15, + 15,16,15,17,16,18,17,15,15,15,15,16,17,17,18,17, + 16,16,16,17,17,18,17,19,18,16,17,16,17,17,18,18, + 18,18,14,14,14,15,15,16,16,17,18,14,14,14,15,15, + 17,17,17,17,14,15,14,15,15,17,17,18,17,15,15,15, + 16,16,17,16,18,18,15,15,15,16,16,17,16,19,19,16, + 17,16,17,17,18,17,18,19,16,16,16,17,17,18,17,18, + 19,17,18,18,19,18,18,18,20,20,17,18,18,18,18,19, + 18,20,21,14,14,14,15,15,16,16,18,17,14,14,15,15, + 15,16,16,17,18,14,14,14,16,16,16,17,17,18,15,15, + 15,16,16,17,17,18,19,15,15,15,16,16,17,16,18,18, + 16,16,16,17,16,17,18,19,18,16,16,16,17,17,17,20, + 19,19,17,17,17,19,19,19,18,19,20,18,17,17,18,18, + 18,18,19,20, 8, 9, 9,11,11,12,12,13,13, 9,10,10, + 11,11,12,12,14,14, 9,10,10,11,11,12,12,14,14,11, + 11,11,12,12,13,14,15,15,11,11,11,12,12,13,13,15, + 15,12,13,12,13,13,15,15,16,16,12,13,12,13,13,15, + 15,16,16,13,14,14,15,15,16,16,18,17,13,14,14,15, + 15,16,16,17,17, 9,10,10,11,11,12,13,14,14,10,11, + 11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14, + 11,12,12,13,12,14,14,15,15,11,12,12,13,13,14,14, + 15,15,12,13,13,14,14,15,15,16,16,13,13,13,14,14, + 15,15,16,16,14,14,15,15,15,16,16,17,18,14,14,14, + 15,15,16,16,17,18, 9,10,10,11,11,12,13,14,14,10, + 11,11,11,12,13,13,14,14,10,11,11,12,12,13,13,14, + 14,11,12,12,13,13,13,14,15,15,11,12,12,13,12,14, + 14,15,15,12,13,13,14,14,15,15,16,16,12,13,13,14, + 14,15,15,17,16,14,14,15,15,15,16,16,17,17,14,14, + 14,16,15,16,16,17,18,11,11,11,12,12,14,13,15,15, + 11,12,12,13,12,14,14,15,15,11,12,12,13,13,14,14, + 15,15,12,13,13,13,13,15,15,16,16,12,13,13,13,13, + 14,15,15,16,13,14,14,15,14,16,16,17,17,13,14,14, + 15,15,15,16,17,17,15,15,15,16,16,18,17,18,18,15, + 15,15,16,16,17,17,18,18,11,11,11,12,12,13,13,15, + 15,11,12,12,13,13,13,14,15,15,11,12,12,13,13,14, + 14,15,15,12,13,13,13,13,14,15,17,16,12,13,13,13, + 13,15,14,16,16,14,14,14,15,15,16,15,18,18,13,14, + 14,15,14,16,15,17,17,15,15,15,16,16,17,17,17,18, + 15,15,15,16,16,17,17,19,17,12,12,12,14,13,14,15, + 16,16,12,13,13,14,14,15,15,16,17,12,13,13,14,14, + 15,15,16,16,14,14,14,15,15,16,15,18,17,14,14,14, + 14,15,16,16,16,16,15,15,15,15,16,17,16,18,18,15, + 15,15,15,16,16,16,18,18,16,17,16,17,17,18,18,18, + 19,16,17,16,17,17,18,18,19,18,12,13,13,13,14,15, + 15,16,16,12,13,13,14,14,15,15,16,16,12,13,13,14, + 14,15,15,16,17,14,14,14,15,15,16,16,17,17,13,14, + 14,14,14,16,16,17,17,15,15,15,16,16,17,16,18,17, + 15,15,15,16,16,17,16,18,17,16,16,16,18,17,18,17, + 18,19,16,16,16,17,17,18,17,18,18,14,14,14,15,15, + 16,16,17,18,14,15,14,16,15,17,16,18,18,14,14,15, + 15,15,16,16,17,17,15,16,15,16,16,17,17,18,18,15, + 15,15,16,15,17,17,18,18,16,17,17,17,17,17,18,18, + 19,16,16,16,17,17,17,18,18,19,17,17,17,19,18,19, + 18,20,19,18,17,18,18,18,18,19,19,20,13,14,14,15, + 15,16,16,17,17,14,15,14,15,15,16,16,17,17,14,14, + 14,15,16,16,16,18,18,15,15,15,16,16,17,17,18,18, + 15,15,15,16,16,17,17,18,19,17,16,16,17,17,18,18, + 20,19,16,16,16,17,17,17,17,19,19,18,17,17,18,17, + 19,19,19,19,17,17,17,18,18,18,18,21,20, 9,11,11, + 12,12,13,13,15,15,11,11,11,13,13,14,14,15,15,11, + 11,11,13,13,14,14,15,15,12,13,13,14,13,15,15,16, + 16,12,13,13,13,14,15,15,16,15,13,14,14,15,15,16, + 16,17,17,13,14,14,15,15,16,16,17,17,15,15,16,16, + 16,17,17,18,18,15,15,15,16,16,17,17,18,18,11,11, + 11,12,13,14,14,15,15,11,12,12,13,13,14,14,16,15, + 11,12,12,13,13,14,14,16,15,13,13,13,14,14,15,15, + 16,16,13,13,13,14,14,15,15,16,16,14,14,14,15,15, + 16,16,18,17,14,14,14,15,15,16,16,17,17,15,15,16, + 16,17,17,17,18,18,15,16,16,16,16,18,17,20,18,11, + 11,11,13,13,14,14,15,15,11,12,12,13,13,14,14,16, + 15,11,12,12,13,13,14,14,15,16,13,13,13,14,14,15, + 15,16,16,12,13,13,14,14,15,15,17,16,14,14,14,15, + 15,16,15,18,17,14,14,14,15,15,16,16,18,18,15,16, + 16,16,16,17,17,19,17,15,15,15,16,16,17,17,18,18, + 12,13,12,13,13,15,15,16,16,12,13,13,14,14,15,15, + 17,17,12,13,13,14,14,15,15,17,16,13,14,14,14,15, + 16,16,17,17,14,14,14,15,14,16,16,17,17,15,15,15, + 16,16,17,16,18,18,15,15,15,16,16,17,17,18,18,16, + 16,16,17,17,18,18,19,18,16,16,17,17,17,17,18,18, + 19,12,12,13,13,14,15,14,16,17,12,13,13,14,14,15, + 15,16,17,12,13,13,14,14,15,15,16,16,14,14,14,15, + 15,16,16,17,18,14,14,14,15,15,16,16,17,17,14,15, + 15,15,16,17,16,18,17,15,15,15,16,16,16,17,18,18, + 16,17,16,17,17,17,18,18,19,16,17,17,17,17,18,18, + 18,18,13,14,14,15,15,16,16,17,17,14,14,14,15,15, + 16,16,17,17,14,14,14,15,15,16,16,17,17,14,15,15, + 15,16,17,17,17,18,15,15,15,16,15,17,17,18,18,16, + 16,16,16,17,17,19,18,19,16,16,16,16,16,18,17,19, + 18,17,17,17,17,18,17,18,21,19,17,17,17,17,18,19, + 18,21,20,13,14,14,15,15,16,16,17,17,13,14,14,15, + 15,16,16,17,17,14,14,14,15,15,16,16,17,18,15,15, + 15,16,16,17,16,18,18,15,15,15,16,15,16,17,17,18, + 16,16,16,17,16,18,18,17,18,16,16,16,17,17,17,19, + 19,18,17,17,18,18,17,18,18,20,19,17,17,17,18,18, + 18,19,21,20,15,15,15,16,16,17,16,18,18,15,15,15, + 17,16,18,17,18,18,15,15,15,17,17,17,17,18,18,16, + 16,16,17,17,17,18,19,19,16,16,16,17,17,18,17,18, + 20,17,17,17,17,19,18,18,19,19,17,18,18,19,17,18, + 19,19,19,17,18,18,19,18,18,20,20,21,18,19,19,19, + 19,19,20,19,21,15,15,16,16,16,17,18,18,17,15,16, + 16,16,16,17,17,19,19,15,16,16,16,16,18,17,18,18, + 16,16,16,17,17,17,18,19,19,16,16,16,17,17,18,18, + 19,19,17,17,17,18,18,19,19,19,20,17,17,18,18,18, + 18,20,18,21,18,18,19,19,18,20,20,20,19,18,19,19, + 19,18,19,21,19,20, 9,11,11,12,12,13,13,15,15,11, + 11,11,13,13,14,14,15,15,11,11,11,13,13,14,14,15, + 15,12,13,13,13,14,15,14,16,16,12,12,13,14,13,15, + 15,16,16,13,14,14,15,15,16,16,17,17,13,14,14,15, + 15,16,16,17,17,15,15,15,16,16,17,17,17,18,15,15, + 15,16,16,17,17,18,18,10,11,11,12,13,14,14,15,15, + 11,12,12,13,13,14,14,15,16,11,12,12,13,13,14,14, + 15,16,13,13,13,14,14,15,15,17,16,13,13,13,14,14, + 15,15,16,16,14,14,14,15,15,16,16,17,17,14,14,14, + 15,15,16,16,17,17,15,16,16,17,16,18,17,19,19,15, + 15,15,17,16,17,18,19,18,10,11,11,12,12,14,14,15, + 15,11,12,12,13,13,14,14,16,15,11,12,12,13,13,14, + 14,16,15,12,13,13,14,14,15,15,17,16,13,13,13,14, + 14,15,15,16,16,14,14,14,15,15,16,16,17,17,14,14, + 14,15,15,16,16,18,17,15,15,16,16,16,17,17,18,18, + 15,16,16,17,16,17,17,18,18,12,12,13,14,14,15,15, + 16,16,12,13,13,14,14,15,15,17,16,12,13,13,14,14, + 15,15,17,16,14,14,14,15,14,16,16,17,17,13,14,14, + 14,15,15,16,17,17,15,15,15,16,15,17,17,18,17,15, + 15,15,16,16,17,16,17,18,16,16,16,17,17,19,18,18, + 19,16,16,16,17,17,17,18,18,18,12,12,12,13,14,15, + 15,16,16,12,13,13,14,14,15,15,16,16,12,13,13,14, + 14,15,15,16,16,13,14,14,15,15,15,16,17,17,13,14, + 14,15,14,16,16,16,16,15,15,15,16,16,16,17,18,18, + 15,15,15,16,15,17,16,18,18,16,16,17,17,18,18,18, + 21,19,16,16,16,17,17,17,18,19,19,13,14,14,15,15, + 16,16,17,18,14,14,14,15,15,16,16,17,17,14,14,14, + 15,15,16,16,18,17,15,15,15,16,15,17,17,18,18,15, + 15,15,15,15,17,17,17,18,16,16,16,17,17,17,18,19, + 19,16,16,16,16,16,17,18,18,18,17,17,18,18,17,19, + 18,20,19,17,17,17,17,18,18,19,19,19,13,14,14,15, + 15,16,16,17,17,14,14,14,15,15,16,16,17,17,14,14, + 14,15,15,16,16,17,17,14,15,15,16,16,17,17,17,18, + 15,15,15,16,15,17,16,17,17,16,16,16,17,17,17,18, + 19,18,16,16,16,17,16,17,17,18,18,17,17,17,18,17, + 18,18,19,20,17,17,17,17,17,20,18,19,19,15,15,15, + 16,16,17,17,18,18,15,15,15,16,16,18,17,18,18,15, + 16,16,16,16,18,18,17,18,16,17,17,17,17,17,18,19, + 19,16,16,16,17,17,17,18,18,18,17,17,17,18,20,19, + 19,19,20,16,17,18,18,18,18,19,19,19,18,20,19,18, + 19,19,20,19,20,18,18,18,19,19,18,19,20,20,15,15, + 15,16,16,17,17,18,19,15,16,16,16,16,17,17,18,18, + 15,16,15,16,16,17,17,19,19,16,16,16,16,17,18,19, + 19,20,16,16,16,17,17,19,18,18,18,17,18,19,18,17, + 18,19,20,21,17,17,17,17,17,20,18,19,19,18,19,18, + 20,19,19,19,19,21,18,18,19,19,18,19,19,20,20,11, + 12,12,14,14,15,15,16,16,12,13,13,14,14,16,15,16, + 17,12,13,13,14,14,15,16,17,17,13,14,14,15,15,16, + 16,17,17,13,14,14,15,15,16,17,17,17,15,15,16,16, + 16,17,17,18,18,15,15,15,16,16,17,17,18,18,16,17, + 16,17,17,18,18,20,20,16,16,17,17,17,18,18,19,19, + 12,13,13,14,14,15,15,17,16,13,13,14,14,14,15,16, + 17,17,13,13,13,15,15,16,16,16,17,14,14,15,15,15, + 17,16,18,17,14,15,14,15,16,16,17,18,17,15,16,16, + 17,16,17,17,19,18,15,16,15,16,16,17,17,19,19,17, + 17,17,18,18,18,18,20,20,17,17,17,18,17,19,19,19, + 19,12,13,13,14,14,15,15,16,17,13,14,13,14,15,15, + 15,17,17,13,14,13,14,14,16,16,17,17,14,15,15,15, + 16,16,16,17,18,14,14,15,15,15,16,17,17,17,15,16, + 16,16,16,18,17,19,18,15,16,15,16,17,17,17,18,18, + 16,17,18,18,18,19,18,19,20,17,18,17,18,17,18,18, + 19,21,13,14,14,15,15,16,16,17,17,14,14,14,15,15, + 16,16,17,18,14,14,14,15,15,17,16,19,18,15,15,15, + 16,16,17,17,19,18,15,15,15,16,16,17,17,17,18,16, + 16,16,16,17,18,18,21,20,16,16,16,16,16,17,17,19, + 18,17,18,18,18,19,18,20,20,19,18,18,17,18,18,20, + 19,20,18,13,14,14,15,15,16,16,18,17,14,14,14,16, + 15,17,16,17,17,14,14,15,16,15,16,17,17,18,15,15, + 15,16,16,17,17,18,18,15,15,16,16,16,17,16,19,18, + 16,17,16,17,16,18,18,19,20,16,16,16,17,17,17,17, + 19,19,17,17,17,18,18,20,18,20,20,17,17,17,18,18, + 19,18,20,19,15,15,15,16,16,17,17,18,18,15,16,16, + 16,16,17,17,19,18,15,16,16,17,17,18,17,19,19,16, + 16,16,17,16,18,17,20,19,16,16,16,17,17,18,18,20, + 20,17,17,17,17,18,19,19,19,20,17,18,17,18,18,19, + 19,19,21,18,19,18,18,19,20,19,21,19,20,19,19,19, + 20,20,19,20,20,15,15,16,16,16,17,17,19,18,15,15, + 15,16,16,17,17,18,18,15,15,16,16,16,17,17,19,19, + 16,16,17,17,17,18,18,20,18,16,16,16,17,18,18,18, + 18,20,17,17,17,17,17,18,18,20,19,17,18,18,18,18, + 19,18,20,19,18,18,18,19,18,20,20,19,20,18,18,19, + 20,18,20,21,21,19,16,17,17,17,17,18,18,18,19,17, + 17,17,17,18,18,19,18,20,17,16,17,18,18,18,19,20, + 18,18,17,17,18,18,18,18,20,20,17,20,17,17,18,20, + 18,20,20,18,18,18,19,19,19,20,20,21,18,18,18,18, + 19,20,18,21,20,19,18,19,20,19,18,19,20,21,19,18, + 19,21,21,20,20,21,21,16,16,17,17,17,18,18,19,20, + 17,17,17,18,18,19,19,20,20,17,16,18,19,18,18,19, + 20,20,17,17,18,18,18,19,19,19,19,17,17,18,18,18, + 18,18,19,20,18,18,18,19,20,19,20,21,19,19,18,20, + 19,19,20,20,20,21,20,19,19,21,19,20,20,20,21,19, + 19,19,20,21,20,21,21,20,11,12,12,14,13,15,15,16, + 16,12,13,13,14,14,15,15,16,16,12,13,13,14,14,15, + 16,17,16,13,14,14,15,15,16,16,17,18,13,14,14,15, + 15,16,16,17,18,15,15,15,16,16,17,17,18,19,15,15, + 15,16,16,17,17,18,18,16,16,16,17,17,18,18,19,18, + 16,16,17,18,18,18,18,19,18,12,13,13,14,14,15,15, + 16,17,13,14,13,15,15,16,16,17,16,13,14,14,14,15, + 16,16,17,17,14,14,14,15,15,16,16,18,18,14,15,14, + 15,15,16,16,17,18,15,16,15,17,16,17,17,19,19,15, + 16,16,17,16,18,17,19,18,16,17,16,18,17,19,18,19, + 19,16,17,17,18,17,19,18,19,20,12,13,13,14,14,15, + 16,17,16,13,13,13,15,15,15,16,16,17,13,14,13,15, + 15,16,16,17,16,14,14,15,15,15,16,17,17,18,14,14, + 14,15,15,17,16,17,17,15,15,16,16,16,18,18,18,18, + 15,16,16,17,16,17,17,18,19,17,16,17,18,18,18,19, + 20,18,16,17,16,17,18,19,18,19,20,14,14,14,15,15, + 16,16,17,17,14,15,15,15,15,16,17,17,17,14,14,14, + 15,15,16,17,17,18,15,15,15,16,16,17,16,18,18,15, + 15,15,16,16,17,17,18,18,16,17,16,17,17,18,19,19, + 18,16,17,16,17,17,18,17,19,19,18,17,17,18,18,19, + 19,21,20,17,17,17,18,18,18,19,19,19,14,14,14,15, + 15,15,16,17,18,14,15,14,15,15,16,16,17,17,14,14, + 14,15,15,17,16,18,17,15,15,15,16,16,17,17,18,18, + 15,15,15,16,16,17,17,18,18,16,16,16,17,16,18,18, + 20,18,16,16,16,17,17,18,17,19,19,17,18,18,18,18, + 18,18,20,20,17,18,17,19,18,19,20,20,19,15,15,15, + 16,16,17,17,17,18,15,16,15,16,17,18,17,19,18,16, + 16,16,16,17,17,17,18,18,16,17,16,17,17,18,17,18, + 19,16,16,16,17,17,18,18,18,19,17,17,17,18,18,19, + 21,19,18,17,18,18,18,19,18,18,20,20,18,18,17,19, + 19,20,20,21,19,18,18,18,19,19,20,19,21,21,15,15, + 15,16,16,18,17,18,18,15,15,16,17,16,17,17,18,18, + 15,15,16,16,16,17,17,18,18,16,17,16,17,17,18,18, + 18,19,16,16,16,17,16,18,18,18,19,17,18,17,18,18, + 18,18,19,20,17,18,17,18,17,19,18,19,20,19,19,18, + 19,19,19,20,20,19,18,19,19,18,20,19,20,20,20,16, + 17,16,17,18,18,19,20,19,16,17,17,17,17,19,18,19, + 21,16,17,17,17,17,18,18,19,20,17,17,17,18,19,19, + 19,20,21,17,17,18,18,19,19,18,19,19,18,18,18,19, + 18,21,19,20,20,19,19,19,20,20,19,18,21,20,21,19, + 20,20,18,21,20,20,21,18,20,20,20,21,20,20,20,21, + 16,16,16,17,17,17,19,20,20,16,17,17,17,18,18,19, + 18,19,16,17,17,17,18,19,18,19,20,17,18,17,18,18, + 20,18,20,20,17,17,17,17,18,18,20,20,19,19,19,18, + 19,19,20,20,19,20,18,18,18,18,18,19,19,20,21,19, + 19,19,21,19,20,20,21,20,20,19,18,19,20,19,19,20, + 21, +}; + +static float _vq_quantthresh_res0_256_1024_2[] = { + -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, +}; + +static long _vq_quantmap_res0_256_1024_2[] = { + 7, 5, 3, 1, 0, 2, 4, 6, + 8, +}; + +static encode_aux_threshmatch _vq_auxt_res0_256_1024_2 = { + _vq_quantthresh_res0_256_1024_2, + _vq_quantmap_res0_256_1024_2, + 9, + 9 +}; + +static static_codebook _vq_book_res0_256_1024_2 = { + 4, 6561, + _vq_lengthlist_res0_256_1024_2, + 1, -531628032, 1611661312, 4, 0, + _vq_quantlist_res0_256_1024_2, + NULL, + &_vq_auxt_res0_256_1024_2, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_256_1024_3.vqh b/lib/books/res0_256_1024_3.vqh new file mode 100644 index 00000000..da960e46 --- /dev/null +++ b/lib/books/res0_256_1024_3.vqh @@ -0,0 +1,107 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_256_1024_3_VQH_ +#define _V_res0_256_1024_3_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_256_1024_3[] = { + 10, + 9, + 11, + 8, + 12, + 7, + 13, + 6, + 14, + 5, + 15, + 4, + 16, + 3, + 17, + 2, + 18, + 1, + 19, + 0, + 20, +}; + +static long _vq_lengthlist_res0_256_1024_3[] = { + 3, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11, + 11,11,11,12,12, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, + 10,10,11,11,12,12,13,13,13,13, 4, 5, 5, 6, 6, 7, + 7, 8, 8, 9, 9,10,10,11,11,12,12,13,13,13,13, 6, + 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,11,12,12,13,13, + 14,14,15,15, 6, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11, + 11,12,12,13,13,14,14,15,15, 7, 7, 7, 8, 8, 9, 9, + 11,10,11,11,12,12,14,13,15,15,16,15,16,16, 7, 7, + 7, 8, 8, 9, 9,10,10,11,11,12,12,13,14,15,15,16, + 15,16,16, 8, 9, 9,10, 9,11,11,12,12,12,12,13,14, + 15,15,16,16,16,16,17,17, 8, 9, 9,10, 9,11,11,12, + 12,12,12,13,13,15,14,16,16,16,17,17,17, 8, 9, 9, + 10,10,11,11,12,12,13,13,15,15,16,16,16,17,17,17, + 17,17, 8, 9, 9,10,10,11,11,12,12,14,13,15,15,16, + 16,17,16,17,17,18,18, 9,10,10,11,11,12,12,13,14, + 15,15,16,15,17,17,17,18,18,17,18,18, 9,10,10,11, + 11,12,12,13,14,15,15,16,16,16,17,17,17,17,18,18, + 18,10,11,11,13,12,14,14,15,15,16,16,17,16,17,17, + 18,18,19,18,18,18,10,11,11,13,13,14,14,15,15,16, + 16,17,17,17,17,18,18,18,18,18,18,11,12,12,14,14, + 15,15,16,16,16,16,17,18,18,18,19,18,19,19,19,19, + 11,12,12,14,14,15,15,16,16,17,17,17,17,18,18,18, + 19,18,18,19,19,11,13,13,15,15,16,16,17,17,17,17, + 18,17,18,18,18,19,19,19,19,19,12,13,13,15,15,16, + 16,16,17,17,17,18,18,18,18,19,19,18,19,18,20,12, + 14,14,15,15,16,17,17,17,18,18,18,18,19,19,20,19, + 19,19,20,20,12,14,14,15,15,17,16,17,18,18,18,18, + 18,18,19,19,19,19,20,20,19, +}; + +static float _vq_quantthresh_res0_256_1024_3[] = { + -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, + -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, + 6.5, 7.5, 8.5, 9.5, +}; + +static long _vq_quantmap_res0_256_1024_3[] = { + 19, 17, 15, 13, 11, 9, 7, 5, + 3, 1, 0, 2, 4, 6, 8, 10, + 12, 14, 16, 18, 20, +}; + +static encode_aux_threshmatch _vq_auxt_res0_256_1024_3 = { + _vq_quantthresh_res0_256_1024_3, + _vq_quantmap_res0_256_1024_3, + 21, + 21 +}; + +static static_codebook _vq_book_res0_256_1024_3 = { + 2, 441, + _vq_lengthlist_res0_256_1024_3, + 1, -529268736, 1611661312, 5, 0, + _vq_quantlist_res0_256_1024_3, + NULL, + &_vq_auxt_res0_256_1024_3, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_256_1024_4.vqh b/lib/books/res0_256_1024_4.vqh new file mode 100644 index 00000000..acf2f71c --- /dev/null +++ b/lib/books/res0_256_1024_4.vqh @@ -0,0 +1,107 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_256_1024_4_VQH_ +#define _V_res0_256_1024_4_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_256_1024_4[] = { + 10, + 9, + 11, + 8, + 12, + 7, + 13, + 6, + 14, + 5, + 15, + 4, + 16, + 3, + 17, + 2, + 18, + 1, + 19, + 0, + 20, +}; + +static long _vq_lengthlist_res0_256_1024_4[] = { + 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9,10, + 10,11,11,11,11, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, + 9, 9, 9, 9,10,10,11,11,11,11, 6, 6, 6, 6, 6, 7, + 7, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,11,11,11, 6, + 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9,10,10,10,10, + 11,11,12,12, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, + 9,10,10,10,10,11,11,12,12, 7, 7, 7, 7, 7, 7, 7, + 8, 8, 9, 9, 9, 9,10,10,11,11,12,12,12,12, 7, 7, + 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,11,12, + 12,12,12, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9,10,10, + 11,11,11,11,12,12,13,13, 7, 7, 7, 8, 8, 8, 8, 9, + 9, 9, 9,10,10,11,11,11,11,12,12,13,13, 8, 8, 8, + 8, 8, 9, 9, 9, 9,10,10,11,11,11,11,12,12,13,13, + 13,13, 8, 8, 8, 8, 8, 9, 9, 9, 9,10,10,11,11,11, + 11,12,12,12,13,13,13, 9, 9, 9, 9, 9, 9, 9,10,10, + 11,11,11,11,12,12,13,12,13,13,14,14, 9, 9, 9, 9, + 9, 9, 9,10,10,11,11,11,11,12,12,13,13,13,13,14, + 14, 9, 9,10,10,10,10,10,11,11,11,11,12,12,13,13, + 13,13,14,14,14,14, 9,10,10,10,10,10,10,11,11,11, + 11,12,12,13,13,13,13,14,14,14,14,10,10,10,11,11, + 11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15, + 10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14, + 14,15,14,15,15,11,11,11,11,11,12,12,12,12,13,13, + 13,13,14,14,15,14,15,15,15,16,11,11,11,11,11,12, + 12,12,12,13,13,13,13,14,14,14,14,15,15,15,16,11, + 12,12,12,12,13,13,13,13,14,13,14,14,15,15,15,15, + 16,15,16,16,11,12,12,12,12,12,13,13,13,13,13,14, + 14,15,15,15,15,15,16,16,16, +}; + +static float _vq_quantthresh_res0_256_1024_4[] = { + -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, + -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, + 6.5, 7.5, 8.5, 9.5, +}; + +static long _vq_quantmap_res0_256_1024_4[] = { + 19, 17, 15, 13, 11, 9, 7, 5, + 3, 1, 0, 2, 4, 6, 8, 10, + 12, 14, 16, 18, 20, +}; + +static encode_aux_threshmatch _vq_auxt_res0_256_1024_4 = { + _vq_quantthresh_res0_256_1024_4, + _vq_quantmap_res0_256_1024_4, + 21, + 21 +}; + +static static_codebook _vq_book_res0_256_1024_4 = { + 2, 441, + _vq_lengthlist_res0_256_1024_4, + 1, -529268736, 1611661312, 5, 0, + _vq_quantlist_res0_256_1024_4, + NULL, + &_vq_auxt_res0_256_1024_4, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_256_1024_5.vqh b/lib/books/res0_256_1024_5.vqh new file mode 100644 index 00000000..8ae8c0bf --- /dev/null +++ b/lib/books/res0_256_1024_5.vqh @@ -0,0 +1,210 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_256_1024_5_VQH_ +#define _V_res0_256_1024_5_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_256_1024_5[] = { + 20, + 19, + 21, + 18, + 22, + 17, + 23, + 16, + 24, + 15, + 25, + 14, + 26, + 13, + 27, + 12, + 28, + 11, + 29, + 10, + 30, + 9, + 31, + 8, + 32, + 7, + 33, + 6, + 34, + 5, + 35, + 4, + 36, + 3, + 37, + 2, + 38, + 1, + 39, + 0, + 40, +}; + +static long _vq_lengthlist_res0_256_1024_5[] = { + 4, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, + 9, 9, 9,10,10, 9, 9,10,10,10,10,10,10,11,11,11, + 11,11,11,11,11,12,12,12,12, 5, 6, 6, 7, 7, 8, 8, + 8, 8, 8, 8, 9, 9, 9, 9,10,10,10,10,10,10,10,10, + 10,10,11,11,11,11,11,11,12,12,12,12,12,12,12,13, + 13,13, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, + 9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11, + 11,12,12,12,12,12,12,13,13,13,13, 7, 7, 7, 8, 8, + 8, 8, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,11,11, + 11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13, + 13,13,14,14, 6, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, + 9,10,10,10,10,10,10,11,11,11,11,11,11,11,11,12, + 12,12,12,12,12,13,13,13,13,13,13,14,14, 7, 8, 8, + 8, 8, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,11,11, + 11,11,11,11,12,12,12,12,12,12,13,13,13,13,13,13, + 14,14,14,14,14,14, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, + 9,10,10,10,10,10,10,11,11,11,11,11,11,12,12,12, + 12,12,12,13,13,13,13,13,13,14,14,14,14,14,14, 8, + 8, 8, 9, 9, 9, 9, 9, 9,10,10,10,10,11,10,11,11, + 11,11,12,12,12,12,12,12,12,12,13,13,13,13,14,13, + 14,14,14,14,14,14,15,15, 8, 8, 8, 9, 9, 9, 9, 9, + 9,10,10,10,10,11,10,11,11,11,11,12,12,12,11,12, + 12,12,12,13,13,13,13,13,13,14,14,14,14,14,15,15, + 15, 8, 9, 9, 9, 9, 9, 9,10,10,10,10,11,11,11,11, + 11,11,12,12,12,12,12,12,12,12,13,13,13,13,14,14, + 14,14,14,14,14,14,15,15,15,15, 8, 9, 9, 9, 9, 9, + 9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12, + 12,12,12,13,13,13,13,13,14,14,14,14,14,15,14,15, + 15,15,15, 9, 9, 9, 9, 9,10,10,10,10,11,11,11,11, + 11,11,12,12,12,12,12,12,12,12,13,13,13,13,14,14, + 14,14,14,14,15,15,15,15,15,15,16,15, 9, 9, 9, 9, + 9,10,10,10,10,11,11,11,11,11,11,12,12,12,12,12, + 12,12,12,13,13,13,13,13,13,14,14,14,14,15,14,15, + 15,15,15,15,16, 9, 9, 9,10,10,10,10,11,11,11,11, + 11,11,12,12,12,12,12,12,13,13,13,13,13,13,14,13, + 14,14,14,14,15,15,15,15,15,15,16,16,16,16, 9, 9, + 9,10,10,10,10,11,11,11,11,11,11,12,12,12,12,12, + 12,13,13,13,13,13,13,14,14,14,14,14,14,15,15,15, + 15,15,15,16,16,16,16, 9,10,10,10,10,11,11,11,11, + 11,11,12,12,12,12,12,12,13,13,13,13,13,13,14,14, + 14,14,14,14,15,15,15,15,15,15,16,16,16,16,16,16, + 9,10,10,10,10,11,11,11,11,11,11,12,12,12,12,12, + 12,13,13,13,13,13,13,14,14,14,14,14,14,15,15,15, + 15,15,15,16,16,16,16,16,16,10,10,10,11,11,11,11, + 11,11,12,12,12,12,12,12,13,13,13,13,13,13,14,14, + 14,14,14,14,14,15,15,15,15,15,16,16,16,16,16,16, + 16,17,10,10,10,11,11,11,11,11,11,12,12,12,12,12, + 13,13,13,13,13,14,14,13,14,14,14,14,14,15,14,15, + 15,15,15,16,16,16,16,16,16,17,16,10,11,11,11,11, + 11,11,12,12,12,12,13,12,13,13,13,13,13,14,14,14, + 14,14,14,14,15,15,15,15,15,16,16,16,16,16,16,16, + 17,17,16,17,10,11,11,11,11,11,11,12,12,12,12,13, + 12,13,13,13,13,14,14,14,14,14,14,14,14,14,15,15, + 15,15,16,16,16,16,16,17,16,17,16,17,17,10,10,10, + 11,11,11,11,12,12,12,12,13,13,13,13,13,13,14,14, + 14,14,14,14,15,15,15,15,15,15,16,16,16,16,16,16, + 17,17,17,17,17,17,10,10,10,11,11,11,11,12,12,12, + 12,13,13,13,13,13,13,14,14,14,14,14,14,15,15,15, + 15,15,16,16,16,16,16,17,16,17,17,17,17,17,17,10, + 11,11,11,11,12,12,12,12,13,13,13,13,13,13,14,14, + 14,14,14,14,15,15,15,15,15,15,16,16,16,16,16,16, + 17,17,17,17,17,17,17,18,10,11,11,11,11,12,12,12, + 12,13,13,13,13,13,13,14,14,14,14,14,14,15,15,15, + 15,15,15,16,16,16,16,16,16,17,17,17,17,17,17,17, + 17,10,11,11,12,12,12,12,13,13,13,13,14,13,14,14, + 14,14,14,14,15,15,15,15,16,15,16,16,16,16,17,17, + 16,17,17,17,17,17,18,17,18,18,10,11,11,12,12,12, + 12,13,13,13,13,13,14,14,14,14,14,15,14,15,15,15, + 15,16,15,16,16,16,16,16,16,17,17,17,17,17,18,18, + 17,19,17,11,12,12,12,12,13,13,13,13,14,14,14,14, + 14,14,15,14,15,15,15,15,16,15,16,16,16,16,16,16, + 17,17,17,17,17,17,17,17,18,17,17,18,11,12,12,12, + 12,13,13,13,13,14,13,14,14,14,14,15,15,15,15,15, + 15,16,16,16,16,16,16,16,17,16,16,17,17,17,17,17, + 18,18,18,18,17,11,12,12,13,13,13,13,13,14,14,14, + 14,14,15,15,15,15,15,15,15,16,16,16,16,16,17,17, + 17,17,17,17,17,18,17,18,18,18,18,18,19,19,11,12, + 12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,15, + 15,16,15,16,16,16,16,16,16,16,17,17,17,17,17,17, + 18,17,18,18,18,18,18,12,12,12,13,13,13,13,14,14, + 14,14,15,14,15,15,15,15,15,16,16,16,16,16,16,16, + 17,17,17,17,17,17,17,17,18,18,18,18,18,18,19,18, + 11,12,12,13,13,14,13,14,14,14,14,15,15,15,15,15, + 15,16,16,16,16,17,16,17,17,17,17,17,17,17,17,17, + 18,18,18,17,18,18,18,18,19,12,13,13,13,13,14,14, + 14,14,15,15,15,15,15,15,16,16,16,16,17,16,17,17, + 17,17,17,17,17,18,18,17,17,18,18,18,19,19,18,18, + 19,18,12,13,13,13,13,14,14,14,14,15,15,15,15,16, + 15,16,16,16,16,16,16,17,17,17,17,17,17,18,17,18, + 18,18,18,18,19,18,18,18,18,18,18,12,13,13,14,14, + 14,14,15,14,15,15,16,15,16,16,16,16,16,16,17,17, + 17,17,17,17,17,18,18,17,17,18,18,18,17,19,18,19, + 18,18,19,19,12,13,13,14,14,14,14,15,15,15,15,16, + 15,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17, + 18,19,18,18,18,18,18,18,18,19,19,19,20,12,13,13, + 14,14,15,15,15,15,15,15,16,16,16,16,16,16,17,16, + 17,17,17,17,18,17,18,18,18,18,18,19,18,19,18,19, + 19,19,19,19,18,18,12,13,13,14,14,15,15,15,15,15, + 15,16,16,16,16,17,16,16,16,17,17,17,17,17,17,18, + 18,18,18,18,18,18,18,18,19,18,18,19,19,19,19,13, + 14,14,14,14,15,15,15,16,16,16,16,16,16,17,17,16, + 17,17,17,17,18,17,18,17,18,18,18,18,18,18,18,18, + 20,18,18,20,20,18,19,20,13,14,14,14,15,15,15,15, + 15,16,16,16,16,16,17,16,17,17,17,17,17,17,18,17, + 19,18,18,18,18,18,18,18,19,18,18,19,20,19,19,19, + 19, +}; + +static float _vq_quantthresh_res0_256_1024_5[] = { + -19.5, -18.5, -17.5, -16.5, -15.5, -14.5, -13.5, -12.5, + -11.5, -10.5, -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, + -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, + 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, + 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, +}; + +static long _vq_quantmap_res0_256_1024_5[] = { + 39, 37, 35, 33, 31, 29, 27, 25, + 23, 21, 19, 17, 15, 13, 11, 9, + 7, 5, 3, 1, 0, 2, 4, 6, + 8, 10, 12, 14, 16, 18, 20, 22, + 24, 26, 28, 30, 32, 34, 36, 38, + 40, +}; + +static encode_aux_threshmatch _vq_auxt_res0_256_1024_5 = { + _vq_quantthresh_res0_256_1024_5, + _vq_quantmap_res0_256_1024_5, + 41, + 41 +}; + +static static_codebook _vq_book_res0_256_1024_5 = { + 2, 1681, + _vq_lengthlist_res0_256_1024_5, + 1, -527171584, 1611661312, 6, 0, + _vq_quantlist_res0_256_1024_5, + NULL, + &_vq_auxt_res0_256_1024_5, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_256_1024_6.vqh b/lib/books/res0_256_1024_6.vqh new file mode 100644 index 00000000..516a46e6 --- /dev/null +++ b/lib/books/res0_256_1024_6.vqh @@ -0,0 +1,565 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_256_1024_6_VQH_ +#define _V_res0_256_1024_6_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_256_1024_6[] = { + 40, + 39, + 41, + 38, + 42, + 37, + 43, + 36, + 44, + 35, + 45, + 34, + 46, + 33, + 47, + 32, + 48, + 31, + 49, + 30, + 50, + 29, + 51, + 28, + 52, + 27, + 53, + 26, + 54, + 25, + 55, + 24, + 56, + 23, + 57, + 22, + 58, + 21, + 59, + 20, + 60, + 19, + 61, + 18, + 62, + 17, + 63, + 16, + 64, + 15, + 65, + 14, + 66, + 13, + 67, + 12, + 68, + 11, + 69, + 10, + 70, + 9, + 71, + 8, + 72, + 7, + 73, + 6, + 74, + 5, + 75, + 4, + 76, + 3, + 77, + 2, + 78, + 1, + 79, + 0, + 80, +}; + +static long _vq_lengthlist_res0_256_1024_6[] = { + 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,10, + 10,10,10,10,10,11,11,11,11,10,10,10,10,10,10,11, + 10,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12, + 12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,14, + 13, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, + 10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11, + 11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11, + 12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13, + 13,13,13,13,14,13,14,14,14,14,14,14,15,14,15,15, + 15,15, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, + 9, 9,10,10,10,10,10,10,10,10,10,11,10,11,11,11, + 11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11, + 11,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13, + 13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14, + 14,15,14, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9,10,10, + 10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11, + 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, + 12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13, + 14,14,14,14,14,14,14,14,14,14,15,14,15,15,15,15, + 15,15,15,15, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9,10, + 10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11, + 11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12, + 12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,14, + 13,13,13,14,14,14,14,14,14,14,14,14,14,14,15,15, + 15,15,15,15,15, 7, 8, 8, 9, 9, 9, 9, 9, 9,10,10, + 10,10,10,10,11,11,11,11,11,11,11,11,11,11,12,12, + 12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12, + 12,12,13,13,13,13,13,13,13,13,13,13,14,14,14,14, + 14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15, + 15,15,16,16,15,16, 8, 8, 8, 9, 9, 9, 9, 9, 9,10, + 10,10,10,10,10,11,10,11,11,11,11,11,11,12,11,12, + 12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12, + 12,12,12,13,13,13,13,13,13,13,13,13,13,14,14,14, + 14,14,14,14,14,14,14,15,15,14,15,15,15,15,15,15, + 15,15,16,15,15,15,16, 8, 9, 9, 9, 9,10,10,10,10, + 10,10,11,11,11,11,11,11,11,11,11,11,12,12,12,12, + 12,12,12,12,12,12,13,12,13,13,13,13,13,13,13,13, + 13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14, + 14,14,15,14,14,15,15,15,15,15,15,15,15,15,15,16, + 16,16,16,16,16,16,16,16, 8, 9, 9, 9, 9,10,10,10, + 10,10,10,11,11,11,11,11,11,11,11,11,11,12,12,12, + 12,12,12,12,12,12,12,13,12,13,13,13,13,13,13,13, + 13,13,13,13,13,13,13,13,13,14,13,14,14,14,14,14, + 14,14,14,14,14,15,15,15,15,15,15,15,15,16,15,15, + 15,16,15,16,16,16,16,16,16, 9, 9, 9,10,10,10,10, + 10,10,11,11,11,11,11,11,11,11,12,12,12,12,12,12, + 12,12,12,12,13,12,13,13,13,13,13,13,13,13,14,13, + 13,14,13,13,13,13,13,13,14,14,14,14,14,14,14,14, + 14,14,15,14,15,15,15,15,15,15,15,16,16,16,16,16, + 16,16,16,16,16,16,17,16,16,17, 9, 9, 9,10,10,10, + 10,10,10,11,11,11,11,11,11,11,11,12,12,12,12,12, + 12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,14, + 14,14,14,13,13,13,13,13,14,13,14,14,14,14,14,14, + 14,14,14,15,14,15,14,15,15,15,15,15,15,16,15,16, + 16,16,16,16,16,16,16,16,16,16,17, 9, 9, 9,10,10, + 10,10,11,11,11,11,11,11,12,11,12,12,12,12,12,12, + 12,12,13,13,13,13,13,13,13,13,13,13,13,13,14,13, + 14,14,14,14,13,13,14,14,14,14,14,14,14,14,14,14, + 14,15,15,15,15,15,15,15,16,15,15,15,16,16,16,15, + 16,16,16,16,16,16,16,16,17,17,17,16, 9, 9, 9,10, + 10,10,10,11,11,11,11,11,11,11,12,12,12,12,12,12, + 12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,14, + 14,14,14,14,14,13,13,14,14,14,14,14,14,14,14,14, + 14,14,14,15,15,15,15,15,15,15,15,16,16,16,16,16, + 15,16,15,16,16,17,16,16,16,17,17,17,16, 9,10,10, + 10,10,11,11,11,11,11,11,12,12,12,12,12,12,12,12, + 12,12,13,13,13,13,13,13,13,13,13,13,14,13,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,14, + 15,14,15,15,15,15,15,15,16,15,16,15,16,16,16,16, + 16,16,16,16,17,16,17,16,17,17,17,18,17,17, 9,10, + 10,10,10,11,11,11,11,11,11,12,12,12,12,12,12,12, + 12,12,12,13,13,13,13,13,13,13,13,13,13,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15, + 14,15,15,15,15,15,15,15,15,16,15,16,15,15,16,16, + 16,16,16,16,16,16,17,16,16,16,16,16,17,17,17,10, + 10,10,11,11,11,11,11,11,12,12,12,12,12,12,12,12, + 12,12,13,13,13,13,13,13,13,13,13,14,14,13,14,14, + 14,14,14,14,14,15,15,14,14,14,14,14,15,14,15,14, + 15,15,15,15,15,15,15,15,15,16,16,15,16,16,16,17, + 16,16,16,16,17,16,16,16,16,17,17,17,17,17,17,17, + 10,10,10,11,11,11,11,11,11,12,12,12,12,12,12,12, + 12,12,13,13,13,13,13,13,13,13,13,14,14,14,13,14, + 14,14,14,14,14,14,14,14,15,14,14,14,14,14,14,15, + 14,15,15,15,15,15,15,15,15,15,15,16,16,15,16,16, + 16,16,16,16,17,17,17,17,16,16,17,17,17,17,17,17, + 17,10,10,10,11,11,11,11,12,12,12,12,12,12,12,12, + 13,13,13,13,13,13,13,13,13,13,14,13,14,14,14,14, + 14,14,14,14,14,14,15,14,15,15,14,14,14,14,15,15, + 15,15,15,15,15,15,15,15,16,15,15,15,16,17,16,16, + 16,16,17,17,16,17,17,17,17,17,17,17,16,17,17,17, + 17,18,10,10,10,11,11,11,11,12,12,12,12,12,12,12, + 13,13,13,13,13,13,13,13,13,14,13,14,13,14,14,14, + 14,14,14,14,14,14,14,15,15,15,15,14,14,14,15,15, + 15,15,15,15,15,15,15,15,15,16,15,15,16,16,16,16, + 16,16,16,16,16,17,16,17,17,17,17,18,17,17,17,18, + 18,17,17,10,11,11,11,11,11,12,12,12,12,12,13,12, + 13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14, + 14,14,14,14,14,14,15,15,15,15,15,15,15,14,15,15, + 15,15,15,15,15,15,16,16,16,15,16,16,16,16,16,16, + 16,16,17,16,17,17,17,17,17,17,18,17,18,17,17,17, + 18,18,18,17,10,11,11,11,11,12,12,12,12,12,12,12, + 12,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14, + 14,14,14,14,14,15,14,15,14,15,15,15,15,15,14,15, + 15,15,15,15,15,15,15,16,16,16,16,16,16,16,16,16, + 16,17,17,17,16,17,17,16,17,17,17,17,17,17,17,18, + 17,17,19,17,17,10,11,11,12,11,12,12,12,12,12,12, + 13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14, + 14,14,14,14,15,14,14,14,15,15,15,15,15,15,15,14, + 15,15,15,15,15,15,16,15,15,16,16,16,16,16,16,16, + 16,16,16,16,16,16,17,17,17,17,18,17,18,17,17,17, + 17,18,18,18,18,18,10,11,11,11,11,12,12,12,12,12, + 12,13,13,13,13,13,13,13,13,14,13,14,14,14,14,14, + 14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,16,16,16,16,16,16,16,16,16, + 16,16,17,16,16,17,17,17,17,17,17,17,17,17,17,18, + 18,17,17,18,18,18,18,11,11,11,12,12,12,12,13,12, + 13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14, + 15,14,15,15,15,15,15,14,15,15,15,15,15,15,15,15, + 15,16,15,15,16,16,16,16,16,16,16,16,16,16,17,16, + 16,16,16,16,16,16,17,17,17,17,17,18,17,17,17,18, + 18,18,18,17,17,17,17,17,11,11,11,12,12,12,12,13, + 12,13,13,13,13,13,13,14,13,14,14,14,14,14,14,14, + 14,15,14,14,14,15,15,15,15,15,15,15,15,15,15,16, + 15,15,15,15,15,15,15,16,16,15,16,16,15,16,16,16, + 16,17,17,17,16,17,17,17,17,16,17,18,17,17,17,17, + 18,17,18,18,18,17,18,17,18,11,12,11,12,12,12,12, + 13,13,13,13,13,13,14,13,14,13,14,14,14,14,14,14, + 14,14,15,15,15,15,15,15,15,15,16,16,15,15,16,16, + 16,16,15,15,15,15,16,15,16,16,16,16,16,16,17,16, + 17,16,17,16,17,17,17,17,17,17,17,18,18,17,18,17, + 18,18,18,18,17,18,18,18,19,18,11,11,11,12,12,12, + 12,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14, + 14,14,14,15,14,15,15,15,15,15,15,15,15,16,15,16, + 16,16,16,15,15,15,15,16,16,16,16,16,16,16,16,17, + 16,16,17,17,16,17,17,17,16,18,17,18,17,17,18,17, + 17,18,18,18,18,18,18,18,18,18,18,11,12,12,12,12, + 12,13,13,13,13,13,14,13,14,14,14,14,14,14,14,14, + 14,14,15,15,15,15,15,15,15,15,15,15,16,15,16,15, + 16,16,16,16,16,16,16,16,16,16,17,16,17,17,16,16, + 17,16,17,16,17,16,17,17,18,18,17,17,17,17,17,18, + 18,18,18,17,18,18,17,18,18,18,19,18,11,12,12,12, + 12,13,12,13,13,13,13,14,13,14,14,14,14,14,14,14, + 14,15,14,15,15,15,15,15,15,15,15,15,15,15,15,16, + 16,15,15,16,16,16,15,16,15,16,16,16,16,17,16,16, + 16,17,16,16,17,17,17,18,17,17,17,17,17,17,17,18, + 17,18,17,18,18,18,18,18,19,18,18,18,18,11,12,12, + 12,12,13,13,13,13,13,13,14,14,14,14,14,14,14,14, + 15,15,15,15,15,15,15,15,15,15,16,15,15,15,16,15, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 17,17,17,16,17,17,17,17,18,18,18,18,18,18,17,18, + 18,18,18,18,18,18,18,18,20,19,18,19,18,19,11,12, + 12,12,12,13,13,13,13,13,13,14,14,14,14,14,14,14, + 14,15,14,15,15,15,15,15,15,15,15,15,15,16,15,16, + 15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17, + 16,17,16,17,17,17,17,17,18,17,17,18,17,18,17,18, + 18,18,18,18,18,18,18,18,19,18,18,18,18,18,18,11, + 12,12,13,13,13,13,13,14,14,14,14,14,14,14,14,14, + 15,14,15,15,15,15,15,15,15,15,16,15,15,16,16,16, + 16,16,16,16,16,16,17,16,16,16,16,16,16,16,17,16, + 17,16,17,17,17,16,18,17,17,17,17,18,18,17,17,18, + 18,17,18,18,18,18,18,18,18,18,18,18,18,18,19,18, + 11,12,12,13,13,13,13,13,13,14,14,14,14,14,14,15, + 15,14,14,15,15,15,15,15,15,16,16,16,16,16,16,16, + 16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16, + 17,17,17,17,17,17,17,17,18,17,17,17,18,17,18,17, + 18,17,19,18,19,19,18,18,19,20,18,18,19,18,18,19, + 19,12,12,12,13,13,13,13,13,13,14,14,14,14,14,14, + 14,15,15,15,15,15,15,15,15,15,16,15,16,15,16,16, + 16,15,16,16,16,16,16,17,17,16,16,16,16,16,16,17, + 17,17,16,17,17,17,17,17,17,17,18,17,18,18,18,17, + 17,18,18,18,18,18,18,18,21,19,18,19,18,19,18,18, + 18,19,12,12,12,13,13,13,14,14,13,14,14,14,14,14, + 14,15,15,15,15,15,15,15,15,15,15,16,15,16,16,16, + 16,16,16,16,16,16,16,17,16,16,16,16,16,16,16,16, + 16,16,17,17,17,17,17,17,17,17,17,17,17,17,18,18, + 17,18,17,18,18,18,17,18,17,18,18,19,19,18,19,19, + 19,19,19,12,13,13,13,13,14,13,14,14,14,14,14,15, + 15,15,15,15,15,15,15,15,16,16,16,15,16,16,16,16, + 16,15,16,16,16,16,16,16,17,17,17,16,17,16,17,16, + 17,16,17,17,17,17,17,16,17,17,18,17,18,17,18,18, + 17,18,18,18,18,18,19,18,19,18,18,18,19,18,18,19, + 19,19,19,18,12,13,13,13,13,14,14,14,14,14,14,14, + 15,15,15,15,15,15,15,15,15,15,15,15,16,16,15,16, + 16,16,16,16,17,16,16,17,17,17,16,17,17,16,16,16, + 16,17,17,17,16,17,17,17,17,17,17,17,18,17,17,18, + 17,18,18,18,18,19,19,19,18,19,18,18,18,18,18,18, + 19,19,19,19,19,12,13,13,13,13,14,14,14,14,14,14, + 15,15,15,15,15,15,15,15,16,15,16,16,16,16,16,16, + 16,16,16,17,17,16,16,16,17,16,16,17,16,17,17,16, + 17,17,17,17,17,17,17,17,18,18,18,17,17,18,18,17, + 18,17,18,17,18,17,19,18,18,19,18,19,18,18,18,20, + 18,18,18,19,19,18,12,13,13,13,13,14,14,14,14,14, + 14,15,15,15,15,15,15,16,15,15,15,16,15,16,16,16, + 16,17,16,16,16,16,16,16,16,17,16,16,16,17,17,16, + 16,17,17,18,17,17,17,18,17,17,17,17,17,18,17,19, + 18,18,18,19,18,19,18,18,18,19,19,18,19,19,18,19, + 21,19,19,19,19,18,19,12,13,13,14,14,14,14,14,14, + 15,15,15,15,15,15,15,15,16,15,16,16,16,16,16,16, + 17,16,16,16,16,16,16,17,17,17,17,17,17,17,17,17, + 17,17,18,16,17,17,17,17,17,18,17,18,18,18,18,18, + 18,17,18,17,17,17,19,18,18,19,19,18,19,19,18,19, + 20,19,19,19,19,19,19,20,12,13,13,13,14,14,14,14, + 15,15,14,15,15,15,15,16,15,16,15,16,16,15,16,16, + 16,16,16,17,16,16,16,16,16,16,17,17,16,17,17,17, + 17,17,16,17,17,18,17,17,17,17,17,17,17,18,18,18, + 18,18,18,18,18,19,17,19,18,18,19,18,18,18,19,19, + 18,18,18,19,18,18,19,18,19,11,12,12,13,13,13,13, + 14,14,14,14,14,14,15,14,15,15,15,15,15,15,16,16, + 16,15,16,15,16,16,16,16,16,17,16,17,16,17,17,16, + 16,16,16,17,17,17,17,17,18,18,18,18,17,17,18,18, + 17,18,18,18,18,18,18,19,21,19,18,18,19,18,18,18, + 20,20,18,19,18,19,19,19,19,18,11,12,12,13,13,13, + 13,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15, + 15,15,16,16,16,16,15,16,16,16,16,16,17,17,16,16, + 17,17,16,17,17,16,17,18,17,18,17,18,17,18,17,18, + 17,18,18,18,17,19,18,19,18,18,18,18,19,19,18,18, + 19,19,19,19,20,19,18,18,20,21,20,11,12,12,13,13, + 13,13,14,14,14,14,14,14,15,15,15,15,15,15,15,15, + 16,16,16,16,16,16,16,16,16,16,17,16,16,17,16,17, + 17,17,18,18,17,17,18,18,17,17,17,17,18,18,18,18, + 17,18,18,19,18,18,19,18,18,19,18,18,19,19,19,19, + 20,18,19,19,19,19,20,21,19,18,21,20,11,12,12,13, + 13,13,13,14,14,14,14,14,14,15,15,15,15,15,15,16, + 15,16,16,16,16,16,15,16,16,16,16,17,16,17,16,17, + 16,16,17,17,16,17,17,17,18,18,18,18,17,18,18,18, + 18,18,18,19,18,19,18,19,18,18,18,19,18,18,19,18, + 19,18,19,18,19,19,19,18,19,20,19,19,20,12,12,13, + 13,13,14,14,14,14,14,15,15,14,15,15,15,15,16,16, + 16,16,15,15,16,16,16,16,16,16,16,16,17,17,17,17, + 17,17,17,17,17,17,17,17,18,17,17,18,17,17,18,17, + 18,18,19,18,18,18,18,18,18,19,20,18,19,19,19,21, + 19,18,19,19,20,20,19,20,19,18,19,21,18,20,12,13, + 12,13,13,14,14,14,14,14,15,15,15,15,15,15,15,16, + 15,16,16,15,16,17,16,16,16,16,16,16,16,17,17,17, + 17,16,17,17,17,18,17,17,17,18,18,17,18,17,18,18, + 18,19,18,18,18,19,18,19,19,18,18,19,20,19,20,20, + 19,19,19,19,19,20,20,19,19,19,19,19,20,19,20,12, + 13,13,14,13,14,14,14,14,14,15,15,15,15,15,15,16, + 16,16,16,16,16,16,16,16,17,16,17,16,16,17,17,16, + 17,18,17,17,17,17,17,17,18,18,17,17,18,18,18,17, + 18,18,18,18,18,19,18,18,18,19,18,18,18,18,19,18, + 19,19,20,20,20,19,19,19,19,19,20,19,19,20,20,18, + 12,13,13,13,14,14,14,14,15,15,15,15,15,15,15,15, + 15,16,16,16,16,16,16,16,15,17,16,17,17,16,17,17, + 17,18,17,17,17,18,18,17,17,18,17,18,17,18,18,18, + 18,18,18,18,18,18,18,19,18,18,18,19,18,18,19,18, + 19,18,18,18,19,19,19,19,20,20,19,19,19,20,19,20, + 20,12,13,13,14,14,14,14,15,14,15,15,15,15,15,15, + 16,16,16,16,16,17,16,16,16,16,17,17,17,17,17,17, + 17,16,18,17,18,18,17,18,18,18,18,17,18,17,18,18, + 17,19,18,18,18,19,18,19,18,18,19,19,19,19,18,18, + 19,19,19,20,20,20,21,18,21,19,20,20,18,19,19,20, + 20,20,12,13,13,13,14,14,14,15,15,15,15,15,15,16, + 15,16,16,16,16,16,16,17,16,16,16,16,16,17,17,17, + 16,18,17,17,17,17,17,18,17,17,18,18,17,17,17,19, + 19,18,18,18,18,18,18,18,18,19,18,19,18,19,19,19, + 19,19,20,19,19,18,19,19,21,18,20,19,19,20,20,18, + 21,20,19,13,13,13,14,14,15,15,15,15,15,15,16,16, + 16,16,16,16,16,16,16,17,16,17,17,16,17,17,17,17, + 17,17,17,18,17,18,17,17,17,18,19,17,18,18,17,18, + 18,17,18,18,19,18,19,19,19,18,19,19,19,18,19,18, + 20,19,20,21,20,19,21,20,21,19,19,19,19,19,20,19, + 19,19,20,20,12,13,13,14,14,15,15,15,15,15,15,16, + 15,15,16,16,16,16,16,17,16,17,17,17,17,17,17,17, + 17,17,18,17,17,18,17,17,18,18,18,19,18,18,18,19, + 18,18,19,18,18,18,18,19,18,19,19,19,19,20,20,19, + 19,18,18,19,21,20,20,19,21,21,19,19,19,19,19,19, + 20,20,20,20,19,13,13,14,14,14,15,15,15,15,15,15, + 16,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17, + 18,17,17,17,17,17,18,18,18,18,18,18,18,18,18,17, + 18,19,18,18,19,18,19,19,18,18,19,19,20,19,19,19, + 19,19,20,19,20,19,19,20,19,20,19,19,21,21,20,21, + 20,19,21,20,19,21,13,14,13,14,14,15,15,15,15,15, + 15,16,16,16,17,16,16,16,17,17,17,17,16,16,17,17, + 18,17,17,18,17,19,18,18,17,18,18,18,18,18,17,18, + 18,19,18,17,19,19,18,19,18,18,19,19,19,19,19,19, + 19,19,19,21,19,20,19,19,20,19,20,19,21,20,19,21, + 21,20,21,19,21,20,19,13,14,14,15,15,15,15,15,16, + 16,16,16,17,16,16,17,17,17,17,17,17,17,18,17,17, + 18,17,17,18,18,17,18,18,18,18,18,18,19,18,19,19, + 18,18,19,18,19,19,19,19,19,19,18,19,18,19,19,19, + 19,19,18,19,20,19,20,19,21,20,19,21,21,19,21,19, + 19,20,21,20,20,20,20,20,13,14,14,15,14,15,15,16, + 15,15,16,16,16,16,17,17,17,17,17,16,18,17,17,17, + 18,17,17,18,17,18,17,18,19,18,18,18,18,18,18,18, + 18,19,18,18,18,18,18,18,19,18,19,19,18,19,20,19, + 20,19,19,20,20,20,20,19,21,20,20,19,19,19,20,19, + 21,19,21,20,21,20,19,19,20,13,14,14,15,15,15,15, + 16,16,16,16,16,16,17,16,17,17,17,17,17,17,18,17, + 18,18,17,18,18,17,17,18,17,19,18,18,18,18,18,18, + 18,19,19,19,21,19,18,19,18,20,18,18,19,19,20,21, + 19,20,19,19,20,19,20,19,19,19,19,21,19,20,21,21, + 19,20,19,19,21,19,20,20,21,20,13,15,14,15,15,16, + 16,15,16,16,16,17,17,17,17,17,17,17,17,17,17,19, + 17,17,17,18,17,18,18,18,18,17,18,18,18,18,18,18, + 19,18,20,19,19,19,18,18,19,19,19,18,19,21,19,19, + 20,19,21,19,18,18,20,19,19,19,20,19,21,20,20,19, + 20,19,20,21,20,21,20,20,20,19,19,13,14,15,15,15, + 15,16,16,16,16,16,16,17,17,17,16,17,18,17,18,17, + 17,17,17,18,18,17,18,17,18,18,18,18,19,18,19,18, + 18,19,18,19,19,19,19,20,19,19,21,19,20,19,20,19, + 19,19,19,19,19,20,19,21,21,19,20,21,21,21,20,20, + 20,21,19,21,20,21,20,21,19,21,20,21,13,15,14,15, + 15,16,15,16,16,16,16,16,17,17,17,17,17,17,17,19, + 18,18,18,17,18,18,18,18,18,19,18,19,18,19,18,18, + 19,19,18,18,19,19,19,21,19,19,19,19,19,19,18,19, + 19,19,19,19,20,20,20,20,19,20,19,21,20,20,21,20, + 20,20,19,20,21,21,21,20,21,19,20,21,21,14,15,15, + 16,15,16,16,16,17,17,17,17,17,17,17,17,17,18,17, + 17,18,18,18,18,18,18,18,19,17,19,18,19,18,19,18, + 19,19,19,20,19,18,19,19,19,19,21,19,19,19,19,18, + 20,20,19,21,20,19,20,20,20,20,21,19,21,21,21,19, + 20,21,19,20,20,20,20,21,20,21,19,20,19,21,14,15, + 15,16,15,16,16,16,16,17,17,16,17,17,17,17,17,17, + 17,19,18,18,17,19,17,18,18,18,18,18,18,18,18,19, + 18,19,19,19,19,19,19,19,19,19,19,19,18,21,18,19, + 19,19,19,19,19,19,20,19,20,19,19,20,19,20,20,20, + 19,21,20,20,20,21,20,21,19,21,21,19,19,21,20,14, + 15,15,16,16,16,16,16,16,17,17,17,17,18,17,18,18, + 18,19,18,18,18,19,18,18,19,19,18,18,18,18,20,18, + 19,18,19,19,19,18,19,19,20,18,19,19,20,19,19,19, + 19,18,20,20,21,20,21,21,21,20,21,21,20,20,19,20, + 20,19,20,21,21,19,19,20,20,21,20,21,20,21,21,20, + 14,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18, + 18,17,17,18,19,17,19,19,18,18,18,18,18,18,18,20, + 18,19,18,19,19,19,19,21,18,18,21,19,21,19,19,19, + 19,20,20,20,19,20,21,20,21,21,20,20,20,21,21,20, + 20,20,21,21,21,21,20,21,20,18,21,20,21,21,21,21, + 21,14,15,15,16,16,16,17,17,17,18,18,18,18,18,18, + 18,18,18,18,17,18,18,18,19,18,19,18,19,20,19,18, + 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,21, + 19,19,20,18,20,19,19,20,19,21,20,21,20,19,20,21, + 21,20,21,21,21,19,20,19,21,21,21,21,20,20,21,19, + 21,21,15,15,15,16,16,16,17,17,18,18,17,17,17,18, + 18,18,18,17,17,18,18,18,18,18,18,18,19,18,19,19, + 18,19,19,18,19,19,19,19,19,20,19,19,19,19,19,19, + 19,20,20,19,20,21,20,21,19,19,21,19,20,21,20,20, + 20,21,21,21,20,20,20,21,21,20,21,21,19,21,20,20, + 21,21,21,15,16,16,16,17,16,17,18,18,17,17,18,17, + 18,18,19,18,18,18,18,18,20,18,18,18,19,19,20,19, + 19,19,19,18,19,19,20,20,20,21,19,19,20,19,20,20, + 20,19,20,20,20,20,20,21,20,20,21,20,20,20,19,19, + 20,19,21,21,21,21,21,21,21,20,20,19,20,20,21,20, + 20,20,20,21,15,16,15,16,17,17,17,17,17,17,17,18, + 17,19,18,19,18,19,19,20,18,18,19,19,18,19,19,19, + 20,21,19,18,19,19,18,20,19,20,18,19,20,20,21,20, + 19,20,20,21,19,20,19,20,21,19,20,21,20,21,21,21, + 21,20,21,20,20,19,21,19,20,21,19,21,21,20,21,21, + 20,20,21,21,21,15,16,16,16,17,17,17,17,17,18,17, + 18,19,18,18,18,18,18,18,19,19,19,19,18,18,19,18, + 20,19,19,19,19,21,19,21,21,20,20,19,20,20,20,19, + 20,19,21,19,20,19,19,20,19,19,20,20,19,19,20,21, + 21,21,21,20,20,20,20,19,21,21,20,20,21,20,21,20, + 19,21,21,21,21,20,15,16,16,17,17,17,17,17,17,18, + 18,17,19,19,18,19,18,19,19,18,18,19,19,19,19,19, + 19,19,19,19,19,19,21,20,19,19,19,19,20,21,19,21, + 20,19,20,19,21,19,20,20,20,21,21,21,20,19,20,21, + 21,21,21,20,21,19,21,20,19,21,19,20,20,21,21,21, + 21,20,21,20,21,21,21,15,16,17,17,17,17,18,18,18, + 18,18,19,18,19,18,19,20,19,19,19,19,19,19,19,18, + 18,19,19,21,18,19,20,21,20,20,20,19,19,19,21,21, + 21,19,20,19,21,19,21,20,21,19,21,19,21,21,21,19, + 20,21,21,21,21,20,21,21,21,21,20,20,21,21,21,21, + 21,20,20,21,21,21,21,20,15,16,16,17,17,17,17,18, + 17,18,18,18,19,18,18,19,18,19,19,21,18,19,19,21, + 20,19,19,19,19,19,21,19,19,20,19,19,20,21,19,19, + 19,19,20,21,21,19,19,20,21,21,20,21,19,19,21,21, + 21,20,21,20,21,20,21,21,20,20,21,19,21,21,20,21, + 21,21,20,20,21,21,21,21,20,16,17,16,18,17,18,17, + 18,18,19,18,18,18,19,19,19,19,19,19,19,21,19,19, + 19,19,20,21,20,19,20,19,20,21,19,21,20,20,20,21, + 20,19,21,20,21,21,20,20,20,20,20,20,21,21,21,20, + 20,21,21,20,21,21,21,21,21,21,19,21,21,21,21,20, + 20,19,20,19,20,21,21,21,21,21,16,17,16,18,17,18, + 18,18,19,20,19,19,19,19,18,20,21,20,20,21,20,21, + 20,18,19,19,19,20,20,20,19,20,21,19,21,20,20,19, + 19,21,20,19,20,19,20,18,20,19,21,20,20,21,21,21, + 20,19,19,21,20,20,20,21,21,20,21,21,21,20,21,21, + 21,21,21,21,21,20,21,21,20,20,21,16,17,17,18,17, + 19,17,18,19,18,19,19,18,19,19,18,20,20,19,19,18, + 20,19,19,20,19,21,18,20,20,19,20,21,21,21,19,19, + 19,20,20,20,21,21,21,19,20,20,20,21,21,21,21,21, + 21,21,21,20,21,19,21,19,21,20,21,19,21,21,21,21, + 19,20,21,21,21,20,21,21,20,21,20,21,16,17,17,17, + 17,18,18,19,18,18,19,19,20,20,19,20,20,21,21,20, + 21,20,20,20,19,21,20,19,19,19,21,20,20,20,20,21, + 19,20,21,21,21,20,20,21,19,19,20,21,21,21,20,20, + 20,20,21,21,20,21,21,21,21,21,20,20,21,21,21,19, + 21,21,21,21,21,21,21,21,21,21,21,21,21,16,17,17, + 18,18,18,18,18,19,18,19,19,19,21,18,18,19,19,19, + 18,20,21,20,20,20,21,19,20,21,19,21,19,20,21,20, + 19,20,19,19,20,19,21,20,21,21,20,20,21,20,20,20, + 20,20,20,21,19,21,20,21,20,20,21,21,21,21,21,21, + 21,20,21,21,21,21,21,21,21,20,21,20,21,21,17,17, + 17,19,18,18,18,20,18,18,20,19,19,19,19,20,20,19, + 19,20,20,19,18,20,20,20,19,20,21,21,20,21,20,19, + 19,19,19,20,21,19,20,21,21,21,20,21,21,19,21,21, + 21,20,21,20,20,21,21,21,21,20,20,21,21,21,21,21, + 20,21,20,21,21,21,21,21,21,21,21,21,21,21,21,16, + 17,18,19,18,19,19,20,18,20,20,20,21,20,20,19,21, + 21,21,19,20,19,21,20,20,20,20,21,21,21,20,21,21, + 21,20,21,21,19,19,21,21,19,19,20,21,21,20,20,21, + 21,20,20,21,21,20,21,21,19,21,21,21,21,21,21,21, + 21,20,21,21,21,21,21,21,21,21,21,21,20,21,21,21, + 17,17,18,18,19,19,19,19,18,19,19,19,21,19,20,20, + 21,21,20,19,21,21,20,20,21,19,21,21,20,19,20,21, + 19,21,21,20,21,19,21,21,21,21,20,20,21,20,21,21, + 21,21,21,21,20,21,21,20,21,21,21,21,21,21,21,21, + 21,20,21,21,21,21,21,21,20,21,21,21,21,20,21,21, + 20, +}; + +static float _vq_quantthresh_res0_256_1024_6[] = { + -39.5, -38.5, -37.5, -36.5, -35.5, -34.5, -33.5, -32.5, + -31.5, -30.5, -29.5, -28.5, -27.5, -26.5, -25.5, -24.5, + -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, -17.5, -16.5, + -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, + -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, + 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, + 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, + 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5, + 24.5, 25.5, 26.5, 27.5, 28.5, 29.5, 30.5, 31.5, + 32.5, 33.5, 34.5, 35.5, 36.5, 37.5, 38.5, 39.5, +}; + +static long _vq_quantmap_res0_256_1024_6[] = { + 79, 77, 75, 73, 71, 69, 67, 65, + 63, 61, 59, 57, 55, 53, 51, 49, + 47, 45, 43, 41, 39, 37, 35, 33, + 31, 29, 27, 25, 23, 21, 19, 17, + 15, 13, 11, 9, 7, 5, 3, 1, + 0, 2, 4, 6, 8, 10, 12, 14, + 16, 18, 20, 22, 24, 26, 28, 30, + 32, 34, 36, 38, 40, 42, 44, 46, + 48, 50, 52, 54, 56, 58, 60, 62, + 64, 66, 68, 70, 72, 74, 76, 78, + 80, +}; + +static encode_aux_threshmatch _vq_auxt_res0_256_1024_6 = { + _vq_quantthresh_res0_256_1024_6, + _vq_quantmap_res0_256_1024_6, + 81, + 81 +}; + +static static_codebook _vq_book_res0_256_1024_6 = { + 2, 6561, + _vq_lengthlist_res0_256_1024_6, + 1, -525074432, 1611661312, 7, 0, + _vq_quantlist_res0_256_1024_6, + NULL, + &_vq_auxt_res0_256_1024_6, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_256_1024_7.vqh b/lib/books/res0_256_1024_7.vqh new file mode 100644 index 00000000..3afa8c0c --- /dev/null +++ b/lib/books/res0_256_1024_7.vqh @@ -0,0 +1,790 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_256_1024_7_VQH_ +#define _V_res0_256_1024_7_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_256_1024_7[] = { + 280, + 279, + 281, + 278, + 282, + 277, + 283, + 276, + 284, + 275, + 285, + 274, + 286, + 273, + 287, + 272, + 288, + 271, + 289, + 270, + 290, + 269, + 291, + 268, + 292, + 267, + 293, + 266, + 294, + 265, + 295, + 264, + 296, + 263, + 297, + 262, + 298, + 261, + 299, + 260, + 300, + 259, + 301, + 258, + 302, + 257, + 303, + 256, + 304, + 255, + 305, + 254, + 306, + 253, + 307, + 252, + 308, + 251, + 309, + 250, + 310, + 249, + 311, + 248, + 312, + 247, + 313, + 246, + 314, + 245, + 315, + 244, + 316, + 243, + 317, + 242, + 318, + 241, + 319, + 240, + 320, + 239, + 321, + 238, + 322, + 237, + 323, + 236, + 324, + 235, + 325, + 234, + 326, + 233, + 327, + 232, + 328, + 231, + 329, + 230, + 330, + 229, + 331, + 228, + 332, + 227, + 333, + 226, + 334, + 225, + 335, + 224, + 336, + 223, + 337, + 222, + 338, + 221, + 339, + 220, + 340, + 219, + 341, + 218, + 342, + 217, + 343, + 216, + 344, + 215, + 345, + 214, + 346, + 213, + 347, + 212, + 348, + 211, + 349, + 210, + 350, + 209, + 351, + 208, + 352, + 207, + 353, + 206, + 354, + 205, + 355, + 204, + 356, + 203, + 357, + 202, + 358, + 201, + 359, + 200, + 360, + 199, + 361, + 198, + 362, + 197, + 363, + 196, + 364, + 195, + 365, + 194, + 366, + 193, + 367, + 192, + 368, + 191, + 369, + 190, + 370, + 189, + 371, + 188, + 372, + 187, + 373, + 186, + 374, + 185, + 375, + 184, + 376, + 183, + 377, + 182, + 378, + 181, + 379, + 180, + 380, + 179, + 381, + 178, + 382, + 177, + 383, + 176, + 384, + 175, + 385, + 174, + 386, + 173, + 387, + 172, + 388, + 171, + 389, + 170, + 390, + 169, + 391, + 168, + 392, + 167, + 393, + 166, + 394, + 165, + 395, + 164, + 396, + 163, + 397, + 162, + 398, + 161, + 399, + 160, + 400, + 159, + 401, + 158, + 402, + 157, + 403, + 156, + 404, + 155, + 405, + 154, + 406, + 153, + 407, + 152, + 408, + 151, + 409, + 150, + 410, + 149, + 411, + 148, + 412, + 147, + 413, + 146, + 414, + 145, + 415, + 144, + 416, + 143, + 417, + 142, + 418, + 141, + 419, + 140, + 420, + 139, + 421, + 138, + 422, + 137, + 423, + 136, + 424, + 135, + 425, + 134, + 426, + 133, + 427, + 132, + 428, + 131, + 429, + 130, + 430, + 129, + 431, + 128, + 432, + 127, + 433, + 126, + 434, + 125, + 435, + 124, + 436, + 123, + 437, + 122, + 438, + 121, + 439, + 120, + 440, + 119, + 441, + 118, + 442, + 117, + 443, + 116, + 444, + 115, + 445, + 114, + 446, + 113, + 447, + 112, + 448, + 111, + 449, + 110, + 450, + 109, + 451, + 108, + 452, + 107, + 453, + 106, + 454, + 105, + 455, + 104, + 456, + 103, + 457, + 102, + 458, + 101, + 459, + 100, + 460, + 99, + 461, + 98, + 462, + 97, + 463, + 96, + 464, + 95, + 465, + 94, + 466, + 93, + 467, + 92, + 468, + 91, + 469, + 90, + 470, + 89, + 471, + 88, + 472, + 87, + 473, + 86, + 474, + 85, + 475, + 84, + 476, + 83, + 477, + 82, + 478, + 81, + 479, + 80, + 480, + 79, + 481, + 78, + 482, + 77, + 483, + 76, + 484, + 75, + 485, + 74, + 486, + 73, + 487, + 72, + 488, + 71, + 489, + 70, + 490, + 69, + 491, + 68, + 492, + 67, + 493, + 66, + 494, + 65, + 495, + 64, + 496, + 63, + 497, + 62, + 498, + 61, + 499, + 60, + 500, + 59, + 501, + 58, + 502, + 57, + 503, + 56, + 504, + 55, + 505, + 54, + 506, + 53, + 507, + 52, + 508, + 51, + 509, + 50, + 510, + 49, + 511, + 48, + 512, + 47, + 513, + 46, + 514, + 45, + 515, + 44, + 516, + 43, + 517, + 42, + 518, + 41, + 519, + 40, + 520, + 39, + 521, + 38, + 522, + 37, + 523, + 36, + 524, + 35, + 525, + 34, + 526, + 33, + 527, + 32, + 528, + 31, + 529, + 30, + 530, + 29, + 531, + 28, + 532, + 27, + 533, + 26, + 534, + 25, + 535, + 24, + 536, + 23, + 537, + 22, + 538, + 21, + 539, + 20, + 540, + 19, + 541, + 18, + 542, + 17, + 543, + 16, + 544, + 15, + 545, + 14, + 546, + 13, + 547, + 12, + 548, + 11, + 549, + 10, + 550, + 9, + 551, + 8, + 552, + 7, + 553, + 6, + 554, + 5, + 555, + 4, + 556, + 3, + 557, + 2, + 558, + 1, + 559, + 0, + 560, +}; + +static long _vq_lengthlist_res0_256_1024_7[] = { + 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 7, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9,10,10,10,10,10,10,10,10,10,10,10,10, + 10, 9,10,10,10,10,10,10,10,10,10,10,10,10,10,10, + 10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11, + 11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12, + 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, + 12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13, + 13,13,13,13,13,13,13,13,13,13,13,14,13,14,13,13, + 13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,15,14,15,14,14,15, + 14,15,14,15,14,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,16,15, + 16,16,16,15,16,16,15,16,16,15,15,16,15,15,16,16, + 16,16,17,16,16,16,16,16,16,16,16,16,16,16,17,16, + 16,17,16,17,17,17,17,16,17,17,17,17,17,17,17,17, + 17,17,16,16,18,17,17,17,17,17,16,17,17,18,17,17, + 18,17,17,17,17,18,17,17,17,17,17,17,18,18,18,18, + 18,18,19,18,17,17,18,18,18,18,18,18,18,18,18,18, + 17,18,18,18,19,18,19,18,19,20,17,19,18,19,19,18, + 21,19,20,19,19,19,20,20,20,19,19,19,20,20,18,19, + 19,19,19,19,19,19,20,21,21,19,19,20,20,20,20,19, + 19,19,20,20,21,19,20,20,20,21,20,20,21,21,19,20, + 20,21,19,19,20,19,19,20,21,21,20,20,21,21,21,20, + 21,20,20,21,21,21,21,21,20,19,21,21,20,21,21,21, + 21,21,21,21,21,21,19,21,21,21,21,21,21,21,21,20, + 21,21,21,21,21,21,21,21,21,21,21,21,20,21,21,21, + 21,21,21,21,20,21,21,21,21,21,21,21,21,21,21,21, + 21,21,21,21,21,20,21,21,21,21,21,21,21,21,21,21, + 21,21,21,21,21,21,21,21,21,20,21,21,21,20,21,21, + 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21, + 21,21,21,21,21,21,21,21,21,21,21,20,20,20,20,20, + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20, + 20, +}; + +static float _vq_quantthresh_res0_256_1024_7[] = { + -279.5, -278.5, -277.5, -276.5, -275.5, -274.5, -273.5, -272.5, + -271.5, -270.5, -269.5, -268.5, -267.5, -266.5, -265.5, -264.5, + -263.5, -262.5, -261.5, -260.5, -259.5, -258.5, -257.5, -256.5, + -255.5, -254.5, -253.5, -252.5, -251.5, -250.5, -249.5, -248.5, + -247.5, -246.5, -245.5, -244.5, -243.5, -242.5, -241.5, -240.5, + -239.5, -238.5, -237.5, -236.5, -235.5, -234.5, -233.5, -232.5, + -231.5, -230.5, -229.5, -228.5, -227.5, -226.5, -225.5, -224.5, + -223.5, -222.5, -221.5, -220.5, -219.5, -218.5, -217.5, -216.5, + -215.5, -214.5, -213.5, -212.5, -211.5, -210.5, -209.5, -208.5, + -207.5, -206.5, -205.5, -204.5, -203.5, -202.5, -201.5, -200.5, + -199.5, -198.5, -197.5, -196.5, -195.5, -194.5, -193.5, -192.5, + -191.5, -190.5, -189.5, -188.5, -187.5, -186.5, -185.5, -184.5, + -183.5, -182.5, -181.5, -180.5, -179.5, -178.5, -177.5, -176.5, + -175.5, -174.5, -173.5, -172.5, -171.5, -170.5, -169.5, -168.5, + -167.5, -166.5, -165.5, -164.5, -163.5, -162.5, -161.5, -160.5, + -159.5, -158.5, -157.5, -156.5, -155.5, -154.5, -153.5, -152.5, + -151.5, -150.5, -149.5, -148.5, -147.5, -146.5, -145.5, -144.5, + -143.5, -142.5, -141.5, -140.5, -139.5, -138.5, -137.5, -136.5, + -135.5, -134.5, -133.5, -132.5, -131.5, -130.5, -129.5, -128.5, + -127.5, -126.5, -125.5, -124.5, -123.5, -122.5, -121.5, -120.5, + -119.5, -118.5, -117.5, -116.5, -115.5, -114.5, -113.5, -112.5, + -111.5, -110.5, -109.5, -108.5, -107.5, -106.5, -105.5, -104.5, + -103.5, -102.5, -101.5, -100.5, -99.5, -98.5, -97.5, -96.5, + -95.5, -94.5, -93.5, -92.5, -91.5, -90.5, -89.5, -88.5, + -87.5, -86.5, -85.5, -84.5, -83.5, -82.5, -81.5, -80.5, + -79.5, -78.5, -77.5, -76.5, -75.5, -74.5, -73.5, -72.5, + -71.5, -70.5, -69.5, -68.5, -67.5, -66.5, -65.5, -64.5, + -63.5, -62.5, -61.5, -60.5, -59.5, -58.5, -57.5, -56.5, + -55.5, -54.5, -53.5, -52.5, -51.5, -50.5, -49.5, -48.5, + -47.5, -46.5, -45.5, -44.5, -43.5, -42.5, -41.5, -40.5, + -39.5, -38.5, -37.5, -36.5, -35.5, -34.5, -33.5, -32.5, + -31.5, -30.5, -29.5, -28.5, -27.5, -26.5, -25.5, -24.5, + -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, -17.5, -16.5, + -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, + -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, + 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, + 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, + 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5, + 24.5, 25.5, 26.5, 27.5, 28.5, 29.5, 30.5, 31.5, + 32.5, 33.5, 34.5, 35.5, 36.5, 37.5, 38.5, 39.5, + 40.5, 41.5, 42.5, 43.5, 44.5, 45.5, 46.5, 47.5, + 48.5, 49.5, 50.5, 51.5, 52.5, 53.5, 54.5, 55.5, + 56.5, 57.5, 58.5, 59.5, 60.5, 61.5, 62.5, 63.5, + 64.5, 65.5, 66.5, 67.5, 68.5, 69.5, 70.5, 71.5, + 72.5, 73.5, 74.5, 75.5, 76.5, 77.5, 78.5, 79.5, + 80.5, 81.5, 82.5, 83.5, 84.5, 85.5, 86.5, 87.5, + 88.5, 89.5, 90.5, 91.5, 92.5, 93.5, 94.5, 95.5, + 96.5, 97.5, 98.5, 99.5, 100.5, 101.5, 102.5, 103.5, + 104.5, 105.5, 106.5, 107.5, 108.5, 109.5, 110.5, 111.5, + 112.5, 113.5, 114.5, 115.5, 116.5, 117.5, 118.5, 119.5, + 120.5, 121.5, 122.5, 123.5, 124.5, 125.5, 126.5, 127.5, + 128.5, 129.5, 130.5, 131.5, 132.5, 133.5, 134.5, 135.5, + 136.5, 137.5, 138.5, 139.5, 140.5, 141.5, 142.5, 143.5, + 144.5, 145.5, 146.5, 147.5, 148.5, 149.5, 150.5, 151.5, + 152.5, 153.5, 154.5, 155.5, 156.5, 157.5, 158.5, 159.5, + 160.5, 161.5, 162.5, 163.5, 164.5, 165.5, 166.5, 167.5, + 168.5, 169.5, 170.5, 171.5, 172.5, 173.5, 174.5, 175.5, + 176.5, 177.5, 178.5, 179.5, 180.5, 181.5, 182.5, 183.5, + 184.5, 185.5, 186.5, 187.5, 188.5, 189.5, 190.5, 191.5, + 192.5, 193.5, 194.5, 195.5, 196.5, 197.5, 198.5, 199.5, + 200.5, 201.5, 202.5, 203.5, 204.5, 205.5, 206.5, 207.5, + 208.5, 209.5, 210.5, 211.5, 212.5, 213.5, 214.5, 215.5, + 216.5, 217.5, 218.5, 219.5, 220.5, 221.5, 222.5, 223.5, + 224.5, 225.5, 226.5, 227.5, 228.5, 229.5, 230.5, 231.5, + 232.5, 233.5, 234.5, 235.5, 236.5, 237.5, 238.5, 239.5, + 240.5, 241.5, 242.5, 243.5, 244.5, 245.5, 246.5, 247.5, + 248.5, 249.5, 250.5, 251.5, 252.5, 253.5, 254.5, 255.5, + 256.5, 257.5, 258.5, 259.5, 260.5, 261.5, 262.5, 263.5, + 264.5, 265.5, 266.5, 267.5, 268.5, 269.5, 270.5, 271.5, + 272.5, 273.5, 274.5, 275.5, 276.5, 277.5, 278.5, 279.5, +}; + +static long _vq_quantmap_res0_256_1024_7[] = { + 559, 557, 555, 553, 551, 549, 547, 545, + 543, 541, 539, 537, 535, 533, 531, 529, + 527, 525, 523, 521, 519, 517, 515, 513, + 511, 509, 507, 505, 503, 501, 499, 497, + 495, 493, 491, 489, 487, 485, 483, 481, + 479, 477, 475, 473, 471, 469, 467, 465, + 463, 461, 459, 457, 455, 453, 451, 449, + 447, 445, 443, 441, 439, 437, 435, 433, + 431, 429, 427, 425, 423, 421, 419, 417, + 415, 413, 411, 409, 407, 405, 403, 401, + 399, 397, 395, 393, 391, 389, 387, 385, + 383, 381, 379, 377, 375, 373, 371, 369, + 367, 365, 363, 361, 359, 357, 355, 353, + 351, 349, 347, 345, 343, 341, 339, 337, + 335, 333, 331, 329, 327, 325, 323, 321, + 319, 317, 315, 313, 311, 309, 307, 305, + 303, 301, 299, 297, 295, 293, 291, 289, + 287, 285, 283, 281, 279, 277, 275, 273, + 271, 269, 267, 265, 263, 261, 259, 257, + 255, 253, 251, 249, 247, 245, 243, 241, + 239, 237, 235, 233, 231, 229, 227, 225, + 223, 221, 219, 217, 215, 213, 211, 209, + 207, 205, 203, 201, 199, 197, 195, 193, + 191, 189, 187, 185, 183, 181, 179, 177, + 175, 173, 171, 169, 167, 165, 163, 161, + 159, 157, 155, 153, 151, 149, 147, 145, + 143, 141, 139, 137, 135, 133, 131, 129, + 127, 125, 123, 121, 119, 117, 115, 113, + 111, 109, 107, 105, 103, 101, 99, 97, + 95, 93, 91, 89, 87, 85, 83, 81, + 79, 77, 75, 73, 71, 69, 67, 65, + 63, 61, 59, 57, 55, 53, 51, 49, + 47, 45, 43, 41, 39, 37, 35, 33, + 31, 29, 27, 25, 23, 21, 19, 17, + 15, 13, 11, 9, 7, 5, 3, 1, + 0, 2, 4, 6, 8, 10, 12, 14, + 16, 18, 20, 22, 24, 26, 28, 30, + 32, 34, 36, 38, 40, 42, 44, 46, + 48, 50, 52, 54, 56, 58, 60, 62, + 64, 66, 68, 70, 72, 74, 76, 78, + 80, 82, 84, 86, 88, 90, 92, 94, + 96, 98, 100, 102, 104, 106, 108, 110, + 112, 114, 116, 118, 120, 122, 124, 126, + 128, 130, 132, 134, 136, 138, 140, 142, + 144, 146, 148, 150, 152, 154, 156, 158, + 160, 162, 164, 166, 168, 170, 172, 174, + 176, 178, 180, 182, 184, 186, 188, 190, + 192, 194, 196, 198, 200, 202, 204, 206, + 208, 210, 212, 214, 216, 218, 220, 222, + 224, 226, 228, 230, 232, 234, 236, 238, + 240, 242, 244, 246, 248, 250, 252, 254, + 256, 258, 260, 262, 264, 266, 268, 270, + 272, 274, 276, 278, 280, 282, 284, 286, + 288, 290, 292, 294, 296, 298, 300, 302, + 304, 306, 308, 310, 312, 314, 316, 318, + 320, 322, 324, 326, 328, 330, 332, 334, + 336, 338, 340, 342, 344, 346, 348, 350, + 352, 354, 356, 358, 360, 362, 364, 366, + 368, 370, 372, 374, 376, 378, 380, 382, + 384, 386, 388, 390, 392, 394, 396, 398, + 400, 402, 404, 406, 408, 410, 412, 414, + 416, 418, 420, 422, 424, 426, 428, 430, + 432, 434, 436, 438, 440, 442, 444, 446, + 448, 450, 452, 454, 456, 458, 460, 462, + 464, 466, 468, 470, 472, 474, 476, 478, + 480, 482, 484, 486, 488, 490, 492, 494, + 496, 498, 500, 502, 504, 506, 508, 510, + 512, 514, 516, 518, 520, 522, 524, 526, + 528, 530, 532, 534, 536, 538, 540, 542, + 544, 546, 548, 550, 552, 554, 556, 558, + 560, +}; + +static encode_aux_threshmatch _vq_auxt_res0_256_1024_7 = { + _vq_quantthresh_res0_256_1024_7, + _vq_quantmap_res0_256_1024_7, + 561, + 561 +}; + +static static_codebook _vq_book_res0_256_1024_7 = { + 1, 561, + _vq_lengthlist_res0_256_1024_7, + 1, -518946816, 1611661312, 10, 0, + _vq_quantlist_res0_256_1024_7, + NULL, + &_vq_auxt_res0_256_1024_7, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_256_1024aux.vqh b/lib/books/res0_256_1024aux.vqh new file mode 100644 index 00000000..4f4cc2b8 --- /dev/null +++ b/lib/books/res0_256_1024aux.vqh @@ -0,0 +1,40 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by huff/huffbuld + + ********************************************************************/ + +#ifndef _V_res0_256_1024aux_VQH_ +#define _V_res0_256_1024aux_VQH_ +#include "codebook.h" + +static long _huff_lengthlist_res0_256_1024aux[] = { + 2, 7,11,11,17,13,15,19, 5, 3, 6, 7,10,10,12,19, + 10, 5, 4, 5, 7, 9,12,18, 9, 6, 5, 5, 6, 7,10,15, + 15, 9, 6, 6, 5, 6,10,16,10, 9, 8, 6, 5, 4, 6,13, + 11,10, 9, 7, 7, 5, 6,12,13,10,10, 9, 8, 6, 6,12, +}; + +static static_codebook _huff_book_res0_256_1024aux = { + 2, 64, + _huff_lengthlist_res0_256_1024aux, + 0, 0, 0, 0, 0, + NULL, + NULL, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_256_128_1.vqh b/lib/books/res0_256_128_1.vqh new file mode 100644 index 00000000..364f65e9 --- /dev/null +++ b/lib/books/res0_256_128_1.vqh @@ -0,0 +1,63 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_256_128_1_VQH_ +#define _V_res0_256_128_1_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_256_128_1[] = { + 1, + 0, + 2, +}; + +static long _vq_lengthlist_res0_256_128_1[] = { + 2, 4, 4, 4, 6, 6, 4, 6, 6, 5, 7, 6, 7, 8, 8, 7, + 8, 8, 5, 6, 7, 7, 8, 8, 7, 8, 8, 5, 7, 7, 7, 8, + 8, 7, 8, 8, 7, 9, 8, 8, 9,10, 8,10, 9, 7, 8, 8, + 8,10, 9, 9, 9, 9, 5, 7, 7, 7, 8, 8, 7, 8, 8, 7, + 8, 8, 9, 9, 9, 8, 9,10, 7, 8, 9, 9, 9,10, 8,10, + 9, +}; + +static float _vq_quantthresh_res0_256_128_1[] = { + -0.5, 0.5, +}; + +static long _vq_quantmap_res0_256_128_1[] = { + 1, 0, 2, +}; + +static encode_aux_threshmatch _vq_auxt_res0_256_128_1 = { + _vq_quantthresh_res0_256_128_1, + _vq_quantmap_res0_256_128_1, + 3, + 3 +}; + +static static_codebook _vq_book_res0_256_128_1 = { + 4, 81, + _vq_lengthlist_res0_256_128_1, + 1, -535822336, 1611661312, 2, 0, + _vq_quantlist_res0_256_128_1, + NULL, + &_vq_auxt_res0_256_128_1, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_256_128_2.vqh b/lib/books/res0_256_128_2.vqh new file mode 100644 index 00000000..3bf1d8c7 --- /dev/null +++ b/lib/books/res0_256_128_2.vqh @@ -0,0 +1,99 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_256_128_2_VQH_ +#define _V_res0_256_128_2_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_256_128_2[] = { + 2, + 1, + 3, + 0, + 4, +}; + +static long _vq_lengthlist_res0_256_128_2[] = { + 5, 6, 6, 7, 7, 6, 7, 7, 8, 8, 6, 7, 7, 8, 8, 7, + 8, 8,10,10, 7, 8, 8,10,10, 6, 7, 7, 8, 8, 7, 8, + 8, 9, 9, 7, 8, 8, 9, 9, 8, 9, 9,11,11, 8, 9, 9, + 11,11, 6, 7, 7, 8, 8, 7, 8, 8, 9, 9, 7, 8, 8, 9, + 9, 8, 9, 9,11,10, 8, 9, 9,11,11, 8, 9, 9,10,10, + 9, 9, 9,11,11, 9, 9, 9,11,11,10,11,11,12,13,10, + 11,11,12,13, 8, 9, 9,10,10, 9, 9, 9,11,11, 9, 9, + 9,11,11,10,11,11,13,12,10,11,11,13,12, 6, 7, 7, + 9, 9, 7, 8, 8, 9, 9, 7, 8, 8, 9, 9, 9, 9, 9,11, + 11, 8, 9, 9,11,11, 7, 8, 8, 9, 9, 8, 9, 9,10,10, + 8, 9, 9,10,10, 9,10,10,11,12, 9,10,10,12,12, 7, + 8, 8, 9, 9, 8, 9, 8,10,10, 8, 9, 9,10,10, 9,10, + 10,12,11, 9,10,10,12,12, 9,10, 9,11,11, 9,10,10, + 12,12,10,10,10,12,12,11,11,12,13,13,11,12,12,14, + 14, 9, 9,10,11,11, 9,10,10,12,12,10,10,10,11,12, + 11,12,11,13,12,11,12,12,14,14, 6, 7, 7, 9, 8, 7, + 8, 8, 9, 9, 7, 8, 8, 9, 9, 9, 9, 9,11,11, 9, 9, + 9,11,11, 7, 8, 8, 9, 9, 8, 9, 9,10,10, 8, 8, 9, + 10,10, 9,10,10,12,12, 9,10,10,11,12, 7, 8, 8, 9, + 9, 8, 9, 9,10,10, 8, 9, 8,10,10, 9,10,10,12,12, + 9,10,10,12,11, 9,10, 9,11,11,10,10,10,12,12, 9, + 10,10,12,12,12,12,12,14,14,11,11,12,12,14, 9, 9, + 10,11,11, 9,10,10,12,12, 9,10,10,12,11,11,12,12, + 14,13,11,12,11,13,12, 8, 9, 9,10,11, 9,10,10,11, + 11, 9,10,10,11,11,11,12,12,13,13,11,11,11,13,13, + 9,10,10,12,11,10,10,10,12,12,10,11,10,13,12,11, + 12,12,14,14,11,12,12,14,14, 9, 9,10,11,12,10,10, + 10,12,12,10,10,10,12,12,12,12,12,14,13,11,12,12, + 13,13,11,12,11,13,13,11,12,12,14,14,12,12,12,14, + 13,13,14,14,14,15,13,14,14,15,16,11,11,12,13,13, + 11,12,11,14,14,12,12,13,14,13,13,14,13,16,13,14, + 14,14,15,16, 8, 9, 9,10,11, 9,10,10,11,11, 9,10, + 10,11,11,10,11,11,13,13,11,12,12,13,13, 9,10,10, + 11,11,10,10,10,12,12,10,10,10,12,12,11,12,12,14, + 14,12,12,12,14,14, 9,10,10,11,11,10,10,10,12,12, + 10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,11, + 12,11,13,13,11,13,12,14,14,11,12,12,13,14,14,15, + 14,15,16,13,13,14,14,16,11,11,12,13,13,12,12,12, + 14,15,11,12,12,14,13,14,14,14,15,16,14,14,13,15, + 15, +}; + +static float _vq_quantthresh_res0_256_128_2[] = { + -1.5, -0.5, 0.5, 1.5, +}; + +static long _vq_quantmap_res0_256_128_2[] = { + 3, 1, 0, 2, 4, +}; + +static encode_aux_threshmatch _vq_auxt_res0_256_128_2 = { + _vq_quantthresh_res0_256_128_2, + _vq_quantmap_res0_256_128_2, + 5, + 5 +}; + +static static_codebook _vq_book_res0_256_128_2 = { + 4, 625, + _vq_lengthlist_res0_256_128_2, + 1, -533725184, 1611661312, 3, 0, + _vq_quantlist_res0_256_128_2, + NULL, + &_vq_auxt_res0_256_128_2, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_256_128_3.vqh b/lib/books/res0_256_128_3.vqh new file mode 100644 index 00000000..4a5d4b92 --- /dev/null +++ b/lib/books/res0_256_128_3.vqh @@ -0,0 +1,80 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_256_128_3_VQH_ +#define _V_res0_256_128_3_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_256_128_3[] = { + 6, + 5, + 7, + 4, + 8, + 3, + 9, + 2, + 10, + 1, + 11, + 0, + 12, +}; + +static long _vq_lengthlist_res0_256_128_3[] = { + 3, 4, 4, 5, 5, 6, 6, 8, 8,10,10,11,11, 4, 5, 4, + 6, 6, 7, 7, 9, 9,11,11,13,13, 4, 4, 5, 6, 6, 7, + 7,10, 9,11,11,12,12, 5, 6, 6, 8, 8, 9, 9,11,11, + 13,13,14,14, 5, 6, 6, 8, 8, 9, 9,11,11,12,13,14, + 14, 7, 7, 7, 9, 9,12,11,13,13,14,15,16,16, 6, 7, + 7, 9, 9,12,12,14,13,15,15,17,16, 9,10,10,12,12, + 14,14,15,15,16,16,16,18, 9,10,10,12,12,14,14,16, + 15,16,16,17,17,10,12,12,13,14,16,16,15,19,17,18, + 18,17,10,12,12,14,14,17,15,17,16,17,16,19,17,12, + 13,13,15,15,16,16,17,18,18,17,18,19,11,13,13,15, + 14,17,16,19,16,19,17,19,18, +}; + +static float _vq_quantthresh_res0_256_128_3[] = { + -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, + 2.5, 3.5, 4.5, 5.5, +}; + +static long _vq_quantmap_res0_256_128_3[] = { + 11, 9, 7, 5, 3, 1, 0, 2, + 4, 6, 8, 10, 12, +}; + +static encode_aux_threshmatch _vq_auxt_res0_256_128_3 = { + _vq_quantthresh_res0_256_128_3, + _vq_quantmap_res0_256_128_3, + 13, + 13 +}; + +static static_codebook _vq_book_res0_256_128_3 = { + 2, 169, + _vq_lengthlist_res0_256_128_3, + 1, -531103744, 1611661312, 4, 0, + _vq_quantlist_res0_256_128_3, + NULL, + &_vq_auxt_res0_256_128_3, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_256_128_4.vqh b/lib/books/res0_256_128_4.vqh new file mode 100644 index 00000000..7ded3f3c --- /dev/null +++ b/lib/books/res0_256_128_4.vqh @@ -0,0 +1,565 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_256_128_4_VQH_ +#define _V_res0_256_128_4_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_256_128_4[] = { + 40, + 39, + 41, + 38, + 42, + 37, + 43, + 36, + 44, + 35, + 45, + 34, + 46, + 33, + 47, + 32, + 48, + 31, + 49, + 30, + 50, + 29, + 51, + 28, + 52, + 27, + 53, + 26, + 54, + 25, + 55, + 24, + 56, + 23, + 57, + 22, + 58, + 21, + 59, + 20, + 60, + 19, + 61, + 18, + 62, + 17, + 63, + 16, + 64, + 15, + 65, + 14, + 66, + 13, + 67, + 12, + 68, + 11, + 69, + 10, + 70, + 9, + 71, + 8, + 72, + 7, + 73, + 6, + 74, + 5, + 75, + 4, + 76, + 3, + 77, + 2, + 78, + 1, + 79, + 0, + 80, +}; + +static long _vq_lengthlist_res0_256_128_4[] = { + 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, + 9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11, + 11,11,11,11,12,11,12,12,12,12,12,12,12,12,12,13, + 12, 7, 7, 7, 7, 7, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 9, 9,10,10,10,10, + 10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11, + 11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13, + 13,13, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10, + 10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11, + 11,12,11,11,12,12,12,12,12,12,13,12,13,13,13,13, + 13,13,13, 7, 7, 7, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, + 9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, + 10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,11, + 12,12,12,12,12,12,13,13,13,13,12,13,13,13,14,14, + 13,14,14,14, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9,10,10,10,10,10,10,10,10,10,10,10,10,10, + 10,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12, + 12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13, + 14,13,14,14,13, 9, 9, 9, 9, 9, 9, 9,10,10,10,10, + 10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11, + 11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12, + 12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13, + 13,14,13,14,15,13,13,14,14,14,15,14,15,15,15,15, + 15,14,14,15,16,15, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, + 10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11, + 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, + 12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13, + 13,13,14,13,13,13,14,14,14,14,14,14,14,15,14,15, + 15,14,14,15,15,17,16,10,10,10,10,10,11,11,11,11, + 11,11,11,11,11,11,11,11,12,11,12,12,12,12,12,12, + 12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,13, + 13,13,13,13,13,13,13,14,13,13,14,13,14,13,14,14, + 14,14,15,15,15,15,15,15,15,15,16,14,15,16,15,16, + 15,17,17,15,16,16,15,17,10,10,10,10,10,11,10,11, + 11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12, + 12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13, + 13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14, + 14,14,14,14,15,15,15,15,14,14,15,15,15,15,15,15, + 15,16,16,16,16,17,16,16,17,11,11,11,11,11,11,12, + 12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13, + 13,13,13,13,13,13,13,14,13,13,13,14,13,13,13,13, + 13,13,13,13,13,14,14,14,14,14,15,14,15,14,15,15, + 15,16,15,15,15,15,16,15,16,15,17,16,15,15,16,17, + 17,15,16,16,18,17,16,16,17,18,11,11,11,11,11,12, + 11,12,12,12,12,12,12,12,12,13,12,13,12,12,13,12, + 13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13, + 13,14,14,13,14,14,14,14,14,15,14,15,14,15,14,15, + 14,15,14,15,15,15,15,15,15,15,16,16,15,15,15,17, + 16,16,16,17,18,17,17,18,16,16,18,12,12,12,12,12, + 13,13,13,12,13,13,13,13,13,13,13,13,14,13,13,13, + 14,14,13,14,14,13,13,14,14,14,14,14,14,14,14,14, + 14,14,14,15,15,15,15,15,14,14,14,15,15,15,15,15, + 15,16,16,15,16,16,15,17,15,17,17,18,17,16,17,17, + 16,17,17,17,17,18,18,17,18,17,16,18,12,12,12,12, + 12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13, + 13,13,13,14,14,14,14,13,13,14,14,14,13,14,14,14, + 14,14,15,14,14,14,15,15,15,15,15,14,14,15,14,16, + 16,15,15,15,15,16,16,16,16,17,15,17,16,18,16,17, + 18,16,17,16,18,17,18,17,17,17,16,17,17,12,12,12, + 13,13,13,13,14,13,14,13,14,14,14,14,14,14,14,14, + 14,14,14,14,14,15,14,14,14,13,14,15,14,14,14,14, + 15,15,15,16,15,15,16,15,14,15,15,15,16,15,16,16, + 15,16,16,16,16,15,16,17,17,18,17,18,18,18,17,17, + 17,17,18,18,17,17,18,18,18,17,18,18,18,17,11,12, + 12,13,13,13,13,14,13,13,13,13,13,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,15,14,14,15,15,15,15, + 15,15,15,15,14,15,15,15,15,16,16,15,15,17,16,15, + 15,17,15,15,16,17,16,17,17,17,16,16,17,17,17,17, + 18,18,17,18,17,18,16,18,17,18,17,17,17,18,18,12, + 13,13,14,14,14,14,14,14,14,15,14,14,14,14,14,15, + 15,14,14,14,15,15,15,15,15,15,15,15,16,15,15,15, + 14,16,15,15,16,15,16,15,16,16,16,16,16,15,17,16, + 16,16,17,16,16,17,18,17,17,16,17,17,17,17,18,17, + 18,17,17,17,18,18,17,18,18,18,17,18,17,18,18,17, + 12,13,13,14,13,13,14,14,14,15,14,14,15,14,14,14, + 15,15,15,15,14,15,15,14,15,14,15,15,15,15,14,15, + 15,15,15,15,15,16,15,15,15,17,17,15,15,16,15,17, + 16,15,16,15,16,18,15,17,15,16,18,17,16,18,17,18, + 17,18,17,18,18,18,17,18,18,18,18,18,18,18,18,18, + 18,13,14,13,13,14,14,14,14,15,14,15,15,14,15,15, + 15,16,15,15,15,15,15,15,15,15,15,16,16,16,15,16, + 15,16,15,15,15,16,18,16,15,16,15,16,16,17,17,16, + 16,16,16,17,16,18,16,17,16,16,16,17,17,18,17,16, + 18,17,18,18,17,18,18,18,17,18,17,17,17,17,18,18, + 17,18,12,14,14,14,14,14,14,15,15,15,15,15,15,15, + 15,15,15,15,15,15,16,15,15,15,16,15,15,15,15,15, + 16,16,16,16,15,15,16,16,15,16,17,16,17,15,16,17, + 17,17,16,16,16,17,18,16,16,17,17,18,18,17,18,18, + 17,18,18,18,17,18,18,18,17,18,18,18,17,18,18,18, + 18,17,17,14,14,14,14,14,14,15,15,15,15,15,15,16, + 15,16,16,15,15,15,17,15,17,16,15,16,16,16,15,16, + 16,16,15,16,16,15,17,17,16,16,16,17,17,18,18,16, + 18,16,18,17,17,15,17,17,16,16,16,18,17,18,16,17, + 18,18,17,18,18,18,18,18,17,17,18,18,18,18,18,18, + 18,18,18,18,14,14,14,15,14,14,15,15,15,14,15,15, + 16,16,15,15,17,15,15,15,15,16,16,16,16,16,17,16, + 17,15,15,16,16,17,15,16,16,16,16,17,16,17,17,17, + 18,16,16,17,17,17,18,16,17,17,18,18,18,18,18,18, + 16,17,17,17,17,17,17,18,17,18,18,18,18,18,17,18, + 18,18,18,18,18,14,14,15,15,15,15,15,16,16,15,16, + 15,15,16,15,16,16,15,17,16,16,15,15,17,16,16,17, + 16,16,17,16,16,17,18,17,17,17,17,17,17,17,18,16, + 17,17,17,18,18,18,17,16,18,18,17,17,18,17,18,18, + 18,18,17,18,17,17,18,18,18,18,18,18,17,18,18,18, + 18,18,18,18,18,18,13,14,14,15,16,15,15,15,16,16, + 16,16,16,16,16,17,16,17,16,15,16,17,16,15,15,16, + 16,17,17,16,16,16,17,16,16,16,16,17,17,18,17,17, + 17,16,17,17,17,18,16,18,18,17,18,17,18,18,17,18, + 17,18,17,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,17,18,17,18,18,18,15,16,15,15,15,15,16,15,17, + 15,16,18,16,16,16,16,16,16,18,17,17,17,17,17,16, + 18,16,18,17,17,17,15,17,18,17,16,16,17,16,17,18, + 17,17,17,18,17,17,17,17,18,18,18,17,18,18,18,18, + 18,18,18,18,18,18,18,18,17,18,18,18,18,18,17,18, + 18,18,18,18,18,18,18,18,15,17,16,15,15,15,16,15, + 16,15,15,16,17,17,17,17,15,16,16,17,17,17,17,17, + 17,16,15,16,16,17,17,17,17,17,17,17,16,18,17,17, + 16,17,17,17,16,17,18,17,18,17,16,18,18,17,17,17, + 17,18,18,18,17,17,18,18,18,18,18,18,17,18,17,17, + 18,18,18,18,18,18,18,17,18,14,15,16,15,16,16,17, + 17,18,16,15,16,17,17,16,16,17,17,17,16,17,18,16, + 17,16,17,16,17,17,17,17,18,18,17,17,17,18,18,17, + 17,18,17,18,18,18,17,17,18,18,17,17,16,18,18,18, + 17,18,17,18,18,18,17,17,18,18,18,18,18,18,18,18, + 18,17,18,18,18,18,18,18,18,18,14,15,16,16,15,16, + 16,16,16,16,16,16,16,17,15,16,16,16,17,16,17,17, + 17,17,18,16,17,15,17,18,18,18,16,16,18,17,18,18, + 17,18,16,17,16,17,17,16,17,18,18,18,17,17,18,17, + 17,18,17,18,17,17,18,18,17,18,18,18,17,17,17,18, + 18,18,17,18,18,18,18,17,18,18,18,15,16,16,17,17, + 16,16,16,16,16,16,16,16,17,17,16,17,17,17,18,17, + 16,17,17,17,17,17,17,18,17,16,17,18,17,16,17,18, + 17,18,18,17,18,18,18,16,17,18,17,18,17,18,18,17, + 18,17,18,18,17,17,18,17,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,17,15,17,16,16, + 15,16,16,17,16,17,15,16,16,16,17,17,17,18,17,17, + 16,17,18,18,16,18,17,17,16,16,17,18,16,17,17,18, + 18,17,17,17,18,18,18,18,18,18,17,18,17,17,18,17, + 17,18,18,18,18,18,18,18,18,18,18,18,18,18,18,17, + 18,17,18,18,18,18,18,17,17,18,18,18,18,17,16,15, + 15,16,17,18,17,17,16,16,18,17,17,17,16,17,16,17, + 17,17,16,18,18,17,17,17,18,18,17,18,16,16,17,16, + 18,17,17,18,18,17,17,18,18,17,18,18,18,18,17,18, + 17,17,18,17,18,18,17,18,17,18,18,18,17,17,18,18, + 17,18,18,18,18,18,18,18,18,18,18,18,18,18,17,16, + 17,16,17,17,18,18,17,17,16,17,16,18,17,17,17,17, + 17,17,16,17,18,17,17,18,16,17,18,17,17,17,17,18, + 17,18,17,17,16,17,18,17,17,18,18,18,17,17,17,17, + 18,17,17,18,18,18,18,17,17,18,18,18,18,18,18,18, + 18,17,18,18,18,18,18,18,18,18,18,18,18,18,18,16, + 17,17,17,17,17,17,17,17,18,16,17,16,18,17,17,17, + 17,17,18,17,17,18,17,18,16,17,18,18,18,17,17,18, + 18,18,17,18,18,17,18,18,18,18,18,18,18,18,18,18, + 18,18,17,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 16,17,16,18,16,18,17,17,17,16,16,17,16,18,16,18, + 18,18,17,17,16,17,18,17,18,18,18,17,18,16,17,17, + 17,18,18,18,18,18,18,18,17,18,17,18,18,18,17,18, + 18,18,18,18,17,18,17,18,18,17,18,18,17,18,18,18, + 18,18,17,18,18,18,17,18,18,18,18,18,18,18,18,18, + 18,16,17,18,16,18,17,17,17,16,16,18,17,17,17,16, + 16,18,17,17,16,17,17,18,16,18,17,18,17,18,17,17, + 17,17,18,18,18,18,17,18,18,18,18,18,18,18,18,18, + 17,18,18,18,18,18,18,17,18,18,18,18,18,18,17,18, + 18,18,18,18,18,18,18,18,18,17,18,18,18,18,18,18, + 18,18,16,17,17,17,17,17,18,17,18,18,17,17,17,18, + 17,18,16,17,17,17,17,18,18,18,17,18,18,18,18,18, + 17,18,18,18,17,18,18,18,18,18,18,18,17,18,18,18, + 18,18,18,18,18,18,17,18,18,18,18,17,18,18,17,18, + 18,18,17,18,18,18,18,17,18,18,18,18,18,18,18,18, + 18,18,18,17,17,17,17,16,16,18,16,17,16,18,18,17, + 17,18,17,18,18,18,18,17,18,17,17,17,18,17,18,18, + 18,18,18,18,18,18,17,18,18,18,18,18,17,17,18,18, + 18,18,18,17,18,18,17,18,18,18,18,18,17,18,18,18, + 18,18,18,18,18,18,18,18,18,18,17,18,18,18,18,18, + 18,18,18,18,17,17,16,17,17,17,17,17,17,17,18,17, + 18,17,17,17,17,18,17,17,16,17,18,17,17,18,18,18, + 17,17,17,18,18,18,18,17,18,18,17,17,17,17,18,18, + 18,18,18,18,18,18,18,18,18,18,18,17,18,18,17,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,17,17,16,17,16,18,17,18,18,17,16, + 18,17,18,17,17,18,18,18,17,18,18,18,17,18,17,18, + 18,17,18,18,18,17,18,18,18,18,18,18,17,18,18,17, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,17, + 18,18,18,18,18,18,17,18,18,18,18,18,18,18,18,18, + 18,18,18,18,17,18,16,17,17,17,18,16,17,18,17,18, + 16,17,18,18,18,17,17,17,18,18,18,18,18,16,17,18, + 18,18,17,18,18,18,18,18,18,18,18,18,17,18,18,18, + 18,18,18,18,18,17,17,18,18,17,18,17,18,18,18,18, + 18,18,18,18,17,17,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,16,17,17,17,17,17,17,16,17, + 18,17,17,17,18,18,18,18,18,18,17,18,18,18,18,17, + 17,17,17,18,18,18,18,18,18,18,18,18,18,18,18,17, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,17,18, + 18,18,18,18,18,18,18,18,17,17,18,18,16,18,17,17, + 18,17,17,18,18,18,17,17,17,17,18,18,18,18,17,17, + 17,17,18,18,18,18,17,18,17,18,17,18,18,18,17,18, + 18,17,18,18,18,18,18,18,17,18,17,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,17,18,16,17,17,17,18, + 18,17,18,17,18,17,18,17,18,18,18,17,18,18,16,18, + 18,17,18,18,17,17,18,18,18,17,18,18,17,18,18,17, + 18,18,18,18,18,17,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,17,16,18,17,17,17, + 18,18,18,17,18,17,18,17,18,18,18,18,17,18,18,18, + 18,18,18,18,17,17,18,18,18,18,18,18,18,18,18,18, + 17,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,17,18,18,18,18,18,18,18,18,18,17,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,17,17,17,18,18, + 18,17,17,18,18,18,18,17,18,18,18,18,18,18,18,18, + 18,17,18,17,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,17,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,17,17,18,18, + 17,17,17,18,17,18,18,17,18,18,17,18,18,18,18,18, + 18,18,18,17,18,18,17,18,18,17,18,18,18,18,18,18, + 17,18,17,18,18,18,17,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,17,18,18, + 18,17,18,18,17,18,18,18,17,18,18,18,18,18,18,18, + 18,18,18,17,18,18,18,17,18,17,18,17,18,18,18,18, + 18,18,18,18,17,18,18,18,18,18,18,18,18,17,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 17,18,18,18,18,18,18,18,18,18,18,18,18,18,17,18, + 17,17,18,17,17,18,18,18,18,17,18,18,18,17,18,18, + 18,18,18,18,18,18,17,18,17,18,18,18,18,17,18,18, + 18,18,18,18,18,18,18,18,18,18,18,17,18,18,17,18, + 18,18,18,18,18,18,18,18,18,18,17,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,17, + 18,18,18,18,17,17,18,18,18,18,18,18,17,18,18,18, + 18,18,18,18,18,18,18,18,17,18,18,18,18,18,17,18, + 17,18,18,17,18,18,17,17,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 17,18,18,18,18,18,17,17,17,17,18,18,18,17,18,18, + 17,18,18,18,18,18,17,18,18,18,18,18,18,18,17,17, + 17,18,18,18,18,18,18,18,18,17,18,18,18,18,17,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,17,18,18,18,17,18,18,18,17,17,18,18, + 18,18,18,18,18,17,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,17, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,17,18,17,18,18,18,18,18,18,18,18,18, + 18,18,18,17,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,17,18,17,18,17,18,17,18,18,18,17,17, + 18,17,18,18,18,17,18,18,18,18,17,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,17,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,16,18,17,18,17,18,18,18,18,18,17, + 18,17,18,17,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,17,18,18,18,18,18,18, + 18,18,18,18,17,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,17,18,17,17,18,18,18,18,18,18, + 18,18,18,18,18,17,18,18,18,17,18,18,18,17,18,18, + 18,17,17,18,18,17,18,18,18,18,18,18,18,18,18,18, + 18,18,18,17,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,17,18,18,18,18,18,17,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,17,18,17,18,18,17,18,17,18,18,18,18,18, + 18,17,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,17,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,17,18,18,18,17,18,18,18, + 18,17,18,18,17,18,18,18,18,18,18,18,18,18,17,18, + 18,17,18,18,18,18,18,18,18,18,18,18,18,18,18,17, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,17,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,17,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,17,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,17,18,18,18,18,18,18,17,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,17,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,17,18,18,18,18,18,18,17,17,17,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,17,18,18,18,18, + 18,18,18,18,18,18,18,17,18,18,18,18,18,18,18,18, + 18,18,18,17,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,17,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,17,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 17,18,18,17,18,18,18,17,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 17,18,18,17,18,18,18,18,18,17,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,16,18,18,18,17,18,18,18,18,18,18,18, + 18,17,18,18,18,18,17,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,17,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,17,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 17,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,17,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,17,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,17,17,18,18,18,18,17,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,17,18,18,18,18,18,18, + 17,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 17,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,17,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,17, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,17,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,17,17, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,17,18,18, + 18,18,18,18,18,18,18,17,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,17,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,17,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,17,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,17, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,17,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, + 18, +}; + +static float _vq_quantthresh_res0_256_128_4[] = { + -39.5, -38.5, -37.5, -36.5, -35.5, -34.5, -33.5, -32.5, + -31.5, -30.5, -29.5, -28.5, -27.5, -26.5, -25.5, -24.5, + -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, -17.5, -16.5, + -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, + -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, + 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, + 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, + 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5, + 24.5, 25.5, 26.5, 27.5, 28.5, 29.5, 30.5, 31.5, + 32.5, 33.5, 34.5, 35.5, 36.5, 37.5, 38.5, 39.5, +}; + +static long _vq_quantmap_res0_256_128_4[] = { + 79, 77, 75, 73, 71, 69, 67, 65, + 63, 61, 59, 57, 55, 53, 51, 49, + 47, 45, 43, 41, 39, 37, 35, 33, + 31, 29, 27, 25, 23, 21, 19, 17, + 15, 13, 11, 9, 7, 5, 3, 1, + 0, 2, 4, 6, 8, 10, 12, 14, + 16, 18, 20, 22, 24, 26, 28, 30, + 32, 34, 36, 38, 40, 42, 44, 46, + 48, 50, 52, 54, 56, 58, 60, 62, + 64, 66, 68, 70, 72, 74, 76, 78, + 80, +}; + +static encode_aux_threshmatch _vq_auxt_res0_256_128_4 = { + _vq_quantthresh_res0_256_128_4, + _vq_quantmap_res0_256_128_4, + 81, + 81 +}; + +static static_codebook _vq_book_res0_256_128_4 = { + 2, 6561, + _vq_lengthlist_res0_256_128_4, + 1, -525074432, 1611661312, 7, 0, + _vq_quantlist_res0_256_128_4, + NULL, + &_vq_auxt_res0_256_128_4, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_256_128_5.vqh b/lib/books/res0_256_128_5.vqh new file mode 100644 index 00000000..27f566cc --- /dev/null +++ b/lib/books/res0_256_128_5.vqh @@ -0,0 +1,448 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_256_128_5_VQH_ +#define _V_res0_256_128_5_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_256_128_5[] = { + 150, + 149, + 151, + 148, + 152, + 147, + 153, + 146, + 154, + 145, + 155, + 144, + 156, + 143, + 157, + 142, + 158, + 141, + 159, + 140, + 160, + 139, + 161, + 138, + 162, + 137, + 163, + 136, + 164, + 135, + 165, + 134, + 166, + 133, + 167, + 132, + 168, + 131, + 169, + 130, + 170, + 129, + 171, + 128, + 172, + 127, + 173, + 126, + 174, + 125, + 175, + 124, + 176, + 123, + 177, + 122, + 178, + 121, + 179, + 120, + 180, + 119, + 181, + 118, + 182, + 117, + 183, + 116, + 184, + 115, + 185, + 114, + 186, + 113, + 187, + 112, + 188, + 111, + 189, + 110, + 190, + 109, + 191, + 108, + 192, + 107, + 193, + 106, + 194, + 105, + 195, + 104, + 196, + 103, + 197, + 102, + 198, + 101, + 199, + 100, + 200, + 99, + 201, + 98, + 202, + 97, + 203, + 96, + 204, + 95, + 205, + 94, + 206, + 93, + 207, + 92, + 208, + 91, + 209, + 90, + 210, + 89, + 211, + 88, + 212, + 87, + 213, + 86, + 214, + 85, + 215, + 84, + 216, + 83, + 217, + 82, + 218, + 81, + 219, + 80, + 220, + 79, + 221, + 78, + 222, + 77, + 223, + 76, + 224, + 75, + 225, + 74, + 226, + 73, + 227, + 72, + 228, + 71, + 229, + 70, + 230, + 69, + 231, + 68, + 232, + 67, + 233, + 66, + 234, + 65, + 235, + 64, + 236, + 63, + 237, + 62, + 238, + 61, + 239, + 60, + 240, + 59, + 241, + 58, + 242, + 57, + 243, + 56, + 244, + 55, + 245, + 54, + 246, + 53, + 247, + 52, + 248, + 51, + 249, + 50, + 250, + 49, + 251, + 48, + 252, + 47, + 253, + 46, + 254, + 45, + 255, + 44, + 256, + 43, + 257, + 42, + 258, + 41, + 259, + 40, + 260, + 39, + 261, + 38, + 262, + 37, + 263, + 36, + 264, + 35, + 265, + 34, + 266, + 33, + 267, + 32, + 268, + 31, + 269, + 30, + 270, + 29, + 271, + 28, + 272, + 27, + 273, + 26, + 274, + 25, + 275, + 24, + 276, + 23, + 277, + 22, + 278, + 21, + 279, + 20, + 280, + 19, + 281, + 18, + 282, + 17, + 283, + 16, + 284, + 15, + 285, + 14, + 286, + 13, + 287, + 12, + 288, + 11, + 289, + 10, + 290, + 9, + 291, + 8, + 292, + 7, + 293, + 6, + 294, + 5, + 295, + 4, + 296, + 3, + 297, + 2, + 298, + 1, + 299, + 0, + 300, +}; + +static long _vq_lengthlist_res0_256_128_5[] = { + 3, 3, 3, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 7, 8, 7, + 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, + 9, 9, 9, 9, 9,10, 9,10, 9,10,10,10,10,10,10,10, + 11,11,11,11,11,11,11,12,11,12,12,12,12,12,12,12, + 13, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,10, + 9, 9,10,10,10,10,10,10,10,10,11,11,11,11,11,10, + 11,12,11,12,11,13,11,13,12,13,12,13,12,13,12,14, + 12,13,12,13,13,12,13,14,14,15,12,15,14,13,12,15, + 14,13,13,14,14,15,14,14,14,14,14,14,14,14,13,15, + 14,14,14,15,15,15,14,15,15,14,14,14,15,15,15,14, + 15,15,14,15,15,14,15,15,15,14,15,15,14,15,15,15, + 15,15,15,15,15,15,15,15,14,15,15,15,15,15,14,15, + 15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15, +}; + +static float _vq_quantthresh_res0_256_128_5[] = { + -149.5, -148.5, -147.5, -146.5, -145.5, -144.5, -143.5, -142.5, + -141.5, -140.5, -139.5, -138.5, -137.5, -136.5, -135.5, -134.5, + -133.5, -132.5, -131.5, -130.5, -129.5, -128.5, -127.5, -126.5, + -125.5, -124.5, -123.5, -122.5, -121.5, -120.5, -119.5, -118.5, + -117.5, -116.5, -115.5, -114.5, -113.5, -112.5, -111.5, -110.5, + -109.5, -108.5, -107.5, -106.5, -105.5, -104.5, -103.5, -102.5, + -101.5, -100.5, -99.5, -98.5, -97.5, -96.5, -95.5, -94.5, + -93.5, -92.5, -91.5, -90.5, -89.5, -88.5, -87.5, -86.5, + -85.5, -84.5, -83.5, -82.5, -81.5, -80.5, -79.5, -78.5, + -77.5, -76.5, -75.5, -74.5, -73.5, -72.5, -71.5, -70.5, + -69.5, -68.5, -67.5, -66.5, -65.5, -64.5, -63.5, -62.5, + -61.5, -60.5, -59.5, -58.5, -57.5, -56.5, -55.5, -54.5, + -53.5, -52.5, -51.5, -50.5, -49.5, -48.5, -47.5, -46.5, + -45.5, -44.5, -43.5, -42.5, -41.5, -40.5, -39.5, -38.5, + -37.5, -36.5, -35.5, -34.5, -33.5, -32.5, -31.5, -30.5, + -29.5, -28.5, -27.5, -26.5, -25.5, -24.5, -23.5, -22.5, + -21.5, -20.5, -19.5, -18.5, -17.5, -16.5, -15.5, -14.5, + -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, -7.5, -6.5, + -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, + 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, + 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, + 18.5, 19.5, 20.5, 21.5, 22.5, 23.5, 24.5, 25.5, + 26.5, 27.5, 28.5, 29.5, 30.5, 31.5, 32.5, 33.5, + 34.5, 35.5, 36.5, 37.5, 38.5, 39.5, 40.5, 41.5, + 42.5, 43.5, 44.5, 45.5, 46.5, 47.5, 48.5, 49.5, + 50.5, 51.5, 52.5, 53.5, 54.5, 55.5, 56.5, 57.5, + 58.5, 59.5, 60.5, 61.5, 62.5, 63.5, 64.5, 65.5, + 66.5, 67.5, 68.5, 69.5, 70.5, 71.5, 72.5, 73.5, + 74.5, 75.5, 76.5, 77.5, 78.5, 79.5, 80.5, 81.5, + 82.5, 83.5, 84.5, 85.5, 86.5, 87.5, 88.5, 89.5, + 90.5, 91.5, 92.5, 93.5, 94.5, 95.5, 96.5, 97.5, + 98.5, 99.5, 100.5, 101.5, 102.5, 103.5, 104.5, 105.5, + 106.5, 107.5, 108.5, 109.5, 110.5, 111.5, 112.5, 113.5, + 114.5, 115.5, 116.5, 117.5, 118.5, 119.5, 120.5, 121.5, + 122.5, 123.5, 124.5, 125.5, 126.5, 127.5, 128.5, 129.5, + 130.5, 131.5, 132.5, 133.5, 134.5, 135.5, 136.5, 137.5, + 138.5, 139.5, 140.5, 141.5, 142.5, 143.5, 144.5, 145.5, + 146.5, 147.5, 148.5, 149.5, +}; + +static long _vq_quantmap_res0_256_128_5[] = { + 299, 297, 295, 293, 291, 289, 287, 285, + 283, 281, 279, 277, 275, 273, 271, 269, + 267, 265, 263, 261, 259, 257, 255, 253, + 251, 249, 247, 245, 243, 241, 239, 237, + 235, 233, 231, 229, 227, 225, 223, 221, + 219, 217, 215, 213, 211, 209, 207, 205, + 203, 201, 199, 197, 195, 193, 191, 189, + 187, 185, 183, 181, 179, 177, 175, 173, + 171, 169, 167, 165, 163, 161, 159, 157, + 155, 153, 151, 149, 147, 145, 143, 141, + 139, 137, 135, 133, 131, 129, 127, 125, + 123, 121, 119, 117, 115, 113, 111, 109, + 107, 105, 103, 101, 99, 97, 95, 93, + 91, 89, 87, 85, 83, 81, 79, 77, + 75, 73, 71, 69, 67, 65, 63, 61, + 59, 57, 55, 53, 51, 49, 47, 45, + 43, 41, 39, 37, 35, 33, 31, 29, + 27, 25, 23, 21, 19, 17, 15, 13, + 11, 9, 7, 5, 3, 1, 0, 2, + 4, 6, 8, 10, 12, 14, 16, 18, + 20, 22, 24, 26, 28, 30, 32, 34, + 36, 38, 40, 42, 44, 46, 48, 50, + 52, 54, 56, 58, 60, 62, 64, 66, + 68, 70, 72, 74, 76, 78, 80, 82, + 84, 86, 88, 90, 92, 94, 96, 98, + 100, 102, 104, 106, 108, 110, 112, 114, + 116, 118, 120, 122, 124, 126, 128, 130, + 132, 134, 136, 138, 140, 142, 144, 146, + 148, 150, 152, 154, 156, 158, 160, 162, + 164, 166, 168, 170, 172, 174, 176, 178, + 180, 182, 184, 186, 188, 190, 192, 194, + 196, 198, 200, 202, 204, 206, 208, 210, + 212, 214, 216, 218, 220, 222, 224, 226, + 228, 230, 232, 234, 236, 238, 240, 242, + 244, 246, 248, 250, 252, 254, 256, 258, + 260, 262, 264, 266, 268, 270, 272, 274, + 276, 278, 280, 282, 284, 286, 288, 290, + 292, 294, 296, 298, 300, +}; + +static encode_aux_threshmatch _vq_auxt_res0_256_128_5 = { + _vq_quantthresh_res0_256_128_5, + _vq_quantmap_res0_256_128_5, + 301, + 301 +}; + +static static_codebook _vq_book_res0_256_128_5 = { + 1, 301, + _vq_lengthlist_res0_256_128_5, + 1, -520962048, 1611661312, 9, 0, + _vq_quantlist_res0_256_128_5, + NULL, + &_vq_auxt_res0_256_128_5, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_256_128aux.vqh b/lib/books/res0_256_128aux.vqh new file mode 100644 index 00000000..a12530ac --- /dev/null +++ b/lib/books/res0_256_128aux.vqh @@ -0,0 +1,117 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by huff/huffbuld + + ********************************************************************/ + +#ifndef _V_res0_256_128aux_VQH_ +#define _V_res0_256_128aux_VQH_ +#include "codebook.h" + +static long _huff_lengthlist_res0_256_128aux[] = { + 10,17,17,17,17,16,12,15,16,16,16,16,14,16,16,16, + 16,16,13,16,16,16,16,16,14,16,16,16,16,16,16,16, + 16,16,16,16,10,15,16,16,16,16,11,13,16,16,16,16, + 15,15,15,16,16,16,15,16,16,16,16,16,15,16,16,16, + 16,16,16,16,16,16,16,16,12,16,16,16,16,16,13,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,12,16,16,16, + 16,16,12,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 12,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16, 6,12,15,16,15,16, 9,12, + 15,16,16,16,16,14,16,16,16,16,13,16,16,16,16,16, + 13,16,16,16,16,16,16,16,16,16,16,16, 5,10,13,14, + 16,16, 6, 6, 9,12,15,16,11, 9,10,13,16,16,13,13, + 12,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16, + 9,13,15,16,16,16, 8, 8, 9,13,15,16,11, 8, 8,11, + 16,16,12,11,11,12,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,11,14,16,16,16,16,11,11,13,15,16,16, + 13,10,11,13,16,16,12,13,12,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,12,16,16,16,16,16,15,15, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 6,12,15,16,16,16, 9,11,15,16,16,16,15,15,14,16, + 16,16,15,16,15,16,16,16,14,16,16,16,16,16,16,16, + 16,16,16,16, 4, 9,12,13,16,16, 5, 5, 8,10,13,16, + 11, 7, 8,10,14,16,13,11,10,12,16,16,15,16,16,16, + 16,16,16,16,16,16,16,16, 8,11,16,15,16,16, 6, 6, + 7,10,16,16,10, 6, 6, 8,16,16,13, 9, 8,10,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,10,14,15,16, + 16,16, 9, 9,10,12,16,16,11, 8, 8,11,16,16,12,11, + 10,12,15,16,15,16,16,16,16,16,16,16,16,16,16,16, + 13,16,16,16,16,16,16,15,16,16,16,16,16,15,16,16, + 16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16, 7,13,16,16,16,16,10,11, + 16,15,16,16,15,14,16,16,16,16,16,15,15,14,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16, 6,10,13,14, + 16,16, 7, 7,10,11,14,16,11, 9,10,13,16,16,13,12, + 12,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 8,12,16,15,16,16, 8, 7, 9,12,15,16,11, 8, 8,11, + 16,16,14,11,10,12,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,11,15,15,16,16,16,10, 9,11,13,16,16, + 12,10,10,13,16,16,14,12,12,13,16,16,15,16,16,16, + 16,16,16,16,16,16,16,16,14,15,16,16,16,16,16,14, + 16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 10,13,16,16,16,16,12,13,16,16,16,16,16,16,16,16, + 16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,12,14,16,16,16,16,12,11,15,13,16,16, + 16,13,10,11,16,16,14,13,11,11,16,16,15,16,16,15, + 16,16,16,16,16,16,16,16,13,16,16,15,15,16,13,10, + 8, 8,13,16,14, 7, 4, 5,11,16,12, 7, 5, 6,12,16, + 15,12,12,13,14,16,16,16,16,16,16,16,14,15,16,13, + 15,16,14,10, 7, 7,11,15,14, 6, 3, 4,10,16,12, 7, + 5, 5,11,16,15,11,11,11,16,16,16,16,16,16,16,16, + 16,16,15,14,15,16,16,14,11,11,13,16,16,11, 8, 9, + 12,16,15,11, 9,10,14,16,16,15,15,13,15,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16, + 16,16,16,16,16,15,16,16,16,16,13,14,16,16,15,15, + 13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 15,16,16,16,16,16,16,13,11,12,15,16,15,11, 8, 9, + 15,16,15,11, 9,10,14,16,16,15,14,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,13,11,10,15,16, + 15,11, 7, 8,13,16,15,11, 8, 9,14,16,15,15,14,13, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 15,14,15,16,16,15,12,12,14,16,16,15,13,13,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, +}; + +static static_codebook _huff_book_res0_256_128aux = { + 4, 1296, + _huff_lengthlist_res0_256_128aux, + 0, 0, 0, 0, 0, + NULL, + NULL, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_96_1024_1.vqh b/lib/books/res0_96_1024_1.vqh new file mode 100644 index 00000000..c799d02f --- /dev/null +++ b/lib/books/res0_96_1024_1.vqh @@ -0,0 +1,63 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_96_1024_1_VQH_ +#define _V_res0_96_1024_1_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_96_1024_1[] = { + 1, + 0, + 2, +}; + +static long _vq_lengthlist_res0_96_1024_1[] = { + 1, 4, 4, 5, 8, 7, 4, 7, 7, 5, 8, 8, 8,11,11, 8, + 10,11, 5, 8, 8, 8,11,10, 8,10,10, 5, 8, 8, 8,11, + 11, 8,11,10, 8,11,11,11,14,14,11,14,14, 8,11,11, + 11,14,14,11,14,14, 4, 8, 8, 8,11,11, 8,11,11, 8, + 11,11,11,14,14,11,14,14, 8,11,11,11,14,14,10,14, + 14, +}; + +static float _vq_quantthresh_res0_96_1024_1[] = { + -0.5, 0.5, +}; + +static long _vq_quantmap_res0_96_1024_1[] = { + 1, 0, 2, +}; + +static encode_aux_threshmatch _vq_auxt_res0_96_1024_1 = { + _vq_quantthresh_res0_96_1024_1, + _vq_quantmap_res0_96_1024_1, + 3, + 3 +}; + +static static_codebook _vq_book_res0_96_1024_1 = { + 4, 81, + _vq_lengthlist_res0_96_1024_1, + 1, -535822336, 1611661312, 2, 0, + _vq_quantlist_res0_96_1024_1, + NULL, + &_vq_auxt_res0_96_1024_1, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_96_1024_2.vqh b/lib/books/res0_96_1024_2.vqh new file mode 100644 index 00000000..66324902 --- /dev/null +++ b/lib/books/res0_96_1024_2.vqh @@ -0,0 +1,63 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_96_1024_2_VQH_ +#define _V_res0_96_1024_2_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_96_1024_2[] = { + 1, + 0, + 2, +}; + +static long _vq_lengthlist_res0_96_1024_2[] = { + 3, 5, 5, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 7, 7, 6, + 7, 7, 5, 6, 6, 6, 7, 7, 6, 7, 7, 5, 6, 6, 6, 8, + 8, 6, 8, 7, 6, 8, 7, 7, 9, 9, 8, 9, 9, 6, 7, 8, + 7, 9, 9, 7, 9, 9, 5, 6, 6, 6, 7, 7, 6, 8, 7, 6, + 8, 7, 7, 9, 9, 7, 9, 9, 6, 7, 7, 7, 9, 9, 7, 9, + 9, +}; + +static float _vq_quantthresh_res0_96_1024_2[] = { + -0.5, 0.5, +}; + +static long _vq_quantmap_res0_96_1024_2[] = { + 1, 0, 2, +}; + +static encode_aux_threshmatch _vq_auxt_res0_96_1024_2 = { + _vq_quantthresh_res0_96_1024_2, + _vq_quantmap_res0_96_1024_2, + 3, + 3 +}; + +static static_codebook _vq_book_res0_96_1024_2 = { + 4, 81, + _vq_lengthlist_res0_96_1024_2, + 1, -535822336, 1611661312, 2, 0, + _vq_quantlist_res0_96_1024_2, + NULL, + &_vq_auxt_res0_96_1024_2, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_96_1024_3.vqh b/lib/books/res0_96_1024_3.vqh new file mode 100644 index 00000000..75baceeb --- /dev/null +++ b/lib/books/res0_96_1024_3.vqh @@ -0,0 +1,189 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_96_1024_3_VQH_ +#define _V_res0_96_1024_3_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_96_1024_3[] = { + 3, + 2, + 4, + 0, + 6, +}; + +static long _vq_lengthlist_res0_96_1024_3[] = { + 2, 4, 4, 6, 6, 5, 7, 7,10,10, 5, 7, 7,10,10, 7, + 10,10,15,15, 7,10,10,15,15, 4, 7, 7, 9, 9, 7,10, + 10,12,12, 7,10,10,12,12,10,13,12,19,18,10,13,13, + 17,19, 4, 7, 7, 9, 9, 7,10,10,12,12, 7,10, 9,12, + 12,10,13,12,19,17,10,13,12,18,16, 7,10,10,13,13, + 10,13,13,18,17,10,13,13,17,16,16,18,17, 0,21,15, + 20,19, 0, 0, 7,10, 9,13,13,10,13,13,16,18,10,13, + 13,17,18,16,19,18, 0, 0,15,18,17,20, 0, 5, 7, 7, + 9, 9, 7,10,10,13,13, 7,10,10,13,13,10,13,13,17, + 18,10,13,13,18,18, 7,10,10,13,13,10,12,12,15,15, + 10,12,12,15,15,13,15,15,20, 0,13,15,15,19,20, 7, + 10,10,13,13,10,12,12,15,15,10,12,12,15,15,13,16, + 15, 0,21,13,15,15, 0,21,10,13,13,17,17,13,15,16, + 19,21,13,15,16,21,21,17,19,21, 0, 0,18,20,20, 0, + 0,10,13,13,17,18,13,16,15,21,19,13,16,15,21,20, + 18, 0,19, 0,21,20,21,20, 0,21, 5, 7, 7, 9, 9, 7, + 10,10,13,12, 7,10,10,13,13,10,13,13,18,17,10,13, + 13,18,18, 7,10,10,13,12,10,12,12,16,16,10,12,12, + 15,15,13,16,15,21,20,13,15,15,19,21, 7,10,10,12, + 12,10,12,12,15,15,10,12,12,15,15,13,15,15,20,20, + 13,16,15,20,18,10,13,13,17,17,13,16,15, 0,20,13, + 15,16,19, 0,18,19,21, 0, 0,18,18, 0, 0, 0,10,13, + 13,18,18,13,15,15,21,20,13,15,15,21,21,19,21,21, + 0, 0,18, 0,19, 0, 0, 7,10,10,13,13,10,13,13,18, + 17,10,13,13,19,18,13,18,18, 0, 0,13,18,18, 0,21, + 10,13,13,18,17,13,15,15,21,20,13,16,15,21,20,17, + 21, 0, 0, 0,17, 0,20, 0, 0,10,13,13,17,17,13,16, + 15,21,21,13,16,15,20,20,18,21, 0, 0, 0,18,21,21, + 0, 0,15,18,20, 0, 0,18,19,19,21, 0,19, 0,21, 0, + 0, 0, 0, 0, 0, 0,21, 0, 0, 0, 0,15,20,18, 0, 0, + 18,20,21,21, 0,18,20,21, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7,10,10,13,13,10,13,13,17,17,10,13, + 13,18,18,13,17,18, 0, 0,13,18,17, 0, 0,10,13,13, + 17,17,13,15,16, 0, 0,13,15,16,20, 0,18,21,20, 0, + 0,19,19,21, 0, 0,10,13,13,18,18,13,15,15,21, 0, + 13,16,16,20, 0,18,20,18, 0, 0,18, 0,21, 0, 0,15, + 19,19,21,21,20, 0,21, 0, 0,20,19,21, 0, 0, 0, 0, + 0, 0, 0,21, 0, 0, 0, 0,15,21,18, 0, 0,20,21,19, + 0, 0,17,20,19, 0, 0, 0, 0, 0, 0, 0,20, 0, 0, 0, + 0, +}; + +static float _vq_quantthresh_res0_96_1024_3[] = { + -2, -0.5, 0.5, 2, +}; + +static long _vq_quantmap_res0_96_1024_3[] = { + 3, 1, 0, 2, 4, +}; + +static encode_aux_threshmatch _vq_auxt_res0_96_1024_3 = { + _vq_quantthresh_res0_96_1024_3, + _vq_quantmap_res0_96_1024_3, + 5, + 5 +}; + +static long _vq_pigeonmap_res0_96_1024_3[] = { + 1, 0, 0, 0, 0, 0, +}; + +static long _vq_fitlist_res0_96_1024_3[] = { + 1, 5, 6, 8, 16, 25, 26, 28, + 30, 31, 33, 40, 41, 43, 76, 80, + 81, 83, 91, 125, 126, 128, 130, 131, + 133, 140, 141, 143, 150, 151, 153, 155, + 156, 158, 165, 166, 168, 200, 201, 203, + 205, 206, 208, 215, 216, 376, 380, 381, + 383, 391, 400, 401, 403, 405, 406, 408, + 415, 416, 451, 455, 456, 458, 0, 7, + 15, 27, 32, 42, 75, 82, 90, 127, + 132, 142, 152, 157, 167, 202, 207, 217, + 375, 382, 390, 402, 407, 450, 457, 2, + 17, 77, 92, 377, 392, 452, 9, 29, + 34, 44, 84, 129, 134, 144, 154, 159, + 204, 209, 384, 404, 409, 4, 19, 79, + 94, 379, 3, 11, 35, 36, 38, 78, + 86, 135, 136, 138, 160, 161, 163, 210, + 211, 213, 378, 386, 410, 411, 413, 10, + 37, 85, 137, 162, 212, 385, 412, 460, + 12, 87, 387, 462, 39, 139, 164, 214, + 414, 14, 89, 389, 13, 88, 388, 21, + 45, 46, 48, 96, 145, 146, 148, 170, + 171, 173, 220, 221, 396, 420, 20, 47, + 95, 147, 172, 222, 395, 422, 470, 22, + 97, 397, 49, 149, 174, 24, 399, 23, + 18, 51, 55, 56, 58, 66, 175, 176, + 178, 180, 181, 183, 190, 191, 426, 430, + 431, 433, 441, 50, 57, 65, 177, 182, + 192, 425, 432, 440, 52, 67, 427, 59, + 179, 184, 194, 434, 54, 69, 429, 53, + 61, 185, 186, 188, 428, 436, 60, 187, + 435, 62, 437, 189, 64, 439, 63, 438, + 71, 195, 196, 446, 70, 197, 445, 72, + 447, 199, 74, 73, 68, 101, 105, 106, + 108, 116, 225, 226, 228, 230, 231, 233, + 240, 476, 480, 481, 483, 100, 107, 115, + 227, 232, 242, 475, 482, 102, 117, 477, + 109, 229, 234, 244, 104, 103, 111, 235, + 236, 238, 486, 110, 237, 485, 112, 487, + 239, 114, 113, 121, 245, 246, 120, 247, + 122, 249, 123, 251, 255, 256, 258, 266, + 275, 276, 278, 280, 281, 283, 290, 291, + 293, 326, 330, 331, 341, 250, 257, 265, + 277, 282, 292, 325, 332, 340, 252, 267, + 327, 342, 259, 279, 284, 294, 334, 254, + 269, 329, 253, 261, 285, 286, 288, 328, + 336, 260, 287, 335, 262, 337, 289, 264, + 263, 338, 271, 295, 296, 298, 346, 270, + 297, 345, 272, 299, 274, 273, 268, 301, + 305, 306, 308, 316, 300, 307, 315, 302, + 317, 309, 304, 319, 303, 311, 310, 312, + 314, 313, 321, 320, 322, 324, 323, 318, + 351, 355, 356, 358, 366, 350, 357, 365, + 352, 367, 359, 354, 353, 361, 360, 362, + 364, 363, 370, 372, 572, 612, 501, 505, + 506, 508, 516, 525, 526, 528, 530, 531, + 540, 541, 576, 580, 500, 507, 515, 527, + 532, 542, 575, 582, 502, 517, 577, 509, + 529, 504, 579, 503, 511, 535, 536, 538, + 578, 586, 510, 537, 585, 512, 587, 514, + 513, 521, 545, 546, 520, 547, 595, 522, + 551, 555, 556, 558, 566, 550, 557, 565, + 552, 567, 554, 553, 561, 560, 562, 563, + 570, 601, 605, 606, 600, 607, 602, 611, + 610, 620, +}; + +static long _vq_fitmap_res0_96_1024_3[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, +}; + +static long _vq_fitlength_res0_96_1024_3[] = { + 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, +}; + +static encode_aux_pigeonhole _vq_auxp_res0_96_1024_3 = { + -3, 1, 6, 2, + _vq_pigeonmap_res0_96_1024_3, + 506, + _vq_fitlist_res0_96_1024_3, + _vq_fitmap_res0_96_1024_3, + _vq_fitlength_res0_96_1024_3 +}; + +static static_codebook _vq_book_res0_96_1024_3 = { + 4, 625, + _vq_lengthlist_res0_96_1024_3, + 1, -533200896, 1611661312, 3, 0, + _vq_quantlist_res0_96_1024_3, + NULL, + &_vq_auxt_res0_96_1024_3, + &_vq_auxp_res0_96_1024_3, + 0 +}; + + +#endif diff --git a/lib/books/res0_96_1024_4.vqh b/lib/books/res0_96_1024_4.vqh new file mode 100644 index 00000000..81f49392 --- /dev/null +++ b/lib/books/res0_96_1024_4.vqh @@ -0,0 +1,99 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_96_1024_4_VQH_ +#define _V_res0_96_1024_4_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_96_1024_4[] = { + 3, + 2, + 4, + 0, + 6, +}; + +static long _vq_lengthlist_res0_96_1024_4[] = { + 5, 6, 5, 8, 8, 6, 6, 6, 9, 9, 5, 6, 6, 9, 9, 8, + 9, 9,11,11, 8, 9, 9,11,11, 6, 7, 6, 9, 9, 6, 7, + 7,10,10, 6, 7, 7,10,10, 9,10,10,12,12, 9,10,10, + 12,12, 6, 6, 6, 9, 9, 6, 7, 7,10,10, 6, 7, 7,10, + 10, 9,10,10,12,12, 9,10,10,12,12, 8, 9, 9,12,12, + 9,10,10,13,12, 9,10,10,13,13,12,13,13,15,14,12, + 13,13,15,15, 8, 9, 9,12,12, 9,10,10,13,13, 9,10, + 10,13,13,12,13,13,15,15,12,13,13,15,15, 6, 7, 7, + 9, 9, 7, 8, 8,10,10, 7, 7, 7,10,10, 9,10,10,13, + 13, 9,10,10,12,12, 7, 8, 8,10,10, 7, 8, 8,11,11, + 7, 8, 8,11,11,10,11,11,13,13,10,11,11,13,13, 7, + 8, 8,10,10, 7, 8, 8,11,11, 7, 8, 8,11,11,10,11, + 11,13,13,10,11,11,13,13, 9,11,10,14,13,10,11,11, + 13,14,10,11,11,14,14,13,13,14,15,16,13,13,14,15, + 15, 9,10,11,13,13,10,11,11,14,13,10,11,11,13,14, + 13,13,13,16,15,13,13,14,15,15, 6, 7, 7, 9, 9, 7, + 7, 7,10,10, 7, 7, 7,10,10, 9,10,10,12,13, 9,10, + 10,13,13, 7, 8, 8,10,10, 7, 8, 8,11,11, 7, 8, 8, + 11,11,10,11,11,13,13,10,11,11,13,13, 7, 8, 8,10, + 10, 7, 8, 8,11,11, 7, 8, 8,11,11,10,11,11,13,13, + 10,11,11,13,13, 9,11,10,13,13,10,11,11,14,13,10, + 11,11,13,13,13,13,13,15,15,13,13,13,15,15, 9,10, + 10,13,13,10,11,11,13,14,10,11,11,13,13,13,14,13, + 16,15,13,14,13,15,14, 8,10,10,12,12,10,11,11,13, + 13, 9,10,10,13,13,13,14,14,16,16,13,13,14,15,15, + 9,11,11,13,13,11,11,11,14,14,10,12,11,14,14,14, + 14,14,15,16,13,14,14,16,16, 9,11,11,13,13,11,11, + 11,14,14,10,11,11,14,14,14,14,14,15,16,13,14,14, + 15,16,13,14,13,15,15,13,14,14,16,16,14,14,14,16, + 16,16,15,16,16,18,15,16,16,18,17,13,13,14,16,16, + 13,14,14,15,15,13,14,14,15,16,16,16,16,16,16,16, + 16,15,17,17, 8, 9, 9,12,12, 9,11,11,13,13,10,11, + 11,13,13,13,13,13,15,15,13,13,13,15,15, 9,11,11, + 13,13,10,11,11,14,14,10,11,11,14,14,14,14,14,15, + 16,14,14,14,15,16, 9,11,10,13,13,10,11,12,13,13, + 10,11,11,14,14,13,14,14,16,16,13,14,14,16,16,13, + 14,13,16,15,13,14,14,16,16,13,14,14,16,15,16,16, + 16,17,17,15,16,16,17,17,13,14,14,16,15,13,14,14, + 16,16,14,13,13,15,16,16,16,15,17,17,16,16,15,17, + 17, +}; + +static float _vq_quantthresh_res0_96_1024_4[] = { + -2, -0.5, 0.5, 2, +}; + +static long _vq_quantmap_res0_96_1024_4[] = { + 3, 1, 0, 2, 4, +}; + +static encode_aux_threshmatch _vq_auxt_res0_96_1024_4 = { + _vq_quantthresh_res0_96_1024_4, + _vq_quantmap_res0_96_1024_4, + 5, + 5 +}; + +static static_codebook _vq_book_res0_96_1024_4 = { + 4, 625, + _vq_lengthlist_res0_96_1024_4, + 1, -533200896, 1611661312, 3, 0, + _vq_quantlist_res0_96_1024_4, + NULL, + &_vq_auxt_res0_96_1024_4, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_96_1024_5.vqh b/lib/books/res0_96_1024_5.vqh new file mode 100644 index 00000000..bb62c23b --- /dev/null +++ b/lib/books/res0_96_1024_5.vqh @@ -0,0 +1,70 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_96_1024_5_VQH_ +#define _V_res0_96_1024_5_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_96_1024_5[] = { + 8, + 7, + 9, + 5, + 11, + 3, + 13, + 0, + 16, +}; + +static long _vq_lengthlist_res0_96_1024_5[] = { + 1, 4, 4, 6, 6, 6, 6, 7, 7, 4, 6, 6, 9, 9, 9, 9, + 11,11, 4, 6, 6, 9, 9, 9, 9,11,11, 6, 9, 9,12,12, + 12,12,13,13, 6, 9, 9,12,12,11,11,13,13, 6, 9, 9, + 12,12,13,13,15,15, 6, 9, 9,12,12,13,13,15,15, 8, + 12,12,14,14,16,16,17,16, 8,12,12,14,14,15,16,16, + 17, +}; + +static float _vq_quantthresh_res0_96_1024_5[] = { + -6.5, -4, -2, -0.5, 0.5, 2, 4, 6.5, +}; + +static long _vq_quantmap_res0_96_1024_5[] = { + 7, 5, 3, 1, 0, 2, 4, 6, + 8, +}; + +static encode_aux_threshmatch _vq_auxt_res0_96_1024_5 = { + _vq_quantthresh_res0_96_1024_5, + _vq_quantmap_res0_96_1024_5, + 9, + 9 +}; + +static static_codebook _vq_book_res0_96_1024_5 = { + 2, 81, + _vq_lengthlist_res0_96_1024_5, + 1, -529530880, 1611661312, 5, 0, + _vq_quantlist_res0_96_1024_5, + NULL, + &_vq_auxt_res0_96_1024_5, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_96_1024_6.vqh b/lib/books/res0_96_1024_6.vqh new file mode 100644 index 00000000..4eb585f2 --- /dev/null +++ b/lib/books/res0_96_1024_6.vqh @@ -0,0 +1,70 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_96_1024_6_VQH_ +#define _V_res0_96_1024_6_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_96_1024_6[] = { + 8, + 7, + 9, + 5, + 11, + 3, + 13, + 0, + 16, +}; + +static long _vq_lengthlist_res0_96_1024_6[] = { + 3, 4, 4, 5, 5, 6, 6, 7, 7, 4, 5, 4, 6, 6, 7, 7, + 8, 8, 4, 4, 4, 6, 6, 7, 7, 8, 8, 6, 6, 6, 8, 8, + 9, 9,10,10, 6, 6, 6, 8, 8, 9, 9,10,10, 7, 8, 8, + 9, 9,10,10,11,11, 7, 8, 8, 9, 9,10,10,11,11, 8, + 9, 9,10,11,12,11,12,12, 8, 9, 9,10,10,12,11,12, + 12, +}; + +static float _vq_quantthresh_res0_96_1024_6[] = { + -6.5, -4, -2, -0.5, 0.5, 2, 4, 6.5, +}; + +static long _vq_quantmap_res0_96_1024_6[] = { + 7, 5, 3, 1, 0, 2, 4, 6, + 8, +}; + +static encode_aux_threshmatch _vq_auxt_res0_96_1024_6 = { + _vq_quantthresh_res0_96_1024_6, + _vq_quantmap_res0_96_1024_6, + 9, + 9 +}; + +static static_codebook _vq_book_res0_96_1024_6 = { + 2, 81, + _vq_lengthlist_res0_96_1024_6, + 1, -529530880, 1611661312, 5, 0, + _vq_quantlist_res0_96_1024_6, + NULL, + &_vq_auxt_res0_96_1024_6, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_96_1024_7.vqh b/lib/books/res0_96_1024_7.vqh new file mode 100644 index 00000000..fcf5e430 --- /dev/null +++ b/lib/books/res0_96_1024_7.vqh @@ -0,0 +1,86 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_96_1024_7_VQH_ +#define _V_res0_96_1024_7_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_96_1024_7[] = { + 17, + 16, + 18, + 14, + 20, + 12, + 22, + 9, + 25, + 6, + 28, + 3, + 31, + 0, + 34, +}; + +static long _vq_lengthlist_res0_96_1024_7[] = { + 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 5, + 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9,10,10, 4, 5, + 5, 6, 6, 7, 7, 8, 7, 8, 8, 9, 9,10,10, 6, 7, 7, + 8, 8, 8, 8, 9, 8, 9, 9,10,10,11,11, 6, 7, 7, 8, + 8, 8, 8, 9, 8, 9, 9,10,10,11,11, 7, 8, 8, 9, 9, + 9, 9, 9, 9,10,10,11,11,11,12, 7, 8, 8, 9, 9, 9, + 9,10, 9,10,10,11,11,11,11, 8, 9, 9,10,10,10,10, + 11,10,11,11,12,12,12,12, 8, 9, 9,10,10,10,10,10, + 10,11,11,12,11,12,12, 8, 9, 9,10,10,11,11,11,11, + 12,12,13,13,14,13, 8, 9, 9,10,10,11,11,11,11,12, + 12,13,13,13,14,10,11,11,12,12,12,12,13,13,13,13, + 14,14,15,15,10,11,11,12,12,12,12,13,13,13,13,14, + 14,14,15,12,13,13,13,13,14,14,14,14,15,15,16,15, + 16,16,12,13,13,14,13,14,14,14,14,15,15,16,15,16, + 16, +}; + +static float _vq_quantthresh_res0_96_1024_7[] = { + -15.5, -12.5, -9.5, -6.5, -4, -2, -0.5, 0.5, + 2, 4, 6.5, 9.5, 12.5, 15.5, +}; + +static long _vq_quantmap_res0_96_1024_7[] = { + 13, 11, 9, 7, 5, 3, 1, 0, + 2, 4, 6, 8, 10, 12, 14, +}; + +static encode_aux_threshmatch _vq_auxt_res0_96_1024_7 = { + _vq_quantthresh_res0_96_1024_7, + _vq_quantmap_res0_96_1024_7, + 15, + 15 +}; + +static static_codebook _vq_book_res0_96_1024_7 = { + 2, 225, + _vq_lengthlist_res0_96_1024_7, + 1, -527368192, 1611661312, 6, 0, + _vq_quantlist_res0_96_1024_7, + NULL, + &_vq_auxt_res0_96_1024_7, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_96_1024_8.vqh b/lib/books/res0_96_1024_8.vqh new file mode 100644 index 00000000..00dce2e2 --- /dev/null +++ b/lib/books/res0_96_1024_8.vqh @@ -0,0 +1,124 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_96_1024_8_VQH_ +#define _V_res0_96_1024_8_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_96_1024_8[] = { + 35, + 34, + 36, + 32, + 38, + 30, + 40, + 27, + 43, + 24, + 46, + 21, + 49, + 18, + 52, + 15, + 55, + 11, + 59, + 7, + 63, + 4, + 66, + 0, + 70, +}; + +static long _vq_lengthlist_res0_96_1024_8[] = { + 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8, + 8, 9, 9,10,10,10,11,11,11, 6, 6, 6, 6, 6, 6, 6, + 7, 6, 7, 7, 8, 8, 9, 9, 8, 8, 9, 9,10,10,10,11, + 11,11, 6, 6, 6, 6, 6, 6, 6, 7, 6, 7, 7, 8, 8, 9, + 9, 8, 8, 9, 9,10,10,10,11,11,11, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9, 9,10,10,11, + 11,11,11,12, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, + 9, 9, 9, 9, 9,10,10,11,11,11,11,11,12, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 9, 9, 9, 9,10,10,10,10,10,10, + 11,11,12,12,12,12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, + 9, 9, 9,10,10,10,10,10,10,11,11,11,12,12,12, 9, + 9, 9, 8, 9, 9, 9, 9, 9,10,10,10,10,11,11,10,10, + 11,11,12,12,12,13,12,13, 9, 9, 9, 8, 9, 9, 9, 9, + 9,10,10,10,10,11,11,10,11,11,11,12,12,12,13,13, + 13,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12, + 11,12,12,12,12,13,13,13,13,14,10,10,10,10,10,10, + 10,10,10,11,11,11,11,12,12,12,11,12,12,13,13,13, + 13,13,14,11,11,11,11,11,11,11,11,11,12,12,12,12, + 13,13,13,13,13,13,13,14,14,14,15,14,11,11,11,11, + 11,11,11,11,11,12,12,12,12,13,13,13,13,13,13,13, + 14,14,14,14,15,13,13,13,12,12,13,12,13,12,13,13, + 14,14,14,14,14,14,14,14,16,15,15,16,15,15,13,12, + 13,12,12,12,13,13,13,13,13,14,14,14,14,14,14,14, + 15,15,15,16,15,16,17,13,13,13,13,13,13,14,14,14, + 14,14,15,15,14,15,16,15,16,15,17,16,16,16,17,17, + 12,13,13,13,13,14,13,13,14,14,14,14,15,15,15,15, + 15,16,15,18,16,17,19,16,17,15,16,15,15,15,15,16, + 16,16,16,16,17,16,18,16,18,17,16,17,18,18,18,18, + 19,18,16,15,15,15,15,16,16,16,16,16,16,16,16,16, + 17,18,17,17,17,17,17,17,18,18,18,17,18,17,19,18, + 19,19,18,18,18,18,19,19,18,19,19,18,18,19,19,19, + 19,19,18,18,17,18,19,17,19,19,18,18,17,18,17,17, + 17,19,19,18,19,17,18,19,19,19,18,19,19,19,19,19, + 19,19,19,19,19,19,18,18,19,19,19,18,19,19,19,19, + 19,18,18,19,19,19,18,18,19,19,19,18,19,19,19,19, + 18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, + 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, + 19,19,19,19,19,19,19,19,19,18,19,19,19,19,19,19, + 19,19,19,19,19,19,19,18,19,19,19,19,19,19,19,19, + 19, +}; + +static float _vq_quantthresh_res0_96_1024_8[] = { + -33, -29.5, -26, -22, -18.5, -15.5, -12.5, -9.5, + -6.5, -4, -2, -0.5, 0.5, 2, 4, 6.5, + 9.5, 12.5, 15.5, 18.5, 22, 26, 29.5, 33, +}; + +static long _vq_quantmap_res0_96_1024_8[] = { + 23, 21, 19, 17, 15, 13, 11, 9, + 7, 5, 3, 1, 0, 2, 4, 6, + 8, 10, 12, 14, 16, 18, 20, 22, + 24, +}; + +static encode_aux_threshmatch _vq_auxt_res0_96_1024_8 = { + _vq_quantthresh_res0_96_1024_8, + _vq_quantmap_res0_96_1024_8, + 25, + 25 +}; + +static static_codebook _vq_book_res0_96_1024_8 = { + 2, 625, + _vq_lengthlist_res0_96_1024_8, + 1, -525238272, 1611661312, 7, 0, + _vq_quantlist_res0_96_1024_8, + NULL, + &_vq_auxt_res0_96_1024_8, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_96_1024_9.vqh b/lib/books/res0_96_1024_9.vqh new file mode 100644 index 00000000..1b7fcd40 --- /dev/null +++ b/lib/books/res0_96_1024_9.vqh @@ -0,0 +1,131 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_96_1024_9_VQH_ +#define _V_res0_96_1024_9_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_96_1024_9[] = { + 123, + 122, + 124, + 120, + 126, + 118, + 128, + 115, + 131, + 112, + 134, + 109, + 137, + 106, + 140, + 103, + 143, + 99, + 147, + 95, + 151, + 92, + 154, + 88, + 158, + 84, + 162, + 80, + 166, + 76, + 170, + 72, + 174, + 67, + 179, + 62, + 184, + 57, + 189, + 52, + 194, + 51, + 195, + 45, + 201, + 39, + 207, + 33, + 213, + 27, + 219, + 21, + 225, + 15, + 231, + 8, + 238, + 0, + 246, +}; + +static long _vq_lengthlist_res0_96_1024_9[] = { + 3, 3, 3, 3, 3, 4, 4, 5, 5, 5, 5, 6, 6, 7, 7, 7, + 7, 8, 8, 8, 9, 9, 9,10,10, 7, 7, 8, 8, 8, 8, 9, + 9, 9, 9,10,11,11,11,12,12,13,13,12,13,14,14,14, + 15,16,15,16,15,16,16,17,17,17,17, +}; + +static float _vq_quantthresh_res0_96_1024_9[] = { + -119, -111.5, -105, -99, -93, -87, -81, -75, + -71.5, -68.5, -63.5, -58.5, -53.5, -49, -45, -41, + -37, -33, -29.5, -26, -22, -18.5, -15.5, -12.5, + -9.5, -6.5, -4, -2, -0.5, 0.5, 2, 4, + 6.5, 9.5, 12.5, 15.5, 18.5, 22, 26, 29.5, + 33, 37, 41, 45, 49, 53.5, 58.5, 63.5, + 68.5, 71.5, 75, 81, 87, 93, 99, 105, + 111.5, 119, +}; + +static long _vq_quantmap_res0_96_1024_9[] = { + 57, 55, 53, 51, 49, 47, 45, 43, + 41, 39, 37, 35, 33, 31, 29, 27, + 25, 23, 21, 19, 17, 15, 13, 11, + 9, 7, 5, 3, 1, 0, 2, 4, + 6, 8, 10, 12, 14, 16, 18, 20, + 22, 24, 26, 28, 30, 32, 34, 36, + 38, 40, 42, 44, 46, 48, 50, 52, + 54, 56, 58, +}; + +static encode_aux_threshmatch _vq_auxt_res0_96_1024_9 = { + _vq_quantthresh_res0_96_1024_9, + _vq_quantmap_res0_96_1024_9, + 59, + 59 +}; + +static static_codebook _vq_book_res0_96_1024_9 = { + 1, 59, + _vq_lengthlist_res0_96_1024_9, + 1, -522272768, 1611661312, 8, 0, + _vq_quantlist_res0_96_1024_9, + NULL, + &_vq_auxt_res0_96_1024_9, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_96_1024aux.vqh b/lib/books/res0_96_1024aux.vqh new file mode 100644 index 00000000..e846868b --- /dev/null +++ b/lib/books/res0_96_1024aux.vqh @@ -0,0 +1,99 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by huff/huffbuld + + ********************************************************************/ + +#ifndef _V_res0_96_1024aux_VQH_ +#define _V_res0_96_1024aux_VQH_ +#include "codebook.h" + +static long _huff_lengthlist_res0_96_1024aux[] = { + 4, 8,13,11,15,12,15,16,20,20, 7, 7,10,11,12,13, + 17,15,19,19,14,11,11,13,14,17,19,18,19,19,10,11, + 13,12,14,13,18,18,19,19,15,12,14,14,15,18,19,19, + 19,19,11,12,16,13,18,13,19,17,19,19,16,18,18,18, + 18,19,19,19,19,19,15,16,19,17,19,17,19,19,19,19, + 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, + 19,19,19,19, 6, 7,11,11,13,13,17,17,19,19, 6, 3, + 5, 6, 8, 9,13,14,19,19,11, 5, 5, 8, 8,12,15,18, + 19,19,10, 6, 8, 7, 9,10,15,14,18,19,12, 8, 8,10, + 10,13,16,19,19,19,10, 9,11, 9,13,10,17,15,19,19, + 16,13,15,15,17,17,18,19,19,19,14,14,17,15,17,15, + 18,17,19,19,19,19,19,19,19,18,19,19,19,19,19,19, + 19,19,19,19,19,19,19,19,11,11,12,14,14,15,19,17, + 19,19, 9, 5, 5, 8, 8,11,16,17,19,19,11, 5, 4, 8, + 7,12,15,17,19,19,13, 7, 7, 9,10,12,16,18,19,19, + 14, 8, 7,10, 9,13,16,17,19,19,12,10,11,11,13,13, + 17,17,19,19,18,14,14,15,16,17,17,19,19,19,13,15, + 16,15,18,16,19,18,19,19,19,19,19,19,19,18,19,19, + 19,19,19,19,19,19,19,19,19,19,19,19, 9,10,13,12, + 14,13,19,17,19,19, 9, 6, 7, 7, 9, 9,15,14,18,19, + 13, 7, 7, 9,10,12,17,18,19,19,11, 7, 8, 7,10, 9, + 16,14,19,19,14, 9, 9,10,12,13,17,18,19,19,11, 9, + 11, 9,13,10,16,14,19,19,17,14,15,14,16,15,19,18, + 19,19,13,13,15,13,17,13,19,16,19,19,19,19,19,18, + 18,17,19,18,19,19,19,19,19,19,19,19,19,19,19,19, + 14,12,13,14,15,16,19,19,19,19,11, 7, 7, 9,10,11, + 15,16,19,19,13, 7, 6, 9, 9,12,17,18,19,19,14, 8, + 9, 9,11,11,16,16,19,19,15, 9, 9,10,11,13,17,18, + 19,19,13,10,11,10,13,12,18,17,19,19,18,14,16,16, + 16,17,18,18,19,19,15,14,16,14,17,15,19,17,19,19, + 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, + 19,19,19,19, 9,11,15,12,16,13,18,16,19,19,11, 8, + 9, 8,11, 9,15,14,18,19,16, 9,10,10,12,13,18,17, + 19,19,12, 8,10, 8,11, 9,16,14,19,19,16,10,11,11, + 14,13,19,17,19,19,12, 9,11, 8,13, 9,17,13,19,19, + 18,14,16,15,17,14,19,17,19,19,14,12,15,12,16,11, + 17,14,19,19,19,18,19,18,19,16,19,19,19,19,19,19, + 19,19,19,19,19,19,19,19,12,13,15,15,17,19,19,18, + 19,19,15,10,10,10,12,11,16,15,19,19,17,11,11,12, + 13,13,17,15,19,19,16,10,11,10,13,11,16,14,19,19, + 18,11,12,12,10,12,13,12,19,19,15,11,13,10,14,11, + 15,13,19,19,18,14,15,15,13,13,13,13,17,19,16,13, + 17,13,15,12,14,12,17,19,18,19,19,19,18,19,17,16, + 18,19,19,19,19,19,19,19,19,19,19,19,10,13,16,14, + 17,15,18,17,19,19,13,10,12,11,13,11,15,15,19,19, + 19,13,12,13,13,14,15,15,19,19,12, 9,13,10,13,11, + 14,14,19,19,16,11,11,12, 8,11, 9,11,18,19,10,10, + 13, 9,13, 9,11,10,15,19,16,12,12,11, 8, 9, 7, 9, + 15,19,11,11,14,10,10, 9, 8, 8,13,19,15,17,19,16, + 17,14,13,13,18,19,19,19,19,19,19,19,19,19,19,19, + 12,15,18,17,17,18,19,18,19,19,14,12,13,14,13,15, + 14,18,19,19,18,14,14,16,13,17,14,18,19,19,13,12, + 14,14,13,14,13,16,19,19,18,15,12,14, 8,12, 9,12, + 18,19,11,12,15,12,13,11,12,12,17,19,16,14,11,13, + 7,10, 6, 8,14,19,13,14,13,12, 9,10, 6, 7,13,19, + 15,17,19,18,14,14,12,12,17,19,19,19,19,19,19,19, + 19,19,19,19,15,16,18,19,19,19,18,19,19,19,17,16, + 15,16,14,16,15,18,19,19,19,18,16,19,15,18,15,17, + 19,19,19,17,15,16,15,15,14,16,19,19,19,17,15,18, + 11,15,11,14,19,19,18,18,17,17,15,14,13,15,19,19, + 19,18,14,16, 9,13, 8,10,15,19,19,19,14,16,11,13, + 9, 9,14,19,19,19,19,18,16,16,14,14,19,19,19,19, + 19,19,19,19,19,19,19,19, +}; + +static static_codebook _huff_book_res0_96_1024aux = { + 3, 1000, + _huff_lengthlist_res0_96_1024aux, + 0, 0, 0, 0, 0, + NULL, + NULL, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_96_128_1.vqh b/lib/books/res0_96_128_1.vqh new file mode 100644 index 00000000..29b609e5 --- /dev/null +++ b/lib/books/res0_96_128_1.vqh @@ -0,0 +1,63 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_96_128_1_VQH_ +#define _V_res0_96_128_1_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_96_128_1[] = { + 1, + 0, + 2, +}; + +static long _vq_lengthlist_res0_96_128_1[] = { + 3, 4, 4, 4, 6, 6, 4, 6, 6, 4, 6, 6, 6, 9, 9, 6, + 9, 9, 4, 6, 6, 6, 9, 8, 6, 9, 9, 5, 7, 6, 7, 9, + 9, 6, 9, 9, 7, 9, 9, 9,12,12, 9,12,11, 6, 9, 9, + 9,11,11, 9,11,11, 4, 6, 6, 7, 9, 9, 7, 9, 9, 6, + 9, 9, 9,12,12, 9,11,12, 6, 9, 9, 9,12,11, 9,11, + 12, +}; + +static float _vq_quantthresh_res0_96_128_1[] = { + -0.5, 0.5, +}; + +static long _vq_quantmap_res0_96_128_1[] = { + 1, 0, 2, +}; + +static encode_aux_threshmatch _vq_auxt_res0_96_128_1 = { + _vq_quantthresh_res0_96_128_1, + _vq_quantmap_res0_96_128_1, + 3, + 3 +}; + +static static_codebook _vq_book_res0_96_128_1 = { + 4, 81, + _vq_lengthlist_res0_96_128_1, + 1, -535822336, 1611661312, 2, 0, + _vq_quantlist_res0_96_128_1, + NULL, + &_vq_auxt_res0_96_128_1, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_96_128_2.vqh b/lib/books/res0_96_128_2.vqh new file mode 100644 index 00000000..13d8dab6 --- /dev/null +++ b/lib/books/res0_96_128_2.vqh @@ -0,0 +1,63 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_96_128_2_VQH_ +#define _V_res0_96_128_2_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_96_128_2[] = { + 1, + 0, + 2, +}; + +static long _vq_lengthlist_res0_96_128_2[] = { + 5, 5, 5, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 6, 7, 6, + 6, 7, 5, 6, 6, 6, 7, 6, 6, 7, 6, 6, 6, 6, 6, 7, + 7, 6, 6, 7, 6, 7, 7, 7, 7, 8, 7, 8, 8, 6, 7, 7, + 7, 8, 7, 7, 8, 8, 6, 6, 6, 6, 7, 7, 6, 7, 7, 6, + 7, 7, 7, 8, 8, 6, 7, 8, 6, 7, 7, 7, 8, 8, 7, 8, + 7, +}; + +static float _vq_quantthresh_res0_96_128_2[] = { + -0.5, 0.5, +}; + +static long _vq_quantmap_res0_96_128_2[] = { + 1, 0, 2, +}; + +static encode_aux_threshmatch _vq_auxt_res0_96_128_2 = { + _vq_quantthresh_res0_96_128_2, + _vq_quantmap_res0_96_128_2, + 3, + 3 +}; + +static static_codebook _vq_book_res0_96_128_2 = { + 4, 81, + _vq_lengthlist_res0_96_128_2, + 1, -535822336, 1611661312, 2, 0, + _vq_quantlist_res0_96_128_2, + NULL, + &_vq_auxt_res0_96_128_2, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_96_128_3.vqh b/lib/books/res0_96_128_3.vqh new file mode 100644 index 00000000..31f8cb28 --- /dev/null +++ b/lib/books/res0_96_128_3.vqh @@ -0,0 +1,70 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_96_128_3_VQH_ +#define _V_res0_96_128_3_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_96_128_3[] = { + 8, + 7, + 9, + 5, + 11, + 3, + 13, + 0, + 16, +}; + +static long _vq_lengthlist_res0_96_128_3[] = { + 3, 4, 3, 5, 5, 7, 7, 7, 7, 4, 4, 4, 6, 6, 7, 7, + 7, 7, 4, 4, 4, 6, 6, 7, 7, 7, 7, 6, 7, 7, 9, 9, + 9,10, 9,10, 6, 7, 7, 9, 9,10, 9, 9,10,10,10,10, + 11,11,12,12,12,12,10,10,10,12,12,12,12,12,12,11, + 12,12,14,13,14,14,15,14,12,12,12,14,14,15,14,14, + 14, +}; + +static float _vq_quantthresh_res0_96_128_3[] = { + -6.5, -4, -2, -0.5, 0.5, 2, 4, 6.5, +}; + +static long _vq_quantmap_res0_96_128_3[] = { + 7, 5, 3, 1, 0, 2, 4, 6, + 8, +}; + +static encode_aux_threshmatch _vq_auxt_res0_96_128_3 = { + _vq_quantthresh_res0_96_128_3, + _vq_quantmap_res0_96_128_3, + 9, + 9 +}; + +static static_codebook _vq_book_res0_96_128_3 = { + 2, 81, + _vq_lengthlist_res0_96_128_3, + 1, -529530880, 1611661312, 5, 0, + _vq_quantlist_res0_96_128_3, + NULL, + &_vq_auxt_res0_96_128_3, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_96_128_4.vqh b/lib/books/res0_96_128_4.vqh new file mode 100644 index 00000000..5448f971 --- /dev/null +++ b/lib/books/res0_96_128_4.vqh @@ -0,0 +1,100 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_96_128_4_VQH_ +#define _V_res0_96_128_4_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_96_128_4[] = { + 24, + 23, + 25, + 21, + 27, + 19, + 29, + 16, + 32, + 13, + 35, + 10, + 38, + 7, + 41, + 4, + 44, + 0, + 48, +}; + +static long _vq_lengthlist_res0_96_128_4[] = { + 4, 4, 4, 6, 6, 6, 6, 7, 7, 6, 7, 7, 8, 9, 9,10, + 10,11,11, 4, 4, 4, 6, 6, 7, 7, 7, 7, 6, 7, 7, 7, + 9, 9,10,10,11,11, 4, 4, 4, 6, 6, 7, 7, 7, 7, 6, + 7, 7, 8, 8, 9,10,10,11,11, 7, 7, 7, 9, 9, 9, 9, + 10,10, 9, 9,10,10,11,12,13,12,15,14, 7, 7, 7, 9, + 9,10,10,10,10, 9, 9,10,10,12,12,12,12,13,13,10, + 10,10,11,11,12,13,11,12,12,12,13,12,13,14,15,14, + 14,14,10,10,10,11,11,11,11,12,12,12,11,13,12,13, + 13,15,14,17,17,12,11,12,12,13,13,12,15,13,15,13, + 14,14,15,15,15,16,16,16,11,12,11,13,13,13,13,14, + 15,13,13,14,15,15,15,16,15,16,16,12,12,12,14,14, + 15,14,14,13,14,14,15,16,16,15,16,16,16,16,12,12, + 12,14,14,14,15,15,13,14,14,15,15,15,16,16,16,15, + 16,13,13,14,14,15,15,16,16,15,15,16,16,16,16,16, + 16,16,16,16,13,13,14,14,14,15,15,15,15,16,16,16, + 16,16,16,16,16,16,16,14,14,15,16,16,16,16,16,15, + 16,16,16,16,16,16,16,16,16,16,15,15,15,15,16,16, + 15,15,15,16,16,16,16,16,16,16,16,16,16,15,16,16, + 16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,16, + 14,16,16,15,16,16,15,16,15,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16, + 16,16,16,16,16,16,15,15,15,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16, +}; + +static float _vq_quantthresh_res0_96_128_4[] = { + -22, -18.5, -15.5, -12.5, -9.5, -6.5, -4, -2, + -0.5, 0.5, 2, 4, 6.5, 9.5, 12.5, 15.5, + 18.5, 22, +}; + +static long _vq_quantmap_res0_96_128_4[] = { + 17, 15, 13, 11, 9, 7, 5, 3, + 1, 0, 2, 4, 6, 8, 10, 12, + 14, 16, 18, +}; + +static encode_aux_threshmatch _vq_auxt_res0_96_128_4 = { + _vq_quantthresh_res0_96_128_4, + _vq_quantmap_res0_96_128_4, + 19, + 19 +}; + +static static_codebook _vq_book_res0_96_128_4 = { + 2, 361, + _vq_lengthlist_res0_96_128_4, + 1, -526909440, 1611661312, 6, 0, + _vq_quantlist_res0_96_128_4, + NULL, + &_vq_auxt_res0_96_128_4, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_96_128_5.vqh b/lib/books/res0_96_128_5.vqh new file mode 100644 index 00000000..b782ba3c --- /dev/null +++ b/lib/books/res0_96_128_5.vqh @@ -0,0 +1,102 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company, http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0_96_128_5_VQH_ +#define _V_res0_96_128_5_VQH_ +#include "codebook.h" + +static long _vq_quantlist_res0_96_128_5[] = { + 61, + 60, + 62, + 58, + 64, + 56, + 66, + 53, + 69, + 50, + 72, + 47, + 75, + 44, + 78, + 41, + 81, + 37, + 85, + 33, + 89, + 30, + 92, + 26, + 96, + 22, + 100, + 18, + 104, + 14, + 108, + 10, + 112, + 5, + 117, + 0, + 122, +}; + +static long _vq_lengthlist_res0_96_128_5[] = { + 2, 2, 2, 4, 4, 5, 6, 8, 7,10, 9,10,11,11,11,12, + 12,12,12, 6, 6, 8, 7, 8, 8, 9, 9,11,10,12,12,12, + 11,11,10,12,10, +}; + +static float _vq_quantthresh_res0_96_128_5[] = { + -58.5, -53.5, -49, -45, -41, -37, -33, -29.5, + -26, -22, -18.5, -15.5, -12.5, -9.5, -6.5, -4, + -2, -0.5, 0.5, 2, 4, 6.5, 9.5, 12.5, + 15.5, 18.5, 22, 26, 29.5, 33, 37, 41, + 45, 49, 53.5, 58.5, +}; + +static long _vq_quantmap_res0_96_128_5[] = { + 35, 33, 31, 29, 27, 25, 23, 21, + 19, 17, 15, 13, 11, 9, 7, 5, + 3, 1, 0, 2, 4, 6, 8, 10, + 12, 14, 16, 18, 20, 22, 24, 26, + 28, 30, 32, 34, 36, +}; + +static encode_aux_threshmatch _vq_auxt_res0_96_128_5 = { + _vq_quantthresh_res0_96_128_5, + _vq_quantmap_res0_96_128_5, + 37, + 37 +}; + +static static_codebook _vq_book_res0_96_128_5 = { + 1, 37, + _vq_lengthlist_res0_96_128_5, + 1, -524386304, 1611661312, 7, 0, + _vq_quantlist_res0_96_128_5, + NULL, + &_vq_auxt_res0_96_128_5, + NULL, + 0 +}; + + +#endif diff --git a/lib/books/res0_96_128aux.vqh b/lib/books/res0_96_128aux.vqh new file mode 100644 index 00000000..df458b55 --- /dev/null +++ b/lib/books/res0_96_128aux.vqh @@ -0,0 +1,117 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by huff/huffbuld + + ********************************************************************/ + +#ifndef _V_res0_96_128aux_VQH_ +#define _V_res0_96_128aux_VQH_ +#include "codebook.h" + +static long _huff_lengthlist_res0_96_128aux[] = { + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,14,15,15,15,15,15,13,15,15,15,15, + 15,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13, + 13,15,15,15,15,13,12,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,14,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,13,12,15,15,15,15,13,12, + 14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,14,12,15,12, + 15,15,11, 4, 5, 6,13,15,12, 5, 5, 8,14,15,10, 6, + 8, 9,14,15,15,14,15,14,15,15,15,15,15,15,15,15, + 15,13,12,12,15,15,11, 4, 5, 7,15,15,11, 4, 5, 8, + 15,15,13, 7, 8,10,15,15,15,14,15,15,15,15,15,15, + 15,15,15,15,15,13,13,10,15,15,13, 6, 6, 7,12,15, + 12, 6, 8, 9,15,15,12, 8, 9, 9,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13, + 15,13,15,15,15,14,14,15,15,15,15,14,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 12,14,15,15,15,15,15,13,14,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,14,12,11,15,15,11, 4, 5, 6,15,15, + 12, 5, 6, 8,15,15, 9, 6, 8, 8,15,15,14,14,15,15, + 15,15,15,15,15,15,15,15,15,15,11,12,15,15,12, 4, + 5, 7,15,15,11, 5, 5, 8,15,15,12, 7, 8, 9,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,12,12,10, + 15,15,12, 5, 6, 7,14,15,14, 6, 7, 9,15,15,13, 7, + 9,10,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,13,15,13,15,15,15,15,14,14, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,10,10,12,14,14,14,11,11,13,14,14,14,12, + 12,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,10,11,13,14,14,14,11,11,13, + 14,14,14,13,13,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,11,12,12,14,14, + 14,13,13,14,14,14,14,13,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, +}; + +static static_codebook _huff_book_res0_96_128aux = { + 4, 1296, + _huff_lengthlist_res0_96_128aux, + 0, 0, 0, 0, 0, + NULL, + NULL, + NULL, + 0 +}; + + +#endif @@ -12,7 +12,7 @@ ******************************************************************** function: LSP (also called LSF) conversion routines - last mod: $Id: lsp.c,v 1.13.2.2 2001/01/04 05:28:13 xiphmont Exp $ + last mod: $Id: lsp.c,v 1.13.2.3 2001/01/19 16:03:33 xiphmont Exp $ The LSP generation code is taken (with minimal modification and a few bugfixes) from "On the Computation of the LSP Frequencies" by @@ -52,7 +52,7 @@ ARM family. */ /* undefine both for the 'old' but more precise implementation */ -#define FLOAT_LOOKUP +#undef FLOAT_LOOKUP #undef INT_LOOKUP #ifdef FLOAT_LOOKUP diff --git a/lib/mapping0.c b/lib/mapping0.c index ed6f91c5..d72eba17 100644 --- a/lib/mapping0.c +++ b/lib/mapping0.c @@ -12,7 +12,7 @@ ******************************************************************** function: channel mapping 0 implementation - last mod: $Id: mapping0.c,v 1.22.2.3 2001/01/15 00:35:36 xiphmont Exp $ + last mod: $Id: mapping0.c,v 1.22.2.4 2001/01/19 16:03:34 xiphmont Exp $ ********************************************************************/ @@ -294,7 +294,7 @@ static int mapping0_forward(vorbis_block *vb,vorbis_look_mapping *l){ #endif } - + vbi->ampmax=newmax; /* perform residue encoding with residue mapping; this is diff --git a/lib/masking.h b/lib/masking.h new file mode 100644 index 00000000..7b3eea80 --- /dev/null +++ b/lib/masking.h @@ -0,0 +1,244 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2000 * + * by Monty <monty@xiph.org> and the XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: masking curve data for psychoacoustics + last mod: $Id: masking.h,v 1.8.2.1 2001/01/19 16:03:34 xiphmont Exp $ + + ********************************************************************/ + +#ifndef _V_MASKING_H_ +#define _V_MASKING_H_ + +/* Not really an ATH, more a bottom curve to limit LSP dynamic range */ +float ATH_Bark_dB[]={ + 15, 15, 15, 15, 11, 10, 8, 7, 7, 7, + 6, 2, 0, 0, -3, -5, -6, -6, -4.5f, 2.5f, + 10, 15, 15, 15, 15, 15, 15}; + +/* The below masking curves are straight from the R. Ehmer + (J. Acoustical Society of America) papers ca 1958-59. I modified + them slightly as Ehmer does not correct for the Absolute Threshold + of Hearing, and the low dB portions of the curves are thus highly + suspect. */ + +/* Let's all do the Trek thing and just call them 'Ehmer curves' ;-) + Note these are octaves, not Bark scale. */ + +#define EHMER_OFFSET 16 +#define EHMER_MAX 56 + +float tone_125_40dB_SL[EHMER_MAX]={ + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 18, 16, 14, 12, 11, 9, 7, 5, 3, 2, 0, -2, -4, -6, -8, + -10, -12, -14, -16, -18, -20, -23, -25, -28,-30,-34,-37,-40,-44,-48,-52, +-900,-900,-900,-900,-900,-900,-900,-900}; +float tone_125_60dB_SL[EHMER_MAX]={ + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 38, 36, 34, 32, 31, 29, 27, 25, 23, 22, 20, 18, 16, 14, 12, + 10, 8, 6, 4, 2, 0, -3, -5, -8,-10,-14,-17,-20,-24,-28,-32, +-900,-900,-900,-900,-900,-900,-900,-900}; +float tone_125_80dB_SL[EHMER_MAX]={ + 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, + 60, 58, 56, 54, 52, 51, 49, 47, 45, 43, 42, 40, 38, 36, 34, 32, + 30, 28, 26, 24, 22, 20, 17, 15, 12, 10, 6, 3, 0, -4, -8,-12, +-900,-900,-900,-900,-900,-900,-900,-900}; +float tone_125_100dB_SL[EHMER_MAX]={ + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 77, 75, 74, 73, 72, 71, 70, 69, 68, 67, 65, 64, 63, 62, 60, + 58, 57, 55, 54, 52, 50, 48, 46, 44, 42, 40, 38, 36, 34, 31, 29, + 27, 24, 22, 20, 18, 15, 13, 11}; + +float tone_250_40dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900,-900, -19, -13, -7, -1, 4, 9, 15, 20, + 22, 23, 22, 19, 18, 18, 16, 13, 9, 7, 3, 1, -1, -3, -6, -8, + -10, -13, -16, -19, -21, -24, -28, -32, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; +float tone_250_60dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900, -10, -5, 1, 7, 13, 19, 25, 30, 33, + 36, 39, 38, 37, 38, 39, 39, 40, 38, 36, 35, 34, 33, 31, 29, 28, + 28, 28, 25, 20, 14, 10, 5, 0, -5,-10,-15,-20,-25,-30,-35,-40, +-900,-900,-900,-900,-900,-900,-900,-900}; +float tone_250_80dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900, -10, 10, 17, 24, 30, 37, 41, 48, 49, + 50, 53, 54, 53, 53, 54, 55, 57, 57, 57, 58, 59, 60, 58, 57, 58, + 59, 58, 57, 54, 52, 50, 49, 47, 46, 47, 46, 44, 43, 42, 41, 40, + 38, 32, 27, 22, 17, 11, 6, 0}; +/* no data, just interpolated from 80 */ +float tone_250_100dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900, -10, 15, 25, 34, 40, 50, 56, 60, 70, + 70, 73, 74, 73, 73, 74, 75, 77, 77, 77, 78, 79, 80, 78, 77, 78, + 79, 78, 77, 74, 72, 70, 69, 67, 66, 67, 66, 64, 63, 62, 61, 60, + 58, 52, 47, 42, 37, 31, 26, 20}; + +float tone_500_40dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900, -40, -26, -20, -14, -8, -2, 4, 10, 17, + 23, 16, 12, 9, 6, 3, 0, -3, -7, -10, -13, -16, -20, -23, -26, -30, +-900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; +float tone_500_60dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900,-900, -18, -12, -6, 0, 6, 13, 20, 30, + 39, 34, 31, 29, 29, 27, 24, 21, 18, 16, 13, 8, 6, 3, 1, -1, + -5, -2, -5, -8, -12, -15, -18, -22, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; +float tone_500_80dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900,-900, -22,-16,-10, 0, 10, 20, 32, 43, + 53, 52, 52, 50, 49, 50, 52, 55, 55, 54, 51, 49, 46, 44, 44, 42, + 38, 34, 32, 29, 29, 28, 25, 23, 20, 16, 10, 7, 4, 2, -1, -4, + -7, -10, -15, -20, -25, -30, -35, -40}; +float tone_500_100dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900, -10, -7, 2, 10, 19, 27, 35, 55, 56, + 62, 61, 60, 58, 57, 57, 59, 63, 65, 66, 62, 60, 57, 57, 58, 58, + 57, 56, 56, 56, 57, 57, 56, 57, 57, 54, 47, 41, 37, 28, 21, 16, + 10, 3, -3, -8, -13, -18, -23, -28}; + +float tone_1000_40dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900,-900, -55, -40, -30, -20, -10, 0, 9, 20, + 27, 20, 13, 14, 13, 5, -1, -6, -11, -20, -30,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; +float tone_1000_60dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900, -43, -33,-23,-13, -3, 7, 17, 25, 37, + 42, 33, 25, 25, 23, 18, 13, 9, 4, -1, -7,-13,-18, -23, -28, -33, +-900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; +float tone_1000_80dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900, -35, -25,-14, -4, 6, 16, 27, 33, 50, + 59, 57, 47, 41, 40, 43, 47, 48, 47, 42, 39, 37, 37, 36, 35, 32, + 30, 27, 21, 15, 5, -2, -10, -18, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; +float tone_1000_100dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900, -40, -30, -20,-10, 0, 10, 23, 33, 45, 60, + 70, 72, 55, 49, 43, 40, 44, 54, 59, 58, 49, 43, 52, 57, 57, 58, + 58, 54, 49, 47, 42, 39, 33, 28, 20, 15, 5, 0, -5,-15,-20,-25, +-900,-900,-900,-900,-900,-900,-900,-900}; + +float tone_2000_40dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -12, -3, 5, 12, 20, + 24, 21, 14, 5, -5, -15, -25, -35, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; +float tone_2000_60dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -12, -2, 8, 19, 31, + 38, 34, 24, 17, 14, 13, 11, 7, 3, -2, -6, -10, -14, -20, -26, -32, +-900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; +float tone_2000_80dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -12, -2, 13, 28, 40, + 51, 51, 43, 35, 28, 29, 35, 37, 37, 35, 31, 28, 25, 22, 19, 15, + 11, 8, 6, 2, -6, -14, -22, -30, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; +float tone_2000_100dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -10, 6, 25, 42, 60, + 66, 60, 53, 43, 35, 31, 34, 47, 58, 51, 43, 45, 54, 59, 59, 56, + 54, 51, 40, 29, 20, 11, 2, -8, -17, -26, -35,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; + +float tone_4000_40dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -12, 0, 3, 10, 18, + 24, 21, 14, 5, -5, -15, -25, -35, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; + +float tone_4000_60dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -12, -2, 8, 19, 31, + 38, 33, 28, 23, 19, 14, 11, 8, 3, -2, -7, -12, -17, -22, -27, -37, +-900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; + +float tone_4000_80dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900,-900, -60, -50, -40, -29, -12, 5, 19, 37, + 51, 49, 40, 35, 36, 36, 36, 33, 32, 24, 18, 8, -3, -12, -20, -29, +-900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; + +float tone_4000_100dB_SL[EHMER_MAX]={ + -20, -12, -8, -4, 0, 4, 8, 11, 15, 22, 26, 28, 32, 36, 43, 52, + 62, 59, 50, 48, 50, 50, 45, 36, 45, 30, 20, 10, 0, -10, -19, -28, + -37,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; + +float tone_8000_40dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900, -50, -41, -30, -21, -12, 0, 3, 10, 18, + 23, 20, 16, 15, 16, 18, 21, 23, 25, 27, 29, 32, 35, 38, 41, 44, + 47, 50, 55, 60, 85,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, + -900,-900,-900,-900,-900,-900,-900,-900}; +float tone_8000_60dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900, -10, -21, -18, -14, -10, 0, 3, 15, 30, + 43, 40, 36, 35, 36, 38, 41, 43, 45, 47, 49, 52, 55, 58, 61, 64, + 67, 70, 75, 80,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; +float tone_8000_80dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900,-900,-900, -10, -1, 2, 6, 10, 13, 19, 25, 35, + 63, 55, 50, 48, 46, 45, 45, 50, 55, 65, 75, 80, 85, 90, 95, 100, + 100, 100, 100, 100,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; + +float tone_8000_100dB_SL[EHMER_MAX]={ + -18, -12, -7, -3, 0, 2, 6, 9, 12, 19, 22, 21, 19, 21, 40, 40, + 80, 60, 35, 25, 15, 5, 5, 5, 25, 30, 35,- 40, 45, 50, 55, 60, + 65, 70, 80, 90, 100,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; + +#if 0 /* not used for the time being */ +float noise_500_60dB_SL[EHMER_MAX]={ +-900,-900,-900,-900,-900, -20, -11, -2, 7, 16, 25, 34, 43, 52, 61, 66, + 69, 68, 58, 50, 44, 38, 32, 28, 25, 24, 20, 18, 17, 12, 10, 8, + 5, 0, -5, -8, -12, -15, -18, -22, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; + +float noise_500_80dB_SL[EHMER_MAX]={ +-900,-900,-900, -20, -10, -1, 8, 17, 26, 35, 44, 53, 62, 70, 79, 83, + 85, 85, 81, 77, 74, 71, 68, 63, 61, 59, 56, 55, 54, 52, 48, 47, + 45, 46, 45, 43, 40, 37, 33, 32, 35, 32, 30, 29, 20, 10, 0, -10, + -20, -30,-900,-900,-900,-900,-900,-900}; + +float noise_1000_60dB_SL[EHMER_MAX]={ +-900,-900,-900,-900, -24, -15, -6, 3, 12, 21, 28, 34, 40, 48, 57, 60, + 61, 56, 54, 45, 36, 27, 21, 19, 17, 13, 10, 0, -10, -20, -20,-900, +-900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; + +float noise_1000_80dB_SL[EHMER_MAX]={ +-900, -26, -17, -8, 1, 10, 19, 28, 37, 41, 46, 51, 58, 68, 74, 81, + 80, 81, 70, 66, 58, 61, 59, 55, 54, 53, 52, 49, 48, 42, 38, 38, + 39, 34, 30, 27, 20, 10, 0, -10, -20, -30,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; + +float noise_2000_60dB_SL[EHMER_MAX]={ +-900,-900,-900, -34, -25, -16, -7, 2, 11, 18, 23, 30, 35, 42, 51, 58, + 58, 57, 50, 40,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; + +float noise_2000_80dB_SL[EHMER_MAX]={ +-900, -26, -17, -8, 1, 10, 19, 28, 33, 38, 43, 48, 53, 62, 70, 77, + 77, 75, 70, 67, 68, 66, 62, 61, 60, 59, 52, 47, 39, 35, 34, 35, + 35, 33, 30, 27, 20, 10, 0, -10, -20, -30,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; + +float noise_4000_60dB_SL[EHMER_MAX]={ +-900,-900,-900, -34, -25, -16, -7, 2, 11, 20, 25, 31, 37, 45, 56, 62, + 64, 61,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; + +float noise_4000_80dB_SL[EHMER_MAX]={ +-900, -26, -17, -8, 1, 10, 19, 26, 33, 39, 45, 50, 55, 65, 75, 82, + 84, 81, 78, 72, 70, 69, 66, 61, 50, 48, 46, 40, 35, 30, 25, 20, + 15, 10, 5, 0, -10, -20, -30,-900, -900,-900,-900,-900,-900,-900,-900,-900, +-900,-900,-900,-900,-900,-900,-900,-900}; + +#endif +#endif + + diff --git a/lib/modes/mode_A.h b/lib/modes/mode_A.h index 156041ba..d6dde481 100644 --- a/lib/modes/mode_A.h +++ b/lib/modes/mode_A.h @@ -12,7 +12,7 @@ ******************************************************************** function: predefined encoding modes - last mod: $Id: mode_A.h,v 1.7.2.3 2001/01/15 00:35:38 xiphmont Exp $ + last mod: $Id: mode_A.h,v 1.7.2.4 2001/01/19 16:04:00 xiphmont Exp $ ********************************************************************/ @@ -23,9 +23,9 @@ #include "vorbis/codec.h" #include "backends.h" -#include "books/lsp9_0.vqh" +#include "books/lsp12_0.vqh" #include "books/lsp30_0.vqh" -#include "books/lsp9_1.vqh" +#include "books/lsp12_1.vqh" #include "books/lsp30_1.vqh" #include "books/res0_128_128aux.vqh" @@ -110,23 +110,23 @@ static vorbis_info_psy _psy_set_A0={ .5f, /* high window */ 5, 5, - {.000f, /*63*/ - .000f, /*88*/ - .000f, /*125*/ - .000f, /*175*/ - .000f, /*250*/ - .000f, /*350*/ - .000f, /*500*/ - .300f, /*700*/ - .500f, /*1000*/ - .500f, /*1400*/ - .500f, /*2000*/ - .500f, /*2800*/ - .600f, /*4000*/ - .700f, /*5600*/ - .850f, /*8000*/ - .900f, /*11500*/ - .900f, /*16000*/ + {.000f, 0.f,/*63*/ + .000f, 0.f,/*88*/ + .000f, 0.f,/*125*/ + .000f, 0.f,/*175*/ + .000f, 0.f,/*250*/ + .000f, 0.f,/*350*/ + .000f, 0.f,/*500*/ + .300f, 0.f,/*700*/ + .500f, 0.f,/*1000*/ + .500f, 0.f,/*1400*/ + .500f, 0.f,/*2000*/ + .500f, 0.f,/*2800*/ + .600f, 0.f,/*4000*/ + .700f, 0.f,/*5600*/ + .850f, 0.f,/*8000*/ + .900f, 0.f,/*11500*/ + .900f, 0.f,/*16000*/ }, 95.f, /* even decade + 5 is important; saves an rint() later in a @@ -151,9 +151,9 @@ static vorbis_info_psy _psy_set_A={ 1,/* tonemaskp */ /* 0 10 20 30 40 50 60 70 80 90 100 */ { - {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*63*/ - {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*88*/ - {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*125*/ + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*63*/ + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*88*/ + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*125*/ // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*175*/ // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*250*/ // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*350*/ @@ -163,21 +163,23 @@ static vorbis_info_psy _psy_set_A={ // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*63*/ // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*88*/ // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*125*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*175*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*250*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*350*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*500*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*700*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/ + + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2000*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2800*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/ + + {-20.f,-25.f,-30.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ + {-20.f,-25.f,-30.f,-35.f,-35.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f}, /*11500*/ + {-20.f,-24.f,-26.f,-32.f,-35.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f}, /*16000*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1000*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1400*/ - {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2000*/ - {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2800*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*4000*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*5600*/ - {-30.,-30.,-30.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*8000*/ - {-30.,-30.,-30.,-35.,-40.,-45.,-60.,-70.,-80.,-90.,-100.}, /*11500*/ - {-30.,-30.,-30.,-35.,-35.,-45.,-50.,-60.,-70.,-80.,-90.}, /*16000*/ }, 1,/* peakattp */ @@ -188,16 +190,16 @@ static vorbis_info_psy _psy_set_A={ {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-24.f,-24.f,-24.f},/*250*/ {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-24.f,-24.f},/*350*/ {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-24.f,-24.f},/*500*/ - {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-14.f,-20.f,-22.f,-24.f,-24.f},/*700*/ - {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-14.f,-20.f,-22.f,-24.f,-24.f},/*1000*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*700*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*1000*/ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*1400*/ {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*2000*/ - {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*2400*/ - {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*4000*/ - {-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-12.f,-13.f,-22.f,-24.f,-24.f},/*5600*/ - {-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-12.f,-13.f,-22.f,-24.f,-24.f},/*8000*/ - {-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-22.f,-23.f,-24.f},/*11500*/ - {-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-20.f,-21.f,-24.f},/*16000*/ + {-10.f,-10.f,-10.f,-12.f,-16.f,-16.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*2400*/ + {-10.f,-10.f,-10.f,-12.f,-16.f,-16.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*4000*/ + {-10.f,-10.f,-10.f,-12.f,-12.f,-14.f,-16.f,-18.f,-22.f,-24.f,-24.f},/*5600*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-14.f,-16.f,-18.f,-22.f,-24.f,-24.f},/*8000*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-14.f,-16.f,-18.f,-22.f,-24.f,-24.f},/*11500*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-12.f,-16.f,-18.f,-22.f,-24.f,-24.f},/*16000*/ }, 1,/*noisemaskp */ @@ -206,55 +208,56 @@ static vorbis_info_psy _psy_set_A={ .5f, /* high window */ 25, 25, - {.000f, /*63*/ - .000f, /*88*/ - .000f, /*125*/ - .000f, /*175*/ - .000f, /*250*/ - .000f, /*350*/ - .000f, /*500*/ - .200f, /*700*/ - .300f, /*1000*/ - .400f, /*1400*/ - .400f, /*2000*/ - .400f, /*2800*/ - .700f, /*4000*/ - .850f, /*5600*/ - .900f, /*8000*/ - .900f, /*11500*/ - .900f, /*16000*/ + {.000f, 0.f, /*63*/ + .000f, 0.f, /*88*/ + .000f, 0.f, /*125*/ + .000f, 0.f, /*175*/ + .000f, 0.f, /*250*/ + .000f, 0.f, /*350*/ + .000f, 0.f, /*500*/ + .200f, 0.f, /*700*/ + .300f, 0.f, /*1000*/ + .400f, 0.f, /*1400*/ + .400f, 0.f, /*2000*/ + .400f, 0.f, /*2800*/ + .700f, 0.f, /*4000*/ + .850f, 0.f, /*5600*/ + .900f, 0.f, /*8000*/ + .900f, 0.f, /*11500*/ + .900f, 0.f, /*16000*/ }, 95.f, /* even decade + 5 is important; saves an rint() later in a tight loop) */ -28., - -0.f, -.004f /* attack/decay control */ + -0.f, -.004f, /* attack/decay control */ + }; /* with GNUisms, this could be short and readable. Oh well */ static vorbis_info_time0 _time_set0A={0}; -static vorbis_info_floor0 _floor_set0A={9, 44100, 64, 10,130, 2, {0,1}, - 0.246f, .392f}; +static vorbis_info_floor0 _floor_set0A={12, 44100, 64, 10,130, 2, {0,1}, + 0.199f, .285f}; static vorbis_info_floor0 _floor_set1A={30, 44100, 256, 12,150, 2, {2,3}, - .086f, .126f}; + .082f, .126f}; static vorbis_info_residue0 _residue_set0A={0,96,16,6,4, {0,1,1,1,1,1}, {6,7,8,9,10}, {0,99999,9999,9999,9999}, - {99.f,1.5f,4.f,12.5f,22.f}, + {999.f,1.5f,3.5f,15.5f,26.5f}, {4,4,4,4,4}, {99,99,99,99,99}}; -static vorbis_info_residue0 _residue_set1A={0,1024, 32,10,5, +static vorbis_info_residue0 _residue_set1A={0, 960, 32,10,5, {0,1,1,1,1,1,1,1,1,1}, {11,12,13,14,15,16,17,18,19}, {0,8,9999,16,9999, 24,9999,9999,9999}, - {99.f,1.5f,1.5f,2.5f,2.5f, - 6.5f,6.5f,12.5f,22.f}, + {999.f,1.5f,1.5f,2.5f,2.5f, + 6.5f,6.5f,12.5f,22.5f}, {5,5,5,5,5,5,5,5,5}, {99,99,99,99,99,99,99,99,99}}; @@ -281,8 +284,8 @@ codec_setup_info info_A={ /* residue */ {0,0},{&_residue_set0A,&_residue_set1A}, /* books */ - {&_vq_book_lsp9_0, /* 0 */ - &_vq_book_lsp9_1, /* 1 */ + {&_vq_book_lsp12_0, /* 0 */ + &_vq_book_lsp12_1, /* 1 */ &_vq_book_lsp30_0, /* 2 */ &_vq_book_lsp30_1, /* 3 */ diff --git a/lib/modes/mode_AA.h b/lib/modes/mode_AA.h index 4e34fda4..4097ad38 100644 --- a/lib/modes/mode_AA.h +++ b/lib/modes/mode_AA.h @@ -12,7 +12,7 @@ ******************************************************************** function: predefined encoding modes - last mod: $Id: mode_AA.h,v 1.3.2.2 2001/01/09 19:13:23 xiphmont Exp $ + last mod: $Id: mode_AA.h,v 1.3.2.3 2001/01/19 16:04:00 xiphmont Exp $ ********************************************************************/ @@ -23,10 +23,13 @@ #include "vorbis/codec.h" #include "backends.h" -#include "books/lsp12_0.vqh" +#include "books/lsp9_0.vqh" #include "books/lsp30_0.vqh" +#include "books/lsp9_1.vqh" +#include "books/lsp30_1.vqh" #include "books/res0_96_128aux.vqh" +#include "books/res0_96_1024aux.vqh" #include "books/res0_96_128_1.vqh" #include "books/res0_96_128_2.vqh" @@ -34,8 +37,6 @@ #include "books/res0_96_128_4.vqh" #include "books/res0_96_128_5.vqh" -#include "books/res0_96_1024aux.vqh" - #include "books/res0_96_1024_1.vqh" #include "books/res0_96_1024_2.vqh" #include "books/res0_96_1024_3.vqh" @@ -43,6 +44,9 @@ #include "books/res0_96_1024_5.vqh" #include "books/res0_96_1024_6.vqh" #include "books/res0_96_1024_7.vqh" +#include "books/res0_96_1024_8.vqh" +#include "books/res0_96_1024_9.vqh" + static vorbis_info_psy _psy_set_AA0={ 1,/*athp*/ @@ -57,74 +61,77 @@ static vorbis_info_psy _psy_set_AA0={ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */ - 1,/* tonemaskp */ + 1,/* tonemaskp */ /* 0 10 20 30 40 50 60 70 80 90 100 */ - {{-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*63*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*88*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*125*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*175*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*250*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*350*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*500*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*700*/ + { + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*63*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*88*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*125*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*175*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*250*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*350*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*500*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*700*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1000*/ {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1400*/ {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2000*/ {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2800*/ {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*4000*/ - {-30.,-30.,-35.,-37.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*5600*/ - {-20.,-25.,-30.,-35.,-35.,-50.,-60.,-70.,-80.,-90.,-100.}, /*8000*/ - {-20.,-25.,-30.,-33.,-35.,-45.,-55.,-65.,-75.,-90.,-100.}, /*11500*/ - {-20.,-24.,-26.,-32.,-35.,-45.,-55.,-65.,-75.,-90.,-100.}, /*16000*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*5600*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*8000*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*11500*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*16000*/ }, 1,/* peakattp */ - {{-14.,-16.,-18.,-19.,-20.,-21.,-22.,-22.,-22.,-22.,-22.}, /*63*/ - {-14.,-16.,-18.,-19.,-20.,-21.,-22.,-22.,-22.,-22.,-22.}, /*88*/ - {-14.,-16.,-18.,-19.,-20.,-21.,-22.,-22.,-22.,-22.,-22.}, /*125*/ - { -7., -8., -9.,-10.,-10.,-11.,-12.,-13.,-15.,-18.,-20.}, /*175*/ - { -7., -8., -9.,-10.,-10.,-11.,-12.,-13.,-15.,-18.,-20.}, /*250*/ - { -7., -8., -9.,-10.,-10.,-11.,-12.,-13.,-15.,-18.,-20.}, /*350*/ - { -7., -8., -9.,-10.,-10.,-11.,-12.,-13.,-15.,-18.,-20.}, /*500*/ - { -7., -8., -9.,-10.,-10.,-11.,-12.,-13.,-15.,-18.,-20.}, /*700*/ - { -7., -8., -9.,-10.,-10.,-11.,-12.,-13.,-15.,-18.,-20.}, /*1000*/ - { -7., -8., -9.,-10.,-10.,-11.,-12.,-13.,-15.,-18.,-20.}, /*1400*/ - { -7., -8., -9.,-10.,-10.,-11.,-12.,-13.,-15.,-18.,-20.}, /*2000*/ - { -7., -8., -9.,-10.,-10.,-11.,-12.,-13.,-15.,-18.,-20.}, /*2800*/ - { -7., -8., -9.,-10.,-10.,-11.,-12.,-13.,-15.,-18.,-20.}, /*4000*/ - { -7., -8., -9.,-10.,-10.,-11.,-12.,-13.,-15.,-18.,-20.}, /*5600*/ - { -7., -8., -9.,-10.,-10.,-11.,-12.,-13.,-15.,-16.,-17.}, /*8000*/ - { -6., -7., -9., -9., -9., -9.,-10.,-11.,-12.,-13.,-14.}, /*11500*/ - { -6., -6., -9., -9., -9., -9., -9., -9.,-10.,-11.,-12.}, /*16000*/ + {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*63*/ + {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*88*/ + {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*125*/ + {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-22.f,-22.f},/*175*/ + {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-22.f,-22.f},/*250*/ + {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-22.f,-22.f},/*350*/ + {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-22.f,-22.f},/*500*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-14.f,-20.f,-22.f,-22.f,-22.f},/*700*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-14.f,-20.f,-22.f,-22.f,-22.f},/*1000*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*1400*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*2000*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*2400*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*4000*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-12.f,-13.f,-22.f,-22.f,-22.f},/*5600*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-12.f,-13.f,-22.f,-22.f,-22.f},/*8000*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-22.f,-22.f,-22.f},/*11500*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-20.f,-21.f,-22.f},/*16000*/ }, 1,/*noisemaskp */ - 0., - .5, /* low window */ - .5, /* high window */ - 15, - 15, - {.000, /*63*/ - .000, /*88*/ - .000, /*125*/ - .000, /*175*/ - .000, /*250*/ - .000, /*350*/ - .000, /*500*/ - .500, /*700*/ - .500, /*1000*/ - .500, /*1400*/ - .500, /*2000*/ - .500, /*2800*/ - .500, /*4000*/ - .500, /*5600*/ - .650, /*8000*/ - .650, /*11500*/ - .600, /*16000*/ + -0.f, /* suppress any noise curve over maxspec+n */ + .5f, /* low window */ + .5f, /* high window */ + 5, + 5, + {.000f, 0.f,/*63*/ + .000f, 0.f,/*88*/ + .000f, 0.f,/*125*/ + .000f, 0.f,/*175*/ + .000f, 0.f,/*250*/ + .000f, 0.f,/*350*/ + .000f, 0.f,/*500*/ + .300f, 0.f,/*700*/ + .500f, 0.f,/*1000*/ + .500f, 0.f,/*1400*/ + .500f, 0.f,/*2000*/ + .500f, 0.f,/*2800*/ + .600f, 0.f,/*4000*/ + .700f, 0.f,/*5600*/ + .850f, 0.f,/*8000*/ + .900f, 2.f,/*11500*/ + .900f, 3.f,/*16000*/ }, - 95., - -32., + 95.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + -22., -0., -.004 /* attack/decay control */ }; @@ -141,103 +148,118 @@ static vorbis_info_psy _psy_set_AA={ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */ - - 1,/* tonemaskp */ + 1,/* tonemaskp */ /* 0 10 20 30 40 50 60 70 80 90 100 */ - {{-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*63*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*88*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*125*/ + { + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*63*/ + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*88*/ + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*125*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*175*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*250*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*350*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*500*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*700*/ + + // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*63*/ + // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*88*/ + // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*125*/ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2000*/ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2800*/ {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/ - {-30.f,-30.f,-35.f,-37.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/ - {-20.f,-25.f,-30.f,-35.f,-35.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ - {-20.f,-25.f,-30.f,-33.f,-35.f,-45.f,-55.f,-65.f,-75.f,-90.f,-100.f}, /*11500*/ - {-20.f,-24.f,-26.f,-32.f,-35.f,-45.f,-55.f,-65.f,-75.f,-90.f,-100.f}, /*16000*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/ + + {-20.f,-25.f,-30.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ + {-20.f,-25.f,-30.f,-35.f,-35.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f}, /*11500*/ + {-20.f,-24.f,-26.f,-32.f,-35.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f}, /*16000*/ + }, 1,/* peakattp */ - {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*63*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*88*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*125*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*175*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*250*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*350*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*500*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*700*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*1000*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*1400*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*2000*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*2800*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*4000*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*5600*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-16.f,-17.f}, /*8000*/ - { -6.f, -7.f, -9.f, -9.f, -9.f, -9.f,-10.f,-11.f,-12.f,-13.f,-14.f}, /*11500*/ - { -6.f, -6.f, -9.f, -9.f, -9.f, -9.f, -9.f, -9.f,-10.f,-11.f,-12.f}, /*16000*/ + {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*63*/ + {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*88*/ + {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f},/*125*/ + {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-22.f,-22.f},/*175*/ + {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-22.f,-22.f},/*250*/ + {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-22.f,-22.f},/*350*/ + {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-22.f,-22.f},/*500*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*700*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*1000*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*1400*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*2000*/ + {-10.f,-10.f,-10.f,-12.f,-16.f,-16.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*2400*/ + {-10.f,-10.f,-10.f,-12.f,-16.f,-16.f,-16.f,-20.f,-22.f,-22.f,-22.f},/*4000*/ + {-10.f,-10.f,-10.f,-12.f,-12.f,-14.f,-16.f,-18.f,-22.f,-22.f,-22.f},/*5600*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-14.f,-16.f,-18.f,-22.f,-22.f,-22.f},/*8000*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-14.f,-16.f,-18.f,-22.f,-22.f,-22.f},/*11500*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-12.f,-16.f,-18.f,-22.f,-22.f,-22.f},/*16000*/ }, 1,/*noisemaskp */ - 0., - .5, /* low window */ - .5, /* high window */ + -0.f, /* suppress any noise curve over maxspec+n */ + .7f, /* low window */ + .7f, /* high window */ 25, 25, - {.000, /*63*/ - .000, /*88*/ - .000, /*125*/ - .000, /*175*/ - .000, /*250*/ - .000, /*350*/ - .000, /*500*/ - .500, /*700*/ - .500, /*1000*/ - .500, /*1400*/ - .500, /*2000*/ - .500, /*2800*/ - .700, /*4000*/ - .800, /*5600*/ - .850, /*8000*/ - .850, /*11500*/ - .900, /*16000*/ + {.000f, 0.f, /*63*/ + .000f, 0.f, /*88*/ + .000f, 0.f, /*125*/ + .000f, 0.f, /*175*/ + .000f, 0.f, /*250*/ + .000f, 0.f, /*350*/ + .000f, 0.f, /*500*/ + .200f, 0.f, /*700*/ + .300f, 0.f, /*1000*/ + .400f, 0.f, /*1400*/ + .400f, 0.f, /*2000*/ + .400f, 0.f, /*2800*/ + .700f, 0.f, /*4000*/ + .850f, 0.f, /*5600*/ + .900f, 0.f, /*8000*/ + .900f, 0.f, /*11500*/ + .900f, 1.f, /*16000*/ }, - 95.f, - -32., + 95.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + -22., - -0.f, -.004f /* attack/decay control */ -}; + -0.f, -.004f, /* attack/decay control */ +}; /* with GNUisms, this could be short and readable. Oh well */ static vorbis_info_time0 _time_set0AA={0}; -static vorbis_info_floor0 _floor_set0AA={12, 44100, 64, 12,150, 1, {0} }; -static vorbis_info_floor0 _floor_set1AA={30, 44100, 256, 12,150, 1, {1} }; -static vorbis_info_residue0 _residue_set0AA={0,128, 32,6,2, - {0,1,1,1,1,1}, - {4,5,6,7,8}, - - {0,99999,9999,9999,9999}, - {99.f,1.5f,2.5f,6.5f,12.5f}, - {5,5,5,5,5}, - {99,99,99,99,99}}; - - -static vorbis_info_residue0 _residue_set1AA={0,1024, 32,8,3, - {0,1,1,1,1,1,1,1}, - {9,10,11,12,13,14,15}, +static vorbis_info_floor0 _floor_set0AA={9, 44100, 64, 10,130, 2, {0,1}, + 0.246f, .387f}; +static vorbis_info_floor0 _floor_set1AA={30, 44100, 256, 12,150, 2, {2,3}, + .082f, .126f}; +static vorbis_info_residue0 _residue_set0AA={0,64,16,6,4, + {0,1,1,1,1,1}, + {6,7,8,9,10}, + + {0,7,9999,9999,9999}, + {999.f,2.f,2.f,9.5f,26.f}, + {4,4,4,4,4}, + {99,99,99,99,99}}; + +static vorbis_info_residue0 _residue_set1AA={0, 768, 32,10,5, + {0,1,1,1,1,1,1,1,1,1}, + {11,12,13,14,15,16,17,18,19}, - {0,9,9999,21,9999, - 9999,9999,9999}, - {99.f,2.f,2.f,4.f,4.f,9.5f,15.5f}, - {5,5,5,5,5,5,5}, - {99,99,99,99,99,99,99}}; + {0,10,9999,16,9999, + 26,9999,9999,9999}, + {999.f,2.f,2.f,4.f,4.f, + 9.5f,9.5f,18.f,37.f}, + {5,5,5,5,5,5,5,5,5}, + {99,99,99,99,99,99,99,99,99}}; static vorbis_info_mapping0 _mapping_set0AA={1, {0,0}, {0}, {0}, {0}, {0}}; static vorbis_info_mapping0 _mapping_set1AA={1, {0,0}, {0}, {1}, {1}, {1}}; @@ -250,7 +272,7 @@ codec_setup_info info_AA={ /* smallblock, largeblock */ {256, 2048}, /* modes,maps,times,floors,residues,books,psys */ - 2, 2, 1, 2, 2, 16, 2, + 2, 2, 1, 2, 2, 20, 2, /* modes */ {&_mode_set0AA,&_mode_set1AA}, /* maps */ @@ -262,8 +284,10 @@ codec_setup_info info_AA={ /* residue */ {0,0},{&_residue_set0AA,&_residue_set1AA}, /* books */ - {&_vq_book_lsp12_0, /* 0 */ - &_vq_book_lsp30_0, /* 1 */ + {&_vq_book_lsp9_0, /* 0 */ + &_vq_book_lsp9_1, /* 1 */ + &_vq_book_lsp30_0, /* 2 */ + &_vq_book_lsp30_1, /* 3 */ &_huff_book_res0_96_128aux, &_huff_book_res0_96_1024aux, @@ -281,12 +305,18 @@ codec_setup_info info_AA={ &_vq_book_res0_96_1024_5, &_vq_book_res0_96_1024_6, &_vq_book_res0_96_1024_7, + &_vq_book_res0_96_1024_8, + &_vq_book_res0_96_1024_9, }, /* psy */ {&_psy_set_AA0,&_psy_set_AA}, /* thresh sample period, preecho clamp trigger threshhold, range, minenergy */ - 256, 32.f, 6.f, -96.f + 256, 30.f, -30.f, -96.f, + + -10., + + 0, }; #define PREDEF_INFO_MAX 0 diff --git a/lib/modes/mode_B.h b/lib/modes/mode_B.h index a0f28e3e..851ca44f 100644 --- a/lib/modes/mode_B.h +++ b/lib/modes/mode_B.h @@ -12,7 +12,7 @@ ******************************************************************** function: predefined encoding modes - last mod: $Id: mode_B.h,v 1.6.2.2 2001/01/09 19:13:23 xiphmont Exp $ + last mod: $Id: mode_B.h,v 1.6.2.3 2001/01/19 16:04:00 xiphmont Exp $ ********************************************************************/ @@ -25,6 +25,8 @@ #include "books/lsp12_0.vqh" #include "books/lsp30_0.vqh" +#include "books/lsp12_1.vqh" +#include "books/lsp30_1.vqh" #include "books/res0_160_128aux.vqh" #include "books/res0_160_1024aux.vqh" @@ -45,6 +47,95 @@ #include "books/res0_160_1024_8.vqh" #include "books/res0_160_1024_9.vqh" + +static vorbis_info_psy _psy_set_B0={ + 1,/*athp*/ + 1,/*decayp*/ + + -100., + -140., + + 8, + + /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ + /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */ + /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */ + + 1,/* tonemaskp */ + /* 0 10 20 30 40 50 60 70 80 90 100 */ + { + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*63*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*88*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*125*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*175*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*250*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*350*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*500*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*700*/ + + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1000*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1400*/ + {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2000*/ + {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2800*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*4000*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*5600*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*8000*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*11500*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*16000*/ + }, + + 1,/* peakattp */ + {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*63*/ + {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*88*/ + {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*125*/ + {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*175*/ + {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*250*/ + {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*350*/ + {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*500*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-18.f,-24.f,-28.f,-28.f,-28.f},/*700*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-24.f,-28.f,-28.f,-28.f},/*1000*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-28.f,-28.f,-28.f},/*1400*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-28.f,-28.f,-28.f},/*2000*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-28.f,-28.f,-28.f},/*2400*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-28.f,-28.f,-28.f},/*4000*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-12.f,-20.f,-28.f,-28.f,-28.f},/*5600*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-20.f,-28.f,-28.f,-28.f},/*8000*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-20.f,-28.f,-28.f,-28.f},/*11500*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-20.f,-24.f,-28.f},/*16000*/ + }, + + 1,/*noisemaskp */ + -10.f, /* suppress any noise curve over maxspec+n */ + .5f, /* low window */ + .5f, /* high window */ + 5, + 5, + {.000f, 0.f,/*63*/ + .000f, 0.f,/*88*/ + .000f, 0.f,/*125*/ + .000f, 0.f,/*175*/ + .000f, 0.f,/*250*/ + .000f, 0.f,/*350*/ + .000f, 0.f,/*500*/ + .300f, 0.f,/*700*/ + .500f, 0.f,/*1000*/ + .500f, 0.f,/*1400*/ + .500f, 0.f,/*2000*/ + .500f, 0.f,/*2800*/ + .600f, 0.f,/*4000*/ + .700f, 0.f,/*5600*/ + .850f, 0.f,/*8000*/ + .900f, 0.f,/*11500*/ + .900f, 0.f,/*16000*/ + }, + + 105.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + -28., + + -0., -.004 /* attack/decay control */ +}; + static vorbis_info_psy _psy_set_B={ 1,/*athp*/ 1,/*decayp*/ @@ -57,105 +148,121 @@ static vorbis_info_psy _psy_set_B={ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */ - - 1,/* tonemaskp */ + 1,/* tonemaskp */ /* 0 10 20 30 40 50 60 70 80 90 100 */ - {{-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*63*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*88*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*125*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/ + { + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*63*/ + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*88*/ + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*125*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*175*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*250*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*350*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*500*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*700*/ + + // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*63*/ + // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*88*/ + // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*125*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/ + + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2000*/ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2800*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/ - {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/ - {-30.f,-30.f,-35.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ - {-30.f,-30.f,-35.f,-33.f,-35.f,-45.f,-55.f,-65.f,-75.f,-90.f,-100.f}, /*11500*/ - {-30.f,-28.f,-30.f,-32.f,-35.f,-45.f,-55.f,-65.f,-75.f,-90.f,-100.f}, /*16000*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/ + + {-30.f,-35.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ + {-30.f,-35.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*11500*/ + {-30.f,-34.f,-36.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*16000*/ + }, 1,/* peakattp */ - {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*63*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*88*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*125*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-28.f,-28.f,-28.f}, /*175*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-28.f,-28.f,-28.f}, /*250*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-28.f,-28.f,-28.f}, /*350*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-28.f,-28.f,-28.f}, /*500*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*700*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*1000*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*1400*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*2000*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*2800*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*4000*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*5600*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-16.f,-17.f}, /*8000*/ - { -6.f, -7.f, -9.f, -9.f, -9.f, -9.f,-10.f,-11.f,-12.f,-13.f,-14.f}, /*11500*/ - { -6.f, -6.f, -9.f, -9.f, -9.f, -9.f, -9.f, -9.f,-10.f,-11.f,-12.f}, /*16000*/ + {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*63*/ + {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*88*/ + {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*125*/ + {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*175*/ + {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*250*/ + {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*350*/ + {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*500*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-18.f,-24.f,-28.f,-28.f,-28.f},/*700*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-24.f,-28.f,-28.f,-28.f},/*1000*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-28.f,-28.f,-28.f},/*1400*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-28.f,-28.f,-28.f},/*2000*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-28.f,-28.f,-28.f},/*2400*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-28.f,-28.f,-28.f},/*4000*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-12.f,-20.f,-28.f,-28.f,-28.f},/*5600*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-20.f,-28.f,-28.f,-28.f},/*8000*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-20.f,-28.f,-28.f,-28.f},/*11500*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-20.f,-24.f,-28.f},/*16000*/ }, 1,/*noisemaskp */ - 0., - .5, /* low window */ - .5, /* high window */ + -10.f, /* suppress any noise curve over maxspec+n */ + .5f, /* low window */ + .5f, /* high window */ 25, 25, - {.000, /*63*/ - .000, /*88*/ - .000, /*125*/ - .000, /*175*/ - .000, /*250*/ - .000, /*350*/ - .000, /*500*/ - .500, /*700*/ - .500, /*1000*/ - .500, /*1400*/ - .500, /*2000*/ - .500, /*2800*/ - .700, /*4000*/ - .800, /*5600*/ - .850, /*8000*/ - .850, /*11500*/ - .900, /*16000*/ + {.000f, 0.f, /*63*/ + .000f, 0.f, /*88*/ + .000f, 0.f, /*125*/ + .000f, 0.f, /*175*/ + .000f, 0.f, /*250*/ + .000f, 0.f, /*350*/ + .000f, 0.f, /*500*/ + .200f, -2.f, /*700*/ + .300f, -2.f, /*1000*/ + .400f, -2.f, /*1400*/ + .400f, -2.f, /*2000*/ + .400f, -2.f, /*2800*/ + .700f, -2.f, /*4000*/ + .850f, -3.f, /*5600*/ + .900f, -3.f, /*8000*/ + .900f, -3.f, /*11500*/ + .900f, -3.f, /*16000*/ }, - 110.f, + 105.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ -32., - -3.f, -.004f /* attack/decay control */ + -0.f, -.004f, /* attack/decay control */ + }; /* with GNUisms, this could be short and readable. Oh well */ static vorbis_info_time0 _time_set0B={0}; -static vorbis_info_floor0 _floor_set0B={12, 44100, 64, 12,150, 1, {0} }; -static vorbis_info_floor0 _floor_set1B={30, 44100, 256, 12,150, 1, {1} }; -static vorbis_info_residue0 _residue_set0B={0,128, 32,6,2, +static vorbis_info_floor0 _floor_set0B={12, 44100, 64, 10,130, 2, {0,1}, + 0.199f, .285f}; +static vorbis_info_floor0 _floor_set1B={30, 44100, 256, 12,150, 2, {2,3}, + .082f, .126f}; +static vorbis_info_residue0 _residue_set0B={0,96,16,6,4, {0,1,1,1,1,1}, - {4,5,6,7,8}, + {6,7,8,9,10}, {0,99999,9999,9999,9999}, - {99.f,1.5f,2.5f,6.5f,12.5f}, - {5,5,5,5,5}, + {999.f,1.5f,3.5f,15.5f,26.5f}, + {4,4,4,4,4}, {99,99,99,99,99}}; -static vorbis_info_residue0 _residue_set1B={0,1024, 32,10,3, +static vorbis_info_residue0 _residue_set1B={0,1024, 32,10,5, {0,1,1,1,1,1,1,1,1,1}, - {9,10,11,12,13,14,15,16,17}, + {11,12,13,14,15,16,17,18,19}, - {0,8,9999,17,9999, - 22,9999,9999,9999}, - {99.f,1.5f,1.5f,2.5f,2.5f, - 4.f,4.f,6.5f,12.5f}, + {0,8,9999,18,9999, + 24,9999,9999,9999}, + {999.f,1.5f,1.5f,2.5f,2.5f, + 6.5f,6.5f,14.5f,30.f}, {5,5,5,5,5,5,5,5,5}, {99,99,99,99,99,99,99,99,99}}; static vorbis_info_mapping0 _mapping_set0B={1, {0,0}, {0}, {0}, {0}, {0}}; -static vorbis_info_mapping0 _mapping_set1B={1, {0,0}, {0}, {1}, {1}, {0}}; +static vorbis_info_mapping0 _mapping_set1B={1, {0,0}, {0}, {1}, {1}, {1}}; static vorbis_info_mode _mode_set0B={0,0,0,0}; static vorbis_info_mode _mode_set1B={1,0,0,1}; @@ -165,7 +272,7 @@ codec_setup_info info_B={ /* smallblock, largeblock */ {256, 2048}, /* modes,maps,times,floors,residues,books,psys */ - 2, 2, 1, 2, 2, 18, 1, + 2, 2, 1, 2, 2, 20, 2, /* modes */ {&_mode_set0B,&_mode_set1B}, /* maps */ @@ -177,8 +284,10 @@ codec_setup_info info_B={ /* residue */ {0,0},{&_residue_set0B,&_residue_set1B}, /* books */ - {&_vq_book_lsp12_0, /* 0 */ - &_vq_book_lsp30_0, /* 1 */ + {&_vq_book_lsp12_0, /* 0 */ + &_vq_book_lsp12_1, /* 1 */ + &_vq_book_lsp30_0, /* 2 */ + &_vq_book_lsp30_1, /* 3 */ &_huff_book_res0_160_128aux, &_huff_book_res0_160_1024aux, @@ -201,9 +310,13 @@ codec_setup_info info_B={ }, /* psy */ - {&_psy_set_B}, + {&_psy_set_B0,&_psy_set_B}, /* thresh sample period, preecho clamp trigger threshhold, range, minenergy */ - 256, 32.f, 6.f, -96.f + 256, 30.f, -30.f, -96.f, + + -10., + + 0, }; #define PREDEF_INFO_MAX 0 diff --git a/lib/modes/mode_C.h b/lib/modes/mode_C.h index 42206008..c83a04f7 100644 --- a/lib/modes/mode_C.h +++ b/lib/modes/mode_C.h @@ -12,7 +12,7 @@ ******************************************************************** function: predefined encoding modes - last mod: $Id: mode_C.h,v 1.6.2.2 2001/01/09 19:13:24 xiphmont Exp $ + last mod: $Id: mode_C.h,v 1.6.2.3 2001/01/19 16:04:00 xiphmont Exp $ ********************************************************************/ @@ -25,6 +25,8 @@ #include "books/lsp12_0.vqh" #include "books/lsp30_0.vqh" +#include "books/lsp12_1.vqh" +#include "books/lsp30_1.vqh" #include "books/res0_192_128aux.vqh" #include "books/res0_192_1024aux.vqh" @@ -40,13 +42,18 @@ #include "books/res0_192_1024_3.vqh" #include "books/res0_192_1024_4.vqh" #include "books/res0_192_1024_5.vqh" +#include "books/res0_192_1024_6.vqh" +#include "books/res0_192_1024_7.vqh" +#include "books/res0_192_1024_8.vqh" +#include "books/res0_192_1024_9.vqh" + static vorbis_info_psy _psy_set_C0={ 1,/*athp*/ 0,/*decayp*/ - -100.f, - -140.f, + -100., + -140., 8, @@ -54,79 +61,82 @@ static vorbis_info_psy _psy_set_C0={ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */ - 0,/* tonemaskp */ + 1,/* tonemaskp */ /* 0 10 20 30 40 50 60 70 80 90 100 */ - {{-30.f,-35.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*63*/ - {-30.f,-35.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*88*/ - {-30.f,-35.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*125*/ - {-30.f,-35.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*175*/ - {-30.f,-35.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*250*/ - {-30.f,-35.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*350*/ - {-30.f,-35.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*500*/ - {-30.f,-35.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*700*/ - {-30.f,-35.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*1000*/ - {-30.f,-35.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*1400*/ - {-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*2000*/ - {-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*2800*/ - {-30.f,-35.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*4000*/ - {-30.f,-30.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*5600*/ - {-30.f,-30.f,-35.f,-35.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*8000*/ - {-30.f,-30.f,-35.f,-33.f,-45.f,-55.f,-65.f,-75.f,-85.f,-100.f,-110.f}, /*11500*/ - {-30.f,-28.f,-30.f,-32.f,-45.f,-55.f,-65.f,-75.f,-85.f,-100.f,-110.f}, /*16000*/ + { + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*63*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*88*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*125*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*175*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*250*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*350*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*500*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*700*/ + + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1000*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1400*/ + {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2000*/ + {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2800*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*4000*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*5600*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*8000*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*11500*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*16000*/ }, 1,/* peakattp */ - {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*63*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*88*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*125*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-28.f,-28.f,-28.f}, /*175*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-28.f,-28.f,-28.f}, /*250*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-28.f,-28.f,-28.f}, /*350*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-28.f,-28.f,-28.f}, /*500*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*700*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*1000*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*1400*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*2000*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*2800*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*4000*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*5600*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-16.f,-17.f}, /*8000*/ - { -6.f, -7.f, -9.f, -9.f, -9.f, -9.f,-10.f,-11.f,-12.f,-13.f,-14.f}, /*11500*/ - { -6.f, -6.f, -9.f, -9.f, -9.f, -9.f, -9.f, -9.f,-10.f,-11.f,-12.f}, /*16000*/ + {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*63*/ + {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*88*/ + {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*125*/ + {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*175*/ + {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*250*/ + {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*350*/ + {-14.f,-14.f,-14.f,-14.f,-16.f,-16.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*500*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-18.f,-24.f,-28.f,-28.f,-28.f},/*700*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-24.f,-28.f,-28.f,-28.f},/*1000*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-28.f,-28.f,-28.f},/*1400*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-28.f,-28.f,-28.f},/*2000*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-28.f,-28.f,-28.f},/*2400*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-16.f,-18.f,-24.f,-28.f,-28.f,-28.f},/*4000*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-12.f,-20.f,-28.f,-28.f,-28.f},/*5600*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-20.f,-28.f,-28.f,-28.f},/*8000*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-20.f,-28.f,-28.f,-28.f},/*11500*/ + {-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-14.f,-20.f,-24.f,-28.f},/*16000*/ }, 1,/*noisemaskp */ - 0., - .5, /* low window */ - .5, /* high window */ - 25, - 25, - {.000, /*63*/ - .000, /*88*/ - .000, /*125*/ - .000, /*175*/ - .000, /*250*/ - .000, /*350*/ - .000, /*500*/ - .500, /*700*/ - .500, /*1000*/ - .500, /*1400*/ - .500, /*2000*/ - .500, /*2800*/ - .700, /*4000*/ - .800, /*5600*/ - .850, /*8000*/ - .850, /*11500*/ - .900, /*16000*/ + -10.f, /* suppress any noise curve over maxspec+n */ + .5f, /* low window */ + .5f, /* high window */ + 5, + 5, + {.000f, 0.f,/*63*/ + .000f, 0.f,/*88*/ + .000f, 0.f,/*125*/ + .000f, 0.f,/*175*/ + .000f, 0.f,/*250*/ + .000f, 0.f,/*350*/ + .000f, 0.f,/*500*/ + .000f, 0.f,/*700*/ + .200f, 0.f,/*1000*/ + .300f, 0.f,/*1400*/ + .400f, 0.f,/*2000*/ + .600f, -2.f,/*2800*/ + .600f, -2.f,/*4000*/ + .700f, -2.f,/*5600*/ + .850f, -2.f,/*8000*/ + .850f, -1.f,/*11500*/ + .850f, 0.f,/*16000*/ }, - - 100.f, - -40., - -6.f, -.006f /* attack/decay control */ + 105.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + -28., + + -0., -.004 /* attack/decay control */ }; -static vorbis_info_psy _psy_set_C1={ +static vorbis_info_psy _psy_set_C={ 1,/*athp*/ 0,/*decayp*/ @@ -138,99 +148,118 @@ static vorbis_info_psy _psy_set_C1={ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */ - - 1,/* tonemaskp */ + 1,/* tonemaskp */ /* 0 10 20 30 40 50 60 70 80 90 100 */ - {{-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*63*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*88*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*125*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/ + { + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*63*/ + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*88*/ + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*125*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*175*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*250*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*350*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*500*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*700*/ + + // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*63*/ + // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*88*/ + // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*125*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/ + + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2000*/ {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2800*/ - {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/ - {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/ - {-30.f,-30.f,-35.f,-35.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ - {-30.f,-30.f,-35.f,-33.f,-35.f,-45.f,-55.f,-65.f,-75.f,-90.f,-100.f}, /*11500*/ - {-30.f,-28.f,-30.f,-32.f,-35.f,-45.f,-55.f,-65.f,-75.f,-90.f,-100.f}, /*16000*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/ + + {-30.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ + {-30.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*11500*/ + {-30.f,-35.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*16000*/ + }, - 1,/* peakattp */ - {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-28.f,-28.f}, /*63*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-28.f,-28.f}, /*88*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-28.f,-28.f}, /*125*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-18.f,-18.f,-20.f}, /*175*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-18.f,-18.f,-20.f}, /*250*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-18.f,-18.f,-20.f}, /*350*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-18.f,-18.f,-20.f}, /*500*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*700*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*1000*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*1400*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*2000*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*2800*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*4000*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-18.f,-20.f}, /*5600*/ - { -7.f, -8.f, -9.f,-10.f,-10.f,-11.f,-12.f,-13.f,-15.f,-16.f,-17.f}, /*8000*/ - { -6.f, -7.f, -9.f, -9.f, -9.f, -9.f,-10.f,-11.f,-12.f,-13.f,-14.f}, /*11500*/ - { -6.f, -6.f, -9.f, -9.f, -9.f, -9.f, -9.f, -9.f,-10.f,-11.f,-12.f}, /*16000*/ + 1, + {{-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*63*/ + {-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*88*/ + {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*125*/ + {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*175*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*250*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*350*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-28.f,-24.f,-28.f,-28.f,-28.f},/*500*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*700*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*1000*/ + {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*1400*/ + {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*2000*/ + {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*2800*/ + {-20.f,-20.f,-20.f,-20.f,-22.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*4000*/ + {-20.f,-20.f,-20.f,-20.f,-22.f,-20.f,-22.f,-24.f,-28.f,-28.f,-28.f},/*5600*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-22.f,-24.f,-28.f,-28.f,-28.f},/*8000*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-22.f,-24.f,-28.f,-28.f,-28.f},/*11500*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-22.f,-24.f,-28.f,-28.f,-28.f},/*16000*/ }, 1,/*noisemaskp */ - 0., - .5, /* low window */ - .5, /* high window */ + -15.f, /* suppress any noise curve over maxspec+n */ + .5f, /* low window */ + .5f, /* high window */ 25, 25, - {.000, /*63*/ - .000, /*88*/ - .000, /*125*/ - .000, /*175*/ - .000, /*250*/ - .000, /*350*/ - .000, /*500*/ - .500, /*700*/ - .500, /*1000*/ - .500, /*1400*/ - .500, /*2000*/ - .500, /*2800*/ - .700, /*4000*/ - .800, /*5600*/ - .850, /*8000*/ - .850, /*11500*/ - .900, /*16000*/ + {.000f, 0.f, /*63*/ + .000f, 0.f, /*88*/ + .000f, 0.f, /*125*/ + .000f, 0.f, /*175*/ + .000f, 0.f, /*250*/ + .000f, 0.f, /*350*/ + .000f, 0.f, /*500*/ + .200f, -6.f, /*700*/ + .300f, -6.f, /*1000*/ + .400f, -6.f, /*1400*/ + .400f, -6.f, /*2000*/ + .400f, -6.f, /*2800*/ + .700f, -6.f, /*4000*/ + .850f, -6.f, /*5600*/ + .850f, -5.f, /*8000*/ + .850f, -4.f, /*11500*/ + .850f, -3.f, /*16000*/ }, - 110.f, - -40., + + 105.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + -32., + + -0.f, -.004f, /* attack/decay control */ - -6.f, -.006f /* attack/decay control */ }; /* with GNUisms, this could be short and readable. Oh well */ static vorbis_info_time0 _time_set0C={0}; -static vorbis_info_floor0 _floor_set0C={12, 44100, 64, 12,150, 1, {0} }; -static vorbis_info_floor0 _floor_set1C={30, 44100, 256, 12,150, 1, {1} }; -static vorbis_info_residue0 _residue_set0C={0,128, 32,6,2, +static vorbis_info_floor0 _floor_set0C={12, 44100, 64, 10,130, 2, {0,1}, + 0.199f, .285f}; +static vorbis_info_floor0 _floor_set1C={30, 44100, 256, 12,150, 2, {2,3}, + .082f, .126f}; +static vorbis_info_residue0 _residue_set0C={0,128,16,6,4, {0,1,1,1,1,1}, - {4,5,6,7,8}, + {6,7,8,9,10}, {0,99999,9999,9999,9999}, - {99.f,1.5f,2.5f,6.5f,12.5f}, - {5,5,5,5,5}, + {999.f,1.5f,3.5f,15.5f,26.5f}, + {4,4,4,4,4}, {99,99,99,99,99}}; -static vorbis_info_residue0 _residue_set1C={0,1024, 32,6,3, - {0,1,1,1,1,1}, - {9,10,11,12,13}, +static vorbis_info_residue0 _residue_set1C={0,1024, 32,10,5, + {0,1,1,1,1,1,1,1,1,1}, + {11,12,13,14,15,16,17,18,19}, - {0,99999,9999,9999,9999}, - {99.f,1.5f,2.5f,6.5f,12.5f}, - {5,5,5,5,5}, - {99,99,99,99,99}}; + {0,8,9999,18,9999, + 24,9999,9999,9999}, + {999.f,1.5f,1.5f,2.5f,2.5f, + 6.5f,6.5f,14.5f,30.f}, + {5,5,5,5,5,5,5,5,5}, + {99,99,99,99,99,99,99,99,99}}; static vorbis_info_mapping0 _mapping_set0C={1, {0,0}, {0}, {0}, {0}, {0}}; static vorbis_info_mapping0 _mapping_set1C={1, {0,0}, {0}, {1}, {1}, {1}}; @@ -243,7 +272,7 @@ codec_setup_info info_C={ /* smallblock, largeblock */ {256, 2048}, /* modes,maps,times,floors,residues,books,psys */ - 2, 2, 1, 2, 2, 14, 2, + 2, 2, 1, 2, 2, 20, 2, /* modes */ {&_mode_set0C,&_mode_set1C}, /* maps */ @@ -255,8 +284,10 @@ codec_setup_info info_C={ /* residue */ {0,0},{&_residue_set0C,&_residue_set1C}, /* books */ - {&_vq_book_lsp12_0, /* 0 */ - &_vq_book_lsp30_0, /* 1 */ + {&_vq_book_lsp12_0, /* 0 */ + &_vq_book_lsp12_1, /* 1 */ + &_vq_book_lsp30_0, /* 2 */ + &_vq_book_lsp30_1, /* 3 */ &_huff_book_res0_192_128aux, &_huff_book_res0_192_1024aux, @@ -272,12 +303,20 @@ codec_setup_info info_C={ &_vq_book_res0_192_1024_3, &_vq_book_res0_192_1024_4, &_vq_book_res0_192_1024_5, + &_vq_book_res0_192_1024_6, + &_vq_book_res0_192_1024_7, + &_vq_book_res0_192_1024_8, + &_vq_book_res0_192_1024_9, }, /* psy */ - {&_psy_set_C0,&_psy_set_C1}, + {&_psy_set_C0,&_psy_set_C}, /* thresh sample period, preecho clamp trigger threshhold, range, minenergy */ - 256, 24.f, 6.f, -96.f + 256, 26.f, -26.f, -96.f, + + -15., + + 0, }; #define PREDEF_INFO_MAX 0 diff --git a/lib/modes/mode_D.h b/lib/modes/mode_D.h index c40c4fd6..1db01b73 100644 --- a/lib/modes/mode_D.h +++ b/lib/modes/mode_D.h @@ -12,12 +12,10 @@ ******************************************************************** function: predefined encoding modes - last mod: $Id: mode_D.h,v 1.7.2.2 2001/01/09 19:13:24 xiphmont Exp $ + last mod: $Id: mode_D.h,v 1.7.2.3 2001/01/19 16:04:00 xiphmont Exp $ ********************************************************************/ -/* this is really a freeform VBR mode. It roughly centers on 256 kbps stereo */ - #ifndef _V_MODES_D_H_ #define _V_MODES_D_H_ @@ -27,6 +25,8 @@ #include "books/lsp12_0.vqh" #include "books/lsp30_0.vqh" +#include "books/lsp12_1.vqh" +#include "books/lsp30_1.vqh" #include "books/res0_256_128aux.vqh" #include "books/res0_256_1024aux.vqh" @@ -42,13 +42,16 @@ #include "books/res0_256_1024_3.vqh" #include "books/res0_256_1024_4.vqh" #include "books/res0_256_1024_5.vqh" +#include "books/res0_256_1024_6.vqh" +#include "books/res0_256_1024_7.vqh" + -static vorbis_info_psy _psy_set_D0 ={ +static vorbis_info_psy _psy_set_D0={ 1,/*athp*/ 0,/*decayp*/ - -100.f, - -140.f, + -100., + -140., 8, @@ -56,45 +59,83 @@ static vorbis_info_psy _psy_set_D0 ={ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */ - 0,/* tonemaskp */ + 1,/* tonemaskp */ /* 0 10 20 30 40 50 60 70 80 90 100 */ - {{0}}, + { + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*63*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*88*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*125*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*175*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*250*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*350*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*500*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*700*/ + + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1000*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1400*/ + {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2000*/ + {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2800*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*4000*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*5600*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*8000*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*11500*/ + {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*16000*/ + }, 1,/* peakattp */ - {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*63*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*88*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*125*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*175*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*250*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*350*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*500*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*700*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*1000*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*1400*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*2000*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*2800*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*4000*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*5600*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*8000*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*11500*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*16000*/ + {{-20.f,-20.f,-20.f,-20.f,-20.f,-21.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*63*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-21.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*88*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-21.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*125*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*175*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*250*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*350*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*500*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*700*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*1000*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*1400*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*2000*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*2800*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-28.f,-28.f,-28.f},/*4000*/ + + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-28.f,-28.f,-28.f},/*5600*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-28.f,-28.f,-28.f},/*8000*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-28.f,-28.f,-28.f},/*11500*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-28.f},/*16000*/ }, - 0,/*noisemaskp */ - /* 0 10 20 30 40 50 60 70 80 90 100 */ - 0., - .5, - .5, - 25, - 25, - {0}, - - 110.f, - -40., + 1,/*noisemaskp */ + -15.f, /* suppress any noise curve over maxspec+n */ + .5f, /* low window */ + .5f, /* high window */ + 5, + 5, + {.000f, 0.f,/*63*/ + .000f, 0.f,/*88*/ + .000f, 0.f,/*125*/ + .000f, 0.f,/*175*/ + .000f, 0.f,/*250*/ + .000f, 0.f,/*350*/ + .000f, 0.f,/*500*/ + .000f, 0.f,/*700*/ + .000f, 0.f,/*1000*/ + .000f, 0.f,/*1400*/ + .000f, 0.f,/*2000*/ + .600f, -6.f,/*2800*/ + .600f, -6.f,/*4000*/ + .700f, -6.f,/*5600*/ + .850f, -6.f,/*8000*/ + .850f, -5.f,/*11500*/ + .850f, -4.f,/*16000*/ + }, + + 105.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + -30., - -0.f, -.004f /* attack/decay control */ + -0., -.004 /* attack/decay control */ }; -static vorbis_info_psy _psy_set_D1 ={ + +static vorbis_info_psy _psy_set_D={ 1,/*athp*/ 0,/*decayp*/ @@ -106,89 +147,123 @@ static vorbis_info_psy _psy_set_D1 ={ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */ - - 1,/* tonemaskp */ + 1,/* tonemaskp */ /* 0 10 20 30 40 50 60 70 80 90 100 */ - {{-40.f,-40.f,-40.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*63*/ - {-40.f,-40.f,-40.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*88*/ - {-40.f,-40.f,-40.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*125*/ - {-40.f,-40.f,-40.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*175*/ - {-40.f,-40.f,-40.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*250*/ - {-40.f,-40.f,-40.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*350*/ - {-40.f,-40.f,-40.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*500*/ - {-40.f,-40.f,-40.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*700*/ - {-40.f,-40.f,-40.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*1000*/ - {-40.f,-40.f,-40.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*1400*/ - {-40.f,-40.f,-40.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*2000*/ - {-40.f,-40.f,-40.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*2800*/ - {-40.f,-40.f,-40.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*4000*/ - {-40.f,-40.f,-40.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*5600*/ - {-40.f,-40.f,-40.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*8000*/ - {-40.f,-40.f,-40.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*11500*/ - {-40.f,-40.f,-40.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*16000*/ + { + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*63*/ + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*88*/ + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*125*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*175*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*250*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*350*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*500*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*700*/ + + // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*63*/ + // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*88*/ + // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*125*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/ + + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2000*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2800*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/ + + {-30.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ + {-30.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*11500*/ + {-30.f,-35.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*16000*/ + }, - 1,/* peakattp */ - {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*63*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*88*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*125*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*175*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*250*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*350*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f}, /*500*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*700*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*1000*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*1400*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*2000*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*2800*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*4000*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*5600*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*8000*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*11500*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-22.f,-22.f}, /*16000*/ + 1, + {{-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*63*/ + {-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*88*/ + {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*125*/ + {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*175*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*250*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*350*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-28.f,-24.f,-28.f,-28.f,-28.f},/*500*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*700*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*1000*/ + {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*1400*/ + {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*2000*/ + {-20.f,-20.f,-20.f,-20.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*2800*/ + {-20.f,-20.f,-20.f,-20.f,-22.f,-20.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*4000*/ + {-20.f,-20.f,-20.f,-20.f,-22.f,-20.f,-22.f,-24.f,-28.f,-28.f,-28.f},/*5600*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-22.f,-24.f,-28.f,-28.f,-28.f},/*8000*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-22.f,-24.f,-28.f,-28.f,-28.f},/*11500*/ + {-20.f,-20.f,-20.f,-20.f,-20.f,-20.f,-22.f,-24.f,-28.f,-28.f,-28.f},/*16000*/ }, - 0,/*noisemaskp */ - /* 0 10 20 30 40 50 60 70 80 90 100 */ - 0., - .5, - .5, + 1,/*noisemaskp */ + -15.f, /* suppress any noise curve over maxspec+n */ + .5f, /* low window */ + .5f, /* high window */ 25, 25, - {0}, + {.000f, 0.f, /*63*/ + .000f, 0.f, /*88*/ + .000f, 0.f, /*125*/ + .000f, 0.f, /*175*/ + .000f, 0.f, /*250*/ + .000f, 0.f, /*350*/ + .000f, 0.f, /*500*/ + .000f, 0.f, /*700*/ + .000f, 0.f, /*1000*/ + .000f, 0.f, /*1400*/ + .000f, 0.f, /*2000*/ + .000f, 0.f, /*2800*/ + .000f, 0.f, /*4000*/ + .500f, -12.f, /*5600*/ + .500f, -12.f, /*8000*/ + .500f, -10.f, /*11500*/ + .500f, -10.f, /*16000*/ + }, - 110.f, - -40., + 105.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + -32., + + -0.f, -.004f, /* attack/decay control */ - -0.f, -.004f /* attack/decay control */ }; /* with GNUisms, this could be short and readable. Oh well */ -static vorbis_info_time0 _time_set0_256={0}; -static vorbis_info_floor0 _floor_set0_256={12, 44100, 64, 12,150, 1, {0} }; -static vorbis_info_floor0 _floor_set1_256={30, 44100, 256, 12,150, 1, {1} }; -static vorbis_info_residue0 _residue_set0_256={0,128, 32,6,2, - {0,1,1,1,1,1}, - {4,5,6,7,8}, - - {0,9999,9999,9999,9999}, - {99.f,2.5f,6.5f,15.5f,29.5f}, - {5,5,5,5,5}, - {99,99,99,99,99}}; - -static vorbis_info_residue0 _residue_set1_256={0,1024, 32,6,3, - {0,1,1,1,1,1}, - {9,10,11,12,13}, +static vorbis_info_time0 _time_set0D={0}; +static vorbis_info_floor0 _floor_set0D={12, 44100, 64, 10,130, 2, {0,1}, + 0.199f, .285f}; +static vorbis_info_floor0 _floor_set1D={30, 44100, 256, 12,150, 2, {2,3}, + .082f, .126f}; +static vorbis_info_residue0 _residue_set0D={0,128,16,6,4, + {0,1,1,1,1,1}, + {6,7,8,9,10}, + + {0,99999,9999,9999,9999}, + {999.f,1.5f,2.5f,6.5f,40.5f}, + {4,4,4,4,4}, + {99,99,99,99,99}}; + +static vorbis_info_residue0 _residue_set1D={0,1024, 32,8,5, + {0,1,1,1,1,1,1,1,1,1}, + {11,12,13,14,15,16,17,18,19}, - {0,9999,9999,9999,9999}, - {99.f,2.5f,6.5f,15.5f,29.5f}, - {5,5,5,5,5}, - {99,99,99,99,99}}; - -static vorbis_info_mapping0 _mapping_set0_256={1, {0,0}, {0}, {0}, {0}, {0}}; -static vorbis_info_mapping0 _mapping_set1_256={1, {0,0}, {0}, {1}, {1}, {1}}; -static vorbis_info_mode _mode_set0_256={0,0,0,0}; -static vorbis_info_mode _mode_set1_256={1,0,0,1}; + {0,9999,9999,60,9999, + 9999,9999}, + {999.f,2.5f,4.5f,10.5f,10.5f, + 20.5f,40.f}, + {5,5,5,5,5,5,5}, + {99,99,99,99,99,99,99,99,99}}; + +static vorbis_info_mapping0 _mapping_set0D={1, {0,0}, {0}, {0}, {0}, {0}}; +static vorbis_info_mapping0 _mapping_set1D={1, {0,0}, {0}, {1}, {1}, {1}}; +static vorbis_info_mode _mode_set0D={0,0,0,0}; +static vorbis_info_mode _mode_set1D={1,0,0,1}; /* CD quality stereo, no channel coupling */ codec_setup_info info_D={ @@ -196,20 +271,22 @@ codec_setup_info info_D={ /* smallblock, largeblock */ {256, 2048}, /* modes,maps,times,floors,residues,books,psys */ - 2, 2, 1, 2, 2, 14, 2, + 2, 2, 1, 2, 2, 18, 2, /* modes */ - {&_mode_set0_256,&_mode_set1_256}, + {&_mode_set0D,&_mode_set1D}, /* maps */ - {0,0},{&_mapping_set0_256,&_mapping_set1_256}, + {0,0},{&_mapping_set0D,&_mapping_set1D}, /* times */ - {0,0},{&_time_set0_256}, + {0,0},{&_time_set0D}, /* floors */ - {0,0},{&_floor_set0_256,&_floor_set1_256}, + {0,0},{&_floor_set0D,&_floor_set1D}, /* residue */ - {0,0},{&_residue_set0_256,&_residue_set1_256}, + {0,0},{&_residue_set0D,&_residue_set1D}, /* books */ - {&_vq_book_lsp12_0, /* 0 */ - &_vq_book_lsp30_0, /* 1 */ + {&_vq_book_lsp12_0, /* 0 */ + &_vq_book_lsp12_1, /* 1 */ + &_vq_book_lsp30_0, /* 2 */ + &_vq_book_lsp30_1, /* 3 */ &_huff_book_res0_256_128aux, &_huff_book_res0_256_1024aux, @@ -225,12 +302,18 @@ codec_setup_info info_D={ &_vq_book_res0_256_1024_3, &_vq_book_res0_256_1024_4, &_vq_book_res0_256_1024_5, + &_vq_book_res0_256_1024_6, + &_vq_book_res0_256_1024_7, }, /* psy */ - {&_psy_set_D0,&_psy_set_D1}, + {&_psy_set_D0,&_psy_set_D}, /* thresh sample period, preecho clamp trigger threshhold, range, minenergy */ - 256, 24.f, 6.f, -96.f + 256, 20.f, -20.f, -96.f, + + -15., + + 0, }; #define PREDEF_INFO_MAX 0 diff --git a/lib/modes/mode_E.h b/lib/modes/mode_E.h index 52d32f67..431db35e 100644 --- a/lib/modes/mode_E.h +++ b/lib/modes/mode_E.h @@ -12,12 +12,10 @@ ******************************************************************** function: predefined encoding modes - last mod: $Id: mode_E.h,v 1.4.2.2 2001/01/09 19:13:24 xiphmont Exp $ + last mod: $Id: mode_E.h,v 1.4.2.3 2001/01/19 16:04:01 xiphmont Exp $ ********************************************************************/ -/* this is really a freeform VBR mode. It roughly centers on 350 kbps stereo */ - #ifndef _V_MODES_E_H_ #define _V_MODES_E_H_ @@ -27,100 +25,243 @@ #include "books/lsp12_0.vqh" #include "books/lsp30_0.vqh" +#include "books/lsp12_1.vqh" +#include "books/lsp30_1.vqh" + +#include "books/res0_256_128aux.vqh" +#include "books/res0_256_1024aux.vqh" -#include "books/res0_350_128aux.vqh" -#include "books/res0_350_1024aux.vqh" +#include "books/res0_256_128_1.vqh" +#include "books/res0_256_128_2.vqh" +#include "books/res0_256_128_3.vqh" +#include "books/res0_256_128_4.vqh" +#include "books/res0_256_128_5.vqh" -#include "books/res0_350_128_1.vqh" -#include "books/res0_350_128_2.vqh" -#include "books/res0_350_128_3.vqh" -#include "books/res0_350_128_4.vqh" -#include "books/res0_350_128_5.vqh" +#include "books/res0_256_1024_1.vqh" +#include "books/res0_256_1024_2.vqh" +#include "books/res0_256_1024_3.vqh" +#include "books/res0_256_1024_4.vqh" +#include "books/res0_256_1024_5.vqh" +#include "books/res0_256_1024_6.vqh" +#include "books/res0_256_1024_7.vqh" -#include "books/res0_350_1024_1.vqh" -#include "books/res0_350_1024_2.vqh" -#include "books/res0_350_1024_3.vqh" -#include "books/res0_350_1024_4.vqh" -#include "books/res0_350_1024_5.vqh" -static vorbis_info_psy _psy_set_E ={ +static vorbis_info_psy _psy_set_E0={ 1,/*athp*/ 0,/*decayp*/ - -140.f, - -180.f, + -100., + -140., - 16, + 8, /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */ /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */ - 0,/* tonemaskp */ + 1,/* tonemaskp */ /* 0 10 20 30 40 50 60 70 80 90 100 */ - {{0}}, + { + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*63*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*88*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*125*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*175*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*250*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*350*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*500*/ + {-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.,-999.}, /*700*/ + + {-35.,-35.,-35.,-45.,-45.,-55.,-65.,-75.,-85.,-95.,-105.}, /*1000*/ + {-35.,-35.,-35.,-45.,-45.,-55.,-65.,-75.,-85.,-95.,-105.}, /*1400*/ + {-45.,-45.,-45.,-45.,-45.,-55.,-65.,-75.,-85.,-95.,-105.}, /*2000*/ + {-45.,-45.,-45.,-45.,-45.,-55.,-65.,-75.,-85.,-95.,-105.}, /*2800*/ + {-35.,-35.,-35.,-45.,-45.,-55.,-65.,-75.,-85.,-95.,-105.}, /*4000*/ + {-35.,-35.,-35.,-45.,-45.,-55.,-65.,-75.,-85.,-95.,-105.}, /*5600*/ + {-35.,-35.,-35.,-45.,-45.,-55.,-65.,-75.,-85.,-95.,-105.}, /*8000*/ + {-35.,-35.,-35.,-45.,-45.,-55.,-65.,-75.,-85.,-95.,-105.}, /*11500*/ + {-35.,-35.,-35.,-45.,-45.,-55.,-65.,-75.,-85.,-95.,-105.}, /*16000*/ + }, 1,/* peakattp */ - {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-30.f}, /*63*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-30.f}, /*88*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-30.f}, /*125*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-30.f}, /*175*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-30.f}, /*250*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-30.f}, /*350*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-30.f}, /*500*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-24.f,-28.f}, /*700*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-24.f,-28.f}, /*1000*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-24.f,-28.f}, /*1400*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-24.f,-28.f}, /*2000*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-24.f,-28.f}, /*2800*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-24.f,-28.f}, /*4000*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-24.f,-28.f}, /*5600*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-24.f,-28.f}, /*8000*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-24.f,-28.f}, /*11500*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-22.f,-24.f,-28.f}, /*16000*/ + {{-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*63*/ + {-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*88*/ + {-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*125*/ + {-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*175*/ + {-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*250*/ + {-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*350*/ + {-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*500*/ + {-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*700*/ + {-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*1000*/ + {-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*1400*/ + {-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*2000*/ + {-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*2800*/ + {-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*4000*/ + + {-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*5600*/ + {-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*8000*/ + {-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-28.f,-28.f,-28.f},/*11500*/ + {-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-24.f,-28.f},/*16000*/ + }, + + 1,/*noisemaskp */ + -30.f, /* suppress any noise curve over maxspec+n */ + .5f, /* low window */ + .5f, /* high window */ + 5, + 5, + {.000f, 0.f,/*63*/ + .000f, 0.f,/*88*/ + .000f, 0.f,/*125*/ + .000f, 0.f,/*175*/ + .000f, 0.f,/*250*/ + .000f, 0.f,/*350*/ + .000f, 0.f,/*500*/ + .000f, 0.f,/*700*/ + .000f, 0.f,/*1000*/ + .000f, 0.f,/*1400*/ + .000f, 0.f,/*2000*/ + .000f, 0.f,/*2800*/ + .000f, 0.f,/*4000*/ + .500f, -6.f,/*5600*/ + .500f, -6.f,/*8000*/ + .500f, -5.f,/*11500*/ + .500f, -4.f,/*16000*/ + }, + + 105.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + -32., + + -0., -.004 /* attack/decay control */ +}; + +static vorbis_info_psy _psy_set_E={ + 1,/*athp*/ + 0,/*decayp*/ + + -100.f, + -140.f, + + 8, + + /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ + /* x: 63 88 125 175 250 350 500 700 1k 1.4k 2k 2.8k 4k 5.6k 8k 11.5k 16k Hz */ + /* y: 0 10 20 30 40 50 60 70 80 90 100 dB */ + 1,/* tonemaskp */ + /* 0 10 20 30 40 50 60 70 80 90 100 */ + { + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*63*/ + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*88*/ + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*125*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*175*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*250*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*350*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*500*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*700*/ + + // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*63*/ + // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*88*/ + // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*125*/ + {-45.f,-45.f,-45.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*175*/ + {-45.f,-45.f,-45.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*250*/ + {-45.f,-45.f,-45.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*350*/ + {-45.f,-45.f,-45.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*500*/ + {-45.f,-45.f,-45.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*700*/ + {-45.f,-45.f,-45.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*1000*/ + {-45.f,-45.f,-45.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*1400*/ + {-45.f,-45.f,-45.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*2000*/ + {-45.f,-45.f,-45.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*2800*/ + {-45.f,-45.f,-45.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*4000*/ + {-45.f,-45.f,-45.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f,-110.f}, /*5600*/ + {-35.f,-45.f,-45.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*8000*/ + {-35.f,-45.f,-45.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*11500*/ + {-35.f,-35.f,-45.f,-45.f,-45.f,-55.f,-65.f,-75.f,-85.f,-95.f,-105.f}, /*16000*/ + + }, + + 1, + {{-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*63*/ + {-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*88*/ + {-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*125*/ + {-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*175*/ + {-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*250*/ + {-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*350*/ + {-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*500*/ + {-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*700*/ + {-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*1000*/ + {-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*1400*/ + {-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*2800*/ + {-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*2800*/ + {-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*4000*/ + {-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*5600*/ + {-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*8000*/ + {-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*11500*/ + {-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f,-28.f},/*16000*/ }, 0,/*noisemaskp */ - /* 0 10 20 30 40 50 60 70 80 90 100 */ - 0., - .5, - .5, + -15.f, /* suppress any noise curve over maxspec+n */ + .5f, /* low window */ + .5f, /* high window */ 25, 25, - {0}, + {.000f, 0.f, /*63*/ + .000f, 0.f, /*88*/ + .000f, 0.f, /*125*/ + .000f, 0.f, /*175*/ + .000f, 0.f, /*250*/ + .000f, 0.f, /*350*/ + .000f, 0.f, /*500*/ + .000f, 0.f, /*700*/ + .000f, 0.f, /*1000*/ + .000f, 0.f, /*1400*/ + .000f, 0.f, /*2000*/ + .000f, 0.f, /*2800*/ + .000f, 0.f, /*4000*/ + .500f, -12.f, /*5600*/ + .500f, -12.f, /*8000*/ + .500f, -10.f, /*11500*/ + .500f, -10.f, /*16000*/ + }, - 110.f, - -42., + 105.f, /* even decade + 5 is important; saves an rint() later in a + tight loop) */ + -32., + + -0.f, -.004f, /* attack/decay control */ - -0.f, -.004f /* attack/decay control */ }; /* with GNUisms, this could be short and readable. Oh well */ -static vorbis_info_time0 _time_set0_E={0}; -static vorbis_info_floor0 _floor_set0_E={12, 44100, 64, 12,150, 1, {0} }; -static vorbis_info_floor0 _floor_set1_E={30, 44100, 256, 12,150, 1, {1} }; -static vorbis_info_residue0 _residue_set0_E={0,128, 32,6,2, - {0,1,1,1,1,1}, - {4,5,6,7,8}, - - {0,9999,9999,9999,9999}, - {99.f,2.5f,6.5f,15.5f,29.5f}, - {5,5,5,5,5}, - {99,99,99,99,99}}; - -static vorbis_info_residue0 _residue_set1_E={0,1024, 32,6,3, - {0,1,1,1,1,1}, - {9,10,11,12,13}, +static vorbis_info_time0 _time_set0E={0}; +static vorbis_info_floor0 _floor_set0E={12, 44100, 64, 10,130, 2, {0,1}, + 0.199f, .285f}; +static vorbis_info_floor0 _floor_set1E={30, 44100, 256, 12,150, 2, {2,3}, + .082f, .126f}; +static vorbis_info_residue0 _residue_set0E={0,128,16,6,4, + {0,1,1,1,1,1}, + {6,7,8,9,10}, + + {0,99999,9999,9999,9999}, + {999.f,1.5f,2.5f,6.5f,40.5f}, + {4,4,4,4,4}, + {99,99,99,99,99}}; + +static vorbis_info_residue0 _residue_set1E={0,1024, 32,8,5, + {0,1,1,1,1,1,1,1,1,1}, + {11,12,13,14,15,16,17,18,19}, - {0,9999,9999,9999,9999}, - {99.f,2.5f,6.5f,15.5f,29.5f}, - {5,5,5,5,5}, - {99,99,99,99,99}}; + {0,9999,9999,60,9999, + 9999,9999}, + {999.f,2.5f,4.5f,10.5f,10.5f, + 20.5f,40.f}, + {5,5,5,5,5,5,5}, + {99,99,99,99,99,99,99,99,99}}; -static vorbis_info_mapping0 _mapping_set0_E={1, {0,0}, {0}, {0}, {0}, {0}}; -static vorbis_info_mapping0 _mapping_set1_E={1, {0,0}, {0}, {1}, {1}, {0}}; -static vorbis_info_mode _mode_set0_E={0,0,0,0}; -static vorbis_info_mode _mode_set1_E={1,0,0,1}; +static vorbis_info_mapping0 _mapping_set0E={1, {0,0}, {0}, {0}, {0}, {0}}; +static vorbis_info_mapping0 _mapping_set1E={1, {0,0}, {0}, {1}, {1}, {1}}; +static vorbis_info_mode _mode_set0E={0,0,0,0}; +static vorbis_info_mode _mode_set1E={1,0,0,1}; /* CD quality stereo, no channel coupling */ codec_setup_info info_E={ @@ -128,41 +269,49 @@ codec_setup_info info_E={ /* smallblock, largeblock */ {256, 2048}, /* modes,maps,times,floors,residues,books,psys */ - 2, 2, 1, 2, 2, 14, 1, + 2, 2, 1, 2, 2, 18, 2, /* modes */ - {&_mode_set0_E,&_mode_set1_E}, + {&_mode_set0E,&_mode_set1E}, /* maps */ - {0,0},{&_mapping_set0_E,&_mapping_set1_E}, + {0,0},{&_mapping_set0E,&_mapping_set1E}, /* times */ - {0,0},{&_time_set0_E}, + {0,0},{&_time_set0E}, /* floors */ - {0,0},{&_floor_set0_E,&_floor_set1_E}, + {0,0},{&_floor_set0E,&_floor_set1E}, /* residue */ - {0,0},{&_residue_set0_E,&_residue_set1_E}, + {0,0},{&_residue_set0E,&_residue_set1E}, /* books */ - {&_vq_book_lsp12_0, /* 0 */ - &_vq_book_lsp30_0, /* 1 */ + {&_vq_book_lsp12_0, /* 0 */ + &_vq_book_lsp12_1, /* 1 */ + &_vq_book_lsp30_0, /* 2 */ + &_vq_book_lsp30_1, /* 3 */ - &_huff_book_res0_350_128aux, - &_huff_book_res0_350_1024aux, + &_huff_book_res0_256_128aux, + &_huff_book_res0_256_1024aux, - &_vq_book_res0_350_128_1, - &_vq_book_res0_350_128_2, - &_vq_book_res0_350_128_3, - &_vq_book_res0_350_128_4, - &_vq_book_res0_350_128_5, + &_vq_book_res0_256_128_1, + &_vq_book_res0_256_128_2, + &_vq_book_res0_256_128_3, + &_vq_book_res0_256_128_4, + &_vq_book_res0_256_128_5, - &_vq_book_res0_350_1024_1, - &_vq_book_res0_350_1024_2, - &_vq_book_res0_350_1024_3, - &_vq_book_res0_350_1024_4, - &_vq_book_res0_350_1024_5, + &_vq_book_res0_256_1024_1, + &_vq_book_res0_256_1024_2, + &_vq_book_res0_256_1024_3, + &_vq_book_res0_256_1024_4, + &_vq_book_res0_256_1024_5, + &_vq_book_res0_256_1024_6, + &_vq_book_res0_256_1024_7, }, /* psy */ - {&_psy_set_E}, + {&_psy_set_E0,&_psy_set_E}, /* thresh sample period, preecho clamp trigger threshhold, range, minenergy */ - 256, 24.f, 6.f, -96.f + 256, 20.f, -20.f, -96.f, + + -15., + + 0, }; #define PREDEF_INFO_MAX 0 @@ -12,7 +12,7 @@ ******************************************************************** function: psychoacoustics not including preecho - last mod: $Id: psy.c,v 1.34.2.3 2001/01/15 00:35:36 xiphmont Exp $ + last mod: $Id: psy.c,v 1.34.2.4 2001/01/19 16:03:34 xiphmont Exp $ ********************************************************************/ @@ -167,16 +167,13 @@ static void setup_curve(float **c, for(j=0;j<P_LEVELS;j++){ for(i=0;i<EHMER_MAX;i++) - if(c[j][i+2]>-200.f){ - c[j][0]=i; - break; - } + if(c[j][i+2]>-200.f)break; + c[j][0]=i; for(i=EHMER_MAX-1;i>=0;i--) - if(c[j][i+2]>-200.f){ - c[j][1]=i; + if(c[j][i+2]>-200.f) break; - } + c[j][1]=i; } } @@ -211,6 +208,7 @@ void _vp_psy_init(vorbis_look_psy *p,vorbis_info_psy *vi,int n,long rate){ p->tonecurves=_ogg_malloc(P_BANDS*sizeof(float **)); p->noisemedian=_ogg_malloc(n*sizeof(float *)); + p->noiseoffset=_ogg_malloc(n*sizeof(float *)); p->peakatt=_ogg_malloc(P_BANDS*sizeof(float *)); for(i=0;i<P_BANDS;i++){ p->tonecurves[i]=_ogg_malloc(P_LEVELS*sizeof(float *)); @@ -300,8 +298,11 @@ void _vp_psy_init(vorbis_look_psy *p,vorbis_info_psy *vi,int n,long rate){ del=halfoc-inthalfoc; p->noisemedian[i]= - p->vi->noisemedian[inthalfoc]*(1.-del) + - p->vi->noisemedian[inthalfoc+1]*del; + p->vi->noisemedian[inthalfoc*2]*(1.-del) + + p->vi->noisemedian[inthalfoc*2+2]*del; + p->noiseoffset[i]= + p->vi->noisemedian[inthalfoc*2+1]*(1.-del) + + p->vi->noisemedian[inthalfoc*2+3]*del; } /*_analysis_output("mediancurve",0,p->noisemedian,n,0,0);*/ } @@ -535,7 +536,7 @@ static void max_seeds(vorbis_look_psy *p,float *minseed,float *maxseed, static void bark_noise_median(long n,float *b,float *f,float *noise, float lowidth,float hiwidth, int lomin,int himin, - float *thresh){ + float *thresh,float *off){ long i=0,lo=0,hi=0; long *radix=alloca(200*4*sizeof(long)); /* quarter-dB bins */ @@ -582,7 +583,7 @@ static void bark_noise_median(long n,float *b,float *f,float *noise, median++; } } - noise[i]=BINdB(median); + noise[i]=BINdB(median)+off[i]; } } @@ -623,7 +624,8 @@ float _vp_compute_mask(vorbis_look_psy *p, p->vi->noisewindowhi, p->vi->noisewindowlomin, p->vi->noisewindowhimin, - p->noisemedian); + p->noisemedian, + p->noiseoffset); /* suppress any noise curve > specmax+p->vi->noisemaxsupp */ for(i=0;i<n;i++) if(flr[i]>specmax+p->vi->noisemaxsupp) @@ -12,7 +12,7 @@ ******************************************************************** function: random psychoacoustics (not including preecho) - last mod: $Id: psy.h,v 1.16.2.3 2001/01/15 00:35:36 xiphmont Exp $ + last mod: $Id: psy.h,v 1.16.2.4 2001/01/19 16:03:34 xiphmont Exp $ ********************************************************************/ @@ -53,7 +53,7 @@ typedef struct vorbis_info_psy{ float noisewindowhi; int noisewindowlomin; int noisewindowhimin; - float noisemedian[P_BANDS]; + float noisemedian[P_BANDS*2]; float max_curve_dB; float bound_att_dB; @@ -70,6 +70,7 @@ typedef struct { float ***tonecurves; float **peakatt; float *noisemedian; + float *noiseoffset; float *ath; long *octave; /* in n.ocshift format */ diff --git a/lib/psytune.c b/lib/psytune.c index d025e1c3..abe35b34 100644 --- a/lib/psytune.c +++ b/lib/psytune.c @@ -13,7 +13,7 @@ function: simple utility that runs audio through the psychoacoustics without encoding - last mod: $Id: psytune.c,v 1.11.2.2 2001/01/09 19:13:15 xiphmont Exp $ + last mod: $Id: psytune.c,v 1.11.2.3 2001/01/19 16:03:34 xiphmont Exp $ ********************************************************************/ @@ -48,61 +48,62 @@ static vorbis_info_psy _psy_set0={ 1,/* tonemaskp */ /* 0 10 20 30 40 50 60 70 80 90 100 */ { - {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-999.,-999.}, /*63*/ - {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-999.,-999.}, /*88*/ - {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-999.,-999.}, /*125*/ - {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-999.,-999.}, /*175*/ - {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-999.,-999.}, /*250*/ - {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-999.,-999.}, /*350*/ - {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-999.,-999.}, /*500*/ - {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-999.,-999.}, /*700*/ + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*63*/ + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*88*/ + {-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f,-999.f}, /*125*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*175*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*250*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*350*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*500*/ + // {-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-99.,-100.}, /*700*/ // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*63*/ // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*88*/ // {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*125*/ - //{-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*175*/ - //{-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*250*/ - //{-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*350*/ - //{-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*500*/ - //{-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*700*/ - - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1000*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*1400*/ - {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2000*/ - {-40.,-40.,-40.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*2800*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*4000*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*5600*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*8000*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*11500*/ - {-30.,-35.,-35.,-40.,-40.,-50.,-60.,-70.,-80.,-90.,-100.}, /*16000*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*175*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*250*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*350*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*500*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*700*/ + + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1000*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*1400*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2000*/ + {-40.f,-40.f,-40.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*2800*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*4000*/ + {-30.f,-35.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*5600*/ + + {-30.f,-30.f,-35.f,-40.f,-40.f,-50.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*8000*/ + {-30.f,-30.f,-30.f,-40.f,-40.f,-45.f,-60.f,-70.f,-80.f,-90.f,-100.f}, /*11500*/ + {-30.f,-30.f,-30.f,-35.f,-35.f,-45.f,-50.f,-60.f,-70.f,-80.f,-90.f}, /*16000*/ }, 1,/* peakattp */ - {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f},/*63*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f},/*88*/ - {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-28.f,-28.f,-28.f},/*125*/ - {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-28.f,-28.f,-28.f},/*175*/ - {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-28.f,-28.f,-28.f},/*250*/ - {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-28.f,-28.f,-28.f},/*350*/ - {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-28.f,-28.f,-28.f},/*500*/ - {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-14.f,-20.f,-25.f,-28.f,-28.f},/*700*/ - {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-14.f,-20.f,-25.f,-28.f,-28.f},/*1000*/ - {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-25.f,-28.f,-28.f},/*1400*/ - {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-25.f,-28.f,-28.f},/*2000*/ - {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-25.f,-28.f,-28.f},/*2400*/ - {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-25.f,-28.f,-28.f},/*4000*/ - {-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-12.f,-13.f,-25.f,-28.f,-28.f},/*5600*/ - {-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-12.f,-13.f,-25.f,-26.f,-28.f},/*8000*/ - {-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-11.f,-22.f,-23.f,-28.f},/*11500*/ - {-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-10.f,-20.f,-21.f,-28.f},/*16000*/ }, - + {{-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-24.f,-24.f,-24.f},/*63*/ + {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-24.f,-24.f,-24.f},/*88*/ + {-14.f,-16.f,-18.f,-19.f,-20.f,-21.f,-22.f,-22.f,-24.f,-24.f,-24.f},/*125*/ + {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-24.f,-24.f,-24.f},/*175*/ + {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-24.f,-24.f,-24.f},/*250*/ + {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-24.f,-24.f},/*350*/ + {-10.f,-10.f,-10.f,-10.f,-16.f,-16.f,-18.f,-20.f,-22.f,-24.f,-24.f},/*500*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*700*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*1000*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*1400*/ + {-10.f,-10.f,-10.f,-10.f,-14.f,-14.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*2000*/ + {-10.f,-10.f,-10.f,-12.f,-16.f,-16.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*2400*/ + {-10.f,-10.f,-10.f,-12.f,-16.f,-16.f,-16.f,-20.f,-22.f,-24.f,-24.f},/*4000*/ + {-10.f,-10.f,-10.f,-12.f,-12.f,-14.f,-16.f,-18.f,-22.f,-24.f,-24.f},/*5600*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-14.f,-16.f,-18.f,-22.f,-24.f,-24.f},/*8000*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-14.f,-16.f,-18.f,-22.f,-24.f,-24.f},/*11500*/ + {-10.f,-10.f,-10.f,-10.f,-10.f,-12.f,-16.f,-18.f,-22.f,-24.f,-24.f},/*16000*/ + }, 1,/*noisemaskp */ - -30.f, /* suppress any noise curve over maxspec+n */ + -0.f, /* suppress any noise curve over maxspec+n */ .5f, /* low window */ .5f, /* high window */ - 5, - 5, + 25, + 25, {.000f, /*63*/ .000f, /*88*/ .000f, /*125*/ @@ -110,16 +111,16 @@ static vorbis_info_psy _psy_set0={ .000f, /*250*/ .000f, /*350*/ .000f, /*500*/ - .000f, /*700*/ - .000f, /*1000*/ - .200f, /*1400*/ - .300f, /*2000*/ - .300f, /*2800*/ - .600f, /*4000*/ - .700f, /*5600*/ - .800f, /*8000*/ - .800f, /*11500*/ - .800f, /*16000*/ + .200f, /*700*/ + .300f, /*1000*/ + .400f, /*1400*/ + .400f, /*2000*/ + .400f, /*2800*/ + .700f, /*4000*/ + .900f, /*5600*/ + .900f, /*8000*/ + .900f, /*11500*/ + .900f, /*16000*/ }, 105.f, /* even decade + 5 is important; saves an rint() later in a @@ -199,10 +200,12 @@ int main(int argc,char *argv[]){ float nonz=0.f; float acc=0.f; float tot=0.f; + float ampmax=-9999,newmax; int framesize=2048; - int order=9; - int map=64; + int order=30; + int map=256; + float ampmax_att_per_sec=-10.; float *pcm[2],*out[2],*window,*lpc,*flr,*mask; signed char *buffer,*buffer2; @@ -291,6 +294,14 @@ int main(int argc,char *argv[]){ (0x00ff&(int)buffer[i*4+2]))/32768.f; } + { + float secs=framesize/44100.; + + ampmax+=secs*ampmax_att_per_sec; + if(ampmax<-9999)ampmax=-9999; + } + newmax=ampmax; + for(i=0;i<2;i++){ float amp; @@ -312,7 +323,11 @@ int main(int argc,char *argv[]){ analysis("mdct",frameno,pcm[i],framesize/2,0,1); analysis("fft",frameno,mask,framesize/2,0,1); - _vp_compute_mask(&p_look,mask,mask+framesize/2,flr,NULL); + { + float ret; + ret=_vp_compute_mask(&p_look,mask,mask+framesize/2,flr,NULL,ampmax); + if(ret>newmax)newmax=ret; + } analysis("mask",frameno,flr,framesize/2,0,0); @@ -326,22 +341,6 @@ int main(int argc,char *argv[]){ analysis("floor",frameno,flr,framesize/2,0,1); - /*for(j=0;j<framesize/2;){ - float energy=0.; - float acc=0.; - float *v=pcm[i]+j; - int flag=0; - for(k=0;k<32;k++){ - energy+=v[k]*v[k]; - if(fabs(v[k]/flr[j+k])>.5)acc+=v[k]*v[k]; - } - if(acc*2<energy){ - if(acc>0.)fprintf(stderr,"culling\n"); - for(k=0;k<32;k++)v[k]=0; - } - j+=k; - }*/ - _vp_apply_floor(&p_look,pcm[i],flr); @@ -369,6 +368,7 @@ int main(int argc,char *argv[]){ frameno++; } + ampmax=newmax; /* write data. Use the part of buffer we're about to shift out */ for(i=0;i<2;i++){ @@ -12,7 +12,7 @@ ******************************************************************** function: residue backend 0 implementation - last mod: $Id: res0.c,v 1.23.2.2 2001/01/15 00:35:36 xiphmont Exp $ + last mod: $Id: res0.c,v 1.23.2.3 2001/01/19 16:03:34 xiphmont Exp $ ********************************************************************/ @@ -106,6 +106,9 @@ vorbis_info_residue *res0_unpack(vorbis_info *vi,oggpack_buffer *opb){ info->groupbook=oggpack_read(opb,8); for(j=0;j<info->partitions;j++){ int cascade=info->secondstages[j]=oggpack_read(opb,4); + if(cascade>1)goto errout; /* temporary! when cascading gets + reworked and actually used, we don't + want old code to DTWT */ acc+=cascade; } for(j=0;j<acc;j++){ @@ -144,8 +147,7 @@ vorbis_look_residue *res0_look (vorbis_dsp_state *vd,vorbis_info_mode *vm, int stages=info->secondstages[j]; if(stages){ look->partbooks[j]=_ogg_malloc(stages*sizeof(codebook *)); - for(k=0;k<stages;k++) - look->partbooks[j][k]=be->fullbooks+info->booklist[acc++]; + look->partbooks[j][0]=be->fullbooks+info->booklist[acc++]; } } @@ -239,10 +241,10 @@ static int _decodepart(oggpack_buffer *opb,float *work,float *vec, int n, int i; memset(work,0,sizeof(float)*n); - for(i=0;i<stages;i++){ - int dim=books[i]->dim; + if(stages){ + int dim=books[0]->dim; int step=n/dim; - if(s_vorbis_book_decodevs(books[i],work,opb,step,0)==-1) + if(s_vorbis_book_decodevs(books[0],work,opb,step,0)==-1) return(-1); } diff --git a/lib/sharedbook.c b/lib/sharedbook.c new file mode 100644 index 00000000..6356c4cb --- /dev/null +++ b/lib/sharedbook.c @@ -0,0 +1,678 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU LESSER/LIBRARY PUBLIC LICENSE, WHICH IS INCLUDED WITH * + * THIS SOURCE. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2000 * + * by Monty <monty@xiph.org> and the XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: basic shared codebook operations + last mod: $Id: sharedbook.c,v 1.13.2.1 2001/01/19 16:03:34 xiphmont Exp $ + + ********************************************************************/ + +#include <stdlib.h> +#include <math.h> +#include <string.h> +#include <ogg/ogg.h> +#include "os.h" +#include "vorbis/codec.h" +#include "codebook.h" +#include "scales.h" + +/**** pack/unpack helpers ******************************************/ +int _ilog(unsigned int v){ + int ret=0; + while(v){ + ret++; + v>>=1; + } + return(ret); +} + +/* 32 bit float (not IEEE; nonnormalized mantissa + + biased exponent) : neeeeeee eeemmmmm mmmmmmmm mmmmmmmm + Why not IEEE? It's just not that important here. */ + +#define VQ_FEXP 10 +#define VQ_FMAN 21 +#define VQ_FEXP_BIAS 768 /* bias toward values smaller than 1. */ + +/* doesn't currently guard under/overflow */ +long _float32_pack(float val){ + int sign=0; + long exp; + long mant; + if(val<0){ + sign=0x80000000; + val= -val; + } + exp= floor(log(val)/log(2)); + mant=rint(ldexp(val,(VQ_FMAN-1)-exp)); + exp=(exp+VQ_FEXP_BIAS)<<VQ_FMAN; + + return(sign|exp|mant); +} + +float _float32_unpack(long val){ + double mant=val&0x1fffff; + int sign=val&0x80000000; + long exp =(val&0x7fe00000L)>>VQ_FMAN; + if(sign)mant= -mant; + return(ldexp(mant,exp-(VQ_FMAN-1)-VQ_FEXP_BIAS)); +} + +/* given a list of word lengths, generate a list of codewords. Works + for length ordered or unordered, always assigns the lowest valued + codewords first. Extended to handle unused entries (length 0) */ +long *_make_words(long *l,long n){ + long i,j; + long marker[33]; + long *r=_ogg_malloc(n*sizeof(long)); + memset(marker,0,sizeof(marker)); + + for(i=0;i<n;i++){ + long length=l[i]; + if(length>0){ + long entry=marker[length]; + + /* when we claim a node for an entry, we also claim the nodes + below it (pruning off the imagined tree that may have dangled + from it) as well as blocking the use of any nodes directly + above for leaves */ + + /* update ourself */ + if(length<32 && (entry>>length)){ + /* error condition; the lengths must specify an overpopulated tree */ + _ogg_free(r); + return(NULL); + } + r[i]=entry; + + /* Look to see if the next shorter marker points to the node + above. if so, update it and repeat. */ + { + for(j=length;j>0;j--){ + + if(marker[j]&1){ + /* have to jump branches */ + if(j==1) + marker[1]++; + else + marker[j]=marker[j-1]<<1; + break; /* invariant says next upper marker would already + have been moved if it was on the same path */ + } + marker[j]++; + } + } + + /* prune the tree; the implicit invariant says all the longer + markers were dangling from our just-taken node. Dangle them + from our *new* node. */ + for(j=length+1;j<33;j++) + if((marker[j]>>1) == entry){ + entry=marker[j]; + marker[j]=marker[j-1]<<1; + }else + break; + } + } + + /* bitreverse the words because our bitwise packer/unpacker is LSb + endian */ + for(i=0;i<n;i++){ + long temp=0; + for(j=0;j<l[i];j++){ + temp<<=1; + temp|=(r[i]>>j)&1; + } + r[i]=temp; + } + + return(r); +} + +/* build the decode helper tree from the codewords */ +decode_aux *_make_decode_tree(codebook *c){ + const static_codebook *s=c->c; + long top=0,i,j,n; + decode_aux *t=_ogg_malloc(sizeof(decode_aux)); + long *ptr0=t->ptr0=_ogg_calloc(c->entries*2,sizeof(long)); + long *ptr1=t->ptr1=_ogg_calloc(c->entries*2,sizeof(long)); + long *codelist=_make_words(s->lengthlist,s->entries); + + if(codelist==NULL)return(NULL); + t->aux=c->entries*2; + + for(i=0;i<c->entries;i++){ + if(s->lengthlist[i]>0){ + long ptr=0; + for(j=0;j<s->lengthlist[i]-1;j++){ + int bit=(codelist[i]>>j)&1; + if(!bit){ + if(!ptr0[ptr]) + ptr0[ptr]= ++top; + ptr=ptr0[ptr]; + }else{ + if(!ptr1[ptr]) + ptr1[ptr]= ++top; + ptr=ptr1[ptr]; + } + } + if(!((codelist[i]>>j)&1)) + ptr0[ptr]=-i; + else + ptr1[ptr]=-i; + } + } + _ogg_free(codelist); + + t->tabn = _ilog(c->entries)-4; /* this is magic */ + if(t->tabn<5)t->tabn=5; + n = 1<<t->tabn; + t->tab = _ogg_malloc(n*sizeof(long)); + t->tabl = _ogg_malloc(n*sizeof(int)); + for (i = 0; i < n; i++) { + long p = 0; + for (j = 0; j < t->tabn && (p > 0 || j == 0); j++) { + if (i & (1 << j)) + p = ptr1[p]; + else + p = ptr0[p]; + } + /* now j == length, and p == -code */ + t->tab[i] = p; + t->tabl[i] = j; + } + + return(t); +} + +/* there might be a straightforward one-line way to do the below + that's portable and totally safe against roundoff, but I haven't + thought of it. Therefore, we opt on the side of caution */ +long _book_maptype1_quantvals(const static_codebook *b){ + long vals=floor(pow(b->entries,1.f/b->dim)); + + /* the above *should* be reliable, but we'll not assume that FP is + ever reliable when bitstream sync is at stake; verify via integer + means that vals really is the greatest value of dim for which + vals^b->bim <= b->entries */ + /* treat the above as an initial guess */ + while(1){ + long acc=1; + long acc1=1; + int i; + for(i=0;i<b->dim;i++){ + acc*=vals; + acc1*=vals+1; + } + if(acc<=b->entries && acc1>b->entries){ + return(vals); + }else{ + if(acc>b->entries){ + vals--; + }else{ + vals++; + } + } + } +} + +/* unpack the quantized list of values for encode/decode ***********/ +/* we need to deal with two map types: in map type 1, the values are + generated algorithmically (each column of the vector counts through + the values in the quant vector). in map type 2, all the values came + in in an explicit list. Both value lists must be unpacked */ +float *_book_unquantize(const static_codebook *b){ + long j,k; + if(b->maptype==1 || b->maptype==2){ + int quantvals; + float mindel=_float32_unpack(b->q_min); + float delta=_float32_unpack(b->q_delta); + float *r=_ogg_calloc(b->entries*b->dim,sizeof(float)); + + /* maptype 1 and 2 both use a quantized value vector, but + different sizes */ + switch(b->maptype){ + case 1: + /* most of the time, entries%dimensions == 0, but we need to be + well defined. We define that the possible vales at each + scalar is values == entries/dim. If entries%dim != 0, we'll + have 'too few' values (values*dim<entries), which means that + we'll have 'left over' entries; left over entries use zeroed + values (and are wasted). So don't generate codebooks like + that */ + quantvals=_book_maptype1_quantvals(b); + for(j=0;j<b->entries;j++){ + float last=0.f; + int indexdiv=1; + for(k=0;k<b->dim;k++){ + int index= (j/indexdiv)%quantvals; + float val=b->quantlist[index]; + val=fabs(val)*delta+mindel+last; + if(b->q_sequencep)last=val; + r[j*b->dim+k]=val; + indexdiv*=quantvals; + } + } + break; + case 2: + for(j=0;j<b->entries;j++){ + float last=0.f; + for(k=0;k<b->dim;k++){ + float val=b->quantlist[j*b->dim+k]; + val=fabs(val)*delta+mindel+last; + if(b->q_sequencep)last=val; + r[j*b->dim+k]=val; + } + } + break; + } + + return(r); + } + return(NULL); +} + +void vorbis_staticbook_clear(static_codebook *b){ + if(b->allocedp){ + if(b->quantlist)_ogg_free(b->quantlist); + if(b->lengthlist)_ogg_free(b->lengthlist); + if(b->nearest_tree){ + _ogg_free(b->nearest_tree->ptr0); + _ogg_free(b->nearest_tree->ptr1); + _ogg_free(b->nearest_tree->p); + _ogg_free(b->nearest_tree->q); + memset(b->nearest_tree,0,sizeof(encode_aux_nearestmatch)); + _ogg_free(b->nearest_tree); + } + if(b->thresh_tree){ + _ogg_free(b->thresh_tree->quantthresh); + _ogg_free(b->thresh_tree->quantmap); + memset(b->thresh_tree,0,sizeof(encode_aux_threshmatch)); + _ogg_free(b->thresh_tree); + } + + memset(b,0,sizeof(static_codebook)); + } +} + +void vorbis_staticbook_destroy(static_codebook *b){ + if(b->allocedp){ + vorbis_staticbook_clear(b); + _ogg_free(b); + } +} + +void vorbis_book_clear(codebook *b){ + /* static book is not cleared; we're likely called on the lookup and + the static codebook belongs to the info struct */ + if(b->decode_tree){ + _ogg_free(b->decode_tree->tab); + _ogg_free(b->decode_tree->tabl); + + _ogg_free(b->decode_tree->ptr0); + _ogg_free(b->decode_tree->ptr1); + memset(b->decode_tree,0,sizeof(decode_aux)); + _ogg_free(b->decode_tree); + } + if(b->valuelist)_ogg_free(b->valuelist); + if(b->codelist)_ogg_free(b->codelist); + memset(b,0,sizeof(codebook)); +} + +int vorbis_book_init_encode(codebook *c,const static_codebook *s){ + long j,k; + memset(c,0,sizeof(codebook)); + c->c=s; + c->entries=s->entries; + c->dim=s->dim; + c->codelist=_make_words(s->lengthlist,s->entries); + c->valuelist=_book_unquantize(s); + + /* set the 'zero entry' */ + c->zeroentry=-1; + if(c->valuelist){ + for(j=0;j<s->entries;j++){ + int flag=1; + for(k=0;k<s->dim;k++){ + if(fabs(c->valuelist[j*s->dim+k])>1e-12f){ + flag=0; + break; + } + } + if(flag) + c->zeroentry=j; + } + } + + return(0); +} + +int vorbis_book_init_decode(codebook *c,const static_codebook *s){ + memset(c,0,sizeof(codebook)); + c->c=s; + c->entries=s->entries; + c->dim=s->dim; + c->valuelist=_book_unquantize(s); + c->decode_tree=_make_decode_tree(c); + if(c->decode_tree==NULL)goto err_out; + return(0); + err_out: + vorbis_book_clear(c); + return(-1); +} + +static float _dist(int el,float *ref, float *b,int step){ + int i; + float acc=0.f; + for(i=0;i<el;i++){ + float val=(ref[i]-b[i*step]); + acc+=val*val; + } + return(acc); +} + +#include <stdio.h> +int _best(codebook *book, float *a, int step){ + encode_aux_nearestmatch *nt=book->c->nearest_tree; + encode_aux_threshmatch *tt=book->c->thresh_tree; + encode_aux_pigeonhole *pt=book->c->pigeon_tree; + int dim=book->dim; + int ptr=0,k,o; + /*int savebest=-1; + float saverr;*/ + + /* do we have a threshhold encode hint? */ + if(tt){ + int index=0; + /* find the quant val of each scalar */ + for(k=0,o=step*(dim-1);k<dim;k++,o-=step){ + int i; + /* linear search the quant list for now; it's small and although + with > 8 entries, it would be faster to bisect, this would be + a misplaced optimization for now */ + for(i=0;i<tt->threshvals-1;i++) + if(a[o]<tt->quantthresh[i])break; + + index=(index*tt->quantvals)+tt->quantmap[i]; + } + /* regular lattices are easy :-) */ + if(book->c->lengthlist[index]>0) /* is this unused? If so, we'll + use a decision tree after all + and fall through*/ + return(index); + } + + /* do we have a pigeonhole encode hint? */ + if(pt){ + const static_codebook *c=book->c; + int i,besti=-1; + float best; + int entry=0; + + /* dealing with sequentialness is a pain in the ass */ + if(c->q_sequencep){ + int pv; + long mul=1; + float qlast=0; + for(k=0,o=0;k<dim;k++,o+=step){ + pv=(int)((a[o]-qlast-pt->min)/pt->del); + if(pv<0 || pv>=pt->mapentries)break; + entry+=pt->pigeonmap[pv]*mul; + mul*=pt->quantvals; + qlast+=pv*pt->del+pt->min; + } + }else{ + for(k=0,o=step*(dim-1);k<dim;k++,o-=step){ + int pv=(int)((a[o]-pt->min)/pt->del); + if(pv<0 || pv>=pt->mapentries)break; + entry=entry*pt->quantvals+pt->pigeonmap[pv]; + } + } + + /* must be within the pigeonholable range; if we quant outside (or + in an entry that we define no list for), brute force it */ + if(k==dim && pt->fitlength[entry]){ + /* search the abbreviated list */ + long *list=pt->fitlist+pt->fitmap[entry]; + for(i=0;i<pt->fitlength[entry];i++){ + float this=_dist(dim,book->valuelist+list[i]*dim,a,step); + if(besti==-1 || this<best){ + best=this; + besti=list[i]; + } + } + + return(besti); + } + } + + if(nt){ + /* optimized using the decision tree */ + while(1){ + float c=0.f; + float *p=book->valuelist+nt->p[ptr]; + float *q=book->valuelist+nt->q[ptr]; + + for(k=0,o=0;k<dim;k++,o+=step) + c+=(p[k]-q[k])*(a[o]-(p[k]+q[k])*.5); + + if(c>0.f) /* in A */ + ptr= -nt->ptr0[ptr]; + else /* in B */ + ptr= -nt->ptr1[ptr]; + if(ptr<=0)break; + } + return(-ptr); + } + + /* brute force it! */ + { + const static_codebook *c=book->c; + int i,besti=-1; + float best; + float *e=book->valuelist; + for(i=0;i<book->entries;i++){ + if(c->lengthlist[i]>0){ + float this=_dist(dim,e,a,step); + if(besti==-1 || this<best){ + best=this; + besti=i; + } + } + e+=dim; + } + + /*if(savebest!=-1 && savebest!=besti){ + fprintf(stderr,"brute force/pigeonhole disagreement:\n" + "original:"); + for(i=0;i<dim*step;i+=step)fprintf(stderr,"%g,",a[i]); + fprintf(stderr,"\n" + "pigeonhole (entry %d, err %g):",savebest,saverr); + for(i=0;i<dim;i++)fprintf(stderr,"%g,", + (book->valuelist+savebest*dim)[i]); + fprintf(stderr,"\n" + "bruteforce (entry %d, err %g):",besti,best); + for(i=0;i<dim;i++)fprintf(stderr,"%g,", + (book->valuelist+besti*dim)[i]); + fprintf(stderr,"\n"); + }*/ + return(besti); + } +} + +/* returns the entry number and *modifies a* to the remainder value ********/ +int vorbis_book_besterror(codebook *book,float *a,int step,int addmul){ + int dim=book->dim,i,o; + int best=_best(book,a,step); + switch(addmul){ + case 0: + for(i=0,o=0;i<dim;i++,o+=step) + a[o]-=(book->valuelist+best*dim)[i]; + break; + case 1: + for(i=0,o=0;i<dim;i++,o+=step){ + float val=(book->valuelist+best*dim)[i]; + if(val==0){ + a[o]=0; + }else{ + a[o]/=val; + } + } + break; + } + return(best); +} + +long vorbis_book_codeword(codebook *book,int entry){ + return book->codelist[entry]; +} + +long vorbis_book_codelen(codebook *book,int entry){ + return book->c->lengthlist[entry]; +} + +#ifdef _V_SELFTEST + +/* Unit tests of the dequantizer; this stuff will be OK + cross-platform, I simply want to be sure that special mapping cases + actually work properly; a bug could go unnoticed for a while */ + +#include <stdio.h> + +/* cases: + + no mapping + full, explicit mapping + algorithmic mapping + + nonsequential + sequential +*/ + +static long full_quantlist1[]={0,1,2,3, 4,5,6,7, 8,3,6,1}; +static long partial_quantlist1[]={0,7,2}; + +/* no mapping */ +static_codebook test1={ + 4,16, + NULL, + 0, + 0,0,0,0, + NULL, + NULL,NULL +}; +static float *test1_result=NULL; + +/* linear, full mapping, nonsequential */ +static_codebook test2={ + 4,3, + NULL, + 2, + -533200896,1611661312,4,0, + full_quantlist1, + NULL,NULL +}; +static float test2_result[]={-3,-2,-1,0, 1,2,3,4, 5,0,3,-2}; + +/* linear, full mapping, sequential */ +static_codebook test3={ + 4,3, + NULL, + 2, + -533200896,1611661312,4,1, + full_quantlist1, + NULL,NULL +}; +static float test3_result[]={-3,-5,-6,-6, 1,3,6,10, 5,5,8,6}; + +/* linear, algorithmic mapping, nonsequential */ +static_codebook test4={ + 3,27, + NULL, + 1, + -533200896,1611661312,4,0, + partial_quantlist1, + NULL,NULL +}; +static float test4_result[]={-3,-3,-3, 4,-3,-3, -1,-3,-3, + -3, 4,-3, 4, 4,-3, -1, 4,-3, + -3,-1,-3, 4,-1,-3, -1,-1,-3, + -3,-3, 4, 4,-3, 4, -1,-3, 4, + -3, 4, 4, 4, 4, 4, -1, 4, 4, + -3,-1, 4, 4,-1, 4, -1,-1, 4, + -3,-3,-1, 4,-3,-1, -1,-3,-1, + -3, 4,-1, 4, 4,-1, -1, 4,-1, + -3,-1,-1, 4,-1,-1, -1,-1,-1}; + +/* linear, algorithmic mapping, sequential */ +static_codebook test5={ + 3,27, + NULL, + 1, + -533200896,1611661312,4,1, + partial_quantlist1, + NULL,NULL +}; +static float test5_result[]={-3,-6,-9, 4, 1,-2, -1,-4,-7, + -3, 1,-2, 4, 8, 5, -1, 3, 0, + -3,-4,-7, 4, 3, 0, -1,-2,-5, + -3,-6,-2, 4, 1, 5, -1,-4, 0, + -3, 1, 5, 4, 8,12, -1, 3, 7, + -3,-4, 0, 4, 3, 7, -1,-2, 2, + -3,-6,-7, 4, 1, 0, -1,-4,-5, + -3, 1, 0, 4, 8, 7, -1, 3, 2, + -3,-4,-5, 4, 3, 2, -1,-2,-3}; + +void run_test(static_codebook *b,float *comp){ + float *out=_book_unquantize(b); + int i; + + if(comp){ + if(!out){ + fprintf(stderr,"_book_unquantize incorrectly returned NULL\n"); + exit(1); + } + + for(i=0;i<b->entries*b->dim;i++) + if(fabs(out[i]-comp[i])>.0001){ + fprintf(stderr,"disagreement in unquantized and reference data:\n" + "position %d, %g != %g\n",i,out[i],comp[i]); + exit(1); + } + + }else{ + if(out){ + fprintf(stderr,"_book_unquantize returned a value array: \n" + " correct result should have been NULL\n"); + exit(1); + } + } +} + +int main(){ + /* run the nine dequant tests, and compare to the hand-rolled results */ + fprintf(stderr,"Dequant test 1... "); + run_test(&test1,test1_result); + fprintf(stderr,"OK\nDequant test 2... "); + run_test(&test2,test2_result); + fprintf(stderr,"OK\nDequant test 3... "); + run_test(&test3,test3_result); + fprintf(stderr,"OK\nDequant test 4... "); + run_test(&test4,test4_result); + fprintf(stderr,"OK\nDequant test 5... "); + run_test(&test5,test5_result); + fprintf(stderr,"OK\n\n"); + + return(0); +} + +#endif diff --git a/vq/make_residue_books.pl b/vq/make_residue_books.pl index 18702bce..318d3e63 100755 --- a/vq/make_residue_books.pl +++ b/vq/make_residue_books.pl @@ -8,7 +8,7 @@ # >res0_128_128 # haux res0_96_128aux.vqd 0,4,2 -# :1 res0_128_128_1.vqd, 4, nonseq, 0 +- 1 +# :1 res0_128_128_1.vqd, 4, nonseq cull, 0 +- 1 # +a 4, nonseq, 0 +- .25 .5 # :2 res0_128_128_2.vqd, 4, nonseq, 0 +- 1 2 # :3 res0_128_128_3.vqd, 4, nonseq, 0 +- 1 3 5 @@ -83,10 +83,17 @@ while($line=<F>){ die "Couldn't pre-hint latticebook.\n\tcommand:$command\n" if syst($command); - my $command="restune temp$$.vqh $datafile > $globalname$name.vqh"; - print ">>> $command\n"; - die "Couldn't tune latticebook.\n\tcommand:$command\n" - if syst($command); + if($seqp=~/cull/){ + my $command="restune temp$$.vqh $datafile 1 > $globalname$name.vqh"; + print ">>> $command\n"; + die "Couldn't tune latticebook.\n\tcommand:$command\n" + if syst($command); + }else{ + my $command="restune temp$$.vqh $datafile > $globalname$name.vqh"; + print ">>> $command\n"; + die "Couldn't tune latticebook.\n\tcommand:$command\n" + if syst($command); + } my $command="latticehint $globalname$name.vqh > temp$$.vqh"; print ">>> $command\n"; |