Changeset 931 in 3DVCSoftware


Ignore:
Timestamp:
21 Apr 2014, 10:32:30 (11 years ago)
Author:
mediatek-htm
Message:

implementation of H0205

Location:
branches/HTM-10.2-dev1-MediaTek/source/Lib
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-10.2-dev1-MediaTek/source/Lib/TLibCommon/TComDataCU.cpp

    r922 r931  
    40684068#if H_3D_DBBP
    40694069  Bool bDBBPFlag = getDBBPFlag(uiAbsPartIdx);
     4070#if MTK_DIS_SPBIP8X4_H0205
     4071  assert(bDBBPFlag == getDBBPFlag(0)); 
     4072#endif
    40704073#endif
    40714074
     
    45044507                }
    45054508              }
     4509#if MTK_DIS_SPBIP8X4_H0205
     4510              if (iPUHeight + iPUWidth == 12)
     4511              {
     4512                if (puhInterDirSP[iPartition] == 3)
     4513                {
     4514                  puhInterDirSP[iPartition] = 1;
     4515                  pcMvFieldSP[2*iPartition + 1].setMvField(TComMv(0,0), -1);
     4516                }
     4517              }
     4518#endif
    45064519#if !MPI_SUBPU_DEFAULT_MV_H0077_H0099_H0111_H0133
    45074520              else
     
    49164929#if ETRIKHU_CLEANUP_H0083
    49174930      Bool SPIVMPFlag = false;
     4931#if MTK_DIS_SPBIP8X4_H0205
     4932      if(!m_pcSlice->getIsDepth())
     4933#else
    49184934      if(!m_pcSlice->getIsDepth() && getPartitionSize(0) == SIZE_2Nx2N )
     4935#endif
    49194936      {
    49204937        SPIVMPFlag = true;
     
    73127329  if(!m_pcSlice->getIsDepth())
    73137330  {
     7331#if MTK_DIS_SPBIP8X4_H0205
     7332    if (!getDBBPFlag(0))
     7333#else
    73147334    if( getPartitionSize(0) == SIZE_2Nx2N )
     7335#endif
    73157336    {
    73167337      Int iNumSPInOneLine, iNumSP, iSPWidth, iSPHeight;
     
    74697490
    74707491            }
     7492#if MTK_DIS_SPBIP8X4_H0205
     7493            if (iSPHeight + iSPWidth == 12)
     7494            {
     7495              if (puhInterDirSP[iPartition] == 3)
     7496              {
     7497                puhInterDirSP[iPartition] = 1;
     7498                pcMvFieldSP[2*iPartition + 1].setMvField(TComMv(0,0), -1);
     7499              }
     7500            }
     7501#endif
    74717502            iPartition ++;
    74727503          }
     
    74907521    iCurrPosY  += ( iHeight >> 1 );
    74917522  }
     7523#if MTK_DIS_SPBIP8X4_H0205
     7524  for(Int iLoopCan = ( (m_pcSlice->getIsDepth() || getDBBPFlag(0)) ? 0 : 1 ); iLoopCan < ( 2 - m_pcSlice->getIsDepth() ); iLoopCan ++)
     7525#else
    74927526  for(Int iLoopCan = ( (m_pcSlice->getIsDepth() || getPartitionSize(uiPartAddr) != SIZE_2Nx2N) ? 0 : 1 ); iLoopCan < ( 2 - m_pcSlice->getIsDepth() ); iLoopCan ++)
     7527#endif
    74937528#else
    74947529  for(Int iLoopCan = 0; iLoopCan < 2; iLoopCan ++)
  • branches/HTM-10.2-dev1-MediaTek/source/Lib/TLibCommon/TypeDef.h

    r926 r931  
    231231#define ETRIKHU_CLEANUP_H0083             1   // cleaned-up source code for constructing merging candidate list
    232232#define SHARP_SIMPLE_MERGE_H0062          1   // Restrict 3D-HEVC merge cand in small PUs
     233#define MTK_DIS_SPBIP8X4_H0205            1   // Disable bi-prediction for 8x4 and 4x8 sub PU and remove the SPIVMP 2Nx2N restriction
    233234
    234235// Rate Control
  • branches/HTM-10.2-dev1-MediaTek/source/Lib/TLibDecoder/TDecSbac.cpp

    r884 r931  
    21532153  {
    21542154    pcCU->setDBBPFlagSubParts(true, uiAbsPartIdx, 0, uiDepth);
     2155#if MTK_DIS_SPBIP8X4_H0205
     2156    UInt uiCurrPartNumQ = (pcCU->getPic()->getNumPartInCU() >> (2 * uiDepth)) >> 2;
     2157    pcCU->setDBBPFlagSubParts(true, uiAbsPartIdx + 2*uiCurrPartNumQ, 1, uiDepth);
     2158#endif
    21552159  }
    21562160}
Note: See TracChangeset for help on using the changeset viewer.