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

-Integration of QTL

File:
1 edited

Legend:

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

    r1225 r1256  
    721721
    722722  UInt uiSymbol;
    723 #if H_3D_QTLPC
     723#if NH_3D_QTLPC
    724724  Bool bParseSplitFlag    = true;
    725725  Bool    bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag();
     
    736736#endif
    737737  {
    738     TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
     738    TComDataCU *pcTextureCU = pcTexture->getCtu(pcCU->getCtuRsAddr());
    739739    assert(pcTextureCU->getDepth(uiAbsPartIdx) >= uiDepth);
    740740    bParseSplitFlag         = (pcTextureCU->getDepth(uiAbsPartIdx) > uiDepth);
     
    751751  DTRACE_CABAC_T( "\tSplitFlag\n" )
    752752#endif
    753 #if H_3D_QTLPC
     753#if NH_3D_QTLPC
    754754  }
    755755  else
     
    783783  assert ( pcCU->getSlice()->getSPS()->getLog2DiffMaxMinCodingBlockSize() == log2DiffMaxMinCodingBlockSize);
    784784
    785 #if H_3D_QTLPC
     785#if NH_3D_QTLPC
    786786  Bool bParsePartSize    = true;
    787787
     
    802802#endif
    803803  {
    804     TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
     804    TComDataCU *pcTextureCU = pcTexture->getCtu(pcCU->getCtuRsAddr());
    805805    assert(pcTextureCU->getDepth(uiAbsPartIdx) >= uiDepth);
    806806    if(pcTextureCU->getDepth(uiAbsPartIdx) == uiDepth )
     
    819819  if ( pcCU->isIntra( uiAbsPartIdx ) )
    820820  {
    821 #if H_3D_QTLPC
     821#if NH_3D_QTLPC
    822822    if(bParsePartSize)
    823823    {
     
    832832    }
    833833    eMode = uiSymbol ? SIZE_2Nx2N : SIZE_NxN;
    834 #if H_3D_QTLPC
     834#if NH_3D_QTLPC
    835835    }
    836836#endif
     
    850850  else
    851851  {
    852 #if H_3D_QTLPC
     852#if NH_3D_QTLPC
    853853    if(bParsePartSize)
    854854    {
     
    894894      }
    895895    }
    896 #if H_3D_QTLPC
     896#if NH_3D_QTLPC
    897897      }
    898898      else if(uiTexturePart == SIZE_2NxN || uiTexturePart == SIZE_2NxnU || uiTexturePart == SIZE_2NxnD)
    899899      {
    900900        UInt uiMaxNumBits = 1;
    901         if ( pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) )
     901        if ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize )
    902902        {
    903903          uiMaxNumBits ++;
     
    905905        for ( UInt ui = 0; ui < uiMaxNumBits; ui++ )
    906906        {
    907           m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, ui) );
     907          m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, ui) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) );
    908908          if ( uiSymbol )
    909909          {
     
    913913        }
    914914        eMode = (PartSize) uiMode;
    915         if(uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) && uiSymbol==1 )
     915        if(uiMode && ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiSymbol==1 )
    916916        {
    917917          eMode = SIZE_2NxN;
    918918        }
    919         else if (uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth )==0  && uiSymbol==0)
     919        else if (uiMode && (( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize )==0)  && uiSymbol==0)
    920920        {
    921921          eMode = SIZE_2NxN;
    922922        }
    923         else if (uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) && uiSymbol==0)
    924         {
    925           m_pcTDecBinIf->decodeBinEP(uiSymbol);
     923        else if (uiMode && ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiSymbol==0)
     924        {
     925          m_pcTDecBinIf->decodeBinEP(uiSymbol RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype));
    926926          eMode = (uiSymbol == 0? SIZE_2NxnU : SIZE_2NxnD);
    927927        }
     
    930930      {
    931931        UInt uiMaxNumBits = 1;
    932         if ( pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) )
     932        if (  ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize )
    933933        {
    934934          uiMaxNumBits ++;
     
    936936        for ( UInt ui = 0; ui < uiMaxNumBits; ui++ )
    937937        {
    938           m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, ui) );
     938          m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, ui) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype));
    939939          if ( uiSymbol )
    940940          {
     
    944944        }
    945945        eMode = (PartSize) uiMode;
    946         if(uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) && uiSymbol==1 )
     946        if(uiMode && ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiSymbol==1 )
    947947        {
    948948          eMode = SIZE_Nx2N;
    949949        }
    950         else if (uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth )==0  && uiSymbol==0)
     950        else if (uiMode && (( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize )==0)  && uiSymbol==0)
    951951        {
    952952          eMode = SIZE_Nx2N;
    953953        }
    954         else if (uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) && uiSymbol==0)
    955         {
    956           m_pcTDecBinIf->decodeBinEP(uiSymbol);
     954        else if (uiMode && ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiSymbol==0)
     955        {
     956          m_pcTDecBinIf->decodeBinEP(uiSymbol RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype));
    957957          eMode = (uiSymbol == 0? SIZE_nLx2N : SIZE_nRx2N);
    958958        }
     
    966966      DTRACE_CU("part_mode", eMode )
    967967#endif
    968 #if H_3D_QTLPC
     968#if NH_3D_QTLPC
    969969    }
    970970#endif
Note: See TracChangeset for help on using the changeset viewer.