Ignore:
Timestamp:
13 Nov 2013, 08:14:41 (11 years ago)
Author:
sharpjp-htm
Message:

Integration of F0105

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-8.2-dev1-Sharp/source/Lib/TLibCommon/TComPrediction.cpp

    r666 r693  
    784784  if( cDistparity.bDV )
    785785  {
     786#if SHARP_ARP_REF_CHECK_F0105
     787    Int arpRefIdx = pcCU->getSlice()->getFirstTRefIdx(eRefPicList);
     788    if( dW > 0 && pcCU->getSlice()->getRefPic( eRefPicList, arpRefIdx )->getPOC()!= pcCU->getSlice()->getPOC() )
     789#else
    786790    if( dW > 0 && pcCU->getSlice()->getRefPic( eRefPicList, 0 )->getPOC()!= pcCU->getSlice()->getPOC() )
     791#endif
    787792    {
    788793      bTobeScaled = true;
     
    790795
    791796    pcPicYuvBaseCol =  pcCU->getSlice()->getBaseViewRefPic( pcCU->getSlice()->getPOC(),                              cDistparity.m_aVIdxCan );
     797
     798#if SHARP_ARP_REF_CHECK_F0105
     799    pcPicYuvBaseRef =  pcCU->getSlice()->getBaseViewRefPic( pcCU->getSlice()->getRefPic( eRefPicList, arpRefIdx )->getPOC(), cDistparity.m_aVIdxCan );
     800
     801    if (!pcCU->getSlice()->getArpRefPicAvailable( eRefPicList, cDistparity.m_aVIdxCan))
     802#else
    792803    pcPicYuvBaseRef =  pcCU->getSlice()->getBaseViewRefPic( pcCU->getSlice()->getRefPic( eRefPicList, 0 )->getPOC(), cDistparity.m_aVIdxCan );
    793    
     804
    794805    if( ( !pcPicYuvBaseCol || pcPicYuvBaseCol->getPOC() != pcCU->getSlice()->getPOC() ) || ( !pcPicYuvBaseRef || pcPicYuvBaseRef->getPOC() != pcCU->getSlice()->getRefPic( eRefPicList, 0 )->getPOC() ) )
     806#endif
    795807    {
    796808      dW = 0;
     
    799811    else
    800812    {
     813#if SHARP_ARP_REF_CHECK_F0105
     814      assert( pcPicYuvBaseCol->getPOC() == pcCU->getSlice()->getPOC() && pcPicYuvBaseRef->getPOC() == pcCU->getSlice()->getRefPic( eRefPicList, arpRefIdx )->getPOC() );
     815#else
    801816      assert( pcPicYuvBaseCol->getPOC() == pcCU->getSlice()->getPOC() && pcPicYuvBaseRef->getPOC() == pcCU->getSlice()->getRefPic( eRefPicList, 0 )->getPOC() );
     817#endif
    802818    }
    803819
     
    870886
    871887  assert(dW > 0);
     888#if SHARP_ARP_REF_CHECK_F0105
     889  if (!pcCU->getSlice()->getArpRefPicAvailable( eRefPicList, pcPicYuvBaseCol->getViewIndex()))
     890  {
     891    dW = 0;
     892  }
     893#endif
    872894  Int uiLCUAddr,uiAbsPartAddr;
    873895  Int irefPUX = pcCU->getCUPelX() + g_auiRasterToPelX[g_auiZscanToRaster[uiPartAddr]] + iWidth/2  + ((cDMv.getHor() + 2)>>2);
Note: See TracChangeset for help on using the changeset viewer.