- Timestamp:
- 17 Apr 2013, 22:42:36 (12 years ago)
- Location:
- branches/HTM-6.1-Cleanup/source/Lib/TLibCommon
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-6.1-Cleanup/source/Lib/TLibCommon/TComDataCU.cpp
r326 r327 3599 3599 #if MERL_VSP_C0152 3600 3600 , true 3601 #endif 3601 #endif 3602 3602 ); 3603 3603 } … … 5005 5005 else if ( bSearchForMvpDv && cMvPred.m_bDvMcp && bTmpIsSkipped ) 5006 5006 { 5007 paMvpDvInfo->m_acMvCand[iList][ uiMvpDvPos ] = cMvPred; 5008 paMvpDvInfo->m_aVIdxCan[iList][ uiMvpDvPos ] = refViewIdx; 5007 assert( uiMvpDvPos < MCP_DIS_CANS ); 5008 paMvpDvInfo->m_acMvCand[iList][ uiMvpDvPos ] = TComMv( cMvPred.m_iDvMcpDispX, cMvPred.m_iDvMcpDispY ); 5009 paMvpDvInfo->m_aVIdxCan[iList][ uiMvpDvPos ] = 0; // works only for CTC 5009 5010 paMvpDvInfo->m_bAvailab[iList][ uiMvpDvPos ] = true; 5010 5011 paMvpDvInfo->m_bFound = true; … … 5034 5035 { 5035 5036 UInt uiNumPartInCUWidth = m_pcPic->getNumPartInWidth(); 5036 5037 5037 Int uiLCUIdx = getAddr(); 5038 5038 5039 UInt uiPartIdxRB; 5039 5040 5041 5042 5043 5040 deriveRightBottomIdx( eCUMode, uiPartIdx, uiPartIdxRB ); 5041 UInt uiAbsPartIdxTmp = g_auiZscanToRaster[uiPartIdxRB]; 5042 5043 if (( m_pcPic->getCU(m_uiCUAddr)->getCUPelX() + g_auiRasterToPelX[uiAbsPartIdxTmp] + m_pcPic->getMinCUWidth() )>= m_pcSlice->getSPS()->getPicWidthInLumaSamples() ) 5044 { 5044 5045 riLCUIdxRBNb = -1; 5045 5046 riPartIdxRBNb = -1; 5046 5047 5048 5047 } 5048 else if(( m_pcPic->getCU(m_uiCUAddr)->getCUPelY() + g_auiRasterToPelY[uiAbsPartIdxTmp] + m_pcPic->getMinCUHeight() )>= m_pcSlice->getSPS()->getPicHeightInLumaSamples() ) 5049 { 5049 5050 riLCUIdxRBNb = -1; 5050 5051 riPartIdxRBNb = -1; 5051 5052 5053 5054 5052 } 5053 else 5054 { 5055 if ( ( uiAbsPartIdxTmp % uiNumPartInCUWidth < uiNumPartInCUWidth - 1 ) && // is not at the last column of LCU 5055 5056 ( uiAbsPartIdxTmp / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) ) // is not at the last row of LCU 5056 5057 { 5057 5058 riPartIdxRBNb = g_auiRasterToZscan[ uiAbsPartIdxTmp + uiNumPartInCUWidth + 1 ]; 5058 } 5059 else if ( uiAbsPartIdxTmp % uiNumPartInCUWidth < uiNumPartInCUWidth - 1 ) // is not at the last column of LCU But is last row of LCU 5060 { 5059 riLCUIdxRBNb = uiLCUIdx; 5060 } 5061 else if ( uiAbsPartIdxTmp % uiNumPartInCUWidth < uiNumPartInCUWidth - 1 ) // is not at the last column of LCU But is last row of LCU 5062 { 5061 5063 riPartIdxRBNb = -1; 5062 5064 riLCUIdxRBNb = -1; 5063 5064 5065 5065 } 5066 else if ( uiAbsPartIdxTmp / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) // is not at the last row of LCU But is last column of LCU 5067 { 5066 5068 riPartIdxRBNb = g_auiRasterToZscan[ uiAbsPartIdxTmp + 1 ]; 5067 5069 riLCUIdxRBNb = uiLCUIdx + 1; 5068 5069 5070 5070 } 5071 else //is the right bottom corner of LCU 5072 { 5071 5073 riPartIdxRBNb = -1; 5072 5074 riLCUIdxRBNb = -1; 5073 5074 5075 5075 } 5076 } 5077 } 5076 5078 5077 5079 … … 5084 5086 //// ******* Init variables ******* ///// 5085 5087 // Init disparity struct for results 5086 pDInfo->iN = 0; 5088 pDInfo->iN = 0; 5087 5089 5088 5090 // Init struct for disparities from MCP neighboring blocks … … 5288 5290 if( cMvpDvInfo.m_bFound ) 5289 5291 { 5290 for( Int curPos = 1 ; curPos < MCP_DIS_CANS - 1; curPos++ )5292 for( Int curPos = 0 ; curPos < MCP_DIS_CANS ; curPos++ ) 5291 5293 { 5292 5294 for(Int iList = 0; iList < (getSlice()->isInterB() ? 2: 1); iList ++) … … 7181 7183 else 7182 7184 #endif 7183 getDisMvpCandNBDV( 0, 0, &cDisInfo, false ); 7185 getDisMvpCandNBDV( 0, 0, &cDisInfo, false ); 7184 7186 if( cDisInfo.iN == 0) 7185 7187 { -
branches/HTM-6.1-Cleanup/source/Lib/TLibCommon/TypeDef.h
r325 r327 211 211 #if H3D_NBDV 212 212 #define DIS_CANS 1 213 #define MCP_DIS_CANS 1213 #define MCP_DIS_CANS 7 214 214 #endif 215 215
Note: See TracChangeset for help on using the changeset viewer.