Ignore:
Timestamp:
24 Jul 2014, 14:29:09 (10 years ago)
Author:
hhi
Message:

Integration of JCT3V-I0066: Encoder modification for DMM4, macro is HHI_DMM4_ENC_I0066.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-11.2-dev3-HHI/source/Lib/TLibEncoder/TEncCu.cpp

    r1014 r1019  
    10281028          // speedup for inter frames
    10291029          if( rpcBestCU->getSlice()->getSliceType() == I_SLICE ||
    1030             rpcBestCU->getCbf( 0, TEXT_LUMA     ) != 0   ||
    1031             rpcBestCU->getCbf( 0, TEXT_CHROMA_U ) != 0   ||
     1030              rpcBestCU->getCbf( 0, TEXT_LUMA     ) != 0   ||
     1031              rpcBestCU->getCbf( 0, TEXT_CHROMA_U ) != 0   ||
    10321032              rpcBestCU->getCbf( 0, TEXT_CHROMA_V ) != 0     
    10331033#if H_3D_DIM_ENC
     1034#if HHI_DMM4_ENC_I0066
     1035              || rpcBestCU->getSlice()->getIsDepth()
     1036#else
    10341037            || ( rpcBestCU->getSlice()->getIsDepth() && rpcBestCU->getSlice()->isIRAP() )
     1038#endif
    10351039#endif
    10361040            ) // avoid very complex intra if it is unlikely
    10371041          {
     1042#if HHI_DMM4_ENC_I0066
     1043            Bool bOnlyIVP = false;
     1044            if( rpcBestCU->getSlice()->getIsDepth() && !(rpcBestCU->getSlice()->isIRAP()) &&
     1045                rpcBestCU->getSlice()->getSliceType() != I_SLICE &&
     1046                rpcBestCU->getCbf( 0, TEXT_LUMA     ) == 0 &&
     1047                rpcBestCU->getCbf( 0, TEXT_CHROMA_U ) == 0 &&
     1048                rpcBestCU->getCbf( 0, TEXT_CHROMA_V ) == 0
     1049              )
     1050            {
     1051              bOnlyIVP = true;
     1052            }
     1053            xCheckRDCostIntra( rpcBestCU, rpcTempCU, SIZE_2Nx2N, bOnlyIVP );
     1054#else
    10381055            xCheckRDCostIntra( rpcBestCU, rpcTempCU, SIZE_2Nx2N );
     1056#endif
    10391057
    10401058#if KWU_RC_MADPRED_E0227
     
    10551073                if( rpcTempCU->getWidth(0) > ( 1 << rpcTempCU->getSlice()->getSPS()->getQuadtreeTULog2MinSize() ) )
    10561074                {
     1075#if HHI_DMM4_ENC_I0066
     1076                  xCheckRDCostIntra( rpcBestCU, rpcTempCU, SIZE_NxN, bOnlyIVP );
     1077#else
    10571078                  xCheckRDCostIntra( rpcBestCU, rpcTempCU, SIZE_NxN   );
     1079#endif
    10581080                  rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    10591081                }
     
    26282650#endif
    26292651
     2652#if HHI_DMM4_ENC_I0066
     2653Void TEncCu::xCheckRDCostIntra( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize eSize, Bool bOnlyIVP )
     2654#else
    26302655Void TEncCu::xCheckRDCostIntra( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize eSize )
     2656#endif
    26312657{
    26322658  UInt uiDepth = rpcTempCU->getDepth( 0 );
     
    26562682    m_pcPredSearch->preestChromaPredMode( rpcTempCU, m_ppcOrigYuv[uiDepth], m_ppcPredYuvTemp[uiDepth] );
    26572683  }
     2684#if HHI_DMM4_ENC_I0066
     2685  m_pcPredSearch  ->estIntraPredQT      ( rpcTempCU, m_ppcOrigYuv[uiDepth], m_ppcPredYuvTemp[uiDepth], m_ppcResiYuvTemp[uiDepth], m_ppcRecoYuvTemp[uiDepth], uiPreCalcDistC, bSeparateLumaChroma, bOnlyIVP );
     2686#else
    26582687  m_pcPredSearch  ->estIntraPredQT      ( rpcTempCU, m_ppcOrigYuv[uiDepth], m_ppcPredYuvTemp[uiDepth], m_ppcResiYuvTemp[uiDepth], m_ppcRecoYuvTemp[uiDepth], uiPreCalcDistC, bSeparateLumaChroma );
    2659 
     2688#endif
    26602689  m_ppcRecoYuvTemp[uiDepth]->copyToPicLuma(rpcTempCU->getPic()->getPicYuvRec(), rpcTempCU->getAddr(), rpcTempCU->getZorderIdxInCU() );
    26612690 
Note: See TracChangeset for help on using the changeset viewer.