Changeset 529 in 3DVCSoftware for branches/HTM-DEV-0.3-dev2


Ignore:
Timestamp:
8 Jul 2013, 03:55:46 (11 years ago)
Author:
mitsubishi-htm
Message:

-intermediate version. equivalent to previous

Location:
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDataCU.cpp

    r528 r529  
    21892189  setSubPart<Char>( iVSPFlag, m_piVSPFlag, uiAbsPartIdx, uiDepth, uiPartIdx );
    21902190}
    2191 
    21922191#endif
    21932192
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComPrediction.cpp

    r519 r529  
    572572Void TComPrediction::xPredInterUniVSP( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi )
    573573{
    574   UInt uiAbsPartIdx = pcCU->getZorderIdxInCU();
    575 
    576   // Step 1: get depth reference
     574  // Get depth reference
    577575  Int depthRefViewIdx = pcCU->getDvInfo(uiPartAddr).m_aVIdxCan;
    578576  TComPic* pRefPicBaseDepth = pcCU->getSlice()->getIvPic (true, depthRefViewIdx );
     
    581579  assert(pcBaseViewDepthPicYuv != NULL);
    582580
    583   // Step 2: get texture reference
     581  // Get texture reference
    584582  Int iRefIdx = pcCU->getCUMvField( eRefPicList )->getRefIdx( uiPartAddr );
    585583  assert(iRefIdx >= 0);
     
    588586  assert(pcBaseViewTxtPicYuv != NULL);
    589587
    590   // Step 3: initialize the LUT according to the reference viewIdx
     588  // Initialize LUT according to the reference viewIdx
    591589  Int txtRefViewIdx = pRefPicBaseTxt->getViewIndex();
    592590  Int* pShiftLUT    = pcCU->getSlice()->getDepthToDisparityB( txtRefViewIdx );
    593591  assert( txtRefViewIdx < pcCU->getSlice()->getViewIndex() );
    594592
    595   // Step 4: Do compensation
     593  // Do compensation
    596594  TComMv cDv  = pcCU->getCUMvField( eRefPicList )->getMv( uiPartAddr ); // cDv is the disparity vector derived from the neighbors
    597595  pcCU->clipMv(cDv);
     596  UInt uiAbsPartIdx = pcCU->getZorderIdxInCU();
    598597  Int iBlkX = ( pcCU->getAddr() % pRefPicBaseDepth->getFrameWidthInCU() ) * g_uiMaxCUWidth  + g_auiRasterToPelX[ g_auiZscanToRaster[ uiAbsPartIdx ] ];
    599598  Int iBlkY = ( pcCU->getAddr() / pRefPicBaseDepth->getFrameWidthInCU() ) * g_uiMaxCUHeight + g_auiRasterToPelY[ g_auiZscanToRaster[ uiAbsPartIdx ] ];
     
    752751  TComYuv* pcMbYuv;
    753752  Int      iRefIdx[2] = {-1, -1};
     753  Bool     bi = (pcCU->getCUMvField( REF_PIC_LIST_0 )->getRefIdx( uiPartAddr ) >= 0 && pcCU->getCUMvField( REF_PIC_LIST_1 )->getRefIdx( uiPartAddr ) >= 0);
    754754
    755755  for ( Int iRefList = 0; iRefList < 2; iRefList++ )
     
    760760    if ( iRefIdx[iRefList] < 0 )
    761761      continue;
    762 
    763762    assert( iRefIdx[iRefList] < pcCU->getSlice()->getNumRefIdx(eRefPicList) );
    764763
    765764    pcMbYuv = &m_acYuvPred[iRefList];
    766     if( pcCU->getCUMvField( REF_PIC_LIST_0 )->getRefIdx( uiPartAddr ) >= 0 && pcCU->getCUMvField( REF_PIC_LIST_1 )->getRefIdx( uiPartAddr ) >= 0 )
    767       xPredInterUniVSP ( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcMbYuv, true );
    768     else
    769       xPredInterUniVSP ( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcMbYuv );
     765    xPredInterUniVSP ( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcMbYuv, bi );
    770766  }
    771767
     
    15831579      assert( ref[refOffset] >= 0 && ref[refOffset]<= 255 );
    15841580      m_if.filterHorLuma( &ref[refOffset], refStride, &dst[xTxt], dstStride, nTxtPerDepthX, nTxtPerDepthY, xFrac, !bi );
    1585 
    15861581    }
    15871582    ref   += refStride*nTxtPerDepthY;
Note: See TracChangeset for help on using the changeset viewer.