Ignore:
Timestamp:
4 Feb 2013, 02:57:15 (12 years ago)
Author:
lg
Message:

Integration of JCT3V-C0046

Location:
branches/HTM-5.1-dev1-LG/source/Lib/TLibEncoder
Files:
5 edited

Legend:

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

    r210 r253  
    866866  if (address==0)
    867867  {
    868     if( pcSlice->getSPS()->getViewId() && !pcSlice->getIsDepth() )
     868    if( pcSlice->getSPS()->getViewId()
     869#if !LGE_ILLUCOMP_DEPTH_C0046
     870        && !pcSlice->getIsDepth()
     871#endif
     872        )
    869873    {
    870874      WRITE_FLAG( pcSlice->getApplyIC() ? 1 : 0, "applying IC flag" );
  • branches/HTM-5.1-dev1-LG/source/Lib/TLibEncoder/TEncCu.cpp

    r229 r253  
    498498
    499499#if LGE_ILLUCOMP_B0045
    500   Bool bICEnabled = (!rpcTempCU->getSlice()->getIsDepth() && rpcTempCU->getSlice()->getViewId());
     500  Bool bICEnabled = (
     501#if !LGE_ILLUCOMP_DEPTH_C0046
     502      !rpcTempCU->getSlice()->getIsDepth() &&
     503#endif
     504      rpcTempCU->getSlice()->getViewId());
    501505
    502506  bICEnabled = bICEnabled && rpcTempCU->getSlice()->getApplyIC();
     
    703707            rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag );
    704708#endif
     709#if FIX_LGE_ILLUCOMP_B0045
     710            rpcTempCU->setICFlagSubParts(bICFlag, 0, 0, uiDepth);
     711#endif
    705712#if HHI_INTERVIEW_SKIP
    706713            xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_2Nx2N, bFullyRenderedSec );
     
    840847                rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag );
    841848#endif
     849#if FIX_LGE_ILLUCOMP_B0045
     850                rpcTempCU->setICFlagSubParts(bICFlag, 0, 0, uiDepth);
     851#endif
    842852#if HHI_INTERVIEW_SKIP
    843853                xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_Nx2N, bFullyRenderedSec   );
     
    864874                rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag );
    865875#endif
     876#if FIX_LGE_ILLUCOMP_B0045
     877                rpcTempCU->setICFlagSubParts(bICFlag, 0, 0, uiDepth);
     878#endif
    866879#if HHI_INTERVIEW_SKIP
    867880                xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_2NxN, bFullyRenderedSec   );
     
    907920                  rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag );
    908921#endif
     922#if FIX_LGE_ILLUCOMP_B0045
     923                  rpcTempCU->setICFlagSubParts(bICFlag, 0, 0, uiDepth);
     924#endif
    909925#if HHI_INTERVIEW_SKIP
    910926                  xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_2NxnU, bFullyRenderedSec );
     
    923939                  rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag );
    924940#endif
     941#if FIX_LGE_ILLUCOMP_B0045
     942                  rpcTempCU->setICFlagSubParts(bICFlag, 0, 0, uiDepth);
     943#endif
    925944#if HHI_INTERVIEW_SKIP
    926945                  xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_2NxnD, bFullyRenderedSec );
     
    950969                  rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag );
    951970#endif
     971#if FIX_LGE_ILLUCOMP_B0045
     972                  rpcTempCU->setICFlagSubParts(bICFlag, 0, 0, uiDepth);
     973#endif
    952974#if HHI_INTERVIEW_SKIP
    953975                  xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_2NxnU, bFullyRenderedSec, true );
     
    966988                  rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag );
    967989#endif
     990#if FIX_LGE_ILLUCOMP_B0045
     991                  rpcTempCU->setICFlagSubParts(bICFlag, 0, 0, uiDepth);
     992#endif
    968993#if HHI_INTERVIEW_SKIP
    969994                  xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_2NxnD, bFullyRenderedSec, true );
     
    9951020                  rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag );
    9961021#endif
     1022#if FIX_LGE_ILLUCOMP_B0045
     1023                  rpcTempCU->setICFlagSubParts(bICFlag, 0, 0, uiDepth);
     1024#endif
    9971025#if HHI_INTERVIEW_SKIP
    9981026                  xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_nLx2N, bFullyRenderedSec );
     
    10111039                  rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag );
    10121040#endif
     1041#if FIX_LGE_ILLUCOMP_B0045
     1042                  rpcTempCU->setICFlagSubParts(bICFlag, 0, 0, uiDepth);
     1043#endif
    10131044#if HHI_INTERVIEW_SKIP
    10141045                  xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_nRx2N, bFullyRenderedSec );
     
    10331064#if HHI_INTER_VIEW_RESIDUAL_PRED
    10341065                  rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag );
     1066#endif
     1067#if FIX_LGE_ILLUCOMP_B0045
     1068                  rpcTempCU->setICFlagSubParts(bICFlag, 0, 0, uiDepth);
    10351069#endif
    10361070#if HHI_INTERVIEW_SKIP
     
    10491083#if HHI_INTER_VIEW_RESIDUAL_PRED
    10501084                  rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag );
     1085#endif
     1086#if FIX_LGE_ILLUCOMP_B0045
     1087                  rpcTempCU->setICFlagSubParts(bICFlag, 0, 0, uiDepth);
    10511088#endif
    10521089#if HHI_INTERVIEW_SKIP
     
    11941231      if( rpcBestCU->getSlice()->getSPS()->getUseMVI() && rpcBestCU->getSlice()->getSliceType() != I_SLICE )
    11951232      {
     1233#if LGE_ILLUCOMP_DEPTH_C0046
     1234        for(UInt uiICId = 0; uiICId < (bICEnabled ? 2 : 1); uiICId++)
     1235        {
     1236          Bool bICFlag = (uiICId ? true : false);
     1237          rpcTempCU->setICFlagSubParts(bICFlag, 0, 0, uiDepth);
     1238#endif
    11961239        xCheckRDCostMvInheritance( rpcBestCU, rpcTempCU, uiDepth, false, false );
    11971240        rpcTempCU->initEstData( uiDepth, iQP );
    11981241        xCheckRDCostMvInheritance( rpcBestCU, rpcTempCU, uiDepth, true, false );
    11991242        rpcTempCU->initEstData( uiDepth, iQP );
     1243#if LGE_ILLUCOMP_DEPTH_C0046
     1244        }
     1245#endif
    12001246      }
    12011247#endif
     
    17541800    {
    17551801      m_pcEntropyCoder->encodeMergeIndex( pcCU, uiAbsPartIdx, 0 );
     1802#if LGE_ILLUCOMP_DEPTH_C0046
     1803      m_pcEntropyCoder->encodeICFlag  ( pcCU, uiAbsPartIdx, false, uiDepth );
     1804#endif
    17561805      finishCU(pcCU,uiAbsPartIdx,uiDepth);
    17571806      xRestoreDepthWidthHeight( pcCU );
     
    17651814    // prediction Info ( Intra : direction mode, Inter : Mv, reference idx )
    17661815    m_pcEntropyCoder->encodePredInfo( pcCU, uiAbsPartIdx );
     1816#if LGE_ILLUCOMP_DEPTH_C0046
     1817    m_pcEntropyCoder->encodeICFlag  ( pcCU, uiAbsPartIdx, false, uiDepth );
     1818#endif
    17671819    xRestoreDepthWidthHeight( pcCU );
    17681820  }
     
    18131865    m_pcEntropyCoder->encodeMergeIndex( pcCU, uiAbsPartIdx, 0 );
    18141866#if LGE_ILLUCOMP_B0045
    1815     m_pcEntropyCoder->encodeICFlag  ( pcCU, uiAbsPartIdx );
     1867    m_pcEntropyCoder->encodeICFlag  ( pcCU, uiAbsPartIdx
     1868#if LGE_ILLUCOMP_DEPTH_C0046
     1869        , false, uiDepth
     1870#endif
     1871        );
    18161872#endif
    18171873#if HHI_INTER_VIEW_RESIDUAL_PRED
     
    18441900  m_pcEntropyCoder->encodePredInfo( pcCU, uiAbsPartIdx );
    18451901#if LGE_ILLUCOMP_B0045
    1846     m_pcEntropyCoder->encodeICFlag  ( pcCU, uiAbsPartIdx );
     1902    m_pcEntropyCoder->encodeICFlag  ( pcCU, uiAbsPartIdx
     1903#if LGE_ILLUCOMP_DEPTH_C0046
     1904        ,false, uiDepth
     1905#endif
     1906        );
    18471907#endif
    18481908#if HHI_INTER_VIEW_RESIDUAL_PRED
     
    29022962    m_pcEntropyCoder->encodeMergeIndex( pcCU, 0, 0, true );
    29032963#if LGE_ILLUCOMP_B0045
    2904     m_pcEntropyCoder->encodeICFlag( pcCU, 0, true );
     2964    m_pcEntropyCoder->encodeICFlag( pcCU, 0, true
     2965#if LGE_ILLUCOMP_DEPTH_C0046
     2966        , uhDepth
     2967#endif
     2968        );
    29052969#endif
    29062970  }
     
    29122976    m_pcEntropyCoder->encodePredInfo( pcCU, 0, true );
    29132977#if LGE_ILLUCOMP_B0045
    2914     m_pcEntropyCoder->encodeICFlag( pcCU, 0,          true );
     2978    m_pcEntropyCoder->encodeICFlag( pcCU, 0,          true
     2979#if LGE_ILLUCOMP_DEPTH_C0046
     2980        , uhDepth
     2981#endif
     2982        );
    29152983#endif
    29162984  }
  • branches/HTM-5.1-dev1-LG/source/Lib/TLibEncoder/TEncEntropy.cpp

    r210 r253  
    170170
    171171#if LGE_ILLUCOMP_B0045
    172 Void TEncEntropy::encodeICFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD )
    173 {
    174   if (pcCU->isIntra(uiAbsPartIdx) || (pcCU->getSlice()->getViewId() == 0) || pcCU->getSlice()->getSPS()->isDepth())
     172Void TEncEntropy::encodeICFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD
     173#if LGE_ILLUCOMP_DEPTH_C0046
     174    , UInt uiDepth
     175#endif
     176    )
     177{
     178  if (pcCU->isIntra(uiAbsPartIdx) || (pcCU->getSlice()->getViewId() == 0)
     179#if !LGE_ILLUCOMP_DEPTH_C0046
     180      || pcCU->getSlice()->getSPS()->isDepth()
     181#endif
     182      )
    175183  {
    176184    return;
     
    185193  }
    186194
    187   if(pcCU->isICFlagRequired(uiAbsPartIdx))
     195  if(pcCU->isICFlagRequired(uiAbsPartIdx
     196#if LGE_ILLUCOMP_DEPTH_C0046
     197      , uiDepth //This modification is not needed after integrating JCT3V-C0137
     198#endif
     199      ))
    188200    m_pcEntropyCoderIf->codeICFlag( pcCU, uiAbsPartIdx );
    189201}
  • branches/HTM-5.1-dev1-LG/source/Lib/TLibEncoder/TEncEntropy.h

    r210 r253  
    260260  Void encodeSplitFlag         ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, Bool bRD = false );
    261261#if LGE_ILLUCOMP_B0045
    262   Void encodeICFlag            ( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false );
     262  Void encodeICFlag            ( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false
     263#if LGE_ILLUCOMP_DEPTH_C0046
     264      , UInt uiDepth = 0
     265#endif
     266      );
    263267#endif
    264268  Void encodeSkipFlag          ( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false );
  • branches/HTM-5.1-dev1-LG/source/Lib/TLibEncoder/TEncSlice.cpp

    r210 r253  
    770770
    771771#if LGE_ILLUCOMP_B0045
    772   if (pcEncTop->getViewId() != 0 && !pcEncTop->isDepthCoder() && pcEncTop->getUseIC())   // DCP of ViewID 0 is not available
     772  if (pcEncTop->getViewId() != 0
     773#if !LGE_ILLUCOMP_DEPTH_C0046
     774      && !pcEncTop->isDepthCoder()
     775#endif
     776      && pcEncTop->getUseIC())   // DCP of ViewID 0 is not available
    773777  {
    774778    pcSlice ->xSetApplyIC();
Note: See TracChangeset for help on using the changeset viewer.