Ignore:
Timestamp:
13 Jul 2015, 15:22:02 (9 years ago)
Author:
tech
Message:

Merged 14.1-update-dev4-Qualcomm@1266

File:
1 edited

Legend:

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

    r1259 r1270  
    6868  m_ppcTempCU      = new TComDataCU*[m_uhTotalDepth-1];
    6969
    70 #if H_3D_ARP
     70#if NH_3D_ARP
    7171  m_ppcWeightedTempCU = new TComDataCU*[m_uhTotalDepth-1];
    7272#endif
     
    7979  m_ppcRecoYuvTemp = new TComYuv*[m_uhTotalDepth-1];
    8080  m_ppcOrigYuv     = new TComYuv*[m_uhTotalDepth-1];
    81 #if H_3D_DBBP
     81#if NH_3D_DBBP
    8282  m_ppcOrigYuvDBBP = new TComYuv*[m_uhTotalDepth-1];
    8383#endif
     
    9292    m_ppcBestCU[i] = new TComDataCU; m_ppcBestCU[i]->create( chromaFormat, uiNumPartitions, uiWidth, uiHeight, false, uiMaxWidth >> (m_uhTotalDepth - 1) );
    9393    m_ppcTempCU[i] = new TComDataCU; m_ppcTempCU[i]->create( chromaFormat, uiNumPartitions, uiWidth, uiHeight, false, uiMaxWidth >> (m_uhTotalDepth - 1) );
    94 #if H_3D_ARP
    95     m_ppcWeightedTempCU[i] = new TComDataCU; m_ppcWeightedTempCU[i]->create( uiNumPartitions, uiWidth, uiHeight, false, uiMaxWidth >> (m_uhTotalDepth - 1) );
     94#if NH_3D_ARP
     95    m_ppcWeightedTempCU[i] = new TComDataCU; m_ppcWeightedTempCU[i]->create( chromaFormat, uiNumPartitions, uiWidth, uiHeight, false, uiMaxWidth >> (m_uhTotalDepth - 1) );
    9696#endif 
    9797
     
    105105
    106106    m_ppcOrigYuv    [i] = new TComYuv; m_ppcOrigYuv    [i]->create(uiWidth, uiHeight, chromaFormat);
    107 #if H_3D_DBBP
    108     m_ppcOrigYuvDBBP[i] = new TComYuv; m_ppcOrigYuvDBBP[i]->create(uiWidth, uiHeight);
     107#if NH_3D_DBBP
     108    m_ppcOrigYuvDBBP[i] = new TComYuv; m_ppcOrigYuvDBBP[i]->create(uiWidth, uiHeight, chromaFormat);
    109109#endif
    110110
     
    146146      m_ppcTempCU[i]->destroy();      delete m_ppcTempCU[i];      m_ppcTempCU[i] = NULL;
    147147    }
    148 #if H_3D_ARP
     148#if NH_3D_ARP
    149149    if(m_ppcWeightedTempCU[i])
    150150    {
     
    180180      m_ppcOrigYuv[i]->destroy();     delete m_ppcOrigYuv[i];     m_ppcOrigYuv[i] = NULL;
    181181    }
    182 #if H_3D_DBBP
     182#if NH_3D_DBBP
    183183    if(m_ppcOrigYuvDBBP[i])
    184184    {
     
    198198  }
    199199
    200 #if H_3D_ARP
     200#if NH_3D_ARP
    201201  if(m_ppcWeightedTempCU)
    202202  {
     
    240240    m_ppcOrigYuv = NULL;
    241241  }
    242 #if H_3D_DBBP
     242#if NH_3D_DBBP
    243243  if(m_ppcOrigYuvDBBP)
    244244  {
     
    279279  m_ppcBestCU[0]->initCtu( pCtu->getPic(), pCtu->getCtuRsAddr() );
    280280  m_ppcTempCU[0]->initCtu( pCtu->getPic(), pCtu->getCtuRsAddr() );
     281
     282#if NH_3D_ARP
     283  m_ppcWeightedTempCU[0]->initCtu( pCtu->getPic(), pCtu->getCtuRsAddr() );
     284#endif
    281285
    282286#if KWU_RC_MADPRED_E0227
     
    599603        if( rpcTempCU->getSlice()->getViewSynthesisPredFlag() )
    600604#else
    601 #if H_3D_ARP
    602         if( rpcTempCU->getSlice()->getVPS()->getUseAdvRP(rpcTempCU->getSlice()->getLayerId()) )
     605#if NH_3D_ARP
     606        if( rpcTempCU->getSlice()->getIvResPredFlag() )
    603607#else
    604608#if H_3D_IV_MERGE
    605609        if( rpcTempCU->getSlice()->getVPS()->getIvMvPredFlag(rpcTempCU->getSlice()->getLayerId()) )
    606610#else
     611#if NH_3D_DBBP
     612        if( rpcTempCU->getSlice()->getDepthBasedBlkPartFlag() )
     613#else
    607614        if (0)
     615#endif
    608616#endif
    609617#endif
     
    671679          rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );//by Competition for inter_2Nx2N
    672680#endif
    673 #if NH_3D_VSP
     681#if NH_3D_VSP  || NH_3D_DBBP
    674682          rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    675683#endif
     
    685693
    686694        rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    687 #if NH_3D_VSP
     695#if NH_3D_VSP  || NH_3D_DBBP
    688696        rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    689697#endif
     
    702710          rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    703711#endif
    704 #if NH_3D_VSP
     712#if NH_3D_VSP  || NH_3D_DBBP
    705713          rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    706714#endif
    707 #if H_3D_DBBP
     715#if NH_3D_DBBP
    708716            if( rpcTempCU->getSlice()->getDepthBasedBlkPartFlag() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
    709717            {
    710718              xCheckRDCostInterDBBP( rpcBestCU, rpcTempCU, false );
    711719              rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode  );
    712 #if NH_3D_VSP
     720#if NH_3D_VSP  || NH_3D_DBBP
    713721              rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    714722#endif
     
    792800#endif
    793801              rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    794 #if NH_3D_VSP
     802#if NH_3D_VSP || NH_3D_DBBP
    795803              rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    796804#endif
     
    811819#endif
    812820            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    813 #if NH_3D_VSP
     821#if NH_3D_VSP || NH_3D_DBBP
    814822            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    815823#endif
     
    834842
    835843            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    836 #if NH_3D_VSP
     844#if NH_3D_VSP || NH_3D_DBBP
    837845            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    838846#endif
     
    873881#endif
    874882                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    875 #if NH_3D_VSP
     883#if NH_3D_VSP || NH_3D_DBBP
    876884                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    877885#endif
     
    894902
    895903                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    896 #if NH_3D_VSP
     904#if NH_3D_VSP || NH_3D_DBBP
    897905                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    898906#endif
     
    921929
    922930                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    923 #if NH_3D_VSP
     931#if NH_3D_VSP || NH_3D_DBBP
    924932                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    925933#endif
     
    941949#endif
    942950                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    943 #if NH_3D_VSP
     951#if NH_3D_VSP || NH_3D_DBBP
    944952                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    945953#endif
     
    969977
    970978                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    971 #if NH_3D_VSP
     979#if NH_3D_VSP || NH_3D_DBBP
    972980                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    973981#endif
     
    989997#endif
    990998                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    991 #if NH_3D_VSP
     999#if NH_3D_VSP || NH_3D_DBBP
    9921000                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    9931001#endif
     
    10091017#endif
    10101018                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    1011 #if NH_3D_VSP
     1019#if NH_3D_VSP || NH_3D_DBBP
    10121020                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10131021#endif
     
    10301038#endif
    10311039                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    1032 #if NH_3D_VSP
     1040#if NH_3D_VSP || NH_3D_DBBP
    10331041                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10341042#endif
     
    10461054            xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_2NxnU );
    10471055            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    1048 #if NH_3D_VSP
     1056#if NH_3D_VSP || NH_3D_DBBP
    10491057            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10501058#endif
    10511059            xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_2NxnD );
    10521060            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    1053 #if NH_3D_VSP
     1061#if NH_3D_VSP || NH_3D_DBBP
    10541062            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10551063#endif
     
    10611069            xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_nLx2N );
    10621070            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    1063 #if NH_3D_VSP
     1071#if NH_3D_VSP || NH_3D_DBBP
    10641072            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10651073#endif
    10661074            xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_nRx2N );
    10671075            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    1068 #if NH_3D_VSP
     1076#if NH_3D_VSP || NH_3D_DBBP
    10691077            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10701078#endif
     
    12811289      DEBUG_STRING_NEW(sTempDebug)
    12821290
     1291#if NH_3D_ARP
     1292      m_ppcWeightedTempCU[uhNextDepth]->setSlice( m_ppcWeightedTempCU[ uiDepth]->getSlice());
     1293      m_ppcWeightedTempCU[uhNextDepth]->setPic  ( m_ppcWeightedTempCU[ uiDepth] );
     1294#endif
    12831295      for ( UInt uiPartUnitIdx = 0; uiPartUnitIdx < 4; uiPartUnitIdx++ )
    12841296      {
     
    15861598
    15871599    m_pcEntropyCoder->encodeMergeIndex( pcCU, uiAbsPartIdx );
    1588 #if H_3D_ARP
     1600#if NH_3D_ARP
    15891601    m_pcEntropyCoder->encodeARPW( pcCU , uiAbsPartIdx );
    15901602#endif
     
    16231635  // prediction Info ( Intra : direction mode, Inter : Mv, reference idx )
    16241636  m_pcEntropyCoder->encodePredInfo( pcCU, uiAbsPartIdx );
    1625 #if H_3D
     1637#if NH_3D_DBBP
    16261638  m_pcEntropyCoder->encodeDBBPFlag( pcCU, uiAbsPartIdx );
    16271639#endif
     
    16291641  m_pcEntropyCoder->encodeSDCFlag( pcCU, uiAbsPartIdx, false );
    16301642#endif 
    1631 #if H_3D_ARP
     1643#if NH_3D_ARP
    16321644  m_pcEntropyCoder->encodeARPW( pcCU , uiAbsPartIdx );
    16331645#endif
     
    18031815#endif
    18041816
    1805 #if H_3D_ARP
     1817#if NH_3D_ARP
    18061818  DisInfo cOrigDisInfo = rpcTempCU->getDvInfo(0);
    18071819#else
     
    18421854    );
    18431855#endif
     1856
    18441857#endif
    18451858#else
     
    18711884  Int mergeCandBuffer[MRG_MAX_NUM_CANDS];
    18721885#endif
    1873 #if H_3D_ARP
    1874 for( UInt ui = 0; ui < rpcTempCU->getSlice()->getMaxNumMergeCand(); ++ui )
    1875 #else
    18761886#if NH_3D_MLC
    18771887  for( UInt ui = 0; ui < rpcTempCU->getSlice()->getMaxNumMergeCand(); ++ui )
     
    18791889  for( UInt ui = 0; ui < numValidMergeCand; ++ui )
    18801890#endif
    1881 #endif
    18821891  {
    18831892    mergeCandBuffer[ui] = 0;
     
    18971906  DEBUG_STRING_NEW(bestStr)
    18981907
    1899 #if H_3D_ARP
     1908#if NH_3D_ARP
    19001909  Int nARPWMax = rpcTempCU->getSlice()->getARPStepNum() - 1;
     1910#if H_3D_IC
    19011911  if( nARPWMax < 0 || bICFlag )
     1912#else
     1913  if( nARPWMax < 0 )
     1914#endif
    19021915  {
    19031916    nARPWMax = 0;
     
    19051918  for( Int nARPW=nARPWMax; nARPW >= 0 ; nARPW-- )
    19061919  {
     1920#if NH_3D_IV_MERGE
    19071921    memset( mergeCandBuffer, 0, MRG_MAX_NUM_CANDS_MEM*sizeof(Int) );
     1922#else
     1923    memset( mergeCandBuffer, 0, MRG_MAX_NUM_CANDS * sizeof(Int) );
     1924#endif
    19081925    rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uhDepth ); // interprets depth relative to LCU level
    19091926    rpcTempCU->setARPWSubParts( (UChar)nARPW , 0 , uhDepth );
     
    19121929#endif
    19131930    rpcTempCU->getDvInfo(0) = cOrigDisInfo;
    1914     rpcTempCU->setDvInfoSubParts(cOrigDisInfo, 0, 0, uhDepth );
     1931    rpcTempCU->setDvInfoSubParts(cOrigDisInfo, 0, uhDepth );
    19151932    Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    19161933    memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     
    19441961
    19451962#else
    1946     rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag, numValidMergeCand );
     1963    rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand );
    19471964#endif
    19481965
     
    19741991          rpcTempCU->setICFlagSubParts( bICFlag, 0, 0, uhDepth );
    19751992#endif
    1976 #if H_3D_ARP
    1977           rpcTempCU->setARPWSubParts( (UChar)nARPW , 0 , uhDepth );
    1978 #endif
    19791993          rpcTempCU->setCUTransquantBypassSubParts( bTransquantBypassFlag, 0, uhDepth );
    19801994          rpcTempCU->setChromaQpAdjSubParts( bTransquantBypassFlag ? 0 : m_cuChromaQpOffsetIdxPlus1, 0, uhDepth );
     
    19821996          rpcTempCU->setMergeFlagSubParts( true, 0, 0, uhDepth ); // interprets depth relative to CTU level
    19831997          rpcTempCU->setMergeIndexSubParts( uiMergeCand, 0, 0, uhDepth ); // interprets depth relative to CTU level
     1998#if NH_3D_ARP
     1999          rpcTempCU->setARPWSubParts( (UChar)nARPW , 0 , uhDepth );
     2000#endif
     2001
    19842002#if NH_3D_VSP
    19852003          rpcTempCU->setVSPFlagSubParts( vspFlag[uiMergeCand], 0, 0, uhDepth );
     
    22122230 delete[] puhInterDirSP;
    22132231#endif
    2214 #if H_3D_ARP
     2232#if NH_3D_ARP
    22152233 }
    22162234#endif
    2217 
    22182235}
    22192236
     
    22322249
    22332250  // prior to this, rpcTempCU will have just been reset using rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    2234 #if H_3D
     2251#if H_3D || NH_3D_ARP
    22352252  const Bool bTransquantBypassFlag = rpcTempCU->getCUTransquantBypass(0);
    22362253#endif
     
    22402257#endif
    22412258  UChar uhDepth = rpcTempCU->getDepth( 0 );
    2242 #if H_3D_ARP
     2259#if NH_3D_ARP
    22432260    Bool bFirstTime = true;
    22442261    Int nARPWMax    = rpcTempCU->getSlice()->getARPStepNum() - 1;
     2262#if H_3D_IC
    22452263    if( nARPWMax < 0 || ePartSize != SIZE_2Nx2N || rpcTempCU->getICFlag(0) )
     2264#else
     2265    if( nARPWMax < 0 || ePartSize != SIZE_2Nx2N )
     2266#endif
    22462267    {
    22472268      nARPWMax = 0;
     
    22712292  rpcTempCU->setPredModeSubParts  ( MODE_INTER, 0, uhDepth );
    22722293  rpcTempCU->setChromaQpAdjSubParts( rpcTempCU->getCUTransquantBypass(0) ? 0 : m_cuChromaQpOffsetIdxPlus1, 0, uhDepth );
    2273 #if H_3D_ARP
     2294#if NH_3D_ARP
    22742295      rpcTempCU->setARPWSubParts( (UChar)nARPW , 0 , uhDepth );
    22752296#endif
    2276 #if H_3D_ARP
     2297#if NH_3D_ARP
    22772298      if( bFirstTime == false && nARPWMax )
    22782299      {
     
    22972318  m_pcPredSearch->predInterSearch ( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcRecoYuvTemp[uhDepth] );
    22982319#endif
    2299 #if H_3D_ARP
     2320#if NH_3D_ARP
    23002321        if( nARPWMax )
    23012322        {
     
    23082329  if ( !rpcTempCU->getMergeAMP() )
    23092330  {
    2310 #if H_3D_ARP
     2331#if NH_3D_ARP
    23112332        if( nARPWMax )
    23122333        {
     
    24252446      }
    24262447#endif
    2427 #if H_3D_ARP
     2448#if NH_3D_ARP
    24282449    }
    24292450#endif
     
    24332454}
    24342455
    2435 #if H_3D_DBBP
     2456#if NH_3D_DBBP
    24362457Void TEncCu::xInvalidateOriginalSegments( TComYuv* pOrigYuv, TComYuv* pOrigYuvTemp, Bool* pMask, UInt uiValidSegment )
    24372458{
    2438   UInt  uiWidth     = pOrigYuv->getWidth ( );
    2439   UInt  uiHeight    = pOrigYuv->getHeight( );
    2440   Pel*  piSrc       = pOrigYuv->getLumaAddr( );
    2441   UInt  uiSrcStride = pOrigYuv->getStride();
    2442   Pel*  piDst       = pOrigYuvTemp->getLumaAddr( );
    2443   UInt  uiDstStride = pOrigYuvTemp->getStride();
     2459  UInt  uiWidth     = pOrigYuv->getWidth (COMPONENT_Y);
     2460  UInt  uiHeight    = pOrigYuv->getHeight(COMPONENT_Y);
     2461  Pel*  piSrc       = pOrigYuv->getAddr(COMPONENT_Y);
     2462  UInt  uiSrcStride = pOrigYuv->getStride(COMPONENT_Y);
     2463  Pel*  piDst       = pOrigYuvTemp->getAddr(COMPONENT_Y);
     2464  UInt  uiDstStride = pOrigYuvTemp->getStride(COMPONENT_Y);
    24442465 
    24452466  UInt  uiMaskStride= MAX_CU_SIZE;
     
    24662487 
    24672488  // now invalidate chroma
    2468   Pel*  piSrcU       = pOrigYuv->getCbAddr();
    2469   Pel*  piSrcV       = pOrigYuv->getCrAddr();
    2470   UInt  uiSrcStrideC = pOrigYuv->getCStride();
    2471   Pel*  piDstU       = pOrigYuvTemp->getCbAddr( );
    2472   Pel*  piDstV       = pOrigYuvTemp->getCrAddr( );
    2473   UInt  uiDstStrideC = pOrigYuvTemp->getCStride();
     2489  Pel*  piSrcU       = pOrigYuv->getAddr(COMPONENT_Cb);
     2490  Pel*  piSrcV       = pOrigYuv->getAddr(COMPONENT_Cr);
     2491  UInt  uiSrcStrideC = pOrigYuv->getStride(COMPONENT_Cb);
     2492  Pel*  piDstU       = pOrigYuvTemp->getAddr(COMPONENT_Cb);
     2493  Pel*  piDstV       = pOrigYuvTemp->getAddr(COMPONENT_Cr);
     2494  UInt  uiDstStrideC = pOrigYuvTemp->getStride(COMPONENT_Cb);
    24742495  pMask = pMaskStart;
    24752496 
     
    24922513  }
    24932514}
    2494 
     2515#endif
     2516
     2517#if H_3D_DIS
    24952518Void TEncCu::xCheckRDCostDIS( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize eSize )
    24962519{
     
    25662589  xCheckBestMode(rpcBestCU, rpcTempCU, uiDepth);
    25672590}
    2568 
     2591#endif
     2592
     2593#if NH_3D_DBBP
    25692594Void TEncCu::xCheckRDCostInterDBBP( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, Bool bUseMRG )
    25702595{
     
    25882613  AOF( uiWidth == uiHeight );
    25892614 
    2590 #if H_3D_DBBP
    2591   // Is this correct here, was under the macro SEC_DBBP_DISALLOW_8x8_I0078, however the function is related to Single Depth Mode
     2615#if NH_3D_DBBP
    25922616  if(uiWidth <= 8)
    25932617  {
     
    26402664    rpcTempCU->getDBBPTmpData()->eVirtualPartSize = eVirtualPartSize;
    26412665    rpcTempCU->getDBBPTmpData()->uiVirtualPartIndex = uiSegment;
    2642     m_pcPredSearch->predInterSearch( rpcTempCU, m_ppcOrigYuvDBBP[uhDepth], apPredYuv[uiSegment], m_ppcResiYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], false, false, bUseMRG );
     2666    m_pcPredSearch->predInterSearch( rpcTempCU, m_ppcOrigYuvDBBP[uhDepth], apPredYuv[uiSegment], m_ppcResiYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], false, bUseMRG );
    26432667    m_pcRdCost->setUseMask(false);
    26442668   
     
    26492673    pDBBPTmpData->auhMergeIndex[uiSegment] = rpcTempCU->getMergeIndex(0);
    26502674   
     2675#if NH_3D_VSP
    26512676    AOF( rpcTempCU->getSPIVMPFlag(0) == false );
    26522677    AOF( rpcTempCU->getVSPFlag(0) == 0 );
     2678#endif
    26532679   
    26542680    for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
     
    26692695  rpcTempCU->setPredModeSubParts  ( MODE_INTER, 0, uhDepth );
    26702696 
    2671   UInt uiPUOffset = ( g_auiPUOffset[UInt( eVirtualPartSize )] << ( ( rpcTempCU->getSlice()->getSPS()->getMaxCUDepth() - uhDepth ) << 1 ) ) >> 4;
     2697  UInt uiPUOffset = ( g_auiPUOffset[UInt( eVirtualPartSize )] << ( ( rpcTempCU->getSlice()->getSPS()->getMaxTotalCUDepth() - uhDepth ) << 1 ) ) >> 4;
    26722698  for( UInt uiSegment = 0; uiSegment < 2; uiSegment++ )
    26732699  {
     
    26952721 
    26962722  // reconstruct final prediction signal by combining both segments
    2697   m_pcPredSearch->combineSegmentsWithMask(apPredYuv, m_ppcPredYuvTemp[uhDepth], pMask, uiWidth, uiHeight, 0, eVirtualPartSize);
     2723  Int bitDepthY = rpcTempCU->getSlice()->getSPS()->getBitDepth(CHANNEL_TYPE_LUMA);
     2724  m_pcPredSearch->combineSegmentsWithMask(apPredYuv, m_ppcPredYuvTemp[uhDepth], pMask, uiWidth, uiHeight, 0, eVirtualPartSize, bitDepthY);
    26982725  m_pcPredSearch->encodeResAndCalcRdInterCU( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcResiYuvBest[uhDepth], m_ppcRecoYuvTemp[uhDepth], false );
    26992726 
Note: See TracChangeset for help on using the changeset viewer.