Changeset 375 in SHVCSoftware for branches


Ignore:
Timestamp:
28 Aug 2013, 19:22:45 (11 years ago)
Author:
seregin
Message:

add motion mapping argument to getBaseColCU, patch provided by Christophe Gisquet <Christophe.Gisquet@…>

Location:
branches/SHM-3.1-dev/source/Lib/TLibCommon
Files:
3 edited

Legend:

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

    r372 r375  
    17051705  UInt          uiCUAddrBase, uiAbsPartAddrBase;
    17061706  // the right reference layerIdc should be specified, currently it is set to m_layerId-1
    1707   TComDataCU*   pcTempCU = getBaseColCU(m_layerId - 1, uiAbsPartIdx, uiCUAddrBase, uiAbsPartAddrBase );
     1707  TComDataCU*   pcTempCU = getBaseColCU(m_layerId - 1, uiAbsPartIdx, uiCUAddrBase, uiAbsPartAddrBase, 0 );
    17081708
    17091709  if( pcTempCU->getPredictionMode( uiAbsPartAddrBase ) != MODE_INTRA )
     
    39473947
    39483948#if SVC_COL_BLK
    3949 TComDataCU*  TComDataCU::getBaseColCU( UInt refLayerIdc, UInt uiCuAbsPartIdx, UInt &uiCUAddrBase, UInt &uiAbsPartIdxBase )
     3949TComDataCU*  TComDataCU::getBaseColCU( UInt refLayerIdc, UInt uiCuAbsPartIdx, UInt &uiCUAddrBase, UInt &uiAbsPartIdxBase, Int iMotionMapping )
    39503950{
    39513951  UInt uiPelX = getCUPelX() + g_auiRasterToPelX[ g_auiZscanToRaster[uiCuAbsPartIdx] ];
    39523952  UInt uiPelY = getCUPelY() + g_auiRasterToPelY[ g_auiZscanToRaster[uiCuAbsPartIdx] ];
    39533953
    3954   return getBaseColCU( refLayerIdc, uiPelX, uiPelY, uiCUAddrBase, uiAbsPartIdxBase );
    3955 }
    3956 
    3957 TComDataCU*  TComDataCU::getBaseColCU( UInt refLayerIdc, UInt uiPelX, UInt uiPelY, UInt &uiCUAddrBase, UInt &uiAbsPartIdxBase )
     3954  return getBaseColCU( refLayerIdc, uiPelX, uiPelY, uiCUAddrBase, uiAbsPartIdxBase, iMotionMapping );
     3955}
     3956
     3957TComDataCU*  TComDataCU::getBaseColCU( UInt refLayerIdc, UInt uiPelX, UInt uiPelY, UInt &uiCUAddrBase, UInt &uiAbsPartIdxBase, Int iMotionMapping )
    39583958{
    39593959  TComPic* cBaseColPic = m_pcSlice->getBaseColPic(refLayerIdc);
     
    39753975
    39763976#if N0139_POSITION_ROUNDING_OFFSET
    3977   iBX += 4;
    3978   iBY += 4;
     3977  if( iMotionMapping == 1 )
     3978  {
     3979    iBX += 4;
     3980    iBY += 4;
     3981  }
    39793982#endif
    39803983
  • branches/SHM-3.1-dev/source/Lib/TLibCommon/TComDataCU.h

    r345 r375  
    540540#if REF_IDX_FRAMEWORK
    541541#if SVC_COL_BLK
    542   TComDataCU*   getBaseColCU( UInt refLayerIdc, UInt uiCuAbsPartIdx, UInt &uiCUAddrBase, UInt &uiAbsPartIdxBase );
    543   TComDataCU*   getBaseColCU( UInt refLayerIdc, UInt uiPelX, UInt uiPelY, UInt &uiCUAddrBase, UInt &uiAbsPartIdxBase );
     542  TComDataCU*   getBaseColCU( UInt refLayerIdc, UInt uiCuAbsPartIdx, UInt &uiCUAddrBase, UInt &uiAbsPartIdxBase, Int iMotionMapping = 0 );
     543  TComDataCU*   getBaseColCU( UInt refLayerIdc, UInt uiPelX, UInt uiPelY, UInt &uiCUAddrBase, UInt &uiAbsPartIdxBase, Int iMotionMapping = 0 );
    544544  Void          scaleBaseMV( UInt refLayerIdc, TComMvField& rcMvFieldEnhance, TComMvField& rcMvFieldBase );
    545545#endif
  • branches/SHM-3.1-dev/source/Lib/TLibCommon/TComPic.cpp

    r372 r375  
    587587
    588588      TComDataCU *pcColCU = 0;
    589       pcColCU = pcCUDes->getBaseColCU(refLayerIdc, pelX + 8, pelY + 8, baseCUAddr, baseAbsPartIdx);
     589      pcColCU = pcCUDes->getBaseColCU(refLayerIdc, pelX + 8, pelY + 8, baseCUAddr, baseAbsPartIdx, 1);
    590590
    591591      if( pcColCU && (pcColCU->getPredictionMode(baseAbsPartIdx) != MODE_NONE) && (pcColCU->getPredictionMode(baseAbsPartIdx) != MODE_INTRA) )  //base layer unit not skip and invalid mode
Note: See TracChangeset for help on using the changeset viewer.