Changeset 809 in 3DVCSoftware for branches/HTM-9.3-dev1-NTT/source/Lib/TLibCommon/TComPrediction.cpp
- Timestamp:
- 29 Jan 2014, 03:07:07 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-9.3-dev1-NTT/source/Lib/TLibCommon/TComPrediction.cpp
r795 r809 863 863 Void TComPrediction::xPredInterUniVSP( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi ) 864 864 { 865 #if NTT_STORE_SPDV_VSP_G0148 866 Int vspSize = pcCU->getVSPFlag( uiPartAddr ) >> 1; 867 868 Int widthSubPU, heightSubPU; 869 if (vspSize) 870 { 871 widthSubPU = 8; 872 heightSubPU = 4; 873 } 874 else 875 { 876 widthSubPU = 4; 877 heightSubPU = 8; 878 } 879 xPredInterUniSubPU( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, rpcYuvPred, bi, widthSubPU, heightSubPU ); 880 881 #else // NTT_STORE_SPDV_VSP_G0148 865 882 // Get depth reference 866 883 Int depthRefViewIdx = pcCU->getDvInfo(uiPartAddr).m_aVIdxCan; … … 914 931 xPredInterLumaBlkFromDM ( pcCU, pcBaseViewTxtPicYuv, &m_cYuvDepthOnVsp, pShiftLUT, &cDv, uiPartAddr, iWidth, iHeight, pcCU->getSlice()->getIsDepth(), rpcYuvPred, bi, vspSize); 915 932 xPredInterChromaBlkFromDM ( pcCU, pcBaseViewTxtPicYuv, &m_cYuvDepthOnVsp, pShiftLUT, &cDv, uiPartAddr, iWidth, iHeight, pcCU->getSlice()->getIsDepth(), rpcYuvPred, bi, vspSize); 916 } 933 #endif // NTT_STORE_SPDV_VSP_G0148 934 } 935 936 #if NTT_STORE_SPDV_VSP_G0148 937 Void TComPrediction::xPredInterUniSubPU( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi, Int widthSubPU, Int heightSubPU ) 938 { 939 UInt numPartsInLine = pcCU->getPic()->getNumPartInWidth(); 940 UInt horiNumPartsInSubPU = widthSubPU >> 2; 941 UInt vertNumPartsInSubPU = (heightSubPU >> 2) * numPartsInLine; 942 943 UInt partAddrRasterLine = g_auiZscanToRaster[ uiPartAddr ]; 944 945 for( Int posY=0; posY<iHeight; posY+=heightSubPU, partAddrRasterLine+=vertNumPartsInSubPU ) 946 { 947 UInt partAddrRasterSubPU = partAddrRasterLine; 948 for( Int posX=0; posX<iWidth; posX+=widthSubPU, partAddrRasterSubPU+=horiNumPartsInSubPU ) 949 { 950 UInt partAddrSubPU = g_auiRasterToZscan[ partAddrRasterSubPU ]; 951 Int refIdx = pcCU->getCUMvField( eRefPicList )->getRefIdx( partAddrSubPU ); assert (refIdx >= 0); 952 TComMv cMv = pcCU->getCUMvField( eRefPicList )->getMv( partAddrSubPU ); 953 pcCU->clipMv(cMv); 954 955 xPredInterLumaBlk ( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, refIdx )->getPicYuvRec(), partAddrSubPU, &cMv, widthSubPU, heightSubPU, rpcYuvPred, bi ); 956 xPredInterChromaBlk( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, refIdx )->getPicYuvRec(), partAddrSubPU, &cMv, widthSubPU, heightSubPU, rpcYuvPred, bi ); 957 958 } 959 } 960 } 961 #endif // NTT_STORE_SPDV_VSP_G0148 962 917 963 #endif 918 964 … … 1769 1815 1770 1816 #if H_3D_VSP 1817 #if !(NTT_STORE_SPDV_VSP_G0148) 1771 1818 // not fully support iRatioTxtPerDepth* != 1 1772 1819 Void TComPrediction::xGetVirtualDepth( TComDataCU *cu, TComPicYuv *picRefDepth, TComMv *mv, UInt partAddr, Int width, Int height, TComYuv *yuvDepth, Int &vspSize, Int ratioTxtPerDepthX, Int ratioTxtPerDepthY ) … … 2081 2128 } 2082 2129 } 2083 2130 #endif 2084 2131 2085 2132 #if H_3D_VSP_CONSTRAINED
Note: See TracChangeset for help on using the changeset viewer.