Ignore:
Timestamp:
18 Jun 2013, 05:16:27 (11 years ago)
Author:
mediatek-htm
Message:

Integration of 3D-HEVC merge related coding tools:
Inter-view motion merge candidate
HHI_INTER_VIEW_MOTION_PRED
SAIT_IMPROV_MOTION_PRED_M24829, improved inter-view motion vector prediction
QC_MRG_CANS_B0048 , JCT3V-B0048, B0086, B0069
OL_DISMV_POS_B0069 , different pos for disparity MV candidate, B0069
MTK_INTERVIEW_MERGE_A0049 , second part
QC_AMVP_MRG_UNIFY_IVCAN_C0051
TEXTURE MERGING CANDIDATE , JCT3V-C0137

Notes: Two configurations are added:
PredDepthMapGen : 1
MultiviewMvPred : 7

From: yiwen.chen@… (MediaTek)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComPicYuv.cpp

    r446 r476  
    7777  m_iCuHeight       = uiMaxCUHeight;
    7878
     79#if H_3D_IV_MERGE
     80  m_iNumCuInWidth   = m_iPicWidth / m_iCuWidth;
     81  m_iNumCuInWidth  += ( m_iPicWidth % m_iCuWidth ) ? 1 : 0;
     82
     83  m_iBaseUnitWidth  = uiMaxCUWidth  >> uiMaxCUDepth;
     84  m_iBaseUnitHeight = uiMaxCUHeight >> uiMaxCUDepth;
     85#endif
     86
    7987  Int numCuInWidth  = m_iPicWidth  / m_iCuWidth  + (m_iPicWidth  % m_iCuWidth  != 0);
    8088  Int numCuInHeight = m_iPicHeight / m_iCuHeight + (m_iPicHeight % m_iCuHeight != 0);
     
    325333
    326334#if H_3D
     335#if H_3D_IV_MERGE
     336Void
     337TComPicYuv::getTopLeftSamplePos( Int iCuAddr, Int iAbsZorderIdx, Int& riX, Int& riY )
     338{
     339  Int iRastPartIdx    = g_auiZscanToRaster[iAbsZorderIdx];
     340  Int iCuSizeInBases  = m_iCuWidth   / m_iBaseUnitWidth;
     341  Int iCuX            = iCuAddr      % m_iNumCuInWidth;
     342  Int iCuY            = iCuAddr      / m_iNumCuInWidth;
     343  Int iBaseX          = iRastPartIdx % iCuSizeInBases;
     344  Int iBaseY          = iRastPartIdx / iCuSizeInBases;
     345  riX                 = iCuX * m_iCuWidth  + iBaseX * m_iBaseUnitWidth;
     346  riY                 = iCuY * m_iCuHeight + iBaseY * m_iBaseUnitHeight;
     347}
     348
     349Void
     350TComPicYuv::getCUAddrAndPartIdx( Int iX, Int iY, Int& riCuAddr, Int& riAbsZorderIdx )
     351{
     352  Int iCuX            = iX / m_iCuWidth;
     353  Int iCuY            = iY / m_iCuHeight;
     354  Int iBaseX          = ( iX - iCuX * m_iCuWidth  ) / m_iBaseUnitWidth;
     355  Int iBaseY          = ( iY - iCuY * m_iCuHeight ) / m_iBaseUnitHeight;
     356  Int iCuSizeInBases  = m_iCuWidth                  / m_iBaseUnitWidth;
     357  riCuAddr            = iCuY   * m_iNumCuInWidth + iCuX;
     358  Int iRastPartIdx    = iBaseY * iCuSizeInBases  + iBaseX;
     359  riAbsZorderIdx      = g_auiRasterToZscan[ iRastPartIdx ];
     360}
     361#endif
    327362Void TComPicYuv::setLumaTo( Pel pVal )
    328363{
Note: See TracChangeset for help on using the changeset viewer.