Changeset 280 in 3DVCSoftware for branches/HTM-5.1-dev0/source/Lib/TLibEncoder


Ignore:
Timestamp:
14 Feb 2013, 23:41:41 (12 years ago)
Author:
tech
Message:

Integration of branch dev 2.

Location:
branches/HTM-5.1-dev0/source/Lib/TLibEncoder
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncCavlc.cpp

    r210 r280  
    498498      }
    499499    }
     500#if INTER_VIEW_VECTOR_SCALING_C0115
     501      WRITE_FLAG( pcVPS->getIVScalingFlag(),                      "inter_view_vector_scaling_flag" );
     502#endif
    500503  }
    501504 
     
    508511#endif
    509512#endif
    510 #if HHI_MPI
     513#if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068
    511514Void TEncCavlc::codeSPS( TComSPS* pcSPS, Bool bIsDepth )
    512515#else
     
    13041307  #elif HHI_MPI
    13051308  const int iExtraMergeCandidates = pcSlice->getSPS()->getUseMVI() ? 1 : 0;
     1309  #elif MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137
     1310  const int iExtraMergeCandidates = ( pcSlice->getIsDepth() || pcSlice->getSPS()->getMultiviewMvPredMode() ) ? 1 : 0;
    13061311  #else
    13071312  const int iExtraMergeCandidates = pcSlice->getSPS()->getMultiviewMvPredMode() ? 1 : 0;
  • branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncCavlc.h

    r210 r280  
    118118#endif
    119119
    120 #if HHI_MPI
     120#if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068
    121121  Void  codeSPS                 ( TComSPS* pcSPS, Bool bIsDepth );
    122122#else
  • branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncCfg.h

    r210 r280  
    170170  Bool      m_bUseIC;
    171171#endif
     172#if INTER_VIEW_VECTOR_SCALING_C0115
     173  Bool      m_bUseIVS;
     174#endif
    172175#if SAO_UNIT_INTERLEAVING
    173176  Int       m_maxNumOffsetsPerPic;
     
    713716  Void  setUseIC                       ( Bool bVal )   {m_bUseIC = bVal;}
    714717  Bool  getUseIC                       ()              {return m_bUseIC;}
     718#endif
     719#if INTER_VIEW_VECTOR_SCALING_C0115
     720  Void  setUseIVS                       ( Bool bVal )   {m_bUseIVS = bVal;}
     721  Bool  getUseIVS                       ()              {return m_bUseIVS;}
    715722#endif
    716723#if SAO_UNIT_INTERLEAVING
     
    869876  Void      setCodedOffset                  ( Int** p )      { m_aaiCodedOffset         = p; }
    870877
    871 #if SONY_COLPIC_AVAILABILITY
    872   Int       getViewOrderIdx                 ()      { return  m_iViewOrderIdx; }
     878#if INTER_VIEW_VECTOR_SCALING_C0115
     879  Int       getViewOrderIdx                 ()      { return  m_iViewOrderIdx; }    // will be changed to view_id
    873880#endif
    874881};
  • branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncCu.cpp

    r275 r280  
    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 );
     
    18961906  rpcTempCU->getInterMergeCandidates( 0, 0, uhDepth, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
    18971907#endif
     1908#if MTK_MDIVRP_C0138
     1909  Bool bResPredAvail = rpcTempCU->getResPredAvail(0);
     1910#endif
     1911
    18981912#if FAST_DECISION_FOR_MRG_RD_COST
    18991913  Bool bestIsSkip = false;
     
    19581972
    19591973#if HHI_INTER_VIEW_RESIDUAL_PRED
     1974#if MTK_MDIVRP_C0138
     1975          rpcTempCU->setResPredAvailSubParts(bResPredAvail, 0, 0, uhDepth);
     1976#else
    19601977          rpcTempCU->setResPredAvailSubParts( bResPrdAvail, 0, 0, uhDepth );
    19611978          rpcTempCU->setResPredFlagSubParts ( bResPrdFlag,  0, 0, uhDepth );
     1979#endif
    19621980#endif
    19631981#if LGE_ILLUCOMP_B0045
     
    19761994#else
    19771995            m_pcPredSearch->motionCompensation ( rpcTempCU, m_ppcPredYuvTemp[uhDepth] );
     1996#endif
     1997#if MTK_MDIVRP_C0138
     1998            if (uiMergeCand == 0 && rpcTempCU->getResPredAvail(0))
     1999            {
     2000              m_pcPredSearch->residualPrediction(rpcTempCU, m_ppcPredYuvTemp[uhDepth], m_ppcResPredTmp [uhDepth]);
     2001            }
    19782002#endif
    19792003            // save pred adress
     
    19902014#else
    19912015              m_pcPredSearch->motionCompensation ( rpcTempCU, m_ppcPredYuvTemp[uhDepth] );
     2016#endif
     2017#if MTK_MDIVRP_C0138
     2018              if (uiMergeCand == 0 && rpcTempCU->getResPredAvail(0))
     2019              {
     2020                m_pcPredSearch->residualPrediction(rpcTempCU, m_ppcPredYuvTemp[uhDepth], m_ppcResPredTmp [uhDepth]);
     2021              }
    19922022#endif
    19932023              // save pred adress
     
    21122142  rpcTempCU->setMergeAMP (true);
    21132143  #if HHI_INTERVIEW_SKIP
    2114 #if LG_RESTRICTEDRESPRED_M24766
     2144#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    21152145  m_pcPredSearch->predInterSearch ( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcResPredTmp[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcRecoYuvTemp[uhDepth], bSkipRes, bUseMRG);
    21162146#else
  • branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncEntropy.cpp

    r231 r280  
    133133#endif
    134134
    135 #if HHI_MPI
     135#if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068
    136136Void TEncEntropy::encodeSPS( TComSPS* pcSPS, Bool bIsDepth )
    137137{
     
    489489}
    490490
    491 #if HHI_INTER_VIEW_RESIDUAL_PRED
     491#if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138
    492492Void
    493493TEncEntropy::encodeResPredFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPUIdx, Bool bRD )
  • branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncEntropy.h

    r210 r280  
    8080#endif
    8181
    82 #if HHI_MPI
     82#if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068
    8383  virtual Void  codeSPS                 ( TComSPS* pcSPS, Bool bIsDepth )                       = 0;
    8484#else
     
    246246#endif
    247247  // SPS
    248 #if HHI_MPI
     248#if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068
    249249  Void encodeSPS               ( TComSPS* pcSPS, Bool bIsDepth );
    250250#else
     
    270270  Void encodeMergeFlag    ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPUIdx );
    271271  Void encodeMergeIndex   ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPUIdx, Bool bRD = false );
    272 #if HHI_INTER_VIEW_RESIDUAL_PRED
     272#if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138
    273273  Void encodeResPredFlag  ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPUIdx, Bool bRD = false );
    274274#endif
  • branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncGOP.cpp

    r231 r280  
    247247      std::vector<TComAPS>& vAPS = m_pcEncTop->getAPS();
    248248#if VIDYO_VPS_INTEGRATION|QC_MVHEVC_B0046
     249#if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137
     250    m_pcSliceEncoder->initEncSlice ( pcPic, iPOCLast, uiPOCCurr, iNumPicRcvd, iGOPid, pcSlice, m_pcEncTop->getEncTop()->getVPS(), m_pcEncTop->getSPS(), m_pcEncTop->getPPS(), m_pcEncTop->getIsDepth() );
     251#else
    249252    m_pcSliceEncoder->initEncSlice ( pcPic, iPOCLast, uiPOCCurr, iNumPicRcvd, iGOPid, pcSlice, m_pcEncTop->getEncTop()->getVPS(), m_pcEncTop->getSPS(), m_pcEncTop->getPPS() );
     253#endif
    250254#else
    251255      m_pcSliceEncoder->initEncSlice ( pcPic, iPOCLast, uiPOCCurr, iNumPicRcvd, iGOPid, pcSlice, m_pcEncTop->getSPS(), m_pcEncTop->getPPS() );
     
    255259      pcSlice->setViewId( m_pcEncTop->getViewId() );
    256260      pcSlice->setIsDepth( m_pcEncTop->getIsDepth() );
     261#if INTER_VIEW_VECTOR_SCALING_C0115
     262      pcSlice->setIVScalingFlag( m_pcEncTop->getUseIVS() );
     263#endif
    257264
    258265      m_pcEncTop->getSPS()->setDisInter4x4(m_pcEncTop->getDisInter4x4());
     
    340347      pcSlice->setNumRefIdx( REF_PIC_LIST_1, min( m_pcCfg->getGOPEntry( (getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_IDV) ? MAX_GOP : iGOPid ).m_numRefPicsActive, (pcSlice->getRPS()->getNumberOfPictures() + pcSlice->getSPS()->getNumberOfUsableInterViewRefs()) ) );
    341348#else
     349
    342350      Bool bNalRAP = ((getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_CRA) || (getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_IDR)) && (pcSlice->getSPS()->getViewId())  ? 1: 0;
    343351      pcSlice->setNumRefIdx( REF_PIC_LIST_0, min( m_pcCfg->getGOPEntry( bNalRAP ? MAX_GOP : iGOPid ).m_numRefPicsActive, (pcSlice->getRPS()->getNumberOfPictures() + pcSlice->getSPS()->getNumberOfUsableInterViewRefs()) ) );
    344352      pcSlice->setNumRefIdx( REF_PIC_LIST_1, min( m_pcCfg->getGOPEntry( bNalRAP ? MAX_GOP : iGOPid ).m_numRefPicsActive, (pcSlice->getRPS()->getNumberOfPictures() + pcSlice->getSPS()->getNumberOfUsableInterViewRefs()) ) );
    345353#endif
    346      
    347354      TComRefPicListModification* refPicListModification = pcSlice->getRefPicListModification();
    348355      refPicListModification->setRefPicListModificationFlagL0( false );
     
    906913        pcSlice->getSPS()->setNumSubstreams( pcSlice->getPPS()->getNumSubstreams() );
    907914#endif
    908 #if HHI_MPI
     915#if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068
    909916        m_pcEntropyCoder->encodeSPS(pcSlice->getSPS(), m_pcEncTop->getIsDepth());
    910917#else
  • branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncSbac.cpp

    r231 r280  
    404404#endif
    405405
    406 #if HHI_MPI
     406#if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068
    407407Void TEncSbac::codeSPS( TComSPS* pcSPS, Bool bIsDepth )
    408408#else
  • branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncSbac.h

    r210 r280  
    102102#endif
    103103 
    104 #if HHI_MPI
     104#if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068
    105105  Void  codeSPS                 ( TComSPS* pcSPS, Bool bIsDepth );
    106106#else
  • branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncSearch.cpp

    r275 r280  
    29472947#else
    29482948#if LG_RESTRICTEDRESPRED_M24766
    2949 #if MERL_VSP_C0152
     2949#if MERL_VSP_C0152 || MTK_MDIVRP_C0138
     2950#if !MTK_MDIVRP_C0138
    29502951Void TEncSearch::xMergeEstimation( TComDataCU* pcCU, TComYuv* pcYuvOrg, TComYuv* rpcResiPredYuv, Int iPUIdx, UInt& uiInterDir, TComMvField* pacMvField, UInt& uiMergeIndex, UInt& ruiCost, Int* iVSPIndexTrue )
     2952#endif
     2953#if !MERL_VSP_C0152
     2954Void TEncSearch::xMergeEstimation( TComDataCU* pcCU, TComYuv* pcYuvOrg, Int iPUIdx, UInt& uiInterDir, TComMvField* pacMvField, UInt& uiMergeIndex, UInt& ruiCost )
     2955#endif
     2956#if MERL_VSP_C0152 && MTK_MDIVRP_C0138
     2957Void TEncSearch::xMergeEstimation( TComDataCU* pcCU, TComYuv* pcYuvOrg, Int iPUIdx, UInt& uiInterDir, TComMvField* pacMvField, UInt& uiMergeIndex, UInt& ruiCost, Int* iVSPIndexTrue  )
     2958#endif
    29512959#else
    29522960Void TEncSearch::xMergeEstimation( TComDataCU* pcCU, TComYuv* pcYuvOrg, TComYuv* rpcResiPredYuv, Int iPUIdx, UInt& uiInterDir, TComMvField* pacMvField, UInt& uiMergeIndex, UInt& ruiCost )
     
    30073015  const int maxNumMergeCand = MRG_MAX_NUM_CANDS_SIGNALED + ( pcCU->getSlice()->getSPS()->getMultiviewMvPredMode() ? 1 : 0 );
    30083016#endif
    3009 #if LG_RESTRICTEDRESPRED_M24766
     3017#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    30103018  Int iPUResiPredShift[4];
    30113019  Int iLastAddResiShift = -1000;
     
    30383046      }
    30393047#endif
    3040 #if LG_RESTRICTEDRESPRED_M24766
     3048#if LG_RESTRICTEDRESPRED_M24766  && !MTK_MDIVRP_C0138
    30413049      Int iAddResiShift;
    30423050      UInt uiPartAddr;
     
    30883096    }
    30893097  }
    3090 #if LG_RESTRICTEDRESPRED_M24766
     3098#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    30913099  if( pcCU->getResPredFlag( 0 ) && iLastAddResiShift >= 0)
    30923100  {
     
    31073115 */
    31083116#if AMP_MRG
    3109 #if LG_RESTRICTEDRESPRED_M24766
     3117#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    31103118Void TEncSearch::predInterSearch( TComDataCU* pcCU, TComYuv* pcOrgYuv, TComYuv* rpcResiPredYuv, TComYuv*& rpcPredYuv, TComYuv*& rpcResiYuv, TComYuv*& rpcRecoYuv, Bool bUseRes, Bool bUseMRG )
    31113119#else
     
    32143222    for (Int iNumRef=0; iNumRef < MAX_NUM_REF; iNumRef++) uiCostTempL0[iNumRef] = MAX_UINT;
    32153223    UInt          uiBitsTempL0[MAX_NUM_REF];
    3216 
    3217 #if LG_RESTRICTEDRESPRED_M24766
     3224#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    32183225    Int iPUResiPredShift[4] = {0, 0, 0, 0};
    32193226#endif
     
    32363243    {
    32373244#endif
    3238 #if LG_RESTRICTEDRESPRED_M24766
     3245#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    32393246      Bool bLastResiFlag = false;
    32403247#endif
     
    32473254      for ( Int iRefIdxTemp = 0; iRefIdxTemp < pcCU->getSlice()->getNumRefIdx(eRefPicList); iRefIdxTemp++ )
    32483255      {
    3249 #if LG_RESTRICTEDRESPRED_M24766
     3256#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    32503257        if( pcCU->getResPredFlag( 0 ))
    32513258        {
     
    34353442      }
    34363443    }
    3437 #if LG_RESTRICTEDRESPRED_M24766
     3444#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    34383445    if( pcCU->getResPredFlag( 0 ) && bLastResiFlag)
    34393446    { // subtract residual prediction from original in motion search
     
    34443451    if ( pcCU->getSlice()->isInterB() )
    34453452    {
    3446 #if LG_RESTRICTEDRESPRED_M24766
     3453#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    34473454      Int iLastAddResiShift = -1000;
    34483455#endif
     
    35523559          uiBitsTemp += m_auiMVPIdxCost[aaiMvpIdxBi[iRefList][iRefIdxTemp]][AMVP_MAX_NUM_CANDS];
    35533560#endif
    3554 #if LG_RESTRICTEDRESPRED_M24766
     3561#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    35553562          Int iAddResiShift = -1, iPredFrom = 0;
    35563563          Int iBestRefIdx = pcCU->getCUMvField(eRefPicList == REF_PIC_LIST_0 ? REF_PIC_LIST_1 : REF_PIC_LIST_0)->getRefIdx(uiPartAddr);
     
    36413648        }
    36423649      } // for loop-iter
    3643 #if LG_RESTRICTEDRESPRED_M24766
     3650#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    36443651      if( pcCU->getResPredFlag( 0 ) && iLastAddResiShift >= 0)
    36453652      {
     
    38563863      if (bTestNormalMC)
    38573864      {
    3858 #if LG_RESTRICTEDRESPRED_M24766
     3865#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    38593866        Int iAddResiShift = pcCU->getResiPredMode(uiPartAddr);
    38603867        iPUResiPredShift[0] = iPUResiPredShift[1] = iPUResiPredShift[2] = iPUResiPredShift[3] = \
     
    38673874        xGetInterPredictionError( pcCU, pcOrgYuv, iPartIdx, uiMEError, m_pcEncCfg->getUseHADME() );
    38683875        uiMECost = uiMEError + m_pcRdCost->getCost( uiMEBits );
    3869 #if LG_RESTRICTEDRESPRED_M24766
     3876#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    38703877        if(pcCU->getResPredFlag(0) && iAddResiShift >= 0)
    38713878        {
     
    38953902#else
    38963903#if LG_RESTRICTEDRESPRED_M24766
    3897 #if MERL_VSP_C0152
     3904#if MERL_VSP_C0152 || MTK_MDIVRP_C0138
     3905
     3906#if !MTK_MDIVRP_C0138
    38983907      xMergeEstimation( pcCU, pcOrgYuv, rpcResiPredYuv, iPartIdx, uiMRGInterDir, cMRGMvField, uiMRGIndex, uiMRGCost,  iVSPIndexTrue );
     3908#endif
     3909
     3910#if !MERL_VSP_C0152
     3911      xMergeEstimation( pcCU, pcOrgYuv, iPartIdx, uiMRGInterDir, cMRGMvField, uiMRGIndex, uiMRGCost );
     3912#endif
     3913
     3914#if MERL_VSP_C0152 && MTK_MDIVRP_C0138
     3915      xMergeEstimation( pcCU, pcOrgYuv, iPartIdx, uiMRGInterDir, cMRGMvField, uiMRGIndex, uiMRGCost,  iVSPIndexTrue );
     3916#endif
     3917
    38993918#else
    39003919      xMergeEstimation( pcCU, pcOrgYuv, rpcResiPredYuv, iPartIdx, uiMRGInterDir, cMRGMvField, uiMRGIndex, uiMRGCost );
    39013920#endif
     3921
     3922
    39023923#else
    39033924      xMergeEstimation( pcCU, pcOrgYuv, iPartIdx, uiMRGInterDir, cMRGMvField, uiMRGIndex, uiMRGCost );
     
    48334854  UInt      uiWidth      = pcCU->getWidth ( 0 );
    48344855  UInt      uiHeight     = pcCU->getHeight( 0 );
    4835 #if LG_RESTRICTEDRESPRED_M24766
     4856#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    48364857  Int       iPUResiPredShift[4];
    48374858#endif
    48384859  //  No residual coding : SKIP mode
    4839   if ( (ePredMode == MODE_SKIP && bSkipRes) )
     4860  if ( ePredMode == MODE_SKIP && bSkipRes )
    48404861  {
    48414862    rpcYuvResi->clear();
     
    48434864    pcYuvPred->copyToPartYuv( rpcYuvRec, 0 );
    48444865   
     4866#if MTK_MDIVRP_C0138
     4867    if (pcCU->getMergeFlag(0) && pcCU->getMergeIndex(0)==0 && pcCU->getResPredAvail(0))
     4868    {
     4869      rpcYuvRec->clip( uiWidth, uiHeight );
     4870    }
     4871#else
    48454872#if HHI_INTER_VIEW_RESIDUAL_PRED
    48464873    // add residual prediction
     
    48554882      rpcYuvRec->clip( uiWidth, uiHeight );
    48564883    }
     4884#endif
    48574885#endif
    48584886
     
    49004928    m_pcEntropyCoder->encodeICFlag(pcCU, 0, true);
    49014929#endif
    4902 #if HHI_INTER_VIEW_RESIDUAL_PRED
     4930#if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138
    49034931    m_pcEntropyCoder->encodeResPredFlag( pcCU, 0, 0, true );
    49044932#endif
     
    49785006  else
    49795007  {
    4980 #if LG_RESTRICTEDRESPRED_M24766
     5008#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    49815009    iPUResiPredShift[0] = iPUResiPredShift[1] = iPUResiPredShift[2] = iPUResiPredShift[3] = 0;
    49825010    rpcYuvResi->subtract(iPUResiPredShift, pcCU->getPartitionSize(0), pcYuvOrg, pcYuvPred, 0, uiWidth );
     
    49845012  rpcYuvResi->subtract( pcYuvOrg, pcYuvPred, 0, uiWidth );
    49855013#endif
    4986 #if HHI_INTER_VIEW_RESIDUAL_PRED
     5014#if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138
    49875015    // subtract residual prediction
    49885016    if( pcCU->getResPredFlag( 0 ) )
     
    52065234#endif
    52075235  }
    5208 #if HHI_INTER_VIEW_RESIDUAL_PRED
     5236#if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138
    52095237  // add residual prediction
    52105238  if( pcCU->getResPredFlag( 0 ) )
     
    62836311    m_pcEntropyCoder->encodeICFlag(pcCU, 0, true);
    62846312#endif
    6285 #if HHI_INTER_VIEW_RESIDUAL_PRED
     6313#if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138
    62866314    m_pcEntropyCoder->encodeResPredFlag( pcCU, 0, 0, true );
    62876315#endif
     
    63066334    m_pcEntropyCoder->encodeICFlag(pcCU, 0, true);
    63076335#endif
    6308 #if HHI_INTER_VIEW_RESIDUAL_PRED
     6336#if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138
    63096337    m_pcEntropyCoder->encodeResPredFlag( pcCU, 0, 0, true );
    63106338#endif
  • branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncSearch.h

    r231 r280  
    196196  Void predInterSearch          ( TComDataCU* pcCU,
    197197                                  TComYuv*    pcOrgYuv,
    198 #if LG_RESTRICTEDRESPRED_M24766
     198#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    199199                                  TComYuv*    rpcResiPredYuv,
    200200#endif
     
    500500  Void xMergeEstimation           ( TComDataCU*     pcCU,
    501501                                    TComYuv*        pcYuvOrg,
    502 #if LG_RESTRICTEDRESPRED_M24766
     502#if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138
    503503                                    TComYuv*        rpcResiPredYuv,
    504504#endif
  • branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncSlice.cpp

    r231 r280  
    163163 */
    164164#if VIDYO_VPS_INTEGRATION|QC_MVHEVC_B0046
     165#if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137
     166Void TEncSlice::initEncSlice( TComPic* pcPic, Int iPOCLast, UInt uiPOCCurr, Int iNumPicRcvd, Int iGOPid, TComSlice*& rpcSlice, TComVPS * pVPS, TComSPS* pSPS, TComPPS *pPPS, bool isDepth )
     167#else
    165168Void TEncSlice::initEncSlice( TComPic* pcPic, Int iPOCLast, UInt uiPOCCurr, Int iNumPicRcvd, Int iGOPid, TComSlice*& rpcSlice, TComVPS * pVPS, TComSPS* pSPS, TComPPS *pPPS )
     169#endif
    166170#else
    167171Void TEncSlice::initEncSlice( TComPic* pcPic, Int iPOCLast, UInt uiPOCCurr, Int iNumPicRcvd, Int iGOPid, TComSlice*& rpcSlice, TComSPS* pSPS, TComPPS *pPPS )
     
    186190  rpcSlice->setPOC( uiPOCCurr );
    187191 
    188 #if SONY_COLPIC_AVAILABILITY
    189   rpcSlice->setViewOrderIdx(m_pcCfg->getViewOrderIdx());
     192#if INTER_VIEW_VECTOR_SCALING_C0115
     193  rpcSlice->setViewOrderIdx(m_pcCfg->getViewOrderIdx());    // will be changed to view_id
    190194#endif
    191195#if LGE_ILLUCOMP_B0045
     
    470474  #elif HHI_MPI
    471475  const int iExtraMergeCandidates = pSPS->getUseMVI() ? 1 : 0;
     476  #elif MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137
     477  const int iExtraMergeCandidates = ( isDepth || pSPS->getMultiviewMvPredMode() ) ? 1 : 0;
    472478  #else
    473479  const int iExtraMergeCandidates = pSPS->getMultiviewMvPredMode() ? 1 : 0;
  • branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncSlice.h

    r231 r280  
    120120  /// preparation of slice encoding (reference marking, QP and lambda)
    121121#if VIDYO_VPS_INTEGRATION|QC_MVHEVC_B0046
     122#if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137
     123  Void    initEncSlice        ( TComPic*  pcPic, Int iPOCLast, UInt uiPOCCurr, Int iNumPicRcvd, Int iGOPid, TComSlice*& rpcSlice, TComVPS* pVPS, TComSPS* pSPS, TComPPS *pPPS, bool isDepth );
     124#else
    122125  Void    initEncSlice        ( TComPic*  pcPic, Int iPOCLast, UInt uiPOCCurr, Int iNumPicRcvd, Int iGOPid, TComSlice*& rpcSlice, TComVPS* pVPS, TComSPS* pSPS, TComPPS *pPPS );
     126#endif
    123127#else
    124128  Void    initEncSlice        ( TComPic*  pcPic, Int iPOCLast, UInt uiPOCCurr, Int iNumPicRcvd, Int iGOPid, TComSlice*& rpcSlice, TComSPS* pSPS, TComPPS *pPPS );
  • branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncTop.cpp

    r210 r280  
    404404  pcPicYuvOrg->copyToPic( pcPicCurr->getPicYuvOrg() );
    405405
    406 #if SONY_COLPIC_AVAILABILITY
    407   pcPicCurr->setViewOrderIdx(m_iViewOrderIdx);
     406#if INTER_VIEW_VECTOR_SCALING_C0115
     407  pcPicCurr->setViewOrderIdx(m_iViewOrderIdx);    // will be changed to view_id
    408408#endif
    409409  pcPicCurr->setScaleOffset( m_aaiCodedScale, m_aaiCodedOffset );
Note: See TracChangeset for help on using the changeset viewer.