Changeset 17 in SHVCSoftware for trunk/source/Lib/TLibDecoder


Ignore:
Timestamp:
29 Jan 2013, 03:06:57 (12 years ago)
Author:
seregin
Message:

NO_RESIDUAL_FLAG_FOR_BLPRED: Root cbf for Intra_BL (L0437)

Location:
trunk/source/Lib/TLibDecoder
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibDecoder/TDecCu.cpp

    r2 r17  
    472472#if INTRA_BL
    473473    case MODE_INTRA_BL:
     474#if NO_RESIDUAL_FLAG_FOR_BLPRED
     475      xReconIntraBL( m_ppcCU[uiDepth], uiAbsPartIdx, uiDepth );
     476#else
    474477      xReconIntraQT( m_ppcCU[uiDepth], uiAbsPartIdx, uiDepth );
     478#endif
    475479      break;
    476480#endif
     
    741745}
    742746
     747#if NO_RESIDUAL_FLAG_FOR_BLPRED
     748Void
     749TDecCu::xReconIntraBL( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
     750{
     751  m_ppcYuvReco[uiDepth]->copyFromPicLuma  ( pcCU->getSlice()->getFullPelBaseRec(),  pcCU->getAddr(), pcCU->getZorderIdxInCU(), 0, pcCU->getWidth(0), pcCU->getHeight(0));
     752  m_ppcYuvReco[uiDepth]->copyFromPicChroma( pcCU->getSlice()->getFullPelBaseRec(),  pcCU->getAddr(), pcCU->getZorderIdxInCU(), 0, (pcCU->getWidth(0)>>1), (pcCU->getHeight(0)>>1), 0);
     753  m_ppcYuvReco[uiDepth]->copyFromPicChroma( pcCU->getSlice()->getFullPelBaseRec(),  pcCU->getAddr(), pcCU->getZorderIdxInCU(), 0, (pcCU->getWidth(0)>>1), (pcCU->getHeight(0)>>1), 1);
     754
     755  // inter recon
     756  xDecodeInterTexture( pcCU, 0, uiDepth );
     757
     758  // clip for only non-zero cbp case
     759  if  ( ( pcCU->getCbf( 0, TEXT_LUMA ) ) || ( pcCU->getCbf( 0, TEXT_CHROMA_U ) ) || ( pcCU->getCbf(0, TEXT_CHROMA_V ) ) )
     760  {
     761    m_ppcYuvReco[uiDepth]->addClip( m_ppcYuvReco[uiDepth], m_ppcYuvResi[uiDepth], 0, pcCU->getWidth( 0 ) );
     762  }
     763  else
     764  {
     765    m_ppcYuvReco[uiDepth]->copyPartToPartYuv( m_ppcYuvReco[uiDepth],0, pcCU->getWidth( 0 ),pcCU->getHeight( 0 ));
     766  }
     767}
     768#endif
    743769
    744770/** Function for deriving recontructed PU/CU Luma sample with QTree structure
  • trunk/source/Lib/TLibDecoder/TDecCu.h

    r2 r17  
    122122  Void  xIntraRecLumaBlk        ( TComDataCU* pcCU, UInt uiTrDepth, UInt uiAbsPartIdx, TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv );
    123123  Void  xIntraRecChromaBlk      ( TComDataCU* pcCU, UInt uiTrDepth, UInt uiAbsPartIdx, TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv, UInt uiChromaId );
     124#if NO_RESIDUAL_FLAG_FOR_BLPRED
     125  Void  xReconIntraBL           ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
     126#endif
    124127 
    125128  Void  xReconPCM               ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
  • trunk/source/Lib/TLibDecoder/TDecEntropy.cpp

    r2 r17  
    487487    pcCU->setCbfSubParts ( 0, TEXT_LUMA, uiAbsPartIdx, uiDepth );
    488488#if INTRA_BL
     489#if NO_RESIDUAL_FLAG_FOR_BLPRED
     490    if( ( !pcCU->isIntra(uiAbsPartIdx) || pcCU->isIntraBL(uiAbsPartIdx)) && uiDepth == pcCU->getDepth( uiAbsPartIdx ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, 0 ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, 0 ) )
     491#else
    489492    if( ( !pcCU->isIntra(uiAbsPartIdx) ) && uiDepth == pcCU->getDepth( uiAbsPartIdx ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, 0 ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, 0 ) )
     493#endif
    490494#else
    491495    if( pcCU->getPredictionMode(uiAbsPartIdx) != MODE_INTRA && uiDepth == pcCU->getDepth( uiAbsPartIdx ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, 0 ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, 0 ) )
     
    597601  UInt uiChromaOffset = uiLumaOffset>>2;
    598602 
     603#if NO_RESIDUAL_FLAG_FOR_BLPRED
     604  if( pcCU->isIntra(uiAbsPartIdx) && !pcCU->isIntraBL(uiAbsPartIdx) )
     605#else
    599606  if( pcCU->isIntra(uiAbsPartIdx) )
     607#endif
    600608  {
    601609  }
Note: See TracChangeset for help on using the changeset viewer.