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


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/TLibEncoder/TEncGOP.cpp

    r134 r137  
    970970
    971971    UInt uiNumSlices = 1;
     972
     973#if SIMPLIFIED_MV_POS_SCALING
     974    if (m_layerId > 0)
     975    {
     976      const Window &confBL = pcSlice->getBaseColPic()->getPicYuvRec()->getConformanceWindow();
     977      const Window &confEL = pcPic->getPicYuvRec()->getConformanceWindow();
     978
     979      Int widthBL   = pcSlice->getBaseColPic()->getPicYuvRec()->getWidth () - confBL.getWindowLeftOffset() - confBL.getWindowRightOffset();
     980      Int heightBL  = pcSlice->getBaseColPic()->getPicYuvRec()->getHeight() - confBL.getWindowTopOffset() - confBL.getWindowBottomOffset();
     981
     982      Int widthEL   = pcPic->getPicYuvRec()->getWidth() - confEL.getWindowLeftOffset() - confEL.getWindowRightOffset();
     983      Int heightEL  = pcPic->getPicYuvRec()->getHeight() - confEL.getWindowTopOffset() - confEL.getWindowBottomOffset();
     984
     985      g_mvScalingFactor[m_layerId][0] = Clip3(-4096, 4095, ((widthEL  << 8) + (widthBL  >> 1)) / widthBL);
     986      g_mvScalingFactor[m_layerId][1] = Clip3(-4096, 4095, ((heightEL << 8) + (heightBL >> 1)) / heightBL);
     987
     988      g_posScalingFactor[m_layerId][0] = ((widthBL  << 16) + (widthEL  >> 1)) / widthEL;
     989      g_posScalingFactor[m_layerId][1] = ((heightBL << 16) + (heightEL >> 1)) / heightEL;
     990    }
     991#endif
    972992
    973993    UInt uiInternalAddress = pcPic->getNumPartInCU()-4;
Note: See TracChangeset for help on using the changeset viewer.