Changeset 569 in 3DVCSoftware


Ignore:
Timestamp:
14 Aug 2013, 05:47:26 (11 years ago)
Author:
mediatek-htm
Message:

BugFix for the default view index for NBDV.
The MACRO is "NBDV_DEFAULT_VIEWIDX_BUGFIX".

By Yi-Wen Chen (yiwen.chen@…)

Location:
branches/HTM-DEV-2.0-dev1-Mediatek/source/Lib/TLibCommon
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-2.0-dev1-Mediatek/source/Lib/TLibCommon/TComDataCU.cpp

    r567 r569  
    52095209  TComMv defaultDV(0, 0);
    52105210  pDInfo->m_acNBDV = defaultDV;
     5211#if NBDV_DEFAULT_VIEWIDX_BUGFIX
     5212  Int valid = 0;
     5213  Int viewIndex = 0;
     5214  for( UInt uiBId = 0; uiBId < getSlice()->getViewIndex() && valid==0; uiBId++ )
     5215  {
     5216    UInt        uiBaseId    = uiBId;
     5217    TComPic*    pcBasePic   = getSlice()->getIvPic( false, uiBaseId );
     5218    for( Int iRefListId = 0; ( iRefListId < (getSlice()->isInterB()? 2:1) ) && !getSlice()->isIntra() && valid==0; iRefListId++ )
     5219    {
     5220      RefPicList  eRefPicListTest = RefPicList( iRefListId );
     5221      Int         iNumRefPics = getSlice()->getNumRefIdx( eRefPicListTest ) ;
     5222      for( Int iRefIndex = 0; iRefIndex < iNumRefPics; iRefIndex++ )
     5223      {
     5224        if(pcBasePic->getPOC() == getSlice()->getRefPic( eRefPicListTest, iRefIndex )->getPOC()
     5225          && pcBasePic->getViewIndex() == getSlice()->getRefPic( eRefPicListTest, iRefIndex )->getViewIndex())
     5226        {
     5227          valid=1;
     5228          viewIndex = uiBaseId;
     5229          break;
     5230        }
     5231      }
     5232    }
     5233  }
     5234  if(valid)
     5235  {
     5236    pDInfo->m_aVIdxCan = viewIndex;
     5237#if H_3D_NBDV_REF
     5238    TComPic* picDepth = NULL;
     5239    picDepth = getSlice()->getIvPic( true, viewIndex );
     5240    assert(picDepth!=NULL);
     5241
     5242    if (picDepth && bDepthRefine)
     5243    {
     5244      estimateDVFromDM(viewIndex, uiPartIdx, picDepth, uiPartAddr, &defaultDV ); // from base view
     5245    }
     5246    pDInfo->m_acDoNBDV = defaultDV;
     5247#endif
     5248  }
     5249#else
    52115250  pDInfo->m_aVIdxCan = 0;
    52125251#if H_3D_NBDV_REF
     
    52215260  pDInfo->m_acDoNBDV = defaultDV;
    52225261#endif
    5223 
     5262#endif
    52245263  return false;
    52255264}
  • branches/HTM-DEV-2.0-dev1-Mediatek/source/Lib/TLibCommon/TypeDef.h

    r567 r569  
    101101                                              // MERL_D0166: Reference view selection in NBDV & Bi-VSP
    102102                                              // MERL_C0152: Basic VSP
     103
     104#define NBDV_DEFAULT_VIEWIDX_BUGFIX       1  // Bug fix for invalid default view index for NBDV
    103105#define MTK_RVS_BUGFIX_E0172              1  // Bug fix for issues caused by reference view selection, JCT3V-E0172
    104106#if MTK_RVS_BUGFIX_E0172
Note: See TracChangeset for help on using the changeset viewer.