Changeset 287 in 3DVCSoftware for branches/HTM-5.1-dev0/source/Lib/TLibDecoder


Ignore:
Timestamp:
17 Feb 2013, 01:49:33 (12 years ago)
Author:
tech
Message:

Integrated 5.1-dev1-LG-Fix Rev. 282

Location:
branches/HTM-5.1-dev0/source/Lib/TLibDecoder
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r280 r287  
    19341934  {
    19351935    UInt uiCodeTmp = 0;
    1936     if ( rpcSlice->getSPS()->getViewId() && !rpcSlice->getSPS()->isDepth() )
     1936    if ( rpcSlice->getSPS()->getViewId()
     1937#if !LGE_ILLUCOMP_DEPTH_C0046
     1938        && !rpcSlice->getSPS()->isDepth()
     1939#endif
     1940        )
    19371941    {
    19381942      READ_FLAG (uiCodeTmp, "applying IC flag");
  • branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecCu.cpp

    r280 r287  
    375375        pcCU->setHeight( uiAbsPartIdx + ui, g_uiMaxCUHeight>>uhNewDepth );
    376376      }
     377#if LGE_ILLUCOMP_DEPTH_C0046
     378      m_pcEntropyDecoder->decodeICFlag( pcCU, uiAbsPartIdx, uiDepth );
     379#endif
    377380    }
    378381    else
     
    473476 
    474477#if LGE_ILLUCOMP_B0045
     478#if LGE_ILLUCOMP_DEPTH_C0046 && HHI_MPI
     479  if( pcCU->getTextureModeDepth( uiAbsPartIdx ) != uiDepth )
     480  {
     481#endif
    475482  m_pcEntropyDecoder->decodeICFlag( pcCU, uiAbsPartIdx, uiDepth );
    476483#endif
     
    480487  {
    481488    m_pcEntropyDecoder->decodeResPredFlag    ( pcCU, uiAbsPartIdx, uiDepth, m_ppcCU[uiDepth], 0 );
     489  }
     490#endif
     491#if LGE_ILLUCOMP_DEPTH_C0046 && HHI_MPI
    482492  }
    483493#endif
     
    505515        pcCU->setHeight( uiAbsPartIdx + ui, g_uiMaxCUHeight>>uhNewDepth );
    506516      }
    507 
     517#if LGE_ILLUCOMP_DEPTH_C0046
     518      m_pcEntropyDecoder->decodeICFlag( pcCU, uiAbsPartIdx, uiDepth );
     519#endif
    508520      if( ( ( uiDepth < pcCU->getDepth( uiAbsPartIdx ) ) && ( uiDepth < g_uiMaxCUDepth - g_uiAddCUDepth ) ) || bBoundary )
    509521      {
     
    14181430  Int iSumPix[2];
    14191431  memset(iSumPix, 0, sizeof(Int)*2);
    1420  
     1432#if HS_REFERENCE_SUBSAMPLE_C0154
     1433  Int subSamplePix;
     1434  if ( uiSize == 64 || uiSize == 32 )
     1435  {
     1436    subSamplePix = 2;
     1437  }
     1438  else
     1439  {
     1440    subSamplePix = 1;
     1441  }
     1442  for (Int y=0; y<uiSize; y+=subSamplePix)
     1443  {
     1444    for (Int x=0; x<uiSize; x+=subSamplePix)
     1445    {
     1446      UChar ucSegment = pMask?(UChar)pMask[x]:0;
     1447      assert( ucSegment < uiNumSegments );
     1448 
     1449      iSumDepth[ucSegment] += pOrig[x];
     1450      iSumPix[ucSegment]   += 1;
     1451    }
     1452    pOrig  += uiStride*subSamplePix;
     1453    pMask  += uiMaskStride*subSamplePix;
     1454  }
     1455#else
    14211456  for (Int y=0; y<uiSize; y++)
    14221457  {
     
    14331468    pMask  += uiMaskStride;
    14341469  }
    1435  
     1470#endif
    14361471  // compute mean for each segment
    14371472  for( UChar ucSeg = 0; ucSeg < uiNumSegments; ucSeg++ )
  • branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecEntropy.cpp

    r280 r287  
    7272  pcCU->setICFlagSubParts( false , uiAbsPartIdx, 0, uiDepth );
    7373
    74   if (pcCU->isIntra(uiAbsPartIdx) || (pcCU->getSlice()->getViewId() == 0) || pcCU->getSlice()->getSPS()->isDepth())
     74  if (pcCU->isIntra(uiAbsPartIdx) || (pcCU->getSlice()->getViewId() == 0)
     75#if !LGE_ILLUCOMP_DEPTH_C0046
     76      || pcCU->getSlice()->getSPS()->isDepth()
     77#endif
     78      )
    7579  {
    7680    return;
     
    8084    return;
    8185
     86#if LGE_ILLUCOMP_DEPTH_C0046
     87  if(pcCU->isICFlagRequired(uiAbsPartIdx, uiDepth)) //This modification is not needed after integrating JCT3V-C0137
     88#else
    8289  if(pcCU->isICFlagRequired(uiAbsPartIdx))
     90#endif
    8391    m_pcEntropyDecoderIf->parseICFlag( pcCU, uiAbsPartIdx, uiDepth );
    8492}
  • branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecSbac.cpp

    r189 r287  
    762762  Bool bIntraSliceDetect  = (pcCU->getSlice()->getSliceType() == I_SLICE);
    763763
     764#if HHI_QTLPC_RAU_OFF_C0160
     765  Bool rapPic     = (pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR || pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA);
     766  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && sps->getUseQTLPC())
     767#else
    764768  if(bDepthMapDetect && !bIntraSliceDetect && sps->getUseQTLPC())
     769#endif
    765770  {
    766771    TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
     
    804809  Bool bIntraSliceDetect = (pcCU->getSlice()->getSliceType() == I_SLICE);
    805810
     811#if HHI_QTLPC_RAU_OFF_C0160
     812  Bool rapPic     = (pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR || pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA);
     813  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && sps->getUseQTLPC())
     814#else
    806815  if(bDepthMapDetect && !bIntraSliceDetect && sps->getUseQTLPC())
     816#endif
    807817  {
    808818    TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
     
    970980#if HHI_DMM_PRED_TEX
    971981    if( intraPredMode == DMM_WEDGE_PREDTEX_D_IDX )     { xParseWedgePredTexDeltaInfo  ( pcCU, uiAbsPartIdx, uiDepth ); }
     982#if LGE_DMM3_SIMP_C0044
     983    if( intraPredMode == DMM_WEDGE_PREDTEX_IDX )       { xParseWedgePredTexInfo       ( pcCU, uiAbsPartIdx, uiDepth ); }
     984#endif
    972985    if( intraPredMode == DMM_CONTOUR_PREDTEX_D_IDX )   { xParseContourPredTexDeltaInfo( pcCU, uiAbsPartIdx, uiDepth ); }
    973986#endif
     
    24122425#endif
    24132426#if HHI_DMM_PRED_TEX
     2427#if LGE_DMM3_SIMP_C0044
     2428Void TDecSbac::xParseWedgePredTexInfo( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
     2429{
     2430  Int iIntraIdx = pcCU->getIntraSizeIdx(uiAbsPartIdx);
     2431  Int iBits = g_aucWedgeTexPredBitsListIdx[iIntraIdx];
     2432
     2433  UInt uiSymbol, uiTabIdx = 0;
     2434  for ( Int i = 0; i < iBits; i++ )
     2435  {
     2436    m_pcTDecBinIf->decodeBin( uiSymbol, m_cDmmDataSCModel.get(0, 0, 3) );
     2437    uiTabIdx += ( uiSymbol && i == 0 ) ? 1 : 0;
     2438    uiTabIdx += ( uiSymbol && i == 1 ) ? 2 : 0;
     2439    uiTabIdx += ( uiSymbol && i == 2 ) ? 4 : 0;
     2440    uiTabIdx += ( uiSymbol && i == 3 ) ? 8 : 0;
     2441    uiTabIdx += ( uiSymbol && i == 4 ) ? 16 : 0;
     2442    uiTabIdx += ( uiSymbol && i == 5 ) ? 32 : 0;
     2443    uiTabIdx += ( uiSymbol && i == 6 ) ? 64 : 0;
     2444    uiTabIdx += ( uiSymbol && i == 7 ) ? 128 : 0;
     2445    uiTabIdx += ( uiSymbol && i == 8 ) ? 256 : 0;
     2446    uiTabIdx += ( uiSymbol && i == 9 ) ? 512 : 0;
     2447    uiTabIdx += ( uiSymbol && i == 10 ) ? 1024 : 0;
     2448  }
     2449
     2450  pcCU->setWedgePredTexIntraTabIdxSubParts( uiTabIdx, uiAbsPartIdx, uiDepth );
     2451}
     2452#endif
     2453
    24142454Void TDecSbac::xParseWedgePredTexDeltaInfo( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    24152455{
     2456#if LGE_DMM3_SIMP_C0044
     2457  xParseWedgePredTexInfo( pcCU, uiAbsPartIdx, uiDepth );
     2458#endif
    24162459  UInt uiDC1, uiDC2;
    24172460  xReadExGolombLevel( uiDC1, m_cDmmDataSCModel.get(0, 0, 1) );
  • branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecSbac.h

    r280 r287  
    152152#endif
    153153#if HHI_DMM_PRED_TEX
     154#if LGE_DMM3_SIMP_C0044
     155  Void xParseWedgePredTexInfo       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
     156#endif
    154157  Void xParseWedgePredTexDeltaInfo  ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    155158  Void xParseContourPredTexDeltaInfo( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
Note: See TracChangeset for help on using the changeset viewer.