Changeset 327 in 3DVCSoftware


Ignore:
Timestamp:
17 Apr 2013, 22:42:36 (11 years ago)
Author:
tech
Message:

Fixes to NBDV cleanup.

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  
    35993599#if MERL_VSP_C0152
    36003600            , true
    3601 #endif
     3601#endif     
    36023602);
    36033603  }
     
    50055005        else if ( bSearchForMvpDv && cMvPred.m_bDvMcp && bTmpIsSkipped )
    50065006        {
    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
    50095010          paMvpDvInfo->m_bAvailab[iList][ uiMvpDvPos ] = true;
    50105011          paMvpDvInfo->m_bFound                        = true;
     
    50345035{
    50355036  UInt uiNumPartInCUWidth = m_pcPic->getNumPartInWidth(); 
    5036     Int uiLCUIdx = getAddr();
    5037  
     5037  Int uiLCUIdx = getAddr();
     5038
    50385039  UInt uiPartIdxRB;
    5039     deriveRightBottomIdx( eCUMode, uiPartIdx, uiPartIdxRB ); 
    5040     UInt uiAbsPartIdxTmp = g_auiZscanToRaster[uiPartIdxRB];
    5041 
    5042     if (( m_pcPic->getCU(m_uiCUAddr)->getCUPelX() + g_auiRasterToPelX[uiAbsPartIdxTmp] + m_pcPic->getMinCUWidth() )>= m_pcSlice->getSPS()->getPicWidthInLumaSamples() )
    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  {
    50445045    riLCUIdxRBNb  = -1;
    50455046    riPartIdxRBNb = -1;
    5046     }
    5047     else if(( m_pcPic->getCU(m_uiCUAddr)->getCUPelY() + g_auiRasterToPelY[uiAbsPartIdxTmp] + m_pcPic->getMinCUHeight() )>= m_pcSlice->getSPS()->getPicHeightInLumaSamples() )
    5048     {
     5047  }
     5048  else if(( m_pcPic->getCU(m_uiCUAddr)->getCUPelY() + g_auiRasterToPelY[uiAbsPartIdxTmp] + m_pcPic->getMinCUHeight() )>= m_pcSlice->getSPS()->getPicHeightInLumaSamples() )
     5049  {
    50495050    riLCUIdxRBNb  = -1;
    50505051    riPartIdxRBNb = -1;
    5051     }
    5052     else
    5053     {
    5054       if ( ( uiAbsPartIdxTmp % uiNumPartInCUWidth < uiNumPartInCUWidth - 1 ) &&           // is not at the last column of LCU
     5052  }
     5053  else
     5054  {
     5055    if ( ( uiAbsPartIdxTmp % uiNumPartInCUWidth < uiNumPartInCUWidth - 1 ) &&           // is not at the last column of LCU
    50555056      ( uiAbsPartIdxTmp / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) ) // is not at the last row    of LCU
    5056       {
     5057    {
    50575058      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    {
    50615063      riPartIdxRBNb = -1;
    50625064      riLCUIdxRBNb  = -1;
    5063       }
    5064       else if ( uiAbsPartIdxTmp / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) // is not at the last row of LCU But is last column of LCU
    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    {
    50665068      riPartIdxRBNb = g_auiRasterToZscan[ uiAbsPartIdxTmp + 1 ];
    50675069      riLCUIdxRBNb = uiLCUIdx + 1;
    5068       }
    5069       else //is the right bottom corner of LCU                       
    5070       {
     5070    }
     5071    else //is the right bottom corner of LCU                       
     5072    {
    50715073      riPartIdxRBNb = -1;
    50725074      riLCUIdxRBNb  = -1;
    5073       }
    5074     }
    5075       }
     5075    }
     5076  }
     5077}
    50765078
    50775079
     
    50845086  //// ******* Init variables ******* /////
    50855087  // Init disparity struct for results
    5086   pDInfo->iN = 0; 
     5088  pDInfo->iN = 0;   
    50875089
    50885090  // Init struct for disparities from MCP neighboring blocks
     
    52885290  if( cMvpDvInfo.m_bFound )
    52895291  {
    5290     for( Int curPos = 1 ; curPos < MCP_DIS_CANS - 1 ; curPos++ )
     5292    for( Int curPos = 0 ; curPos < MCP_DIS_CANS ; curPos++ )
    52915293    {
    52925294      for(Int iList = 0; iList < (getSlice()->isInterB() ? 2: 1); iList ++)
     
    71817183  else
    71827184#endif
    7183   getDisMvpCandNBDV( 0, 0,  &cDisInfo, false );
     7185  getDisMvpCandNBDV( 0, 0,  &cDisInfo, false ); 
    71847186  if( cDisInfo.iN == 0)
    71857187  {
  • branches/HTM-6.1-Cleanup/source/Lib/TLibCommon/TypeDef.h

    r325 r327  
    211211#if H3D_NBDV                   
    212212#define DIS_CANS                          1
    213 #define MCP_DIS_CANS                      1
     213#define MCP_DIS_CANS                      7
    214214#endif                                 
    215215
Note: See TracChangeset for help on using the changeset viewer.