Ignore:
Timestamp:
1 Nov 2012, 04:03:25 (12 years ago)
Author:
mediatek-htm
Message:

Integration of B0083 (macro MTK_UNCONSTRAINED_MVI).
by Jian-Liang Lin (jl.lin@…)

Location:
branches/HTM-4.1-dev2-Mediatek/source/Lib/TLibCommon
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-4.1-dev2-Mediatek/source/Lib/TLibCommon/TComDataCU.cpp

    r156 r161  
    70947094  memcpy( m_puhInterDir + uiAbsPartIdxDst, pcCU->getInterDir() + uiAbsPartIdxSrc,       sizeof( m_puhInterDir[0] ) * uiNumPartition );
    70957095
     7096#if !MTK_UNCONSTRAINED_MVI
    70967097  memcpy( m_apiMVPIdx[0] + uiAbsPartIdxDst, pcCU->getMVPIdx(REF_PIC_LIST_0) + uiAbsPartIdxSrc, sizeof(*m_apiMVPIdx[0]) * uiNumPartition );
    70977098  memcpy( m_apiMVPIdx[1] + uiAbsPartIdxDst, pcCU->getMVPIdx(REF_PIC_LIST_1) + uiAbsPartIdxSrc, sizeof(*m_apiMVPIdx[0]) * uiNumPartition );
    70987099  memcpy( m_apiMVPNum[0] + uiAbsPartIdxDst, pcCU->getMVPNum(REF_PIC_LIST_0) + uiAbsPartIdxSrc, sizeof(*m_apiMVPNum[0]) * uiNumPartition );
    70997100  memcpy( m_apiMVPNum[1] + uiAbsPartIdxDst, pcCU->getMVPNum(REF_PIC_LIST_1) + uiAbsPartIdxSrc, sizeof(*m_apiMVPNum[0]) * uiNumPartition );
     7101#endif
    71007102
    71017103  pcCU->getCUMvField( REF_PIC_LIST_0 )->copyTo( &m_acCUMvField[0], -Int(uiAbsPartIdxSrc) + uiAbsPartIdxDst, uiAbsPartIdxSrc, uiNumPartition );
    71027104  pcCU->getCUMvField( REF_PIC_LIST_1 )->copyTo( &m_acCUMvField[1], -Int(uiAbsPartIdxSrc) + uiAbsPartIdxDst, uiAbsPartIdxSrc, uiNumPartition );
     7105
     7106#if MTK_UNCONSTRAINED_MVI
     7107  if( pcCU->getSlice()->getSliceType() == P_SLICE)
     7108  {
     7109    m_acCUMvField[0].setUndefinedMv( uiAbsPartIdxDst, uiNumPartition, m_pePredMode, m_puhInterDir,  0, 1);
     7110    m_acCUMvField[1].setUndefinedMv( uiAbsPartIdxDst, uiNumPartition, m_pePredMode, m_puhInterDir, -1, 1);
     7111  }
     7112  else
     7113  {
     7114    m_acCUMvField[0].setUndefinedMv( uiAbsPartIdxDst, uiNumPartition, m_pePredMode, m_puhInterDir,  0, 3);
     7115    m_acCUMvField[1].setUndefinedMv( uiAbsPartIdxDst, uiNumPartition, m_pePredMode, m_puhInterDir,  0, 3);
     7116  }
     7117#endif
     7118
    71037119
    71047120#if HHI_FULL_PEL_DEPTH_MAP_MV_ACC
  • branches/HTM-4.1-dev2-Mediatek/source/Lib/TLibCommon/TComMotionInfo.cpp

    r56 r161  
    374374}
    375375#endif
     376
     377
     378
     379#if MTK_UNCONSTRAINED_MVI
     380Void TComCUMvField::setUndefinedMv( Int iPartAddr, Int iNumPart, Char* pePredMode, UChar* puhInterDir, Int refIdx, Int InterDir )
     381{
     382  PredMode predMode = MODE_INTRA;
     383  TComMv cMv(0,0);
     384
     385  for ( Int i = 0; i < iNumPart; i++ )
     386  {
     387    predMode = static_cast<PredMode>( pePredMode[ iPartAddr+i ] );
     388    if( predMode==MODE_INTRA  )
     389    {
     390      m_pcMv[iPartAddr+i] = cMv;
     391      puhInterDir[iPartAddr+i] = InterDir;
     392      m_piRefIdx[iPartAddr+i] = refIdx;
     393    }
     394  }
     395}
     396#endif
     397
    376398//! \}
  • branches/HTM-4.1-dev2-Mediatek/source/Lib/TLibCommon/TComMotionInfo.h

    r100 r161  
    169169  Void decreaseMvAccuracy( Int iPartAddr, Int iNumPart, Int iShift );
    170170#endif
     171
     172#if MTK_UNCONSTRAINED_MVI
     173  Void setUndefinedMv( Int iPartAddr, Int iNumPart, Char* pePredMode, UChar* puhInterDir, Int refIdx, Int InterDir );
     174#endif
    171175};
    172176
  • branches/HTM-4.1-dev2-Mediatek/source/Lib/TLibCommon/TypeDef.h

    r158 r161  
    4242//! \{
    4343
     44#define MTK_UNCONSTRAINED_MVI             1    //JCT3V-B0083
     45
    4446#define FIXES                             1
    4547#define POZNAN_CABAC_INIT_FLAG_FIX        1
Note: See TracChangeset for help on using the changeset viewer.