Ignore:
Timestamp:
7 Nov 2013, 08:07:50 (11 years ago)
Author:
seregin
Message:

enable layer-specific CTB structure

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified branches/SHM-4.0-dev/source/Lib/TLibCommon/TComDataCU.cpp

    r442 r445  
    40044004  uiPelY = (UInt)Clip3<UInt>(0, m_pcPic->getPicYuvRec()->getHeight() - 1, uiPelY);
    40054005
     4006#if !LAYER_CTB
    40064007  UInt uiMinUnitSize = m_pcPic->getMinCUWidth();
     4008#endif
    40074009
    40084010#if SCALED_REF_LAYER_OFFSETS
     
    40344036  }
    40354037
     4038#if LAYER_CTB
     4039  UInt baseMaxCUHeight = cBaseColPic->getPicSym()->getMaxCUHeight();
     4040  UInt baseMaxCUWidth  = cBaseColPic->getPicSym()->getMaxCUWidth();
     4041  UInt baseMinUnitSize = cBaseColPic->getMinCUWidth();
     4042 
     4043  uiCUAddrBase = ( iBY / cBaseColPic->getPicSym()->getMaxCUHeight() ) * cBaseColPic->getFrameWidthInCU() + ( iBX / cBaseColPic->getPicSym()->getMaxCUWidth() );
     4044#else
    40364045  uiCUAddrBase = (iBY/g_uiMaxCUHeight)*cBaseColPic->getFrameWidthInCU() + (iBX/g_uiMaxCUWidth);
     4046#endif
    40374047
    40384048  assert(uiCUAddrBase < cBaseColPic->getNumCUsInFrame());
    40394049
     4050#if LAYER_CTB
     4051  UInt uiRasterAddrBase = ( iBY - (iBY/baseMaxCUHeight)*baseMaxCUHeight ) / baseMinUnitSize * cBaseColPic->getNumPartInWidth() + ( iBX - (iBX/baseMaxCUWidth)*baseMaxCUWidth ) / baseMinUnitSize;
     4052 
     4053  uiAbsPartIdxBase = g_auiLayerRasterToZscan[cBaseColPic->getLayerId()][uiRasterAddrBase];
     4054#else
    40404055  UInt uiRasterAddrBase = (iBY - (iBY/g_uiMaxCUHeight)*g_uiMaxCUHeight)/uiMinUnitSize*cBaseColPic->getNumPartInWidth()
    40414056    + (iBX - (iBX/g_uiMaxCUWidth)*g_uiMaxCUWidth)/uiMinUnitSize;
    40424057
    40434058  uiAbsPartIdxBase = g_auiRasterToZscan[uiRasterAddrBase];
     4059#endif
    40444060
    40454061  return cBaseColPic->getCU(uiCUAddrBase);
Note: See TracChangeset for help on using the changeset viewer.