Ignore:
Timestamp:
12 Aug 2013, 06:58:37 (11 years ago)
Author:
mediatek-htm
Message:

Integration of JCT3V-E0170 for motion data storage reduction.
The MACRO is "MTK_SONY_PROGRESSIVE_MV_COMPRESSION_E0170".

By Yi-Wen Chen (yiwen.chen@…)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-2.0-dev2-MediaTek/source/Lib/TLibCommon/TComDataCU.cpp

    r559 r564  
    30833083      abCandIsInter[iCount] = true;     
    30843084      puhInterDirNeighbours[iCount] = pcTextureCU->getInterDir( uiPartIdxCenter );
     3085#if MTK_SONY_PROGRESSIVE_MV_COMPRESSION_E0170
     3086      pcTextureCU->getMvField( pcTextureCU, uiPartIdxCenter, REF_PIC_LIST_0, pcMvFieldNeighbours[iCount<<1] );
     3087      if (pcMvFieldNeighbours[iCount<<1].getRefIdx()>=0)
     3088#else
    30853089      if( ( puhInterDirNeighbours[iCount] & 1 ) == 1 )
    3086       {
     3090#endif
     3091      {
     3092#if !MTK_SONY_PROGRESSIVE_MV_COMPRESSION_E0170
    30873093        pcTextureCU->getMvField( pcTextureCU, uiPartIdxCenter, REF_PIC_LIST_0, pcMvFieldNeighbours[iCount<<1] );
     3094#endif
    30883095        TComMv cMvPred = pcMvFieldNeighbours[iCount<<1].getMv();
    30893096
     
    31023109      if ( getSlice()->isInterB() )
    31033110      {
     3111#if MTK_SONY_PROGRESSIVE_MV_COMPRESSION_E0170
     3112        pcTextureCU->getMvField( pcTextureCU, uiPartIdxCenter, REF_PIC_LIST_1, pcMvFieldNeighbours[(iCount<<1)+1] );
     3113        if (pcMvFieldNeighbours[(iCount<<1)+1].getRefIdx()>=0)
     3114#else
    31043115        if( ( puhInterDirNeighbours[iCount] & 2 ) == 2 )
     3116#endif
    31053117        {
     3118#if !MTK_SONY_PROGRESSIVE_MV_COMPRESSION_E0170
    31063119          pcTextureCU->getMvField( pcTextureCU, uiPartIdxCenter, REF_PIC_LIST_1, pcMvFieldNeighbours[(iCount<<1)+1] );
     3120#endif
    31073121          TComMv cMvPred = pcMvFieldNeighbours[(iCount<<1)+1].getMv();
    31083122#if H_3D_IC
     
    31153129        }
    31163130      }
     3131#if MTK_SONY_PROGRESSIVE_MV_COMPRESSION_E0170
     3132      puhInterDirNeighbours[iCount] = (pcMvFieldNeighbours[iCount<<1].getRefIdx()>=0)?1:0;
     3133      puhInterDirNeighbours[iCount] += (pcMvFieldNeighbours[(iCount<<1)+1].getRefIdx()>=0)?2:0;
     3134#endif
    31173135#if H_3D_NBDV
    31183136      pcMvFieldNeighbours[iCount<<1    ].getMv().setIDVFlag (false);
     
    43814399                                        + ( iPartWidth/m_pcPic->getMinCUWidth()  )/2];
    43824400}
    4383 
     4401#if MTK_SONY_PROGRESSIVE_MV_COMPRESSION_E0170
     4402Void TComDataCU::compressMV(int scale)
     4403#else
    43844404Void TComDataCU::compressMV()
    4385 {
     4405#endif
     4406{
     4407#if MTK_SONY_PROGRESSIVE_MV_COMPRESSION_E0170
     4408  Int scaleFactor = (4 / scale ) * AMVP_DECIMATION_FACTOR / m_unitSize;
     4409#else
    43864410  Int scaleFactor = 4 * AMVP_DECIMATION_FACTOR / m_unitSize;
     4411#endif
    43874412  if (scaleFactor > 0)
    43884413  {
Note: See TracChangeset for help on using the changeset viewer.