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
6881 6881 return false; 6882 6882 } 6883 6883 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)) 6886 6889 { 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; 6893 6891 } 6894 6892 6895 6893 if ( refBottomY>>ctuSizeLog2 < yPos>>ctuSizeLog2 )