| @@ -481,6 +481,515 @@ RLTable ff_rl_table[NB_RL_TABLES] = { · 480 unmodified lines |
| 481 | 481 | |
| 482 | 482 | /* motion vector table 0 */ |
| 483 | 483 | |
| 484 | +#define E(mvx, mvy) ((mvx << 8) | mvy) |
| 485 | +#define ESCAPE 0 |
| 486 | + |
| 487 | +const uint16_t ff_msmp4_mv_table0[MSMPEG4_MV_TABLES_NB_ELEMS] = { |
| 488 | + ESCAPE, E(31, 39), E(38, 31), E(24, 32), E(23, 30), E(34, 20), |
| 489 | + E(33, 22), E(21, 29), E(28, 34), E(33, 24), E(49, 32), E(27, 41), |
| 490 | + E(32, 2), E(40, 33), E(34, 39), E(37, 25), E(29, 26), E(38, 28), |
| 491 | + E(43, 31), E(37, 33), E(31, 35), E(32, 35), E(25, 29), E(26, 28), |
| 492 | + E(32, 42), E(33, 23), E(42, 31), E(35, 36), E(27, 31), E(36, 30), |
| 493 | + E(21, 32), E(23, 32), E(43, 32), E(36, 32), E(39, 29), E(38, 30), |
| 494 | + E(36, 34), E(34, 36), E(19, 30), E(20, 38), E(41, 41), E(26, 44), |
| 495 | + E(41, 53), E(42, 11), E(42, 20), E(42, 25), E(26, 45), E(26, 46), |
| 496 | + E(26, 47), E(26, 48), E( 1, 39), E(26, 52), E(37, 46), E(37, 49), |
| 497 | + E(37, 63), E(23, 55), E(34, 44), E(42, 38), E(27, 13), E(43, 13), |
| 498 | + E(34, 57), E(27, 22), E(31, 51), E(24, 16), E(33, 12), E(16, 28), |
| 499 | + E( 3, 35), E(31, 57), E(24, 25), E(31, 33), E(33, 33), E(34, 32), |
| 500 | + E(31, 34), E(34, 31), E(33, 20), E(24, 26), E( 4, 28), E(44, 28), |
| 501 | + E(44, 29), E(11, 32), E(44, 31), E(31, 62), E(13, 34), E(13, 35), |
| 502 | + E(44, 35), E(45, 19), E(13, 49), E(25, 48), E(22, 39), E(38, 40), |
| 503 | + E(26, 18), E(38, 43), E(38, 46), E(39, 11), E(32, 6), E(30, 48), |
| 504 | + E(39, 19), E(30, 49), E(22, 41), E(32, 10), E(26, 23), E(30, 58), |
| 505 | + E(47, 17), E(47, 21), E(47, 23), E(19, 34), E(47, 30), E(30, 60), |
| 506 | + E(31, 0), E(35, 44), E( 8, 34), E(23, 26), E(47, 37), E(47, 46), |
| 507 | + E(27, 43), E(35, 49), E(47, 59), E(31, 4), E(48, 34), E(35, 59), |
| 508 | + E(19, 37), E(36, 22), E(49, 25), E(49, 28), E(33, 46), E(31, 6), |
| 509 | + E(39, 40), E(27, 59), E(39, 42), E(49, 36), E(49, 61), E(50, 28), |
| 510 | + E(50, 30), E(50, 31), E(39, 43), E(31, 10), E(51, 22), E(51, 23), |
| 511 | + E(39, 47), E(28, 20), E(33, 52), E(33, 55), E(21, 36), E(40, 25), |
| 512 | + E(31, 16), E(52, 1), E(53, 11), E(40, 27), E(53, 29), E( 9, 5), |
| 513 | + E(33, 63), E(31, 18), E(53, 41), E(54, 31), E(54, 34), E(54, 38), |
| 514 | + E(55, 1), E(55, 5), E(34, 13), E(15, 28), E(56, 31), E(25, 17), |
| 515 | + E(56, 38), E(21, 39), E(21, 41), E(40, 36), E(40, 37), E(25, 22), |
| 516 | + E(40, 39), E(58, 33), E(36, 43), E( 5, 43), E(41, 15), E(41, 17), |
| 517 | + E(12, 49), E(60, 30), E(41, 21), E(41, 22), E(37, 20), E(22, 10), |
| 518 | + E(61, 17), E(18, 25), E(29, 54), E(29, 57), E(30, 3), E(61, 34), |
| 519 | + E(30, 8), E(61, 36), E(62, 25), E(62, 31), E(30, 14), E(30, 15), |
| 520 | + E(63, 19), E(18, 29), E(13, 25), E(30, 18), E(45, 30), E( 1, 63), |
| 521 | + E(34, 16), E(31, 42), E(22, 28), E(35, 13), E(15, 33), E(46, 33), |
| 522 | + E(46, 35), E(35, 19), E(31, 46), E(28, 43), E(29, 17), E(29, 19), |
| 523 | + E(23, 36), E(41, 39), E(27, 24), E(14, 31), E(53, 32), E(53, 33), |
| 524 | + E(27, 26), E(24, 28), E(32, 62), E(57, 33), E(32, 63), E(17, 33), |
| 525 | + E(42, 39), E(37, 19), E(29, 49), E(33, 17), E( 1, 31), E(25, 43), |
| 526 | + E(32, 13), E(32, 15), E(63, 29), E(26, 25), E(40, 35), E(23, 34), |
| 527 | + E(27, 25), E(22, 33), E(24, 29), E(22, 31), E(39, 39), E(43, 35), |
| 528 | + E(27, 36), E(37, 24), E( 6, 32), E(42, 30), E(24, 33), E(40, 31), |
| 529 | + E(28, 39), E(32, 1), E(32, 41), E(41, 32), E(36, 31), E(28, 32), |
| 530 | + E(35, 31), E(29, 31), E(38, 32), E(23, 31), E(27, 30), E(32, 59), |
| 531 | + E(32, 22), E(32, 21), E(30, 39), E(35, 25), E(26, 34), E(34, 38), |
| 532 | + E(30, 28), E(44, 33), E(36, 23), E(47, 33), E(26, 27), E(30, 44), |
| 533 | + E(31, 60), E(41, 30), E(39, 36), E(33, 19), E(33, 29), E(32, 36), |
| 534 | + E(22, 34), E(45, 31), E(36, 24), E(32, 16), E(45, 35), E(19, 32), |
| 535 | + E(36, 27), E(32, 4), E(43, 33), E(60, 32), E(37, 31), E(35, 33), |
| 536 | + E(35, 32), E(34, 29), E(33, 28), E(25, 33), E(25, 34), E(21, 33), |
| 537 | + E(36, 35), E(37, 32), E(29, 39), E(31, 24), E(30, 41), E(31, 3), |
| 538 | + E(41, 35), E(22, 32), E(32, 39), E(32, 30), E(33, 32), E(32, 29), |
| 539 | + E(33, 35), E(31, 28), E(28, 30), E(26, 33), E(31, 49), E(39, 41), |
| 540 | + E(20, 28), E(20, 29), E(44, 34), E(23, 38), E(33, 7), E(34, 61), |
| 541 | + E(29, 29), E(31, 38), E(35, 11), E(33, 50), E(33, 13), E(28, 41), |
| 542 | + E(41, 19), E(23, 47), E(41, 25), E(41, 26), E(29, 15), E(25, 42), |
| 543 | + E(26, 41), E(49, 29), E(29, 45), E(24, 27), E(37, 17), E(49, 35), |
| 544 | + E(34, 33), E(30, 35), E(50, 32), E(51, 29), E(51, 32), E(26, 24), |
| 545 | + E(39, 13), E(25, 26), E(26, 26), E(15, 31), E(39, 24), E(18, 33), |
| 546 | + E(42, 28), E(17, 30), E( 4, 31), E(31, 11), E(32, 45), E(32, 46), |
| 547 | + E(60, 33), E( 1, 33), E(42, 35), E(32, 57), E( 0, 32), E(12, 32), |
| 548 | + E(19, 35), E(35, 45), E(22, 38), E(30, 21), E( 5, 33), E( 5, 31), |
| 549 | + E(17, 31), E(29, 21), E(22, 35), E(31, 5), E(31, 17), E(43, 29), |
| 550 | + E(37, 38), E(27, 38), E(32, 18), E(32, 58), E(32, 19), E(33, 43), |
| 551 | + E(29, 41), E(33, 41), E(31, 37), E(30, 37), E(41, 33), E( 7, 32), |
| 552 | + E(28, 31), E(34, 27), E(30, 27), E(37, 28), E(26, 36), E(34, 30), |
| 553 | + E(31, 29), E(33, 30), E(27, 32), E(38, 29), E(30, 25), E(36, 28), |
| 554 | + E(37, 36), E(21, 34), E(23, 39), E(19, 53), E(34, 41), E(36, 33), |
| 555 | + E(32, 28), E(25, 32), E(29, 32), E(29, 33), E(33, 27), E(29, 27), |
| 556 | + E(43, 30), E(35, 41), E(29, 43), E(26, 39), E(22, 29), E(32, 7), |
| 557 | + E(19, 29), E(32, 17), E(25, 28), E(31, 19), E(41, 28), E(49, 31), |
| 558 | + E(28, 25), E(34, 19), E(28, 40), E(39, 26), E(34, 21), E(19, 33), |
| 559 | + E(37, 39), E(38, 23), E(29, 40), E(21, 30), E(36, 39), E(42, 34), |
| 560 | + E(27, 28), E(59, 33), E(38, 33), E(35, 28), E(33, 34), E(30, 32), |
| 561 | + E(30, 36), E(23, 35), E(33, 21), E(35, 23), E(31, 21), E(30, 26), |
| 562 | + E(41, 31), E(39, 32), E(32, 27), E(26, 30), E(31, 22), E(37, 37), |
| 563 | + E(38, 27), E(39, 27), E(32, 43), E(23, 29), E(32, 60), E(27, 39), |
| 564 | + E(25, 35), E(61, 32), E(30, 33), E(30, 34), E(34, 28), E(33, 36), |
| 565 | + E(37, 27), E(20, 22), E(20, 27), E(41, 20), E(13, 29), E( 2, 33), |
| 566 | + E( 5, 41), E( 5, 42), E( 1, 35), E(32, 24), E(34, 24), E( 5, 62), |
| 567 | + E(32, 50), E( 6, 29), E(32, 53), E(35, 50), E(20, 35), E(35, 55), |
| 568 | + E(27, 42), E(35, 61), E(35, 63), E(36, 4), E(36, 7), E(13, 42), |
| 569 | + E(36, 21), E(41, 46), E(41, 47), E(33, 37), E(28, 33), E(41, 49), |
| 570 | + E( 3, 27), E(30, 46), E(42, 17), E(27, 55), E(20, 41), E(30, 50), |
| 571 | + E(27, 63), E(28, 4), E(30, 56), E(21, 18), E(33, 8), E(33, 10), |
| 572 | + E(14, 18), E(24, 51), E(30, 63), E(42, 36), E(24, 55), E(33, 18), |
| 573 | + E(25, 5), E(42, 55), E(43, 9), E(14, 29), E(43, 17), E(43, 21), |
| 574 | + E(14, 30), E(43, 27), E( 7, 1), E(36, 59), E(37, 7), E(37, 11), |
| 575 | + E(37, 12), E(37, 15), E( 7, 5), E(14, 42), E(25, 24), E(43, 41), |
| 576 | + E(43, 43), E(44, 7), E(15, 27), E(37, 22), E( 7, 25), E( 7, 31), |
| 577 | + E( 3, 30), E( 1, 37), E( 8, 22), E(15, 39), E(15, 53), E( 8, 29), |
| 578 | + E(44, 36), E(44, 37), E(44, 48), E(45, 0), E(45, 5), E(45, 13), |
| 579 | + E(45, 17), E( 8, 31), E( 8, 32), E(45, 26), E(21, 46), E(45, 28), |
| 580 | + E(28, 44), E(28, 45), E(28, 46), E(21, 53), E(28, 49), E(28, 51), |
| 581 | + E(22, 3), E(37, 41), E(46, 3), E(46, 22), E(37, 42), E( 8, 33), |
| 582 | + E(29, 5), E(37, 45), E(29, 7), E(22, 22), E(46, 40), E(37, 53), |
| 583 | + E(22, 24), E(29, 14), E(47, 25), E(47, 27), E(38, 10), E(38, 12), |
| 584 | + E(16, 34), E(38, 16), E(38, 17), E(33, 53), E(38, 20), E(22, 26), |
| 585 | + E(47, 39), E(47, 45), E(29, 18), E(25, 45), E(16, 35), E( 0, 33), |
| 586 | + E(48, 31), E( 1, 49), E(34, 4), E(48, 39), E(48, 42), E(34, 11), |
| 587 | + E(25, 51), E(26, 5), E(26, 13), E(49, 26), E(49, 27), E(26, 17), |
| 588 | + E( 1, 52), E(49, 30), E( 4, 0), E(26, 22), E( 4, 12), E(49, 34), |
| 589 | + E( 1, 62), E( 9, 36), E(49, 38), E(49, 41), E(49, 47), E(10, 30), |
| 590 | + E(49, 63), E(17, 38), E(38, 41), E(17, 43), E(17, 59), E(50, 33), |
| 591 | + E(38, 45), E(50, 37), E(50, 38), E(22, 40), E(38, 47), E(51, 24), |
| 592 | + E(38, 48), E(38, 49), E(51, 30), E(39, 1), E(39, 10), E(18, 22), |
| 593 | + E(22, 49), E(39, 15), E(51, 39), E(22, 59), E(52, 31), E(52, 32), |
| 594 | + E(52, 33), E(39, 18), E(53, 13), E(53, 15), E(10, 31), E(23, 21), |
| 595 | + E(18, 27), E(29, 44), E(10, 42), E(53, 39), E(29, 46), E(54, 17), |
| 596 | + E(11, 26), E(54, 32), E(11, 30), E(11, 31), E(55, 0), E( 1, 30), |
| 597 | + E(18, 34), E(55, 9), E(55, 12), E(55, 13), E(55, 25), E(55, 31), |
| 598 | + E(55, 32), E(29, 55), E(34, 43), E(18, 35), E(29, 61), E(56, 33), |
| 599 | + E(56, 35), E(34, 46), E(57, 25), E(34, 47), E(34, 48), E(29, 62), |
| 600 | + E(29, 63), E(57, 38), E(57, 61), E(35, 1), E(35, 2), E(35, 5), |
| 601 | + E(35, 7), E(35, 9), E(39, 46), E(35, 10), E(59, 34), E(59, 35), |
| 602 | + E(18, 36), E(59, 55), E(39, 51), E(30, 7), E(18, 40), E(40, 23), |
| 603 | + E(60, 34), E(60, 37), E(61, 5), E(30, 13), E(18, 42), E(61, 18), |
| 604 | + E(61, 25), E(19, 27), E(19, 28), E(41, 11), E(17, 37), E(26, 42), |
| 605 | + E(20, 39), E(45, 37), E(46, 31), E(32, 49), E(37, 21), E(22, 27), |
| 606 | + E(47, 29), E(29, 47), E(31, 53), E(27, 40), E(29, 51), E(30, 16), |
| 607 | + E(21, 26), E(33, 1), E(35, 40), E(18, 30), E(25, 41), E(33, 44), |
| 608 | + E(50, 34), E(51, 25), E(42, 27), E( 2, 31), E(15, 35), E(51, 35), |
| 609 | + E(53, 31), E(33, 15), E(25, 49), E(29, 1), E(55, 35), E(37, 40), |
| 610 | + E(38, 5), E(33, 58), E(38, 21), E(59, 29), E(38, 22), E(33, 59), |
| 611 | + E(39, 45), E(13, 31), E(32, 9), E(40, 26), E(61, 9), E(61, 29), |
| 612 | + E(32, 11), E( 9, 32), E(44, 30), E( 3, 3), E(31, 13), E(29, 20), |
| 613 | + E(25, 18), E(24, 35), E(48, 32), E(16, 32), E(28, 24), E(49, 33), |
| 614 | + E(22, 30), E(34, 40), E(31, 47), E(38, 39), E(39, 37), E(44, 32), |
| 615 | + E(11, 33), E(35, 24), E(30, 23), E(33, 45), E(33, 47), E(36, 25), |
| 616 | + E(31, 59), E(40, 34), E(25, 27), E(27, 27), E(38, 26), E(31, 40), |
| 617 | + E(36, 37), E(28, 27), E(32, 31), E(31, 31), E(34, 35), E(32, 37), |
| 618 | + E(34, 34), E(24, 31), E(39, 34), E(34, 37), E(27, 33), E(28, 35), |
| 619 | + E(31, 61), E(36, 26), E(25, 39), E(45, 33), E(25, 31), E(35, 34), |
| 620 | + E( 3, 31), E(34, 22), E(38, 37), E(39, 25), E(40, 30), E(38, 25), |
| 621 | + E( 1, 32), E(25, 30), E(39, 35), E(30, 38), E(37, 29), E(32, 40), |
| 622 | + E(28, 28), E(29, 38), E(32, 5), E(37, 34), E(31, 27), E(35, 27), |
| 623 | + E(27, 29), E(23, 27), E(28, 23), E(33, 42), E(46, 32), E(15, 32), |
| 624 | + E(13, 33), E(24, 36), E(41, 37), E(24, 37), E(34, 17), E(34, 18), |
| 625 | + E(30, 22), E(26, 40), E(24, 38), E(14, 32), E(60, 31), E(21, 35), |
| 626 | + E(29, 24), E(39, 17), E(23, 25), E(35, 17), E(37, 23), E(30, 24), |
| 627 | + E(32, 61), E(19, 31), E(24, 34), E(25, 25), E(26, 38), E(45, 32), |
| 628 | + E(38, 35), E(36, 29), E( 3, 32), E(26, 29), E(36, 36), E(30, 31), |
| 629 | + E(59, 32), E(28, 36), E(63, 32), E(26, 32), E(38, 34), E(63, 33), |
| 630 | + E(31, 20), E(27, 11), E(20, 32), E(24, 30), E(33, 3), E(37, 35), |
| 631 | + E(28, 38), E(39, 30), E(32, 3), E(31, 26), E(39, 31), E(35, 29), |
| 632 | + E(31, 30), E(32, 38), E(23, 33), E(23, 3), E( 9, 29), E(25, 40), |
| 633 | + E( 9, 31), E(29, 53), E(20, 30), E(30, 17), E(30, 20), E(42, 37), |
| 634 | + E(18, 31), E(28, 42), E(25, 47), E(28, 47), E(28, 54), E(21, 38), |
| 635 | + E(29, 9), E(43, 34), E(29, 13), E(43, 37), E(26, 21), E(44, 25), |
| 636 | + E(44, 27), E(21, 43), E(38, 42), E(35, 30), E(21, 45), E(24, 40), |
| 637 | + E(45, 25), E(45, 27), E(35, 46), E(39, 22), E(22, 25), E(35, 53), |
| 638 | + E(36, 20), E(34, 2), E(34, 14), E(45, 39), E(34, 15), E(29, 22), |
| 639 | + E(31, 44), E(46, 34), E(25, 21), E(46, 38), E(16, 33), E(17, 27), |
| 640 | + E(31, 48), E(20, 34), E(32, 52), E(47, 35), E(47, 47), E(47, 49), |
| 641 | + E(32, 54), E(49, 2), E(49, 13), E(49, 23), E(31, 52), E( 1, 29), |
| 642 | + E(27, 45), E(28, 22), E(39, 49), E(39, 54), E(21, 21), E(36, 40), |
| 643 | + E(23, 42), E(51, 31), E( 2, 30), E(40, 29), E(51, 34), E(32, 0), |
| 644 | + E(53, 25), E(24, 23), E(30, 51), E(24, 24), E(30, 59), E(21, 28), |
| 645 | + E(40, 38), E(57, 29), E(57, 31), E(31, 2), E(41, 13), E(58, 31), |
| 646 | + E(32, 8), E(12, 31), E( 4, 33), E(32, 12), E(34, 45), E(59, 41), |
| 647 | + E(31, 7), E(32, 14), E(13, 30), E( 9, 25), E(35, 18), E(26, 43), |
| 648 | + E(35, 20), E(37, 43), E(61, 35), E(37, 44), E(63, 1), E(26, 49), |
| 649 | + E(29, 42), E(41, 42), E(45, 34), E(33, 51), E(34, 42), E(47, 31), |
| 650 | + E(41, 36), E(22, 36), E(42, 29), E(35, 21), E(35, 22), E(23, 37), |
| 651 | + E(32, 44), E(35, 43), E(43, 25), E(32, 47), E( 7, 33), E(31, 45), |
| 652 | + E(41, 27), E(20, 31), E(31, 58), E(16, 31), E(13, 32), E(63, 31), |
| 653 | + E(25, 38), E(30, 43), E(33, 61), E(31, 43), E(41, 29), E(34, 23), |
| 654 | + E(39, 28), E(47, 32), E(40, 28), E(58, 32), E(59, 31), E(41, 34), |
| 655 | + E(33, 5), E( 3, 33), E(17, 32), E(61, 33), E(42, 33), E(21, 31), |
| 656 | + E(26, 35), E(35, 26), E(29, 36), E(26, 31), E(33, 38), E(30, 30), |
| 657 | + E(31, 32), E(33, 31), E(37, 30), E(31, 23), E(30, 42), E(26, 37), |
| 658 | + E(33, 26), E(27, 35), E(31, 36), E(27, 34), E(35, 37), E(29, 23), |
| 659 | + E(36, 38), E(61, 31), E(33, 40), E(37, 26), E(62, 32), E(35, 38), |
| 660 | + E(57, 32), E(31, 41), E(34, 26), E(34, 25), E(40, 32), E(35, 35), |
| 661 | + E(29, 34), E(32, 25), E(29, 30), E(28, 26), E(38, 18), E(23, 41), |
| 662 | + E(32, 20), E(29, 28), E(29, 25), E(28, 37), E(42, 32), E(33, 39), |
| 663 | + E(32, 26), E(31, 25), E(30, 40), E(35, 47), E(30, 45), E(30, 54), |
| 664 | + E(31, 1), E(32, 23), E(33, 25), E(42, 26), E(47, 34), E(39, 38), |
| 665 | + E(38, 14), E(40, 22), E(40, 24), E(51, 33), E(55, 34), E(56, 32), |
| 666 | + E(18, 32), E(21, 37), E(39, 21), E(39, 23), E(33, 49), E(17, 35), |
| 667 | + E(41, 23), E(23, 28), E(24, 39), E(43, 39), E(25, 23), E(31, 55), |
| 668 | + E(20, 33), E(25, 37), E(38, 38), E(25, 36), E(27, 37), E(29, 37), |
| 669 | + E( 4, 32), E(39, 33), E( 5, 32), E(28, 29), E(38, 24), E(17, 29), |
| 670 | + E(35, 39), E( 2, 32), E(38, 36), E(30, 29), E(29, 35), E(32, 34), |
| 671 | + E(32, 33), E(32, 32), |
| 672 | +}; |
| 673 | + |
| 674 | +const uint8_t ff_msmp4_mv_table0_lens[MSMPEG4_MV_TABLES_NB_ELEMS] = { |
| 675 | + 8, 12, 12, 13, 15, 15, 15, 15, 12, 15, 15, 15, 15, 14, 14, 14, 14, 14, |
| 676 | + 14, 11, 9, 8, 13, 14, 14, 14, 14, 13, 11, 12, 12, 12, 12, 10, 13, 13, |
| 677 | + 12, 12, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 678 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 6, 6, 7, |
| 679 | + 8, 8, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 680 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 681 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 682 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 683 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 684 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 685 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 16, 16, |
| 686 | + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, |
| 687 | + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, |
| 688 | + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 13, 12, 11, 10, |
| 689 | + 9, 9, 11, 13, 13, 14, 14, 13, 13, 13, 13, 13, 12, 16, 16, 15, 15, 15, |
| 690 | + 15, 15, 15, 15, 9, 10, 15, 15, 15, 15, 15, 15, 14, 14, 14, 13, 11, 9, |
| 691 | + 8, 10, 11, 12, 14, 14, 13, 10, 13, 14, 14, 14, 14, 13, 11, 7, 5, 8, |
| 692 | + 9, 11, 12, 13, 16, 16, 16, 16, 16, 16, 16, 16, 11, 12, 16, 16, 16, 16, |
| 693 | + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 8, 10, 16, 16, 16, 16, |
| 694 | + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, |
| 695 | + 16, 16, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
| 696 | + 14, 14, 11, 12, 13, 13, 11, 12, 13, 14, 14, 9, 9, 8, 10, 13, 13, 13, |
| 697 | + 14, 16, 17, 17, 15, 11, 10, 10, 8, 9, 11, 13, 15, 15, 15, 15, 15, 15, |
| 698 | + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
| 699 | + 14, 14, 12, 12, 8, 7, 11, 14, 14, 14, 14, 13, 13, 10, 10, 13, 14, 14, |
| 700 | + 14, 14, 14, 14, 14, 14, 13, 12, 8, 9, 11, 11, 14, 17, 17, 17, 17, 17, |
| 701 | + 17, 17, 17, 13, 13, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 702 | + 17, 17, 17, 11, 11, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 703 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 704 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 705 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 706 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 707 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 708 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 709 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 710 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 711 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 712 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
| 713 | + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, |
| 714 | + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, |
| 715 | + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, |
| 716 | + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, 15, 15, 15, 15, |
| 717 | + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, |
| 718 | + 14, 14, 4, 5, 10, 10, 9, 13, 13, 12, 11, 12, 14, 14, 14, 14, 11, 10, |
| 719 | + 14, 14, 14, 14, 14, 14, 13, 13, 13, 12, 12, 13, 13, 13, 13, 12, 11, 12, |
| 720 | + 12, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
| 721 | + 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 13, 12, 12, 13, 13, 8, |
| 722 | + 12, 13, 13, 11, 12, 15, 16, 16, 14, 14, 14, 12, 13, 13, 12, 12, 11, 10, |
| 723 | + 8, 11, 13, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, |
| 724 | + 16, 16, 16, 16, 16, 16, 16, 16, 16, 10, 16, 16, 16, 16, 16, 16, 16, 16, |
| 725 | + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, |
| 726 | + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, |
| 727 | + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, |
| 728 | + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, 15, 15, 15, |
| 729 | + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
| 730 | + 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, |
| 731 | + 13, 13, 12, 12, 12, 9, 4, 5, 12, 13, 14, 14, 12, 12, 10, 12, 12, 14, |
| 732 | + 14, 14, 14, 14, 14, 13, 13, 13, 12, 12, 12, 10, 10, 10, 10, 14, 16, 16, |
| 733 | + 15, 13, 13, 13, 12, 12, 11, 11, 13, 15, 15, 15, 15, 12, 11, 15, 15, 15, |
| 734 | + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
| 735 | + 15, 14, 14, 14, 13, 12, 12, 11, 12, 12, 14, 14, 13, 13, 13, 10, 10, 6, |
| 736 | + 4, 1, |
| 737 | +}; |
| 738 | + |
| 739 | +/* motion vector table 1 */ |
| 740 | + |
| 741 | +const uint16_t ff_msmp4_mv_table1[MSMPEG4_MV_TABLES_NB_ELEMS] = { |
| 742 | + E(32, 32), E(42, 39), E(35, 53), E( 3, 28), E(51, 39), E(35, 57), |
| 743 | + E(16, 46), E(35, 10), E(30, 52), E(63, 27), E(57, 35), E(39, 42), |
| 744 | + E(39, 45), E(25, 59), E(35, 15), E(51, 34), E(31, 9), E(48, 34), |
| 745 | + E( 2, 33), E( 6, 31), E(34, 49), E(30, 43), E(28, 42), E(33, 51), |
| 746 | + E(39, 27), E(33, 42), E(37, 25), E(60, 34), E(38, 60), E( 9, 38), |
| 747 | + E(38, 33), E(51, 32), E(30, 22), E(33, 23), E(32, 24), E(32, 26), |
| 748 | + E(32, 29), E(40, 29), E(27, 23), E(46, 29), E(31, 14), E( 9, 30), |
| 749 | + E(35, 45), E(29, 49), E(31, 11), E(47, 32), E(32, 48), E(39, 35), |
| 750 | + E(37, 31), E(25, 34), E(30, 25), E(24, 30), E(35, 25), E(61, 32), |
| 751 | + E(39, 24), E(16, 24), E(36, 23), E(50, 32), E(32, 45), E(19, 33), |
| 752 | + E(59, 33), E(29, 25), E(30, 36), E(63, 33), E(45, 39), E(31, 12), |
| 753 | + E(60, 29), E(14, 24), E(34, 0), E(42, 20), E(24, 16), E( 0, 28), |
| 754 | + E(37, 43), E(18, 35), E(61, 28), E(57, 1), E(30, 30), E(31, 33), |
| 755 | + E(31, 35), E(26, 32), E(37, 49), E(28, 4), E(53, 21), E(20, 42), |
| 756 | + E(46, 39), E(14, 29), E(47, 3), E(38, 44), E(38, 21), E(38, 53), |
| 757 | + E( 9, 55), E(34, 11), E(39, 5), E(43, 3), E(17, 39), E(39, 53), |
| 758 | + E(59, 28), E( 5, 25), E(27, 19), E( 0, 34), E(55, 31), E(46, 28), |
| 759 | + E(19, 35), E(37, 41), E(62, 30), E(34, 44), E(30, 18), E(16, 29), |
| 760 | + E(19, 34), E(49, 35), E(30, 41), E(25, 27), E(43, 32), E( 4, 32), |
| 761 | + E(34, 25), E(27, 25), E(33, 19), E(32, 41), E(25, 29), E(62, 31), |
| 762 | + E(24, 35), E(32, 38), E(30, 32), E(34, 33), E(34, 29), E(41, 36), |
| 763 | + E(12, 28), E(27, 21), E(41, 25), E(39, 26), E(30, 24), E(37, 21), |
| 764 | + E(14, 31), E( 5, 30), E(13, 34), E(35, 19), E(55, 34), E(30, 44), |
| 765 | + E(40, 36), E(40, 38), E(42, 25), E(31, 19), E(27, 36), E(30, 42), |
| 766 | + E(37, 27), E(31, 17), E(21, 33), E(45, 31), E(32, 44), E(39, 28), |
| 767 | + E(20, 33), E(46, 33), E(47, 31), E(35, 23), E(19, 31), E(33, 30), |
| 768 | + E(28, 32), E(36, 32), E(33, 32), E(34, 40), E( 8, 31), E(20, 28), |
| 769 | + E(35, 39), E(43, 33), E(25, 23), E(45, 37), E(35, 3), E(33, 55), |
| 770 | + E(35, 29), E(36, 41), E(54, 30), E(38, 22), E(27, 41), E(37, 24), |
| 771 | + E(62, 33), E(40, 26), E(15, 35), E(59, 35), E(49, 30), E( 1, 33), |
| 772 | + E(40, 33), E(32, 0), E(29, 37), E(32, 2), E( 3, 32), E(42, 32), |
| 773 | + E(49, 31), E(21, 34), E(21, 30), E(14, 32), E( 5, 31), E(28, 36), |
| 774 | + E(31, 21), E(51, 33), E(31, 55), E(29, 51), E(31, 38), E(62, 32), |
| 775 | + E(34, 47), E(34, 48), E(39, 38), E(24, 24), E(32, 30), E(29, 32), |
| 776 | + E(30, 34), E(35, 34), E(29, 15), E(25, 21), E(26, 36), E(33, 61), |
| 777 | + E(31, 26), E(32, 34), E(30, 33), E(27, 31), E(23, 35), E(29, 50), |
| 778 | + E(21, 25), E(31, 47), E(36, 37), E(35, 41), E(58, 31), E(29, 23), |
| 779 | + E(29, 41), E(21, 29), E(20, 30), E(33, 24), E(32, 22), E(42, 35), |
| 780 | + E(29, 46), E(10, 30), E(61, 29), E(33, 10), E(49, 34), E(35, 42), |
| 781 | + E(34, 45), E( 3, 29), E(38, 42), E(39, 22), E(29, 3), E( 7, 33), |
| 782 | + E(41, 27), E( 1, 34), E(30, 31), E(13, 32), E(28, 25), E(12, 32), |
| 783 | + E(40, 28), E(25, 35), E(31, 61), E(28, 31), E(29, 34), E(34, 35), |
| 784 | + E(28, 33), E(26, 33), E(35, 1), E( 4, 34), E(31, 58), E(33, 2), |
| 785 | + E(39, 37), E(21, 31), E(60, 33), E(23, 28), E(15, 34), E(38, 30), |
| 786 | + E(37, 33), E(34, 34), E(31, 28), E(23, 36), E(11, 35), E(37, 23), |
| 787 | + E(28, 23), E(35, 13), E(30, 58), E(30, 3), E(24, 26), E( 1, 63), |
| 788 | + E(43, 25), E(56, 31), E( 8, 34), E(32, 14), E(44, 33), E(32, 35), |
| 789 | + E(26, 31), E(31, 5), E(33, 49), E(31, 20), E(36, 33), E(32, 1), |
| 790 | + E(27, 33), E(31, 34), E(31, 30), E(28, 39), E(37, 36), E(43, 31), |
| 791 | + E(31, 59), E(34, 39), E(31, 27), E(34, 61), E(42, 38), E(24, 39), |
| 792 | + E(45, 25), E(30, 61), E(20, 29), E(23, 37), E( 8, 30), E(38, 41), |
| 793 | + E(22, 26), E(33, 48), E(17, 28), E(52, 33), E(34, 50), E(29, 21), |
| 794 | + E(32, 9), E(30, 23), E(49, 33), E(43, 35), E(28, 24), E(39, 39), |
| 795 | + E(33, 21), E(33, 34), E(32, 28), E(30, 29), E(25, 37), E(32, 11), |
| 796 | + E(48, 33), E( 2, 30), E(15, 31), E(20, 31), E(22, 35), E(53, 30), |
| 797 | + E(43, 37), E(44, 29), E(29, 30), E( 1, 29), E(27, 40), E(31, 6), |
| 798 | + E(41, 39), E(43, 28), E(41, 28), E(30, 19), E(31, 8), E(36, 22), |
| 799 | + E(30, 45), E(25, 28), E(31, 51), E(28, 40), E(32, 25), E(21, 35), |
| 800 | + E(24, 29), E(25, 25), E(15, 33), E(20, 32), E(40, 30), E(39, 34), |
| 801 | + E(31, 46), E(17, 35), E(22, 32), E(39, 31), E(33, 28), E(29, 29), |
| 802 | + E(21, 32), E(37, 37), E(43, 30), E(18, 30), E(32, 8), E(37, 32), |
| 803 | + E(31, 32), E(31, 22), E(31, 40), E(57, 32), E(38, 29), E(33, 37), |
| 804 | + E(35, 35), E(33, 63), E( 5, 34), E(55, 35), E(31, 10), E(33, 58), |
| 805 | + E(30, 17), E(40, 37), E(23, 39), E(15, 30), E(29, 18), E(34, 54), |
| 806 | + E(34, 14), E(59, 29), E(34, 16), E(30, 59), E(11, 30), E(13, 35), |
| 807 | + E(38, 23), E( 5, 35), E(24, 28), E(33, 15), E(37, 30), E(25, 31), |
| 808 | + E(36, 40), E(13, 33), E(33, 45), E(31, 49), E(32, 16), E(42, 31), |
| 809 | + E(25, 33), E(32, 36), E(39, 25), E(11, 32), E(33, 5), E(61, 31), |
| 810 | + E(63, 32), E(31, 4), E( 0, 30), E(30, 47), E(32, 62), E(37, 29), |
| 811 | + E(31, 2), E(42, 36), E( 5, 29), E(30, 55), E(29, 20), E(29, 35), |
| 812 | + E(34, 12), E(10, 31), E(44, 35), E(30, 14), E(63, 29), E(35, 18), |
| 813 | + E(12, 34), E( 3, 34), E(33, 47), E(32, 51), E(39, 36), E(37, 39), |
| 814 | + E(32, 53), E(32, 10), E(29, 24), E(17, 29), E(32, 20), E(29, 39), |
| 815 | + E(33, 27), E(31, 36), E(32, 27), E(31, 3), E(30, 39), E(44, 32), |
| 816 | + E(31, 37), E( 5, 33), E(44, 30), E(46, 31), E(32, 40), E(36, 25), |
| 817 | + E(35, 40), E(26, 38), E(37, 38), E(33, 38), E(25, 32), E( 2, 32), |
| 818 | + E(58, 33), E(26, 24), E(15, 29), E(31, 1), E(31, 25), E(17, 26), |
| 819 | + E(25, 22), E(34, 2), E(43, 27), E(39, 23), E(34, 8), E(56, 30), |
| 820 | + E(29, 55), E(23, 38), E(30, 60), E(12, 31), E(30, 4), E(10, 34), |
| 821 | + E(35, 49), E( 9, 34), E(24, 27), E(58, 34), E(10, 33), E(12, 30), |
| 822 | + E(54, 31), E(32, 56), E(34, 23), E(38, 27), E( 8, 32), E(22, 31), |
| 823 | + E(34, 24), E(36, 36), E(17, 32), E(38, 36), E(33, 25), E(32, 33), |
| 824 | + E(32, 31), E(58, 32), E(38, 28), E(38, 37), E(38, 26), E(22, 29), |
| 825 | + E(29, 43), E(32, 61), E(25, 36), E(16, 33), E(35, 24), E(32, 55), |
| 826 | + E(35, 43), E(33, 9), E(43, 29), E(18, 34), E(46, 34), E(38, 24), |
| 827 | + E(35, 26), E(32, 6), E(60, 31), E( 1, 32), E(23, 33), E(30, 35), |
| 828 | + E(27, 32), E(33, 26), E(41, 31), E(35, 38), E(33, 54), E(37, 42), |
| 829 | + E(20, 35), E(41, 38), E(35, 46), E(29, 44), E(18, 26), E(61, 27), |
| 830 | + E(30, 9), E(40, 39), E(24, 25), E(39, 21), E(39, 32), E(53, 29), |
| 831 | + E(62, 28), E(26, 42), E(29, 13), E(33, 0), E(34, 5), E(53, 34), |
| 832 | + E(49, 37), E(21, 28), E(27, 24), E(11, 29), E(63, 63), E(50, 33), |
| 833 | + E(33, 18), E(18, 33), E(53, 33), E(60, 30), E(13, 31), E(32, 50), |
| 834 | + E(36, 24), E(24, 34), E(27, 34), E(32, 58), E(38, 35), E(35, 28), |
| 835 | + E(16, 32), E(33, 60), E(51, 30), E(32, 4), E(36, 39), E(43, 34), |
| 836 | + E(45, 30), E(27, 39), E(45, 33), E(42, 33), E(30, 38), E(32, 17), |
| 837 | + E(31, 43), E(20, 26), E(26, 22), E(23, 27), E( 7, 29), E(13, 25), |
| 838 | + E( 6, 33), E(47, 25), E(29, 61), E(30, 0), E( 9, 35), E(51, 25), |
| 839 | + E(22, 36), E(34, 15), E(21, 27), E(25, 40), E(33, 53), E(32, 37), |
| 840 | + E(56, 33), E(57, 3), E(30, 10), E(38, 16), E(51, 37), E(51, 38), |
| 841 | + E(38, 18), E(63, 30), E(28, 46), E(40, 27), E(35, 9), E(33, 6), |
| 842 | + E(42, 28), E(29, 22), E(24, 38), E(30, 2), E(25, 26), E(31, 63), |
| 843 | + E(52, 32), E(31, 57), E(29, 26), E(35, 31), E(32, 5), E(41, 32), |
| 844 | + E(35, 21), E(38, 39), E( 4, 31), E(30, 40), E(17, 31), E( 9, 33), |
| 845 | + E(22, 28), E(34, 18), E( 4, 30), E(17, 34), E(28, 22), E(55, 33), |
| 846 | + E(42, 29), E(40, 34), E(46, 32), E(38, 34), E(48, 32), E(63, 31), |
| 847 | + E(23, 31), E(39, 33), E(33, 3), E( 3, 31), E(18, 29), E(33, 62), |
| 848 | + E(33, 8), E(24, 42), E(58, 28), E(58, 29), E(34, 3), E(49, 25), |
| 849 | + E(29, 16), E(43, 26), E( 4, 29), E( 1, 35), E( 4, 28), E(42, 27), |
| 850 | + E(35, 51), E(35, 61), E(30, 48), E(17, 37), E( 5, 9), E(56, 34), |
| 851 | + E(25, 41), E(17, 30), E(20, 34), E(47, 35), E(34, 21), E(33, 13), |
| 852 | + E(16, 34), E(40, 35), E(32, 19), E(28, 35), E(33, 36), E(36, 30), |
| 853 | + E(25, 39), E(16, 30), E(42, 30), E(19, 32), E(30, 46), E(53, 32), |
| 854 | + E(32, 23), E(29, 42), E(10, 32), E(11, 31), E(14, 33), E(34, 38), |
| 855 | + E(32, 39), E(41, 29), E(26, 26), E(61, 7), E(25, 49), E(22, 33), |
| 856 | + E(28, 38), E(36, 38), E(45, 32), E(34, 27), E(28, 30), E(34, 28), |
| 857 | + E(33, 59), E(37, 45), E(36, 20), E(55, 29), E(28, 21), E(35, 5), |
| 858 | + E(29, 5), E(50, 29), E(48, 28), E(52, 34), E( 2, 29), E(42, 24), |
| 859 | + E(34, 10), E(40, 24), E(46, 35), E(46, 36), E(43, 38), E(33, 11), |
| 860 | + E( 4, 33), E(33, 40), E(32, 18), E(36, 34), E(27, 35), E(35, 22), |
| 861 | + E(35, 55), E(29, 11), E(29, 38), E(41, 33), E(29, 28), E( 7, 32), |
| 862 | + E(44, 31), E(26, 25), E(39, 29), E(32, 3), E(16, 31), E(31, 53), |
| 863 | + E(26, 27), E(34, 43), E(38, 25), E(29, 40), E(41, 35), E(35, 27), |
| 864 | + E(36, 29), E(38, 31), E(29, 27), E(32, 43), E(27, 29), E(30, 37), |
| 865 | + E(24, 32), ESCAPE, E(32, 63), E(24, 31), E(42, 34), E(48, 36), |
| 866 | + E(20, 38), E(29, 53), E(31, 54), E(61, 33), E(41, 26), E( 7, 30), |
| 867 | + E(30, 49), E(35, 20), E(19, 27), E(14, 30), E(21, 39), E( 8, 33), |
| 868 | + E(39, 41), E(39, 49), E(40, 22), E(46, 38), E(55, 38), E(34, 4), |
| 869 | + E( 6, 30), E(30, 8), E(34, 9), E(37, 3), E(25, 24), E(37, 22), |
| 870 | + E(33, 50), E(22, 37), E(44, 36), E(52, 31), E(17, 27), E(35, 2), |
| 871 | + E(31, 50), E(30, 21), E(24, 36), E(35, 33), E(22, 38), E(61, 30), |
| 872 | + E(32, 12), E( 9, 31), E(45, 34), E(34, 20), E(31, 15), E(19, 29), |
| 873 | + E( 9, 32), E(31, 62), E(18, 32), E(33, 17), E(33, 1), E(37, 34), |
| 874 | + E(32, 15), E(22, 30), E(26, 30), E(59, 31), E(29, 9), E(36, 42), |
| 875 | + E(46, 30), E(31, 13), E(35, 17), E(54, 32), E(29, 19), E(57, 31), |
| 876 | + E(30, 20), E(50, 31), E( 3, 30), E(31, 7), E(63, 1), E(34, 17), |
| 877 | + E(47, 34), E(41, 37), E(35, 63), E(40, 25), E(25, 30), E(37, 28), |
| 878 | + E( 1, 31), E(26, 28), E(22, 34), E(35, 37), E(34, 32), E(60, 32), |
| 879 | + E(27, 30), E(37, 19), E(28, 44), E(30, 1), E(50, 28), E(14, 28), |
| 880 | + E(28, 48), E(55, 30), E( 6, 34), E(23, 41), E(19, 41), E(14, 38), |
| 881 | + E(30, 12), E( 3, 27), E(30, 15), E(28, 0), E(28, 16), E(61, 34), |
| 882 | + E(61, 35), E(47, 38), E(45, 28), E(48, 29), E(40, 40), E(40, 42), |
| 883 | + E(34, 51), E(34, 52), E(25, 45), E(30, 54), E(29, 59), E(35, 59), |
| 884 | + E( 4, 42), E(51, 31), E(18, 31), E(31, 44), E(14, 34), E(37, 26), |
| 885 | + E(36, 35), E(37, 35), E(30, 26), E(31, 41), E(31, 39), E(23, 32), |
| 886 | + E(23, 29), E(38, 40), E(31, 16), E(24, 37), E(32, 52), E(31, 48), |
| 887 | + E(50, 30), E(28, 34), E(32, 21), E(33, 20), E(31, 18), E(49, 32), |
| 888 | + E(34, 37), E(33, 29), E(31, 29), E(40, 31), E( 3, 33), E(28, 27), |
| 889 | + E(26, 35), E(28, 28), E(33, 39), E(34, 26), E(26, 44), E(53, 37), |
| 890 | + E(50, 26), E(26, 46), E(41, 24), E(27, 15), E(59, 39), E(27, 22), |
| 891 | + E(29, 31), E(38, 46), E(39, 19), E( 3, 35), E(50, 38), E(43, 17), |
| 892 | + E(47, 37), E(23, 23), E(33, 52), E(55, 55), E(35, 50), E(21, 37), |
| 893 | + E(23, 26), E(35, 11), E(61, 37), E(33, 12), E(46, 24), E(52, 30), |
| 894 | + E(35, 16), E(34, 13), E(24, 22), E(30, 13), E(43, 36), E(16, 35), |
| 895 | + E(37, 40), E(21, 41), E( 2, 34), E(54, 33), E(27, 38), E( 9, 29), |
| 896 | + E(33, 7), E(23, 25), E(19, 30), E(32, 54), E(29, 45), E(29, 47), |
| 897 | + E(33, 46), E(28, 41), E(27, 27), E(32, 49), E(39, 30), E(33, 31), |
| 898 | + E(59, 32), E(32, 42), E(33, 22), E(47, 29), E(49, 29), E(32, 59), |
| 899 | + E(40, 32), E(31, 24), E(27, 37), E(23, 34), E(28, 37), E(36, 26), |
| 900 | + E(32, 7), E(38, 32), E(29, 33), E(15, 32), E(30, 16), E(47, 30), |
| 901 | + E(33, 14), E(27, 26), E(25, 38), E(54, 34), E(44, 34), E(45, 29), |
| 902 | + E(50, 34), E(58, 30), E(51, 29), E(48, 30), E(33, 57), E(59, 30), |
| 903 | + E( 6, 32), E(34, 22), E(27, 28), E(31, 45), E(30, 27), E(24, 33), |
| 904 | + E(26, 29), E(33, 4), E(24, 41), E(45, 26), E(23, 30), E( 2, 31), |
| 905 | + E(28, 29), E(35, 36), E(30, 28), E(34, 53), E(30, 51), E(55, 5), |
| 906 | + E(55, 21), E( 1, 30), E(29, 2), E(29, 63), E(26, 41), E(28, 20), |
| 907 | + E(25, 1), E(31, 56), E(36, 21), E(22, 24), E(17, 25), E(30, 5), |
| 908 | + E(52, 28), E( 2, 35), E(44, 26), E(44, 28), E(57, 30), E(26, 18), |
| 909 | + E(62, 29), E(41, 23), E(39, 40), E(57, 34), E(26, 20), E(46, 42), |
| 910 | + E(49, 39), E(11, 34), E(16, 28), E(19, 61), E( 5, 38), E(34, 46), |
| 911 | + E(57, 33), E(13, 29), E(26, 39), E(33, 44), E(13, 30), E(48, 31), |
| 912 | + E(30, 50), E(11, 33), E( 7, 31), E(56, 32), E(34, 19), E(33, 43), |
| 913 | + E(32, 46), E(34, 41), E(41, 30), E(36, 28), E(34, 31), E(33, 33), |
| 914 | + E(33, 35), E(26, 34), E(28, 26), E(32, 13), E(41, 34), E( 0, 32), |
| 915 | + E(32, 57), E(35, 30), E(35, 32), E(55, 32), E(26, 40), E( 0, 31), |
| 916 | + E(26, 37), E(35, 47), E( 1, 1), E(51, 35), E(33, 16), E(53, 31), |
| 917 | + E(31, 0), E(45, 35), E(12, 33), E(29, 1), E(29, 17), E(36, 27), |
| 918 | + E( 5, 32), E(38, 38), E(59, 27), E(38, 62), E(39, 9), E(58, 36), |
| 919 | + E(34, 42), E(31, 42), E(36, 31), E(47, 33), E(32, 47), E(17, 33), |
| 920 | + E(31, 60), E(31, 23), E(33, 41), E(34, 30), E(34, 36), E(32, 60), |
| 921 | + E(29, 36), E(38, 17), E(25, 9), E(49, 49), E(50, 24), E(22, 25), |
| 922 | + E(28, 54), E(59, 34), E( 9, 39), E(59, 37), E( 7, 3), E(28, 1), |
| 923 | + E(55, 25), E(17, 38), E( 4, 38), E(35, 44), E(50, 35), E(21, 36), |
| 924 | + E(29, 12), E(44, 60), E(47, 36), E(18, 38), E(24, 40), E(19, 25), |
| 925 | + E(25, 43), E(31, 31), |
| 926 | +}; |
| 927 | + |
| 928 | +const uint8_t ff_msmp4_mv_table1_lens[MSMPEG4_MV_TABLES_NB_ELEMS] = { |
| 929 | + 2, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, |
| 930 | + 14, 14, 14, 14, 14, 14, 13, 13, 13, 14, 15, 15, 11, 13, 13, 12, 11, 10, |
| 931 | + 8, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 12, 10, 12, 12, 12, 12, 10, |
| 932 | + 14, 15, 15, 13, 13, 13, 12, 12, 11, 13, 15, 15, 15, 15, 15, 15, 15, 15, |
| 933 | + 15, 15, 15, 15, 9, 6, 9, 10, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
| 934 | + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, |
| 935 | + 14, 14, 13, 13, 11, 11, 12, 13, 13, 11, 12, 13, 13, 10, 7, 8, 10, 14, |
| 936 | + 15, 15, 14, 14, 12, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, |
| 937 | + 13, 13, 12, 13, 13, 13, 13, 13, 13, 13, 13, 8, 9, 9, 5, 13, 14, 14, |
| 938 | + 12, 12, 14, 14, 14, 14, 10, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, |
| 939 | + 12, 12, 12, 11, 10, 11, 13, 13, 13, 13, 12, 12, 12, 13, 14, 14, 11, 12, |
| 940 | + 14, 14, 14, 14, 7, 8, 9, 10, 14, 14, 13, 12, 11, 7, 8, 10, 13, 14, |
| 941 | + 14, 13, 13, 13, 13, 13, 13, 13, 13, 12, 11, 13, 14, 14, 14, 14, 14, 14, |
| 942 | + 14, 14, 14, 14, 14, 14, 14, 14, 8, 13, 13, 13, 13, 12, 12, 10, 10, 10, |
| 943 | + 10, 11, 14, 14, 13, 13, 13, 12, 13, 14, 14, 11, 10, 9, 10, 14, 14, 14, |
| 944 | + 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 8, 11, 12, 13, 13, 10, 10, |
| 945 | + 10, 8, 8, 13, 13, 12, 12, 12, 10, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
| 946 | + 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 12, 8, 9, 10, 13, 13, |
| 947 | + 13, 13, 13, 13, 14, 14, 14, 14, 10, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
| 948 | + 14, 13, 13, 13, 9, 13, 13, 13, 13, 12, 12, 12, 13, 13, 11, 10, 10, 10, |
| 949 | + 11, 13, 13, 13, 13, 9, 4, 12, 12, 12, 12, 10, 10, 13, 14, 14, 14, 14, |
| 950 | + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 11, 10, |
| 951 | + 13, 13, 13, 13, 12, 12, 10, 9, 13, 13, 12, 11, 11, 13, 14, 14, 12, 11, |
| 952 | + 12, 14, 14, 14, 14, 10, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, |
| 953 | + 13, 13, 13, 13, 12, 12, 10, 10, 9, 11, 12, 12, 10, 12, 13, 13, 11, 13, |
| 954 | + 13, 13, 13, 11, 9, 11, 13, 14, 14, 12, 10, 14, 14, 14, 14, 14, 14, 14, |
| 955 | + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 12, |
| 956 | + 12, 12, 12, 12, 10, 5, 4, 12, 12, 13, 13, 13, 13, 10, 13, 13, 13, 13, |
| 957 | + 13, 13, 13, 13, 13, 13, 12, 12, 12, 11, 11, 10, 9, 11, 11, 12, 14, 14, |
| 958 | + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 9, 14, 14, 14, 14, 14, 14, 14, |
| 959 | + 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 12, 11, 12, 12, 11, |
| 960 | + 12, 13, 13, 10, 13, 13, 13, 13, 12, 12, 11, 12, 12, 14, 14, 14, 14, 14, |
| 961 | + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 9, 14, 14, 14, 14, 14, 14, |
| 962 | + 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 12, 8, 10, 10, |
| 963 | + 13, 13, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 11, 12, 12, |
| 964 | + 11, 10, 11, 11, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
| 965 | + 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 12, 11, 10, 10, |
| 966 | + 13, 13, 12, 12, 13, 13, 10, 13, 13, 13, 13, 11, 9, 12, 13, 14, 14, 12, |
| 967 | + 12, 12, 12, 11, 10, 10, 12, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
| 968 | + 14, 14, 14, 14, 14, 13, 13, 12, 12, 10, 11, 13, 14, 14, 12, 11, 11, 12, |
| 969 | + 13, 13, 11, 9, 13, 13, 13, 13, 13, 13, 12, 11, 11, 10, 11, 11, 11, 11, |
| 970 | + 10, 4, 11, 11, 12, 14, 14, 14, 14, 11, 14, 14, 14, 14, 14, 14, 14, 14, |
| 971 | + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
| 972 | + 13, 13, 13, 8, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 11, |
| 973 | + 12, 12, 11, 11, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
| 974 | + 13, 13, 14, 14, 11, 12, 12, 12, 12, 11, 6, 10, 11, 14, 14, 14, 14, 14, |
| 975 | + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
| 976 | + 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 11, 11, 11, 11, 10, 10, |
| 977 | + 12, 13, 13, 13, 13, 13, 13, 10, 10, 13, 13, 12, 11, 8, 8, 11, 11, 12, |
| 978 | + 12, 11, 10, 11, 14, 14, 14, 14, 14, 14, 14, 14, 8, 14, 14, 14, 14, 14, |
| 979 | + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
| 980 | + 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 11, 5, |
| 981 | + 10, 11, 12, 13, 13, 10, 10, 11, 12, 12, 12, 12, 11, 9, 8, 12, 13, 13, |
| 982 | + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 11, 11, |
| 983 | + 12, 13, 14, 14, 12, 12, 11, 11, 10, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
| 984 | + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
| 985 | + 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, |
| 986 | + 12, 12, 12, 11, 7, 5, 8, 11, 12, 12, 12, 12, 11, 9, 7, 13, 13, 13, |
| 987 | + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 10, 12, 14, 14, 14, 14, |
| 988 | + 12, 12, 9, 12, 12, 12, 12, 11, 11, 8, 10, 10, 11, 14, 14, 14, 14, 14, |
| 989 | + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
| 990 | + 14, 4, |
| 991 | +}; |
| 992 | + |
| 484 | 993 | static const uint16_t table0_mv_code[1100] = { |
| 485 | 994 | 0x0001, 0x0003, 0x0005, 0x0007, 0x0003, 0x0008, 0x000c, 0x0001, |
| 486 | 995 | 0x0002, 0x001b, 0x0006, 0x000b, 0x0015, 0x0002, 0x000e, 0x000f, |
| @@ -1045,7 +1554,6 @@ static const uint8_t table0_mvy[1099] = { · 558 unmodified lines |
| 1045 | 1554 | 25, 27, 28, |
| 1046 | 1555 | }; |
| 1047 | 1556 | |
| 1048 | | −/* motion vector table 1 */ |
| 1049 | 1557 | static const uint16_t table1_mv_code[1100] = { |
| 1050 | 1558 | 0x0000, 0x0007, 0x0009, 0x000f, 0x000a, 0x0011, 0x001a, 0x001c, |
| 1051 | 1559 | 0x0011, 0x0031, 0x0025, 0x002d, 0x002f, 0x006f, 0x0075, 0x0041, |