Changeset 133 in 3DVCSoftware for branches/HTM-4.0-dev0/source/Lib
- Timestamp:
- 13 Sep 2012, 13:55:57 (12 years ago)
- Location:
- branches/HTM-4.0-dev0/source/Lib
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-4.0-dev0/source/Lib/TLibCommon/TComYuv.cpp
r100 r133 711 711 getPUXYOffset(uhPartitionSize, uiPartSize, uiPartSize, iXOffset, iYOffset); 712 712 713 for ( y = uiPartSize-1; y >= iYOffset; y-- ) 714 { 715 if(iPUResiPredShift[3] >= 0) 716 { 717 for ( x = uiPartSize-1; x >= iXOffset; x-- ) 718 { 719 pDst[x] = pSrc0[x] - (pSrc1[x] >> iPUResiPredShift[3]); 720 } 721 } 722 723 if(iPUResiPredShift[2] >= 0) 724 { 725 for ( x = iXOffset-1; x >= 0; x-- ) 726 { 727 pDst[x] = pSrc0[x] - (pSrc1[x] >> iPUResiPredShift[2]); 713 #if FIX_LG_RESTRICTEDRESPRED_M24766 714 for ( y = 0; y < iYOffset; y++ ) 715 { 716 if(iPUResiPredShift[0] >= 0) 717 { 718 for ( x = 0; x < iXOffset; x++ ) 719 { 720 pDst[x] = pSrc0[x] - (pSrc1[x] >> iPUResiPredShift[0]); 721 } 722 } 723 724 if(iPUResiPredShift[1] >= 0) 725 { 726 for ( x = iXOffset; x < uiPartSize; x++ ) 727 { 728 pDst[x] = pSrc0[x] - (pSrc1[x] >> iPUResiPredShift[1]); 728 729 } 729 730 } … … 733 734 } 734 735 735 for ( y = iYOffset-1; y >= 0; y-- ) 736 { 737 if(iPUResiPredShift[1] >= 0) 738 { 739 for ( x = uiPartSize-1; x >= iXOffset; x-- ) 736 for ( y = iYOffset; y < uiPartSize; y++ ) 737 { 738 if(iPUResiPredShift[2] >= 0) 739 { 740 for ( x = 0; x < iXOffset; x++ ) 741 { 742 pDst[x] = pSrc0[x] - (pSrc1[x] >> iPUResiPredShift[2]); 743 } 744 } 745 746 if(iPUResiPredShift[3] >= 0) 747 { 748 for ( x = iXOffset; x < uiPartSize; x++ ) 740 749 { 741 750 pDst[x] = pSrc0[x] - (pSrc1[x] >> iPUResiPredShift[3]); 742 }743 }744 745 if(iPUResiPredShift[0] >= 0)746 {747 for ( x = iXOffset-1; x >= 0; x-- )748 {749 pDst[x] = pSrc0[x] - (pSrc1[x] >> iPUResiPredShift[2]);750 751 } 751 752 } … … 754 755 pDst += iDstStride; 755 756 } 756 757 #else 758 for ( y = uiPartSize-1; y >= iYOffset; y-- ) 759 { 760 if(iPUResiPredShift[3] >= 0) 761 { 762 for ( x = uiPartSize-1; x >= iXOffset; x-- ) 763 { 764 pDst[x] = pSrc0[x] - (pSrc1[x] >> iPUResiPredShift[3]); 765 } 766 } 767 768 if(iPUResiPredShift[2] >= 0) 769 { 770 for ( x = iXOffset-1; x >= 0; x-- ) 771 { 772 pDst[x] = pSrc0[x] - (pSrc1[x] >> iPUResiPredShift[2]); 773 } 774 } 775 pSrc0 += iSrc0Stride; 776 pSrc1 += iSrc1Stride; 777 pDst += iDstStride; 778 } 779 780 for ( y = iYOffset-1; y >= 0; y-- ) 781 { 782 if(iPUResiPredShift[1] >= 0) 783 { 784 for ( x = uiPartSize-1; x >= iXOffset; x-- ) 785 { 786 pDst[x] = pSrc0[x] - (pSrc1[x] >> iPUResiPredShift[3]); 787 } 788 } 789 790 if(iPUResiPredShift[0] >= 0) 791 { 792 for ( x = iXOffset-1; x >= 0; x-- ) 793 { 794 pDst[x] = pSrc0[x] - (pSrc1[x] >> iPUResiPredShift[2]); 795 } 796 } 797 pSrc0 += iSrc0Stride; 798 pSrc1 += iSrc1Stride; 799 pDst += iDstStride; 800 } 801 #endif 757 802 #else 758 803 for ( y = uiPartSize-1; y >= 0; y-- ) … … 792 837 getPUXYOffset(uhPartitionSize, uiPartSize, uiPartSize, iXOffset, iYOffset); 793 838 794 for ( y = uiPartSize-1; y >= iYOffset; y-- ) 795 { 796 if(iPUResiPredShift[3] >= 0) 797 { 798 for ( x = uiPartSize-1; x >= iXOffset; x-- ) 799 { 800 pDstU[x] = pSrcU0[x] - (pSrcU1[x]>>iPUResiPredShift[3]); 801 pDstV[x] = pSrcV0[x] - (pSrcV1[x]>>iPUResiPredShift[3]); 802 } 803 } 804 805 if(iPUResiPredShift[2] >= 0) 806 { 807 for ( x = iXOffset-1; x >= 0; x-- ) 808 { 809 pDstU[x] = pSrcU0[x] - (pSrcU1[x]>>iPUResiPredShift[2]); 810 pDstV[x] = pSrcV0[x] - (pSrcV1[x]>>iPUResiPredShift[2]); 839 #if FIX_LG_RESTRICTEDRESPRED_M24766 840 for ( y = 0; y < iYOffset; y++ ) 841 { 842 if(iPUResiPredShift[0] >= 0) 843 { 844 for ( x = 0; x < iXOffset; x++ ) 845 { 846 pDstU[x] = pSrcU0[x] - (pSrcU1[x]>>iPUResiPredShift[0]); 847 pDstV[x] = pSrcV0[x] - (pSrcV1[x]>>iPUResiPredShift[0]); 848 } 849 } 850 851 if(iPUResiPredShift[1] >= 0) 852 { 853 for ( x = iXOffset; x < uiPartSize; x++ ) 854 { 855 pDstU[x] = pSrcU0[x] - (pSrcU1[x]>>iPUResiPredShift[1]); 856 pDstV[x] = pSrcV0[x] - (pSrcV1[x]>>iPUResiPredShift[1]); 811 857 } 812 858 } … … 819 865 } 820 866 821 for ( y = iYOffset -1; y >= 0; y--)822 { 823 if(iPUResiPredShift[ 1] >= 0)824 { 825 for ( x = uiPartSize-1; x >= iXOffset; x--)826 { 827 pDstU[x] = pSrcU0[x] - (pSrcU1[x]>>iPUResiPredShift[ 1]);828 pDstV[x] = pSrcV0[x] - (pSrcV1[x]>>iPUResiPredShift[ 1]);829 } 830 } 831 832 if(iPUResiPredShift[ 0] >= 0)833 { 834 for ( x = iXOffset -1; x >= 0; x--)835 { 836 pDstU[x] = pSrcU0[x] - (pSrcU1[x]>>iPUResiPredShift[ 0]);837 pDstV[x] = pSrcV0[x] - (pSrcV1[x]>>iPUResiPredShift[ 0]);867 for ( y = iYOffset; y < uiPartSize; y++ ) 868 { 869 if(iPUResiPredShift[2] >= 0) 870 { 871 for ( x = 0; x < iXOffset; x++ ) 872 { 873 pDstU[x] = pSrcU0[x] - (pSrcU1[x]>>iPUResiPredShift[2]); 874 pDstV[x] = pSrcV0[x] - (pSrcV1[x]>>iPUResiPredShift[2]); 875 } 876 } 877 878 if(iPUResiPredShift[3] >= 0) 879 { 880 for ( x = iXOffset; x < uiPartSize; x++ ) 881 { 882 pDstU[x] = pSrcU0[x] - (pSrcU1[x]>>iPUResiPredShift[3]); 883 pDstV[x] = pSrcV0[x] - (pSrcV1[x]>>iPUResiPredShift[3]); 838 884 } 839 885 } … … 845 891 pDstV += iDstStride; 846 892 } 893 #else 894 for ( y = uiPartSize-1; y >= iYOffset; y-- ) 895 { 896 if(iPUResiPredShift[3] >= 0) 897 { 898 for ( x = uiPartSize-1; x >= iXOffset; x-- ) 899 { 900 pDstU[x] = pSrcU0[x] - (pSrcU1[x]>>iPUResiPredShift[3]); 901 pDstV[x] = pSrcV0[x] - (pSrcV1[x]>>iPUResiPredShift[3]); 902 } 903 } 904 905 if(iPUResiPredShift[2] >= 0) 906 { 907 for ( x = iXOffset-1; x >= 0; x-- ) 908 { 909 pDstU[x] = pSrcU0[x] - (pSrcU1[x]>>iPUResiPredShift[2]); 910 pDstV[x] = pSrcV0[x] - (pSrcV1[x]>>iPUResiPredShift[2]); 911 } 912 } 913 pSrcU0 += iSrc0Stride; 914 pSrcU1 += iSrc1Stride; 915 pSrcV0 += iSrc0Stride; 916 pSrcV1 += iSrc1Stride; 917 pDstU += iDstStride; 918 pDstV += iDstStride; 919 } 920 921 for ( y = iYOffset-1; y >= 0; y-- ) 922 { 923 if(iPUResiPredShift[1] >= 0) 924 { 925 for ( x = uiPartSize-1; x >= iXOffset; x-- ) 926 { 927 pDstU[x] = pSrcU0[x] - (pSrcU1[x]>>iPUResiPredShift[1]); 928 pDstV[x] = pSrcV0[x] - (pSrcV1[x]>>iPUResiPredShift[1]); 929 } 930 } 931 932 if(iPUResiPredShift[0] >= 0) 933 { 934 for ( x = iXOffset-1; x >= 0; x-- ) 935 { 936 pDstU[x] = pSrcU0[x] - (pSrcU1[x]>>iPUResiPredShift[0]); 937 pDstV[x] = pSrcV0[x] - (pSrcV1[x]>>iPUResiPredShift[0]); 938 } 939 } 940 pSrcU0 += iSrc0Stride; 941 pSrcU1 += iSrc1Stride; 942 pSrcV0 += iSrc0Stride; 943 pSrcV1 += iSrc1Stride; 944 pDstU += iDstStride; 945 pDstV += iDstStride; 946 } 947 #endif 847 948 #else 848 949 for ( y = uiPartSize-1; y >= 0; y-- ) -
branches/HTM-4.0-dev0/source/Lib/TLibCommon/TypeDef.h
r105 r133 47 47 #define FIX_INIT_ROM 1 48 48 #define FIX_VIRT_DESTRUCTOR 1 49 #define FIX_DBL_CONTROL_DEFAULT 1 50 #define FIX_RDO_MACRO 1 51 #define FIX_LG_RESTRICTEDRESPRED_M24766 1 49 52 50 53 -
branches/HTM-4.0-dev0/source/Lib/TLibEncoder/TEncSearch.cpp
r100 r133 6113 6113 6114 6114 Dist uiActDist = RDO_DIST_MAX; 6115 #if FIX_RDO_MACRO 6115 6116 #if SAIT_VSO_EST_A0033 6116 6117 if ( m_pcRdCost->getUseEstimatedVSD() ) … … 6121 6122 } 6122 6123 else 6123 #e lse6124 #endif // SAIT_VSO_EST_A0033 6124 6125 { 6125 6126 uiActDist = m_pcRdCost->getDistVS( pcCU, 0, piPredic, uiStride, piOrig, uiStride, uiWidth, uiHeight, false, 0 ); 6126 6127 } 6127 #endif 6128 #else // FIX_RDO_MACRO 6129 #if SAIT_VSO_EST_A0033 6130 if ( m_pcRdCost->getUseEstimatedVSD() ) 6131 { 6132 TComPicYuv* pcVirRec = m_pcRdCost->getVideoRecPicYuv(); 6133 TComPicYuv* pcVirOrg = m_pcRdCost->getDepthPicYuv(); 6134 uiActDist = m_pcRdCost->getDistPart( piPredic, uiStride, piOrig, uiStride, pcVirRec->getLumaAddr(pcCU->getAddr(),pcCU->getZorderIdxInCU()), pcVirOrg->getLumaAddr(pcCU->getAddr(),pcCU->getZorderIdxInCU()), pcVirRec->getStride(), uiWidth, uiHeight ); 6135 } 6136 else 6137 #else // SAIT_VSO_EST_A0033 <-- wrong #else statement should be #endif 6138 { 6139 uiActDist = m_pcRdCost->getDistVS( pcCU, 0, piPredic, uiStride, piOrig, uiStride, uiWidth, uiHeight, false, 0 ); 6140 } 6141 #endif // SAIT_VSO_EST_A0033 <-- wrong #endif should be removed 6142 #endif // FIX_RDO_MACRO 6128 6143 6129 6144 if( uiActDist < uiBestDist || uiBestDist == RDO_DIST_MAX )
Note: See TracChangeset for help on using the changeset viewer.