Ignore:
Timestamp:
11 Jun 2015, 01:07:43 (9 years ago)
Author:
ntt
Message:

Reactivation of VSP

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-14.1-update-dev3-NTT/source/Lib/TLibEncoder/TEncCu.cpp

    r1233 r1255  
    587587      if( rpcTempCU->getSlice()->getSliceType() != I_SLICE )
    588588      {
    589 #if H_3D_ARP && H_3D_IV_MERGE
    590         if( rpcTempCU->getSlice()->getIvResPredFlag() || rpcTempCU->getSlice()->getIvMvPredFlag() )
     589#if NH_3D_ARP && NH_3D_IV_MERGE && NH_3D_VSP
     590        if( rpcTempCU->getSlice()->getIvResPredFlag() || rpcTempCU->getSlice()->getIvMvPredFlag() || rpcTempCU->getSlice()->getViewSynthesisPredFlag() )
    591591#else
     592#if NH_3D_IV_MERGE && NH_3D_VSP
     593        if( rpcTempCU->getSlice()->getIvMvPredFlag() || rpcTempCU->getSlice()->getViewSynthesisPredFlag() )
     594#else
     595#if NH_3D_ARP && NH_3D_VSP
     596        if( rpcTempCU->getSlice()->getIvResPredFlag() || rpcTempCU->getSlice()->getViewSynthesisPredFlag() )
     597#else
     598#if NH_3D_VSP
     599        if( rpcTempCU->getSlice()->getViewSynthesisPredFlag() )
     600#else
    592601#if H_3D_ARP
    593602        if( rpcTempCU->getSlice()->getVPS()->getUseAdvRP(rpcTempCU->getSlice()->getLayerId()) )
     
    597606#else
    598607        if (0)
     608#endif
     609#endif
     610#endif
    599611#endif
    600612#endif
     
    659671          rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );//by Competition for inter_2Nx2N
    660672#endif
    661 #if H_3D_VSP
    662             rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     673#if NH_3D_VSP
     674          rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    663675#endif
    664676        }
     
    673685
    674686        rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    675 #if H_3D_VSP
    676           rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     687#if NH_3D_VSP
     688        rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    677689#endif
    678690
     
    690702          rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    691703#endif
    692 #if H_3D_VSP
    693             rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     704#if NH_3D_VSP
     705          rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    694706#endif
    695707#if H_3D_DBBP
     
    698710              xCheckRDCostInterDBBP( rpcBestCU, rpcTempCU, false );
    699711              rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode  );
    700 #if H_3D_VSP
     712#if NH_3D_VSP
    701713              rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    702714#endif
     
    780792#endif
    781793              rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    782 #if H_3D_VSP
    783                 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     794#if NH_3D_VSP
     795              rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    784796#endif
    785797
     
    799811#endif
    800812            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    801 #if H_3D_VSP
     813#if NH_3D_VSP
    802814            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    803815#endif
     
    822834
    823835            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    824 #if H_3D_VSP
     836#if NH_3D_VSP
    825837            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    826838#endif
     
    861873#endif
    862874                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    863 #if H_3D_VSP
     875#if NH_3D_VSP
    864876                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    865877#endif
     
    882894
    883895                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    884 #if H_3D_VSP
     896#if NH_3D_VSP
    885897                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    886898#endif
     
    909921
    910922                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    911 #if H_3D_VSP
     923#if NH_3D_VSP
    912924                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    913925#endif
     
    929941#endif
    930942                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    931 #if H_3D_VSP
     943#if NH_3D_VSP
    932944                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    933945#endif
     
    957969
    958970                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    959 #if H_3D_VSP
     971#if NH_3D_VSP
    960972                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    961973#endif
     
    977989#endif
    978990                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    979 #if H_3D_VSP
     991#if NH_3D_VSP
    980992                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    981993#endif
     
    9971009#endif
    9981010                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    999 #if H_3D_VSP
     1011#if NH_3D_VSP
    10001012                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10011013#endif
     
    10181030#endif
    10191031                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    1020 #if H_3D_VSP
     1032#if NH_3D_VSP
    10211033                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10221034#endif
     
    10341046            xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_2NxnU );
    10351047            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    1036 #if H_3D_VSP
    1037               rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     1048#if NH_3D_VSP
     1049            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10381050#endif
    10391051            xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_2NxnD );
    10401052            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    1041 #if H_3D_VSP
    1042               rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     1053#if NH_3D_VSP
     1054            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10431055#endif
    10441056#if H_3D_QTLPC
     
    10491061            xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_nLx2N );
    10501062            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    1051 #if H_3D_VSP
    1052               rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     1063#if NH_3D_VSP
     1064            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10531065#endif
    10541066            xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_nRx2N );
    10551067            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    1056 #if H_3D_VSP
    1057               rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     1068#if NH_3D_VSP
     1069            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10581070#endif
    10591071#if H_3D_QTLPC
     
    17981810  rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uhDepth ); // interprets depth relative to CTU level
    17991811
    1800 #if H_3D_VSP
     1812#if NH_3D_VSP
    18011813#if !H_3D_ARP
    18021814  Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    18031815  memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
    1804   InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
    18051816#if NH_3D_MLC
    18061817  rpcTempCU->initAvailableFlags();
     
    19211932
    19221933    rpcTempCU->buildMCL( cMvFieldNeighbours,uhInterDirNeighbours
    1923 #if H_3D_VSP
     1934#if NH_3D_VSP
    19241935      , vspFlag
    19251936#endif
     
    19691980          rpcTempCU->setMergeFlagSubParts( true, 0, 0, uhDepth ); // interprets depth relative to CTU level
    19701981          rpcTempCU->setMergeIndexSubParts( uiMergeCand, 0, 0, uhDepth ); // interprets depth relative to CTU level
    1971 #if H_3D_VSP
     1982#if NH_3D_VSP
    19721983          rpcTempCU->setVSPFlagSubParts( vspFlag[uiMergeCand], 0, 0, uhDepth );
    19731984#endif
     
    19912002          else
    19922003#endif
    1993 #if H_3D_VSP
    19942004          {
     2005#if NH_3D_VSP
    19952006            if ( vspFlag[uiMergeCand] )
    19962007            {
     
    20222033            {
    20232034#endif
    2024           rpcTempCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeCand], 0, 0, uhDepth ); // interprets depth relative to CTU level
    2025           rpcTempCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level
    2026           rpcTempCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level
    2027 #if H_3D_VSP
     2035            rpcTempCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeCand], 0, 0, uhDepth ); // interprets depth relative to CTU level
     2036            rpcTempCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level
     2037            rpcTempCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level
     2038#if NH_3D_VSP
    20282039            }
    2029           }
    2030 #endif
     2040#endif
     2041          }
    20312042          // do MC
    20322043          m_pcPredSearch->motionCompensation ( rpcTempCU, m_ppcPredYuvTemp[uhDepth] );
     
    20622073          rpcTempCU->setDISFlagSubParts( false, 0, uhDepth );
    20632074#endif
    2064 #if H_3D_VSP // possible bug fix
     2075#if NH_3D_VSP
    20652076          if( rpcTempCU->getSkipFlag(0) )
    20662077          {
     
    23162327
    23172328  m_pcPredSearch->encodeResAndCalcRdInterCU( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcResiYuvBest[uhDepth], m_ppcRecoYuvTemp[uhDepth], false DEBUG_STRING_PASS_INTO(sTest) );
    2318 #if H_3D_VSP // possible bug fix
    2319       if( rpcTempCU->getQtRootCbf(0)==0 )
    2320       {
    2321         rpcTempCU->setTrIdxSubParts(0, 0, uhDepth);
    2322       }
     2329#if NH_3D_VSP
     2330  if( rpcTempCU->getQtRootCbf(0)==0 )
     2331  {
     2332    rpcTempCU->setTrIdxSubParts(0, 0, uhDepth);
     2333  }
    23232334#endif
    23242335#if NH_3D_VSO // M4
Note: See TracChangeset for help on using the changeset viewer.