- Timestamp:
- 14 Feb 2013, 11:45:40 (12 years ago)
- Location:
- branches/HTM-5.1-dev3-CleanUp/source/Lib
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-5.1-dev3-CleanUp/source/Lib/TLibCommon/TComPrediction.cpp
r231 r275 618 618 619 619 #if DEPTH_MAP_GENERATION 620 #if MERL_VSP_C0152 621 Void TComPrediction::motionCompensation( TComDataCU* pcCU, TComYuv* pcYuvPred, UInt uiAbsPartIdx, RefPicList eRefPicList, Int iPartIdx, Bool bPrdDepthMap, UInt uiSubSampExpX, UInt uiSubSampExpY ) 622 #else 620 623 Void TComPrediction::motionCompensation( TComDataCU* pcCU, TComYuv* pcYuvPred, RefPicList eRefPicList, Int iPartIdx, Bool bPrdDepthMap, UInt uiSubSampExpX, UInt uiSubSampExpY ) 624 #endif 625 #else 626 #if MERL_VSP_C0152 627 Void TComPrediction::motionCompensation ( TComDataCU* pcCU, TComYuv* pcYuvPred, UInt uiAbsPartIdx, RefPicList eRefPicList, Int iPartIdx ) 621 628 #else 622 629 Void TComPrediction::motionCompensation ( TComDataCU* pcCU, TComYuv* pcYuvPred, RefPicList eRefPicList, Int iPartIdx ) 630 #endif 623 631 #endif 624 632 { … … 648 656 { 649 657 #if DEPTH_MAP_GENERATION 658 #if MERL_VSP_C0152 659 xPredInterUni (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, true ); 660 #else 650 661 xPredInterUni (pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, true ); 662 #endif 663 #else 664 #if MERL_VSP_C0152 665 xPredInterUni (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, true ); 651 666 #else 652 667 xPredInterUni (pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, true ); 653 668 #endif 669 #endif 654 670 } 655 671 else 656 672 { 657 673 #if DEPTH_MAP_GENERATION 674 #if MERL_VSP_C0152 675 xPredInterUni (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 676 #else 658 677 xPredInterUni (pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 678 #endif 679 #else 680 #if MERL_VSP_C0152 681 xPredInterUni (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, false ); 659 682 #else 660 683 xPredInterUni (pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, false ); 684 #endif 661 685 #endif 662 686 } … … 679 703 { 680 704 #if DEPTH_MAP_GENERATION 705 #if MERL_VSP_C0152 706 xPredInterUni (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, REF_PIC_LIST_0, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 707 #else 681 708 xPredInterUni (pcCU, uiPartAddr, iWidth, iHeight, REF_PIC_LIST_0, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 709 #endif 710 #else 711 #if MERL_VSP_C0152 712 xPredInterUni (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, REF_PIC_LIST_0, pcYuvPred, iPartIdx, false ); 682 713 #else 683 714 xPredInterUni (pcCU, uiPartAddr, iWidth, iHeight, REF_PIC_LIST_0, pcYuvPred, iPartIdx, false ); 684 715 #endif 716 #endif 685 717 } 686 718 else 687 719 { 688 720 #if DEPTH_MAP_GENERATION 721 #if MERL_VSP_C0152 722 xPredInterBi (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, uiSubSampExpX, uiSubSampExpY, pcYuvPred, iPartIdx, bPrdDepthMap ); 723 #else 689 724 xPredInterBi (pcCU, uiPartAddr, iWidth, iHeight, uiSubSampExpX, uiSubSampExpY, pcYuvPred, iPartIdx, bPrdDepthMap ); 725 #endif 726 #else 727 #if MERL_VSP_C0152 728 xPredInterBi (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, pcYuvPred, iPartIdx ); 690 729 #else 691 730 xPredInterBi (pcCU, uiPartAddr, iWidth, iHeight, pcYuvPred, iPartIdx ); 731 #endif 692 732 #endif 693 733 } … … 717 757 { 718 758 #if DEPTH_MAP_GENERATION 759 #if MERL_VSP_C0152 760 xPredInterUni (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, true ); 761 #else 719 762 xPredInterUni (pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, true ); 763 #endif 764 #else 765 #if MERL_VSP_C0152 766 xPredInterUni (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, true ); 720 767 #else 721 768 xPredInterUni (pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, true ); 722 #endif 723 } 724 else 725 { 769 #endif 770 #endif 771 } 772 else 773 { 726 774 #if DEPTH_MAP_GENERATION 775 #if MERL_VSP_C0152 776 xPredInterUni (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 777 #else 727 778 xPredInterUni (pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 779 #endif 780 #else 781 #if MERL_VSP_C0152 782 xPredInterUni (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, false ); 728 783 #else 729 784 xPredInterUni (pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, false ); 730 #endif 785 #endif 786 #endif 731 787 } 732 788 #if DEPTH_MAP_GENERATION 789 #if MERL_VSP_C0152 790 xPredInterUni (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 791 #else 733 792 xPredInterUni (pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 793 #endif 794 #else 795 #if MERL_VSP_C0152 796 xPredInterUni (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, false ); 734 797 #else 735 798 xPredInterUni (pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, false ); 736 #endif 799 #endif 800 #endif 737 801 #if LGE_ILLUCOMP_B0045 738 802 if( pcCU->getSlice()->getPPS()->getUseWP() && !pcCU->getICFlag(uiPartAddr)) 739 803 #else 740 if ( pcCU->getSlice()->getPPS()->getUseWP())804 if( pcCU->getSlice()->getPPS()->getUseWP()) 741 805 #endif 742 806 { … … 749 813 { 750 814 #if DEPTH_MAP_GENERATION 815 #if MERL_VSP_C0152 816 xPredInterUni (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, REF_PIC_LIST_0, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 817 #else 751 818 xPredInterUni (pcCU, uiPartAddr, iWidth, iHeight, REF_PIC_LIST_0, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 819 #endif 820 #else 821 #if MERL_VSP_C0152 822 xPredInterUni (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, REF_PIC_LIST_0, pcYuvPred, iPartIdx, false ); 752 823 #else 753 824 xPredInterUni (pcCU, uiPartAddr, iWidth, iHeight, REF_PIC_LIST_0, pcYuvPred, iPartIdx, false ); 825 #endif 826 #endif 827 } 828 else 829 { 830 #if DEPTH_MAP_GENERATION 831 #if MERL_VSP_C0152 832 xPredInterBi (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, uiSubSampExpX, uiSubSampExpY, pcYuvPred, iPartIdx, bPrdDepthMap ); 833 #else 834 xPredInterBi (pcCU, uiPartAddr, iWidth, iHeight, uiSubSampExpX, uiSubSampExpY, pcYuvPred, iPartIdx, bPrdDepthMap ); 835 #endif 836 #else 837 #if MERL_VSP_C0152 838 xPredInterBi (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, pcYuvPred, iPartIdx ); 839 #else 840 xPredInterBi (pcCU, uiPartAddr, iWidth, iHeight, pcYuvPred, iPartIdx ); 754 841 #endif 755 } 756 else 757 { 842 #endif 843 } 844 } 845 } 846 return; 847 } 848 849 850 758 851 #if DEPTH_MAP_GENERATION 759 xPredInterBi (pcCU, uiPartAddr, iWidth, iHeight, uiSubSampExpX, uiSubSampExpY, pcYuvPred, iPartIdx, bPrdDepthMap ); 760 #else 761 xPredInterBi (pcCU, uiPartAddr, iWidth, iHeight, pcYuvPred, iPartIdx ); 762 #endif 763 } 764 } 765 } 766 return; 767 } 768 769 770 771 #if DEPTH_MAP_GENERATION 852 #if MERL_VSP_C0152 853 Void TComPrediction::xPredInterUni ( TComDataCU* pcCU, UInt uiPartAddr, UInt uiAbsPartIdx, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Int iPartIdx, Bool bPrdDepthMap, UInt uiSubSampExpX, UInt uiSubSampExpY, Bool bi ) 854 #else 772 855 Void TComPrediction::xPredInterUni ( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Int iPartIdx, Bool bPrdDepthMap, UInt uiSubSampExpX, UInt uiSubSampExpY, Bool bi ) 856 #endif 857 #else 858 #if MERL_VSP_C0152 859 Void TComPrediction::xPredInterUni ( TComDataCU* pcCU, UInt uiPartAddr, UInt uiAbsPartIdx, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Int iPartIdx, Bool bi ) 773 860 #else 774 861 Void TComPrediction::xPredInterUni ( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Int iPartIdx, Bool bi ) 775 862 #endif 776 { 863 #endif 864 { 865 #if MERL_VSP_C0152 866 Int iRefIdx = pcCU->getCUMvField( eRefPicList )->getRefIdx( uiPartAddr ); 867 Int vspIdx = pcCU->getVSPIndex(uiPartAddr); 868 if (vspIdx != 0) 869 { 870 if (iRefIdx >= 0) 871 { 872 printf("vspIdx = %d, iRefIdx = %d\n", vspIdx, iRefIdx); 873 } 874 assert (iRefIdx < 0); // assert (iRefIdx == NOT_VALID); 875 } 876 else 877 { 878 assert (iRefIdx >= 0); 879 } 880 #else 777 881 Int iRefIdx = pcCU->getCUMvField( eRefPicList )->getRefIdx( uiPartAddr ); assert (iRefIdx >= 0); 778 TComMv cMv = pcCU->getCUMvField( eRefPicList )->getMv( uiPartAddr ); 882 #endif 883 884 TComMv cMv = pcCU->getCUMvField( eRefPicList )->getMv( uiPartAddr ); 779 885 pcCU->clipMv(cMv); 780 886 … … 797 903 if( pcCU->getSlice()->getSPS()->isDepth() ) 798 904 { 799 UInt uiRShift = ( bi ? 14-g_uiBitDepth-g_uiBitIncrement : 0 ); 800 UInt uiOffset = bi ? IF_INTERNAL_OFFS : 0; 801 #if DEPTH_MAP_GENERATION 802 xPredInterPrdDepthMap( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, 0, 0, rpcYuvPred, uiRShift, uiOffset ); 803 #else 804 xPredInterPrdDepthMap( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, uiRShift, uiOffset ); 805 #endif 806 } 807 else 808 { 809 #endif 810 #if LGE_ILLUCOMP_B0045 811 Bool bICFlag = pcCU->getICFlag(uiPartAddr) && (pcCU->getSlice()->getRefViewId( eRefPicList, iRefIdx ) != pcCU->getSlice()->getViewId()); 812 813 xPredInterLumaBlk ( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi, bICFlag); 814 #else 815 xPredInterLumaBlk ( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi ); 816 #endif 817 #if HHI_FULL_PEL_DEPTH_MAP_MV_ACC 818 } 819 #endif 820 #if LGE_ILLUCOMP_B0045 821 Bool bICFlag = pcCU->getICFlag(uiPartAddr) && (pcCU->getSlice()->getRefViewId( eRefPicList, iRefIdx ) != pcCU->getSlice()->getViewId()); 822 823 xPredInterChromaBlk( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi, bICFlag ); 824 #else 825 xPredInterChromaBlk( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi ); 826 #endif 827 } 828 829 830 #if DEPTH_MAP_GENERATION 831 Void TComPrediction::xPredInterBi ( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, UInt uiSubSampExpX, UInt uiSubSampExpY, TComYuv*& rpcYuvPred, Int iPartIdx, Bool bPrdDepthMap ) 832 #else 833 Void TComPrediction::xPredInterBi ( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, TComYuv*& rpcYuvPred, Int iPartIdx ) 834 #endif 835 { 836 TComYuv* pcMbYuv; 837 Int iRefIdx[2] = {-1, -1}; 838 839 for ( Int iRefList = 0; iRefList < 2; iRefList++ ) 840 { 841 RefPicList eRefPicList = (iRefList ? REF_PIC_LIST_1 : REF_PIC_LIST_0); 842 iRefIdx[iRefList] = pcCU->getCUMvField( eRefPicList )->getRefIdx( uiPartAddr ); 843 844 if ( iRefIdx[iRefList] < 0 ) 845 { 846 continue; 847 } 848 849 assert( iRefIdx[iRefList] < pcCU->getSlice()->getNumRefIdx(eRefPicList) ); 850 851 pcMbYuv = &m_acYuvPred[iRefList]; 852 if( pcCU->getCUMvField( REF_PIC_LIST_0 )->getRefIdx( uiPartAddr ) >= 0 && pcCU->getCUMvField( REF_PIC_LIST_1 )->getRefIdx( uiPartAddr ) >= 0 ) 853 { 854 #if DEPTH_MAP_GENERATION 855 xPredInterUni ( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, true ); 856 #else 857 xPredInterUni ( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, true ); 858 #endif 859 } 860 else 861 { 862 if ( pcCU->getSlice()->getPPS()->getWPBiPredIdc() ) 863 { 864 #if DEPTH_MAP_GENERATION 865 xPredInterUni ( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, true ); 866 #else 867 xPredInterUni ( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, true ); 868 #endif 869 } 870 else 871 { 872 #if DEPTH_MAP_GENERATION 873 xPredInterUni ( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 874 #else 875 xPredInterUni ( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, false ); 876 #endif 877 } 878 } 879 } 880 881 if ( pcCU->getSlice()->getPPS()->getWPBiPredIdc() ) 882 { 883 xWeightedPredictionBi( pcCU, &m_acYuvPred[0], &m_acYuvPred[1], iRefIdx[0], iRefIdx[1], uiPartAddr, iWidth, iHeight, rpcYuvPred ); 884 } 885 else 886 { 887 #if DEPTH_MAP_GENERATION 888 if ( bPrdDepthMap ) 889 { 890 xWeightedAveragePdm( pcCU, &m_acYuvPred[0], &m_acYuvPred[1], iRefIdx[0], iRefIdx[1], uiPartAddr, iWidth, iHeight, rpcYuvPred, uiSubSampExpX, uiSubSampExpY ); 891 } 892 else 893 { 894 xWeightedAverage( pcCU, &m_acYuvPred[0], &m_acYuvPred[1], iRefIdx[0], iRefIdx[1], uiPartAddr, iWidth, iHeight, rpcYuvPred ); 895 } 896 #else 897 xWeightedAverage( pcCU, &m_acYuvPred[0], &m_acYuvPred[1], iRefIdx[0], iRefIdx[1], uiPartAddr, iWidth, iHeight, rpcYuvPred ); 898 #endif 899 } 900 } 901 902 #if MERL_VSP_C0152 903 #if DEPTH_MAP_GENERATION 904 Void TComPrediction::motionCompensationBWVSP( TComDataCU* pcCU, TComYuv* pcYuvPred, UInt uiAbsPartIdx, RefPicList eRefPicList, Int iPartIdx, Bool bPrdDepthMap, UInt uiSubSampExpX, UInt uiSubSampExpY ) 905 #else 906 Void TComPrediction::motionCompensationBWVSP ( TComDataCU* pcCU, TComYuv* pcYuvPred, UInt uiAbsPartIdx, RefPicList eRefPicList, Int iPartIdx ) 907 #endif 908 { 909 Int iWidth; 910 Int iHeight; 911 UInt uiPartAddr; 912 913 if ( iPartIdx >= 0 ) 914 { 915 pcCU->getPartIndexAndSize( iPartIdx, uiPartAddr, iWidth, iHeight ); 916 917 #if DEPTH_MAP_GENERATION 918 if( bPrdDepthMap ) 919 { 920 iWidth >>= uiSubSampExpX; 921 iHeight >>= uiSubSampExpY; 922 } 923 #endif 924 925 if ( eRefPicList != REF_PIC_LIST_X ) 926 { 927 #if LGE_ILLUCOMP_B0045 928 if( pcCU->getSlice()->getPPS()->getUseWP() && !pcCU->getICFlag(uiPartAddr)) 929 #else 930 if( pcCU->getSlice()->getPPS()->getUseWP()) 931 #endif 932 { 933 #if DEPTH_MAP_GENERATION 934 xPredInterUniBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr , iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, true ); 935 #else 936 xPredInterUniBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr , iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, true ); 937 #endif 938 } 939 else 940 { 941 #if DEPTH_MAP_GENERATION 942 xPredInterUniBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr , iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 943 #else 944 xPredInterUniBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, false ); 945 #endif 946 } 947 #if LGE_ILLUCOMP_B0045 948 if( pcCU->getSlice()->getPPS()->getUseWP() && !pcCU->getICFlag(uiPartAddr)) 949 #else 950 if( pcCU->getSlice()->getPPS()->getUseWP()) 951 #endif 952 { 953 xWeightedPredictionUni( pcCU, pcYuvPred, uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx ); 954 } 955 } 956 else 957 { 958 #if DEPTH_MAP_GENERATION 959 if( xCheckIdenticalMotion( pcCU, uiPartAddr ) && !bPrdDepthMap ) 960 #else 961 if ( xCheckIdenticalMotion( pcCU, uiPartAddr ) ) 962 #endif 963 { 964 #if DEPTH_MAP_GENERATION 965 xPredInterUniBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr , iWidth, iHeight, REF_PIC_LIST_0, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 966 #else 967 xPredInterUniBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr , iWidth, iHeight, REF_PIC_LIST_0, pcYuvPred, iPartIdx, false ); 968 #endif 969 } 970 else 971 { 972 #if DEPTH_MAP_GENERATION 973 xPredInterBiBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr , iWidth, iHeight, uiSubSampExpX, uiSubSampExpY, pcYuvPred, iPartIdx, bPrdDepthMap ); 974 #else 975 xPredInterBiBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr , iWidth, iHeight, pcYuvPred, iPartIdx ); 976 #endif 977 } 978 } 979 return; 980 } 981 982 for ( iPartIdx = 0; iPartIdx < pcCU->getNumPartInter(); iPartIdx++ ) 983 { 984 pcCU->getPartIndexAndSize( iPartIdx, uiPartAddr, iWidth, iHeight ); 985 986 #if DEPTH_MAP_GENERATION 987 if( bPrdDepthMap ) 988 { 989 iWidth >>= uiSubSampExpX; 990 iHeight >>= uiSubSampExpY; 991 } 992 #endif 993 994 if ( eRefPicList != REF_PIC_LIST_X ) 995 { 996 #if LGE_ILLUCOMP_B0045 997 if( pcCU->getSlice()->getPPS()->getUseWP() && !pcCU->getICFlag(uiPartAddr)) 998 #else 999 if( pcCU->getSlice()->getPPS()->getUseWP()) 1000 #endif 1001 { 1002 #if DEPTH_MAP_GENERATION 1003 xPredInterUniBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr , iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, true ); 1004 #else 1005 xPredInterUniBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, true ); 1006 #endif 1007 } 1008 else 1009 { 1010 #if DEPTH_MAP_GENERATION 1011 xPredInterUniBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 1012 #else 1013 xPredInterUniBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, false ); 1014 #endif 1015 } 1016 #if DEPTH_MAP_GENERATION 1017 xPredInterUniBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 1018 #else 1019 xPredInterUniBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx, false ); 1020 #endif 1021 #if LGE_ILLUCOMP_B0045 1022 if( pcCU->getSlice()->getPPS()->getUseWP() && !pcCU->getICFlag(uiPartAddr)) 1023 #else 1024 if( pcCU->getSlice()->getPPS()->getUseWP()) 1025 #endif 1026 { 1027 xWeightedPredictionUni( pcCU, pcYuvPred, uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, iPartIdx ); 1028 } 1029 } 1030 else 1031 { 1032 if ( xCheckIdenticalMotion( pcCU, uiPartAddr ) ) 1033 { 1034 #if DEPTH_MAP_GENERATION 1035 xPredInterUniBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, REF_PIC_LIST_0, pcYuvPred, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 1036 #else 1037 xPredInterUniBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, REF_PIC_LIST_0, pcYuvPred, iPartIdx, false ); 1038 #endif 1039 } 1040 else 1041 { 1042 #if DEPTH_MAP_GENERATION 1043 xPredInterBiBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, uiSubSampExpX, uiSubSampExpY, pcYuvPred, iPartIdx, bPrdDepthMap ); 1044 #else 1045 xPredInterBiBWVSP (pcCU, uiPartAddr, uiAbsPartIdx+uiPartAddr, iWidth, iHeight, pcYuvPred, iPartIdx ); 1046 #endif 1047 } 1048 } 1049 } 1050 1051 return; 1052 } 1053 1054 1055 // Output: rpcYuvPred 1056 #if DEPTH_MAP_GENERATION 1057 Void TComPrediction::xPredInterUniBWVSP ( TComDataCU* pcCU, UInt uiPartAddr, UInt uiAbsPartIdx, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Int iPartIdx, Bool bPrdDepthMap, UInt uiSubSampExpX, UInt uiSubSampExpY, Bool bi ) 1058 #else 1059 Void TComPrediction::xPredInterUniBWVSP ( TComDataCU* pcCU, UInt uiPartAddr, UInt uiAbsPartIdx, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Int iPartIdx, Bool bi ) 1060 #endif 1061 { 1062 Int iRefIdx = pcCU->getCUMvField( eRefPicList )->getRefIdx( uiPartAddr ); 1063 Int vspIdx = pcCU->getVSPIndex(uiPartAddr); 1064 if (vspIdx != 0) 1065 { 1066 if (iRefIdx >= 0) 1067 { 1068 printf("vspIdx = %d, iRefIdx = %d\n", vspIdx, iRefIdx); 1069 } 1070 assert (iRefIdx < 0); // assert (iRefIdx == NOT_VALID); 1071 } 1072 else 1073 { 1074 assert (iRefIdx >= 0); 1075 } 1076 1077 TComMv cMv = pcCU->getCUMvField( eRefPicList )->getMv( uiPartAddr ); 1078 pcCU->clipMv(cMv); 1079 1080 #if DEPTH_MAP_GENERATION 1081 if( bPrdDepthMap ) 1082 { 1083 UInt uiRShift = 0; 1084 #if PDM_REMOVE_DEPENDENCE 1085 if( pcCU->getPic()->getStoredPDMforV2() == 1 ) 1086 xPredInterPrdDepthMap( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPredDepthMapTemp(), uiPartAddr, &cMv, iWidth, iHeight, uiSubSampExpX, uiSubSampExpY, rpcYuvPred, uiRShift, 0 ); 1087 else 1088 #endif 1089 xPredInterPrdDepthMap( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPredDepthMap(), uiPartAddr, &cMv, iWidth, iHeight, uiSubSampExpX, uiSubSampExpY, rpcYuvPred, uiRShift, 0 ); 1090 1091 return; 1092 } 1093 #endif 1094 1095 #if HHI_FULL_PEL_DEPTH_MAP_MV_ACC 1096 if( pcCU->getSlice()->getSPS()->isDepth() ) 1097 { 905 #if MERL_VSP_C0152 1098 906 if (vspIdx != 0) 1099 907 { // depth, vsp … … 1116 924 } 1117 925 else 1118 { // depth, non-vsp 926 { 927 #endif 1119 928 UInt uiRShift = ( bi ? 14-g_uiBitDepth-g_uiBitIncrement : 0 ); 1120 929 UInt uiOffset = bi ? IF_INTERNAL_OFFS : 0; … … 1124 933 xPredInterPrdDepthMap( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, uiRShift, uiOffset ); 1125 934 #endif 1126 1127 xPredInterChromaBlk( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi ); 1128 } 1129 } 1130 else // texture 1131 { 1132 #endif 1133 if ( vspIdx != 0 && !pcCU->getSlice()->getSPS()->isDepth()) 935 #if MERL_VSP_C0152 936 } 937 #endif// MERL_VSP_C0152 //else 938 } 939 else 940 { 941 #endif 942 #if MERL_VSP_C0152 943 if ( vspIdx != 0 ) 1134 944 { // texture, vsp 1135 945 TComPic* pRefPicBaseTxt = pcCU->getSlice()->getRefPicBaseTxt(); … … 1152 962 xPredInterChromaBlkFromDM( pcBaseViewTxtPicYuv, pcBaseViewDepthPicYuv, pShiftLUT, iShiftPrec, &cMv, uiPartAddr, iBlkX>>1, iBlkY>>1, iWidth>>1, iHeight>>1, pcCU->getSlice()->getSPS()->isDepth(), vspIdx, rpcYuvPred ); 1153 963 } 1154 else 1155 { // texture, non-vsp 964 else//texture not VSP 965 { 966 #endif //MERL_VSP_C0152 1156 967 #if LGE_ILLUCOMP_B0045 1157 968 Bool bICFlag = pcCU->getICFlag(uiPartAddr) && (pcCU->getSlice()->getRefViewId( eRefPicList, iRefIdx ) != pcCU->getSlice()->getViewId()); 1158 969 1159 970 xPredInterLumaBlk ( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi, bICFlag); 1160 xPredInterChromaBlk( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi, bICFlag );1161 971 #else 1162 972 xPredInterLumaBlk ( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi ); 1163 xPredInterChromaBlk( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi ); 1164 #endif 1165 } 973 #endif 974 #if MERL_VSP_C0152 975 } //texture not VSP 976 #endif 1166 977 #if HHI_FULL_PEL_DEPTH_MAP_MV_ACC 1167 978 } 1168 979 #endif 980 981 #if MERL_VSP_C0152 982 if ( vspIdx == 0 )//Not VSP 983 { 984 #endif 985 #if LGE_ILLUCOMP_B0045 986 Bool bICFlag = pcCU->getICFlag(uiPartAddr) && (pcCU->getSlice()->getRefViewId( eRefPicList, iRefIdx ) != pcCU->getSlice()->getViewId()); 987 988 xPredInterChromaBlk( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi, bICFlag ); 989 #else 990 xPredInterChromaBlk( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi ); 991 #endif 992 #if MERL_VSP_C0152 993 } 994 #endif 1169 995 } 1170 996 1171 997 1172 998 #if DEPTH_MAP_GENERATION 1173 Void TComPrediction::xPredInterBiBWVSP ( TComDataCU* pcCU, UInt uiPartAddr, UInt uiAbsPartIdx, Int iWidth, Int iHeight, UInt uiSubSampExpX, UInt uiSubSampExpY, TComYuv*& rpcYuvPred, Int iPartIdx, Bool bPrdDepthMap ) 1174 #else 1175 Void TComPrediction::xPredInterBiSDM ( TComDataCU* pcCU, UInt uiPartAddr, UInt uiAbsPartIdx, Int iWidth, Int iHeight, TComYuv*& rpcYuvPred, Int iPartIdx ) 999 #if MERL_VSP_C0152 1000 Void TComPrediction::xPredInterBi ( TComDataCU* pcCU, UInt uiPartAddr, UInt uiAbsPartIdx, Int iWidth, Int iHeight, UInt uiSubSampExpX, UInt uiSubSampExpY, TComYuv*& rpcYuvPred, Int iPartIdx, Bool bPrdDepthMap ) 1001 #else 1002 Void TComPrediction::xPredInterBi ( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, UInt uiSubSampExpX, UInt uiSubSampExpY, TComYuv*& rpcYuvPred, Int iPartIdx, Bool bPrdDepthMap ) 1003 #endif 1004 #else 1005 #if MERL_VSP_C0152 1006 Void TComPrediction::xPredInterBi ( TComDataCU* pcCU, UInt uiPartAddr, UInt uiAbsPartIdx, Int iWidth, Int iHeight, TComYuv*& rpcYuvPred, Int iPartIdx ) 1007 #else 1008 Void TComPrediction::xPredInterBi ( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, TComYuv*& rpcYuvPred, Int iPartIdx ) 1009 #endif 1176 1010 #endif 1177 1011 { … … 1183 1017 RefPicList eRefPicList = (iRefList ? REF_PIC_LIST_1 : REF_PIC_LIST_0); 1184 1018 iRefIdx[iRefList] = pcCU->getCUMvField( eRefPicList )->getRefIdx( uiPartAddr ); 1019 1185 1020 #if MERL_VSP_C0152 1186 1021 if(!pcCU->getVSPIndex(uiPartAddr)) … … 1204 1039 } 1205 1040 #endif 1041 1206 1042 assert( iRefIdx[iRefList] < pcCU->getSlice()->getNumRefIdx(eRefPicList) ); 1207 1043 … … 1210 1046 { 1211 1047 #if DEPTH_MAP_GENERATION 1212 xPredInterUniBWVSP ( pcCU, uiPartAddr, uiAbsPartIdx, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, true ); 1213 #else 1214 xPredInterUniBWVSP ( pcCU, uiPartAddr, uiAbsPartIdx, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, true ); 1048 #if MERL_VSP_C0152 1049 xPredInterUni ( pcCU, uiPartAddr, uiAbsPartIdx, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, true ); 1050 #else 1051 xPredInterUni ( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, true ); 1052 #endif 1053 #else 1054 #if MERL_VSP_C0152 1055 xPredInterUni ( pcCU, uiPartAddr, uiAbsPartIdx, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, true ); 1056 #else 1057 xPredInterUni ( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, true ); 1058 #endif 1215 1059 #endif 1216 1060 } … … 1220 1064 { 1221 1065 #if DEPTH_MAP_GENERATION 1222 xPredInterUniBWVSP ( pcCU, uiPartAddr, uiAbsPartIdx, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, true ); 1223 #else 1224 xPredInterUniBWVSP ( pcCU, uiPartAddr, uiAbsPartIdx, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, true ); 1066 #if MERL_VSP_C0152 1067 xPredInterUni ( pcCU, uiPartAddr, uiAbsPartIdx, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, true ); 1068 #else 1069 xPredInterUni ( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, true ); 1070 #endif 1071 #else 1072 #if MERL_VSP_C0152 1073 xPredInterUni ( pcCU, uiPartAddr, uiAbsPartIdx, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, true ); 1074 #else 1075 xPredInterUni ( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, true ); 1076 #endif 1225 1077 #endif 1226 1078 } … … 1228 1080 { 1229 1081 #if DEPTH_MAP_GENERATION 1230 xPredInterUniBWVSP ( pcCU, uiPartAddr, uiAbsPartIdx, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 1231 #else 1232 xPredInterUniBWVSP ( pcCU, uiPartAddr, uiAbsPartIdx, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, false ); 1082 #if MERL_VSP_C0152 1083 xPredInterUni ( pcCU, uiPartAddr, uiAbsPartIdx, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 1084 #else 1085 xPredInterUni ( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, bPrdDepthMap, uiSubSampExpX, uiSubSampExpY, false ); 1086 #endif 1087 #else 1088 #if MERL_VSP_C0152 1089 xPredInterUni ( pcCU, uiPartAddr, uiAbsPartIdx, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, false ); 1090 #else 1091 xPredInterUni ( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcMbYuv, iPartIdx, false ); 1092 #endif 1233 1093 #endif 1234 1094 } … … 1266 1126 } 1267 1127 } 1268 #endif 1128 1129 1269 1130 1270 1131 Void -
branches/HTM-5.1-dev3-CleanUp/source/Lib/TLibCommon/TComPrediction.h
r231 r275 87 87 // motion compensation functions 88 88 #if DEPTH_MAP_GENERATION 89 #if MERL_VSP_C0152 90 Void xPredInterUni ( TComDataCU* pcCU, UInt uiPartAddr, UInt uiAbsPartIdx, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Int iPartIdx, Bool bPrdDepthMap, UInt uiSubSampExpX = 0, UInt uiSubSampExpY = 0, Bool bi=false ); 91 #else 89 92 Void xPredInterUni ( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Int iPartIdx, Bool bPrdDepthMap, UInt uiSubSampExpX = 0, UInt uiSubSampExpY = 0, Bool bi=false ); 93 #endif 94 #else 95 #if MERL_VSP_C0152 96 Void xPredInterUni ( TComDataCU* pcCU, UInt uiPartAddr, UInt uiAbsPartIdx, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Int iPartIdx, Bool bi=false ); 90 97 #else 91 98 Void xPredInterUni ( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Int iPartIdx, Bool bi=false ); 92 99 #endif 93 94 #if DEPTH_MAP_GENERATION 100 #endif 101 102 #if DEPTH_MAP_GENERATION 103 #if MERL_VSP_C0152 104 Void xPredInterBi ( TComDataCU* pcCU, UInt uiPartAddr, UInt uiAbsPartIdx, Int iWidth, Int iHeight, UInt uiSubSampExpX, UInt uiSubSampExpY, TComYuv*& rpcYuvPred, Int iPartIdx, Bool bPrdDepthMap ); 105 #else 95 106 Void xPredInterBi ( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, UInt uiSubSampExpX, UInt uiSubSampExpY, TComYuv*& rpcYuvPred, Int iPartIdx, Bool bPrdDepthMap ); 107 #endif 96 108 Void xPredInterPrdDepthMap ( TComDataCU* pcCU, TComPicYuv* pcPicYuvRef, UInt uiPartAddr, TComMv* pcMv, Int iWidth, Int iHeight, UInt uiSubSampExpX, UInt uiSubSampExpY, TComYuv*& rpcYuv, UInt uiRShift, UInt uiOffset ); 97 109 #else 110 #if MERL_VSP_C0152 111 Void xPredInterBi ( TComDataCU* pcCU, UInt uiPartAddr, UInt uiAbsPartIdx, Int iWidth, Int iHeight, TComYuv*& rpcYuvPred, Int iPartIdx ); 112 #else 98 113 Void xPredInterBi ( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, TComYuv*& rpcYuvPred, Int iPartIdx ); 114 #endif 99 115 Void xPredInterPrdDepthMap ( TComDataCU* pcCU, TComPicYuv* pcPicYuvRef, UInt uiPartAddr, TComMv* pcMv, Int iWidth, Int iHeight, TComYuv*& rpcYuv, UInt uiRShift, UInt uiOffset ); 100 116 #endif … … 160 176 // inter 161 177 #if DEPTH_MAP_GENERATION 178 #if MERL_VSP_C0152 179 Void motionCompensation ( TComDataCU* pcCU, TComYuv* pcYuvPred, UInt uiAbsPartIdx, RefPicList eRefPicList = REF_PIC_LIST_X, Int iPartIdx = -1, Bool bPrdDepthMap = false, UInt uiSubSampExpX = 0, UInt uiSubSampExpY = 0 ); 180 #else 162 181 Void motionCompensation ( TComDataCU* pcCU, TComYuv* pcYuvPred, RefPicList eRefPicList = REF_PIC_LIST_X, Int iPartIdx = -1, Bool bPrdDepthMap = false, UInt uiSubSampExpX = 0, UInt uiSubSampExpY = 0 ); 182 #endif 183 #else 184 #if MERL_VSP_C0152 185 Void motionCompensation ( TComDataCU* pcCU, TComYuv* pcYuvPred, UInt uiAbsPartIdx,, RefPicList eRefPicList = REF_PIC_LIST_X, Int iPartIdx = -1 ); 163 186 #else 164 187 Void motionCompensation ( TComDataCU* pcCU, TComYuv* pcYuvPred, RefPicList eRefPicList = REF_PIC_LIST_X, Int iPartIdx = -1 ); 165 188 #endif 166 167 #if MERL_VSP_C0152 168 Void motionCompensationBWVSP ( TComDataCU* pcCU, TComYuv* pcYuvPred, UInt uiAbsPartIdx, RefPicList eRefPicList = REF_PIC_LIST_X, Int iPartIdx = -1, Bool bPrdDepthMap = false, UInt uiSubSampExpX = 0, UInt uiSubSampExpY = 0 ); 169 #endif 189 #endif 190 170 191 171 192 // motion vector prediction -
branches/HTM-5.1-dev3-CleanUp/source/Lib/TLibDecoder/TDecCu.cpp
r231 r275 688 688 // inter prediction 689 689 #if MERL_VSP_C0152 690 m_pcPrediction->motionCompensation BWVSP( pcCU, m_ppcYuvReco[uiDepth], uiAbsPartIdx );690 m_pcPrediction->motionCompensation( pcCU, m_ppcYuvReco[uiDepth], uiAbsPartIdx ); 691 691 #else 692 692 m_pcPrediction->motionCompensation( pcCU, m_ppcYuvReco[uiDepth] ); -
branches/HTM-5.1-dev3-CleanUp/source/Lib/TLibEncoder/TEncCu.cpp
r231 r275 1973 1973 { 1974 1974 #if MERL_VSP_C0152 1975 m_pcPredSearch->motionCompensation BWVSP( rpcTempCU, m_ppcPredYuvTemp[uhDepth], rpcTempCU->getZorderIdxInCU() );1975 m_pcPredSearch->motionCompensation ( rpcTempCU, m_ppcPredYuvTemp[uhDepth], rpcTempCU->getZorderIdxInCU() ); 1976 1976 #else 1977 1977 m_pcPredSearch->motionCompensation ( rpcTempCU, m_ppcPredYuvTemp[uhDepth] ); … … 1987 1987 { 1988 1988 #if MERL_VSP_C0152 1989 m_pcPredSearch->motionCompensation BWVSP( rpcTempCU, m_ppcPredYuvTemp[uhDepth], rpcTempCU->getZorderIdxInCU() );1989 m_pcPredSearch->motionCompensation( rpcTempCU, m_ppcPredYuvTemp[uhDepth], rpcTempCU->getZorderIdxInCU() ); 1990 1990 #else 1991 1991 m_pcPredSearch->motionCompensation ( rpcTempCU, m_ppcPredYuvTemp[uhDepth] ); … … 2824 2824 rpcTempCU->setPredModeSubParts( bSkipResidual ? MODE_SKIP : MODE_INTER, 0, uhDepth ); 2825 2825 #if MERL_VSP_C0152 2826 m_pcPredSearch->motionCompensation BWVSP( rpcTempCU, m_ppcPredYuvTemp[uhDepth], rpcTempCU->getZorderIdxInCU() );2826 m_pcPredSearch->motionCompensation( rpcTempCU, m_ppcPredYuvTemp[uhDepth], rpcTempCU->getZorderIdxInCU() ); 2827 2827 #else 2828 2828 m_pcPredSearch->motionCompensation( rpcTempCU, m_ppcPredYuvTemp[uhDepth] ); -
branches/HTM-5.1-dev3-CleanUp/source/Lib/TLibEncoder/TEncSearch.cpp
r231 r275 2906 2906 pcCU->getPartIndexAndSize( iPartIdx, uiAbsPartIdx, iWidth, iHeight ); 2907 2907 #if MERL_VSP_C0152 2908 motionCompensation BWVSP( pcCU, &m_tmpYuvPred, pcCU->getZorderIdxInCU(), REF_PIC_LIST_X, iPartIdx );2908 motionCompensation( pcCU, &m_tmpYuvPred, pcCU->getZorderIdxInCU(), REF_PIC_LIST_X, iPartIdx ); 2909 2909 #endif 2910 2910 DistParam cDistParam; … … 3414 3414 { 3415 3415 TComYuv* pcYuvPred = &m_acYuvPred[iRefList]; 3416 #if MERL_VSP_C0152 3417 motionCompensation ( pcCU, pcYuvPred, pcCU->getZorderIdxInCU(), eRefPicList, iPartIdx ); 3418 #else 3416 3419 motionCompensation ( pcCU, pcYuvPred, eRefPicList, iPartIdx ); 3420 #endif 3417 3421 } 3418 3422 if ( (pcCU->getSlice()->getNoBackPredFlag() || (pcCU->getSlice()->getNumRefIdx(REF_PIC_LIST_C) > 0 && pcCU->getSlice()->getRefIdxOfL0FromRefIdxOfL1(0)==0 )) && eRefPicList == REF_PIC_LIST_0 ) 3419 3423 { 3420 3424 TComYuv* pcYuvPred = &m_acYuvPred[iRefList]; 3425 #if MERL_VSP_C0152 3426 motionCompensation ( pcCU, pcYuvPred, pcCU->getZorderIdxInCU(), eRefPicList, iPartIdx ); 3427 #else 3421 3428 motionCompensation ( pcCU, pcYuvPred, eRefPicList, iPartIdx ); 3429 #endif 3422 3430 } 3423 3431 #if H0111_MVD_L1_ZERO … … 3460 3468 pcCU->getCUMvField( REF_PIC_LIST_1 )->setAllRefIdx( iRefIdxBi[1], ePartSize, uiPartAddr, 0, iPartIdx ); 3461 3469 TComYuv* pcYuvPred = &m_acYuvPred[1]; 3470 #if MERL_VSP_C0152 3471 motionCompensation( pcCU, pcYuvPred, pcCU->getZorderIdxInCU(), REF_PIC_LIST_1, iPartIdx ); 3472 #else 3462 3473 motionCompensation( pcCU, pcYuvPred, REF_PIC_LIST_1, iPartIdx ); 3463 3474 #endif 3464 3475 uiMotBits[0] = uiBits[0] - uiMbBits[0]; 3465 3476 uiMotBits[1] = uiMbBits[1]; … … 3600 3611 3601 3612 TComYuv* pcYuvPred = &m_acYuvPred[iRefList]; 3613 #if MERL_VSP_C0152 3614 motionCompensation( pcCU, pcYuvPred, pcCU->getZorderIdxInCU(), REF_PIC_LIST_1, iPartIdx ); 3615 #else 3602 3616 motionCompensation( pcCU, pcYuvPred, eRefPicList, iPartIdx ); 3617 #endif 3603 3618 #if H0111_MVD_L1_ZERO 3604 3619 } … … 3941 3956 // MC 3942 3957 #if MERL_VSP_C0152 3943 motionCompensation BWVSP( pcCU, rpcPredYuv, pcCU->getZorderIdxInCU(), REF_PIC_LIST_X, iPartIdx);3958 motionCompensation ( pcCU, rpcPredYuv, pcCU->getZorderIdxInCU(), REF_PIC_LIST_X, iPartIdx); 3944 3959 #else 3945 3960 motionCompensation ( pcCU, rpcPredYuv, REF_PIC_LIST_X, iPartIdx );
Note: See TracChangeset for help on using the changeset viewer.