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/TLibDecoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-4.1-dev1-Intel/source/Lib/TLibDecoder/TDecCu.cpp

    r100 r171  
    620620{
    621621#if HHI_MPI
     622#if FIX_MPI_B0065
     623  if( pcCU->getTextureModeDepth( 0 ) != -1 )
     624  {
     625    TComDataCU *pcTextureCU = pcCU->getSlice()->getTexturePic()->getCU( pcCU->getAddr() );
     626    if( uiDepth == pcTextureCU->getDepth(uiAbsPartIdx))
     627    {
     628      PartSize partSize = pcTextureCU->getPartitionSize(uiAbsPartIdx);
     629      pcCU->setPartSizeSubParts( partSize, 0, uiDepth );
     630    }
     631    else
     632    {
     633      pcCU->setPartSizeSubParts( SIZE_NxN, 0, uiDepth );
     634    }
     635  }
     636#else
    622637  if( pcCU->getTextureModeDepth( 0 ) != -1 )
    623638    pcCU->setPartSizeSubParts( SIZE_NxN, 0, uiDepth );
     639#endif
    624640#endif
    625641 
  • branches/HTM-4.1-dev1-Intel/source/Lib/TLibDecoder/TDecEntropy.cpp

    r154 r171  
    934934#endif // !UNIFIED_TRANSFORM_TREE
    935935  }
     936
     937#if FIX_MPI_B0065
     938  if( pcCU->getPredictionMode(uiAbsPartIdx) == MODE_INTER && pcCU->getMergeFlag( uiAbsPartIdx ) && pcCU->getMergeIndex( uiAbsPartIdx ) == 0 && pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2Nx2N &&  pcCU->getTextureModeDepth( uiAbsPartIdx ) != -1  )
     939  {
     940    TComDataCU *pcTextureCU = pcCU->getSlice()->getTexturePic()->getCU( pcCU->getAddr() );
     941    if( uiDepth == pcTextureCU->getDepth(uiAbsPartIdx))
     942    {
     943      PartSize partSize = pcTextureCU->getPartitionSize(uiAbsPartIdx);
     944      pcCU->setPartSizeSubParts( partSize, uiAbsPartIdx, uiDepth );
     945    }
     946    else
     947    {
     948      pcCU->setPartSizeSubParts( SIZE_NxN, uiAbsPartIdx, uiDepth );
     949    }
     950  }
     951#endif
     952
    936953#if UNIFIED_TRANSFORM_TREE
    937954  xDecodeTransform( pcCU, uiLumaOffset, uiChromaOffset, uiAbsPartIdx, uiAbsPartIdx, uiDepth, uiWidth, uiHeight, 0, 0, temp, temp1, temp2, bCodeDQP );
     
    939956  xDecodeCoeff( pcCU, uiLumaOffset, uiChromaOffset, uiAbsPartIdx, uiDepth, uiWidth, uiHeight, 0, uiLumaTrMode, bCodeDQP );
    940957#endif // UNIFIED_TRANSFORM_TREE
     958
     959#if FIX_MPI_B0065
     960  if( pcCU->getPredictionMode(uiAbsPartIdx) == MODE_INTER && pcCU->getMergeFlag( uiAbsPartIdx ) && pcCU->getMergeIndex( uiAbsPartIdx ) == 0 && pcCU->getPartitionSize(uiAbsPartIdx) != SIZE_2Nx2N &&  pcCU->getTextureModeDepth( uiAbsPartIdx ) != -1 )
     961  {
     962    pcCU->setPartSizeSubParts( SIZE_2Nx2N, uiAbsPartIdx, uiDepth ); 
     963  }
     964#endif
    941965}
    942966
Note: See TracChangeset for help on using the changeset viewer.