Ticket #1474: IBC_TILES_fix.patch

File IBC_TILES_fix.patch, 1.3 KB (added by deryzhov, 7 years ago)
  • source/Lib/TLibEncoder/TEncSearch.cpp

     
    68816881    return false;
    68826882  }
    68836883
    6884   TComSlice *pcSlice = pcCU->getSlice();
    6885   if( pcSlice->getSliceMode() )
     6884  // check same slice and tile
     6885  TComPicSym *pcSym = pcCU->getPic()->getPicSym();
     6886  TComDataCU* tlCtu = pcSym->getCtu(((xPos + xBv - interpolationSamplesX) >> ctuSizeLog2) + ((yPos + yBv - interpolationSamplesY) >> ctuSizeLog2) * pcSym->getFrameWidthInCtus());
     6887  TComDataCU* rbCtu = pcSym->getCtu((refRightX >> ctuSizeLog2) + (refBottomY >> ctuSizeLog2) * pcSym->getFrameWidthInCtus());
     6888  if (!pcCU->CUIsFromSameSliceAndTile(tlCtu) || !pcCU->CUIsFromSameSliceAndTile(rbCtu))
    68866889  {
    6887     TComPicSym *pcSym = pcCU->getPic()->getPicSym();
    6888     Int      ctuX = (xPos + xBv) / ctuSize;
    6889     Int      ctuY = (yPos + yBv) / ctuSize;
    6890     UInt   refCtu = ctuX + pcSym->getFrameWidthInCtus()*ctuY;
    6891     UInt startCtu = /*pcCU->getSlice()->getSliceSegmentCurStartCtuTsAddr();*/ pcSym->getCtuTsToRsAddrMap( pcCU->getSlice()->getSliceSegmentCurStartCtuTsAddr() );
    6892     if (refCtu < startCtu) return false;
     6890    return false;
    68936891  }
    68946892
    68956893  if ( refBottomY>>ctuSizeLog2 < yPos>>ctuSizeLog2 )