Ignore:
Timestamp:
9 Nov 2012, 10:29:21 (12 years ago)
Author:
intel-htm
Message:

Here is the integrated software of B0065 from Intel. The corresponding simulation results was sent to Gerhard. The results demonstrated that B0065 has no impact of CTC.

Location:
branches/HTM-4.1-dev1-Intel/source/Lib/TLibEncoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-4.1-dev1-Intel/source/Lib/TLibEncoder/TEncCu.cpp

    r126 r171  
    30593059    rpcTempCU->setTextureModeDepthSubParts( uhTextureModeDepth, 0, uhDepth );
    30603060    rpcTempCU->copyTextureMotionDataFrom( pcTextureCU, uhDepth, rpcTempCU->getZorderIdxInCU() );
     3061#if FIX_MPI_B0065
     3062    UInt uiAbsPartIdx = rpcTempCU->getZorderIdxInCU();
     3063    if( rpcTempCU->getDepth(0) > pcTextureCU->getDepth(uiAbsPartIdx))
     3064    {
     3065      rpcTempCU->setPartSizeSubParts( SIZE_NxN, 0, uhDepth );
     3066    }
     3067    else
     3068    {
     3069      PartSize partSize = pcTextureCU->getPartitionSize(uiAbsPartIdx);
     3070      rpcTempCU->setPartSizeSubParts( partSize, 0, uhDepth );
     3071    }
     3072#else
    30613073    rpcTempCU->setPartSizeSubParts( SIZE_NxN, 0, uhDepth );
     3074#endif
    30623075    for( UInt ui = 0; ui < rpcTempCU->getTotalNumPart(); ui++ )
    30633076    {
  • branches/HTM-4.1-dev1-Intel/source/Lib/TLibEncoder/TEncEntropy.cpp

    r77 r171  
    16551655#endif
    16561656  }
    1657  
     1657
     1658#if FIX_MPI_B0065
     1659  if( pcCU->getPredictionMode(uiAbsPartIdx) == MODE_INTER && pcCU->getMergeFlag( uiAbsPartIdx ) && pcCU->getMergeIndex( uiAbsPartIdx ) == 0 && pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2Nx2N && pcCU->getTextureModeDepth( uiAbsPartIdx ) != -1 )
     1660  {
     1661    TComDataCU *pcTextureCU = pcCU->getSlice()->getTexturePic()->getCU( pcCU->getAddr() );
     1662    if( uiDepth == pcTextureCU->getDepth(uiAbsPartIdx))
     1663    {
     1664      PartSize partSize = pcTextureCU->getPartitionSize(uiAbsPartIdx);
     1665      pcCU->setPartSizeSubParts( partSize, uiAbsPartIdx, uiDepth );
     1666    }
     1667    else
     1668    {
     1669      pcCU->setPartSizeSubParts( SIZE_NxN, uiAbsPartIdx, uiDepth );
     1670    }
     1671  }
     1672#endif
     1673
    16581674#if UNIFIED_TRANSFORM_TREE
    16591675  UInt temp = 0;
     
    16641680  xEncodeCoeff( pcCU, uiLumaOffset, uiChromaOffset, uiAbsPartIdx, uiDepth, uiWidth, uiHeight, 0, uiLumaTrMode, bCodeDQP );
    16651681#endif // UNIFIED_TRANSFORM_TREE
     1682
     1683#if FIX_MPI_B0065
     1684  if( pcCU->getPredictionMode(uiAbsPartIdx) == MODE_INTER && pcCU->getMergeFlag( uiAbsPartIdx ) && pcCU->getMergeIndex( uiAbsPartIdx ) == 0 && pcCU->getPartitionSize(uiAbsPartIdx) != SIZE_2Nx2N &&  pcCU->getTextureModeDepth( uiAbsPartIdx ) != -1 )
     1685  {
     1686    pcCU->setPartSizeSubParts( SIZE_2Nx2N, uiAbsPartIdx, uiDepth ); 
     1687  }
     1688#endif
    16661689}
    16671690
Note: See TracChangeset for help on using the changeset viewer.