Ignore:
Timestamp:
31 Jan 2013, 03:48:51 (12 years ago)
Author:
mediatek-htm
Message:

Implementation of C0138
Added macro "MTK_MDIVRP_C0138"

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibEncoder/TEncCu.cpp

    r189 r244  
    636636      {
    637637#if HHI_INTER_VIEW_RESIDUAL_PRED
     638#if MTK_MDIVRP_C0138
     639        Bool  bResPredAvailable   = false;
     640        UInt uiResPrdId = 0;
     641#else
    638642        // check availability of residual prediction
    639643        Bool  bResPredAvailable   = false;
     
    651655
    652656        for( UInt uiResPrdId = 0; uiResPrdId < ( bResPredAvailable ? 2 : 1 ); uiResPrdId++ )
     657#endif
    653658        {
    654659          Bool bResPredFlag  = ( uiResPrdId > 0 );
     
    764769      {
    765770#if HHI_INTER_VIEW_RESIDUAL_PRED
     771#if MTK_MDIVRP_C0138
     772        Bool  bResPredAvailable   = false;
     773        UInt uiResPrdId = 0;
     774#else
    766775        // check availability of residual prediction
    767776        Bool  bResPredAvailable   = false;
     
    779788
    780789        for( UInt uiResPrdId = 0; uiResPrdId < ( bResPredAvailable ? 2 : 1 ); uiResPrdId++ )
     790#endif
    781791        {
    782792          Bool bResPredFlag  = ( uiResPrdId > 0 );
     
    17891799    m_pcEntropyCoder->encodeICFlag  ( pcCU, uiAbsPartIdx );
    17901800#endif
    1791 #if HHI_INTER_VIEW_RESIDUAL_PRED
     1801#if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138
    17921802    m_pcEntropyCoder->encodeResPredFlag( pcCU, uiAbsPartIdx, 0 );
    17931803#endif
     
    18201830    m_pcEntropyCoder->encodeICFlag  ( pcCU, uiAbsPartIdx );
    18211831#endif
    1822 #if HHI_INTER_VIEW_RESIDUAL_PRED
     1832#if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138
    18231833    if( !pcCU->isIntra( uiAbsPartIdx ) )
    18241834    {
     
    18601870  Int numValidMergeCand = 0;
    18611871
    1862 #if HHI_INTER_VIEW_RESIDUAL_PRED
     1872#if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138
    18631873  Bool  bResPrdAvail  = rpcTempCU->getResPredAvail( 0 );
    18641874  Bool  bResPrdFlag   = rpcTempCU->getResPredFlag ( 0 );
     
    18911901  rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uhDepth ); // interprets depth relative to LCU level
    18921902  rpcTempCU->getInterMergeCandidates( 0, 0, uhDepth, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand );
     1903
     1904#if MTK_MDIVRP_C0138
     1905  Bool bResPredAvail = rpcTempCU->getResPredAvail(0);
     1906#endif
    18931907
    18941908#if FAST_DECISION_FOR_MRG_RD_COST
     
    19381952
    19391953#if HHI_INTER_VIEW_RESIDUAL_PRED
     1954#if MTK_MDIVRP_C0138
     1955          rpcTempCU->setResPredAvailSubParts(bResPredAvail, 0, 0, uhDepth);
     1956#else
    19401957          rpcTempCU->setResPredAvailSubParts( bResPrdAvail, 0, 0, uhDepth );
    19411958          rpcTempCU->setResPredFlagSubParts ( bResPrdFlag,  0, 0, uhDepth );
     1959#endif
    19421960#endif
    19431961#if LGE_ILLUCOMP_B0045
     
    19531971        {
    19541972            m_pcPredSearch->motionCompensation ( rpcTempCU, m_ppcPredYuvTemp[uhDepth] );
     1973#if MTK_MDIVRP_C0138
     1974            if (uiMergeCand == 0 && rpcTempCU->getResPredAvail(0))
     1975            {
     1976              m_pcPredSearch->residualPrediction(rpcTempCU, m_ppcPredYuvTemp[uhDepth], m_ppcResPredTmp [uhDepth]);
     1977            }
     1978#endif
    19551979            // save pred adress
    19561980            pcPredYuvTemp = m_ppcPredYuvTemp[uhDepth];
     
    19631987            {
    19641988              m_pcPredSearch->motionCompensation ( rpcTempCU, m_ppcPredYuvTemp[uhDepth] );
     1989#if MTK_MDIVRP_C0138
     1990              if (uiMergeCand == 0 && rpcTempCU->getResPredAvail(0))
     1991              {
     1992                m_pcPredSearch->residualPrediction(rpcTempCU, m_ppcPredYuvTemp[uhDepth], m_ppcResPredTmp [uhDepth]);
     1993              }
     1994#endif
    19651995              // save pred adress
    19661996              pcPredYuvTemp = m_ppcPredYuvTemp[uhDepth];
     
    20832113  rpcTempCU->setMergeAMP (true);
    20842114  #if HHI_INTERVIEW_SKIP
    2085 #if LG_RESTRICTEDRESPRED_M24766
     2115#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    20862116  m_pcPredSearch->predInterSearch ( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcResPredTmp[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcRecoYuvTemp[uhDepth], bSkipRes, bUseMRG  );
    20872117#else
Note: See TracChangeset for help on using the changeset viewer.