Changeset 137 in SHVCSoftware for branches/SHM-2.0-dev/source/Lib/TLibDecoder


Ignore:
Timestamp:
2 May 2013, 08:47:06 (12 years ago)
Author:
mediatek
Message:

M0133/M0449: inter-layer MV scaling and pixel mapping position calculation
Author: Peter Chuang <peter.chuang@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-2.0-dev/source/Lib/TLibDecoder/TDecTop.cpp

    r134 r137  
    922922  }
    923923
     924#if SIMPLIFIED_MV_POS_SCALING
     925  if (m_layerId > 0)
     926  {
     927    const Window &confBL = pcSlice->getBaseColPic()->getPicYuvRec()->getConformanceWindow();
     928    const Window &confEL = pcPic->getPicYuvRec()->getConformanceWindow();
     929
     930    Int widthBL   = pcSlice->getBaseColPic()->getPicYuvRec()->getWidth () - confBL.getWindowLeftOffset() - confBL.getWindowRightOffset();
     931    Int heightBL  = pcSlice->getBaseColPic()->getPicYuvRec()->getHeight() - confBL.getWindowTopOffset() - confBL.getWindowBottomOffset();
     932
     933    Int widthEL   = pcPic->getPicYuvRec()->getWidth() - confEL.getWindowLeftOffset() - confEL.getWindowRightOffset();
     934    Int heightEL  = pcPic->getPicYuvRec()->getHeight() - confEL.getWindowTopOffset() - confEL.getWindowBottomOffset();
     935
     936    g_mvScalingFactor[m_layerId][0] = Clip3(-4096, 4095, ((widthEL  << 8) + (widthBL  >> 1)) / widthBL);
     937    g_mvScalingFactor[m_layerId][1] = Clip3(-4096, 4095, ((heightEL << 8) + (heightBL >> 1)) / heightBL);
     938
     939    g_posScalingFactor[m_layerId][0] = ((widthBL  << 16) + (widthEL  >> 1)) / widthEL;
     940    g_posScalingFactor[m_layerId][1] = ((heightBL << 16) + (heightEL >> 1)) / heightEL;
     941  }
     942#endif
     943
    924944  //  Decode a picture
    925945  m_cGopDecoder.decompressSlice(nalu.m_Bitstream, pcPic);
Note: See TracChangeset for help on using the changeset viewer.