Ignore:
Timestamp:
12 Jun 2015, 18:09:57 (10 years ago)
Author:
liu
Message:

-Integration of QTL

Location:
branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibEncoder
Files:
4 edited

Legend:

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

    r1225 r1256  
    413413
    414414
    415 #if H_3D_QTLPC
     415#if NH_3D_QTLPC
    416416  Bool  bLimQtPredFalg    = pcPic->getSlice(0)->getQtPredFlag();
    417417  TComPic *pcTexture      = rpcBestCU->getSlice()->getTexturePic();
     
    429429  m_ppcOrigYuv[uiDepth]->copyFromPicYuv( pcPic->getPicYuvOrg(), rpcBestCU->getCtuRsAddr(), rpcBestCU->getZorderIdxInCtu() );
    430430
    431 #if H_3D_QTLPC 
     431#if NH_3D_QTLPC 
    432432  Bool    bTrySplit     = true;
    433433  Bool    bTrySplitDQP  = true;
     
    529529      }
    530530
    531 #if H_3D_QTLPC
     531#if NH_3D_QTLPC
    532532      bTrySplit    = true;
    533533#endif
     
    547547
    548548      rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    549 #if H_3D_QTLPC
     549#if NH_3D_QTLPC
    550550      //logic for setting bTrySplit using the partition information that is stored of the texture colocated CU
    551551#if H_3D_FCO
     
    555555#endif
    556556      {
    557         TComDataCU* pcTextureCU = pcTexture->getCU( rpcBestCU->getAddr() ); //Corresponding texture LCU
    558         UInt uiCUIdx            = rpcBestCU->getZorderIdxInCU();
     557        TComDataCU* pcTextureCU = pcTexture->getCtu( rpcBestCU->getCtuRsAddr() ); //Corresponding texture LCU
     558        UInt uiCUIdx            = rpcBestCU->getZorderIdxInCtu();
    559559        assert(pcTextureCU->getDepth(uiCUIdx) >= uiDepth); //Depth cannot be more partitioned than the texture.
    560560        if (pcTextureCU->getDepth(uiCUIdx) > uiDepth || pcTextureCU->getPartitionSize(uiCUIdx) == SIZE_NxN) //Texture was split.
     
    713713#endif
    714714      }
    715 #if H_3D_QTLPC     
     715#if NH_3D_QTLPC     
    716716      if(depthMapDetect && !bIntraSliceDetect && !rapPic && ( m_pcEncCfg->getUseQTL() || bLimQtPredFalg ))
    717717      {
     
    768768          {
    769769            if( uiDepth == sps.getLog2DiffMaxMinCodingBlockSize() && doNotBlockPu
    770 #if H_3D_QTLPC
     770#if NH_3D_QTLPC
    771771                && bTrySplit
    772772#endif
     
    788788
    789789          if(doNotBlockPu
    790 #if H_3D_QTLPC
     790#if NH_3D_QTLPC
    791791            && bTryNx2N
    792792#endif
     
    809809          }
    810810          if(doNotBlockPu
    811 #if H_3D_QTLPC
     811#if NH_3D_QTLPC
    812812            && bTry2NxN
    813813#endif
     
    850850            {
    851851              if(doNotBlockPu
    852 #if H_3D_QTLPC
     852#if NH_3D_QTLPC
    853853                && bTry2NxN
    854854#endif
     
    870870              }
    871871              if(doNotBlockPu
    872 #if H_3D_QTLPC
     872#if NH_3D_QTLPC
    873873                && bTry2NxN
    874874#endif
     
    896896            {
    897897              if(doNotBlockPu
    898 #if H_3D_QTLPC
     898#if NH_3D_QTLPC
    899899                && bTry2NxN
    900900#endif
     
    918918              }
    919919              if(doNotBlockPu
    920 #if H_3D_QTLPC
     920#if NH_3D_QTLPC
    921921                && bTry2NxN
    922922#endif
     
    945945            {
    946946              if(doNotBlockPu
    947 #if H_3D_QTLPC
     947#if NH_3D_QTLPC
    948948                && bTryNx2N
    949949#endif
     
    966966              }
    967967              if(doNotBlockPu
    968 #if H_3D_QTLPC
     968#if NH_3D_QTLPC
    969969                && bTryNx2N
    970970#endif
     
    986986            {
    987987              if(doNotBlockPu
    988 #if H_3D_QTLPC
     988#if NH_3D_QTLPC
    989989                && bTryNx2N
    990990#endif
     
    10061006              }
    10071007              if(doNotBlockPu
    1008 #if H_3D_QTLPC
     1008#if NH_3D_QTLPC
    10091009                && bTryNx2N
    10101010#endif
     
    10271027
    10281028#else
    1029 #if H_3D_QTLPC
     1029#if NH_3D_QTLPC
    10301030            if (bTry2NxN)
    10311031            {
     
    10421042              rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10431043#endif
    1044 #if H_3D_QTLPC
     1044#if NH_3D_QTLPC
    10451045            }
    10461046            if (bTryNx2N)
     
    10571057              rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10581058#endif
    1059 #if H_3D_QTLPC
     1059#if NH_3D_QTLPC
    10601060            }
    10611061#endif
     
    11151115          if( uiDepth == sps.getLog2DiffMaxMinCodingBlockSize() )
    11161116          {
    1117 #if H_3D_QTLPC //Try IntraNxN
     1117#if NH_3D_QTLPC //Try IntraNxN
    11181118              if(bTrySplit)
    11191119              {
     
    11311131              rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    11321132            }
    1133 #if H_3D_QTLPC
     1133#if NH_3D_QTLPC
    11341134              }
    11351135#endif
     
    12471247
    12481248    // further split
    1249 #if H_3D_QTLPC
    1250     if( bSubBranch && bTrySplitDQP && uiDepth < g_uiMaxCUDepth - g_uiAddCUDepth )
     1249#if NH_3D_QTLPC
     1250
     1251    if( bSubBranch && bTrySplitDQP && uiDepth < sps.getLog2DiffMaxMinCodingBlockSize() )
    12511252#else
    12521253    if( bSubBranch && uiDepth < sps.getLog2DiffMaxMinCodingBlockSize() )
  • branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibEncoder/TEncSbac.cpp

    r1225 r1256  
    645645{
    646646  PartSize eSize         = pcCU->getPartitionSize( uiAbsPartIdx );
    647 #if H_3D_QTLPC
     647#if NH_3D_QTLPC
    648648  Bool    bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag();
    649649  TComPic *pcTexture     = pcCU->getSlice()->getTexturePic();
     
    662662#endif
    663663  {
    664     TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
    665     UInt uiCUIdx            = (pcCU->getZorderIdxInCU() == 0) ? uiAbsPartIdx : pcCU->getZorderIdxInCU();
     664    TComDataCU *pcTextureCU = pcTexture->getCtu(pcCU->getCtuRsAddr());
     665    UInt uiCUIdx            = (pcCU->getZorderIdxInCtu() == 0) ? uiAbsPartIdx : pcCU->getZorderIdxInCtu();
    666666    assert(pcTextureCU->getDepth(uiCUIdx) >= uiDepth);
    667667    if(pcTextureCU->getDepth(uiCUIdx) == uiDepth )
     
    694694  DTRACE_CU("part_mode", eSize )
    695695#endif       
    696 #if H_3D_QTLPC
     696#if NH_3D_QTLPC
    697697    if (depthDependent==false || uiTexturePart == SIZE_NxN|| uiTexturePart == SIZE_2Nx2N)
    698698    {
     
    768768    }
    769769  }
    770 #if H_3D_QTLPC
     770#if NH_3D_QTLPC
    771771    }
    772772    else if(uiTexturePart == SIZE_2NxN || uiTexturePart == SIZE_2NxnU || uiTexturePart == SIZE_2NxnD)
     
    785785        {
    786786          m_pcBinIf->encodeBin( 0, m_cCUPartSizeSCModel.get( 0, 0, 0) );
    787           if ( pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) )
     787          if (  pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize )
    788788          {     
    789789            m_pcBinIf->encodeBin( 1, m_cCUPartSizeSCModel.get( 0, 0, 1) );
     
    820820        {
    821821          m_pcBinIf->encodeBin( 0, m_cCUPartSizeSCModel.get( 0, 0, 0) );
    822           if ( pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) )
     822          if ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize )
    823823          {     
    824824            m_pcBinIf->encodeBin( 1, m_cCUPartSizeSCModel.get( 0, 0, 1) );
     
    10261026
    10271027  assert( uiCtx < 3 );
    1028 #if H_3D_QTLPC
     1028#if NH_3D_QTLPC
    10291029  Bool bCodeSplitFlag    = true;
    10301030
     
    10431043#endif
    10441044  {
    1045     TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
    1046     UInt uiCUIdx            = (pcCU->getZorderIdxInCU() == 0) ? uiAbsPartIdx : pcCU->getZorderIdxInCU();
     1045    TComDataCU *pcTextureCU = pcTexture->getCtu(pcCU->getCtuRsAddr());
     1046    UInt uiCUIdx            = (pcCU->getZorderIdxInCtu() == 0) ? uiAbsPartIdx : pcCU->getZorderIdxInCtu();
    10471047    assert(pcTextureCU->getDepth(uiCUIdx) >= uiDepth);
    10481048    bCodeSplitFlag          = (pcTextureCU->getDepth(uiCUIdx) > uiDepth);
  • branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibEncoder/TEncSearch.cpp

    r1226 r1256  
    28942894      const Bool bUseHadamard=pcCU->getCUTransquantBypass(0) == 0;
    28952895      m_pcRdCost->setDistParam(distParam, sps.getBitDepth(CHANNEL_TYPE_LUMA), piOrg, uiStride, piPred, uiStride, puRect.width, puRect.height, bUseHadamard);
     2896
     2897#if NH_3D_IC_FIX
     2898      distParam.bUseIC = false;
     2899#endif
     2900#if H_3D_INTER_SDC_FIX
     2901      distParam.bUseSDCMRSAD = false;
     2902#endif
    28962903      distParam.bApplyWeight = false;
    28972904      for( Int modeIdx = 0; modeIdx < numModesAvailable; modeIdx++ )
  • branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibEncoder/TEncSlice.cpp

    r1225 r1256  
    11941194    }
    11951195
    1196 #if H_3D_QTLPC
    1197     rpcPic->setReduceBitsFlag(true);
     1196#if NH_3D_QTLPC
     1197    pcPic->setReduceBitsFlag(true);
    11981198#endif
    11991199    if ( pcSlice->getSPS()->getUseSAO() )
     
    12661266      }
    12671267    }
    1268 #if H_3D_QTLPC
    1269     rpcPic->setReduceBitsFlag(false);
     1268#if NH_3D_QTLPC
     1269    pcPic->setReduceBitsFlag(false);
    12701270#endif
    12711271  } // CTU-loop
Note: See TracChangeset for help on using the changeset viewer.