Mercurial > libavcodec.hg
comparison h264data.h @ 4118:a1786732cd62 libavcodec
merge clip() into the alpha/beta/tc0 tables (10% faster filter_mb_fast() on P3)
author | michael |
---|---|
date | Wed, 01 Nov 2006 19:34:30 +0000 |
parents | c8c591fe26f8 |
children | 6f839bb47457 |
comparison
equal
deleted
inserted
replaced
4117:c647eff78d91 | 4118:a1786732cd62 |
---|---|
607 { 1170, 728, 1170, 728, 728, 456, 728, 456, 1170, 728, 1170, 728, 728, 456, 728, 456,}, | 607 { 1170, 728, 1170, 728, 728, 456, 728, 456, 1170, 728, 1170, 728, 728, 456, 728, 456,}, |
608 }; | 608 }; |
609 | 609 |
610 | 610 |
611 /* Deblocking filter (p153) */ | 611 /* Deblocking filter (p153) */ |
612 static const int alpha_table[52] = { | 612 static const int alpha_table[52*3] = { |
613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
614 0, 0, 0, 0, 0, 0, 4, 4, 5, 6, | 618 0, 0, 0, 0, 0, 0, 4, 4, 5, 6, |
615 7, 8, 9, 10, 12, 13, 15, 17, 20, 22, | 619 7, 8, 9, 10, 12, 13, 15, 17, 20, 22, |
616 25, 28, 32, 36, 40, 45, 50, 56, 63, 71, | 620 25, 28, 32, 36, 40, 45, 50, 56, 63, 71, |
617 80, 90,101,113,127,144,162,182,203,226, | 621 80, 90,101,113,127,144,162,182,203,226, |
618 255, 255 | 622 255,255, |
619 }; | 623 255,255,255,255,255,255,255,255,255,255,255,255,255, |
620 static const int beta_table[52] = { | 624 255,255,255,255,255,255,255,255,255,255,255,255,255, |
625 255,255,255,255,255,255,255,255,255,255,255,255,255, | |
626 255,255,255,255,255,255,255,255,255,255,255,255,255, | |
627 }; | |
628 static const int beta_table[52*3] = { | |
629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
622 0, 0, 0, 0, 0, 0, 2, 2, 2, 3, | 634 0, 0, 0, 0, 0, 0, 2, 2, 2, 3, |
623 3, 3, 3, 4, 4, 4, 6, 6, 7, 7, | 635 3, 3, 3, 4, 4, 4, 6, 6, 7, 7, |
624 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, | 636 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, |
625 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, | 637 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, |
626 18, 18 | 638 18, 18, |
627 }; | 639 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, |
628 static const int tc0_table[52][3] = { | 640 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, |
641 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, | |
642 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, | |
643 }; | |
644 static const int tc0_table[52*3][3] = { | |
645 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, | |
646 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, | |
647 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, | |
648 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, | |
649 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, | |
650 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, | |
651 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, | |
652 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, | |
653 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, | |
629 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, | 654 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, |
630 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, | 655 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, |
631 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 1 }, | 656 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 1 }, |
632 { 0, 0, 1 }, { 0, 0, 1 }, { 0, 0, 1 }, { 0, 1, 1 }, { 0, 1, 1 }, { 1, 1, 1 }, | 657 { 0, 0, 1 }, { 0, 0, 1 }, { 0, 0, 1 }, { 0, 1, 1 }, { 0, 1, 1 }, { 1, 1, 1 }, |
633 { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 2 }, { 1, 1, 2 }, { 1, 1, 2 }, | 658 { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 2 }, { 1, 1, 2 }, { 1, 1, 2 }, |
634 { 1, 1, 2 }, { 1, 2, 3 }, { 1, 2, 3 }, { 2, 2, 3 }, { 2, 2, 4 }, { 2, 3, 4 }, | 659 { 1, 1, 2 }, { 1, 2, 3 }, { 1, 2, 3 }, { 2, 2, 3 }, { 2, 2, 4 }, { 2, 3, 4 }, |
635 { 2, 3, 4 }, { 3, 3, 5 }, { 3, 4, 6 }, { 3, 4, 6 }, { 4, 5, 7 }, { 4, 5, 8 }, | 660 { 2, 3, 4 }, { 3, 3, 5 }, { 3, 4, 6 }, { 3, 4, 6 }, { 4, 5, 7 }, { 4, 5, 8 }, |
636 { 4, 6, 9 }, { 5, 7,10 }, { 6, 8,11 }, { 6, 8,13 }, { 7,10,14 }, { 8,11,16 }, | 661 { 4, 6, 9 }, { 5, 7,10 }, { 6, 8,11 }, { 6, 8,13 }, { 7,10,14 }, { 8,11,16 }, |
637 { 9,12,18 }, {10,13,20 }, {11,15,23 }, {13,17,25 } | 662 { 9,12,18 }, {10,13,20 }, {11,15,23 }, {13,17,25 }, |
663 {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, | |
664 {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, | |
665 {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, | |
666 {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, | |
667 {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, | |
668 {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, | |
669 {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, | |
670 {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, | |
671 {13,17,25 }, {13,17,25 }, {13,17,25 }, {13,17,25 }, | |
638 }; | 672 }; |
639 | 673 |
640 /* Cabac pre state table */ | 674 /* Cabac pre state table */ |
641 | 675 |
642 static const int cabac_context_init_I[460][2] = | 676 static const int cabac_context_init_I[460][2] = |