Changeset 321 in SHVCSoftware for branches/SHM-3.0-dev/source/Lib/TLibDecoder


Ignore:
Timestamp:
2 Aug 2013, 22:52:20 (11 years ago)
Author:
seregin
Message:

remove INTRA_BL

Location:
branches/SHM-3.0-dev/source/Lib/TLibDecoder
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r313 r321  
    22152215  return (cnt>0);
    22162216}
    2217 
    2218 #if INTRA_BL
    2219 Void TDecCavlc::parseIntraBLFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )
    2220 {
    2221   assert(0);
    2222 }
    2223 #endif
    2224 
    22252217//! \}
    22262218
  • branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecCAVLC.h

    r313 r321  
    118118  Void updateContextTables  ( SliceType /*eSliceType*/, Int /*iQp*/ ) { return; }
    119119
    120 #if INTRA_BL
    121   Void parseIntraBLFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );
    122 #endif
    123 
    124120  Void xParsePredWeightTable ( TComSlice* pcSlice );
    125121  Void  parseScalingList               ( TComScalingList* scalingList );
  • branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecCu.cpp

    r319 r321  
    334334    return;
    335335  }
    336 #if INTRA_BL
    337   m_pcEntropyDecoder->decodeIntraBLFlag( pcCU, uiAbsPartIdx, 0, uiDepth );
    338   if ( pcCU->isIntraBL( uiAbsPartIdx ) )
    339   {
    340     pcCU->setSizeSubParts( g_uiMaxCUWidth>>uiDepth, g_uiMaxCUHeight>>uiDepth, uiAbsPartIdx, uiDepth );
    341   }
    342   else
    343   {
    344 #endif
    345336
    346337  m_pcEntropyDecoder->decodePredMode( pcCU, uiAbsPartIdx, uiDepth );
     
    357348    }
    358349  }
    359 #if INTRA_BL
     350
     351  UInt uiCurrWidth      = pcCU->getWidth ( uiAbsPartIdx );
     352  UInt uiCurrHeight     = pcCU->getHeight( uiAbsPartIdx );
     353 
    360354  // prediction mode ( Intra : direction mode, Inter : Mv, reference idx )
    361355  m_pcEntropyDecoder->decodePredInfo( pcCU, uiAbsPartIdx, uiDepth, m_ppcCU[uiDepth]);
    362   }
    363 #endif
    364 
    365   UInt uiCurrWidth      = pcCU->getWidth ( uiAbsPartIdx );
    366   UInt uiCurrHeight     = pcCU->getHeight( uiAbsPartIdx );
    367  
    368 #if !INTRA_BL
    369   // prediction mode ( Intra : direction mode, Inter : Mv, reference idx )
    370   m_pcEntropyDecoder->decodePredInfo( pcCU, uiAbsPartIdx, uiDepth, m_ppcCU[uiDepth]);
    371 #endif
    372356
    373357  // Coefficient decoding
     
    440424      xReconIntraQT( m_ppcCU[uiDepth], uiDepth );
    441425      break;
    442 #if INTRA_BL
    443     case MODE_INTRA_BL:
    444       xReconIntraQT( m_ppcCU[uiDepth], uiAbsPartIdx, uiDepth );
    445       break;
    446 #endif
    447426    default:
    448427      assert(0);
     
    512491 
    513492  //===== get prediction signal =====
    514 #if INTRA_BL
    515   if(pcCU->isIntraBL ( uiAbsPartIdx ) )
    516   {
    517     pcCU->getBaseLumaBlk( uiWidth, uiHeight, uiAbsPartIdx, piPred, uiStride );
    518   }
    519   else
    520 #endif
    521493  m_pcPrediction->predIntraLumaAng( pcCU->getPattern(), uiLumaPredMode, piPred, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail );
    522494 
     
    603575 
    604576  //===== get prediction signal =====
    605 #if INTRA_BL
    606   if(pcCU->isIntraBL ( uiAbsPartIdx ) )
    607   {
    608     pcCU->getBaseChromaBlk( uiWidth, uiHeight, uiAbsPartIdx, piPred, uiStride, uiChromaId );
    609   }
    610   else
    611 #endif
    612   {
    613     if( uiChromaPredMode == DM_CHROMA_IDX )
    614     {
    615       uiChromaPredMode = pcCU->getLumaIntraDir( 0 );
    616     }
    617     m_pcPrediction->predIntraChromaAng( pPatChroma, uiChromaPredMode, piPred, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail ); 
    618   }
     577  if( uiChromaPredMode == DM_CHROMA_IDX )
     578  {
     579    uiChromaPredMode = pcCU->getLumaIntraDir( 0 );
     580  }
     581  m_pcPrediction->predIntraChromaAng( pPatChroma, uiChromaPredMode, piPred, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail ); 
    619582
    620583  //===== inverse transform =====
  • branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecCu.h

    r319 r321  
    7777#endif
    7878 
    79 #if INTRA_BL
    80   TComPicYuv*         m_pcPicYuvRecBase;       ///< reconstructed base layer
    81 #endif
    82  
    8379public:
    8480  TDecCu();
     
    106102#if SVC_EXTENSION
    107103  TDecTop*   getLayerDec        ( UInt LayerId )  { return m_ppcTDecTop[LayerId]; }
    108 #if INTRA_BL
    109   Void  setBaseRecPic           ( TComPicYuv* p ) { m_pcPicYuvRecBase = p; }
    110 #endif
    111104#endif
    112105protected:
  • branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecEntropy.cpp

    r319 r321  
    5858}
    5959
    60 #if INTRA_BL
    61 Void TDecEntropy::decodeIntraBLFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )
    62 {
    63   m_pcEntropyDecoderIf->parseIntraBLFlag( pcCU, uiAbsPartIdx, uiPartIdx, uiDepth );
    64 }
    65 #endif
    66 
    6760/** decode merge flag
    6861 * \param pcSubCU
     
    111104Void TDecEntropy::decodePredInfo    ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, TComDataCU* pcSubCU )
    112105{
    113 #if INTRA_BL
    114   if( pcCU->isIntraBL( uiAbsPartIdx ) )                                 // Do nothing for Intra BL mode.
    115   {
    116     return;
    117   }
    118 #endif
    119106  if( pcCU->isIntra( uiAbsPartIdx ) )                                 // If it is Intra mode, encode intra prediction mode.
    120107  {
     
    450437   
    451438    pcCU->setCbfSubParts ( 0, TEXT_LUMA, uiAbsPartIdx, uiDepth );
    452 #if INTRA_BL
    453     if( ( !pcCU->isIntra(uiAbsPartIdx) ) && uiDepth == pcCU->getDepth( uiAbsPartIdx ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, 0 ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, 0 ) )
    454 #else
    455439    if( pcCU->getPredictionMode(uiAbsPartIdx) != MODE_INTRA && uiDepth == pcCU->getDepth( uiAbsPartIdx ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, 0 ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, 0 ) )
    456 #endif
    457440    {
    458441      pcCU->setCbfSubParts( 1 << uiTrDepth, TEXT_LUMA, uiAbsPartIdx, uiDepth );
  • branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecEntropy.h

    r313 r321  
    107107  virtual Void parseTransformSkipFlags ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt width, UInt height, UInt uiDepth, TextType eTType) = 0;
    108108
    109 #if INTRA_BL
    110   virtual Void parseIntraBLFlag   ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth ) = 0;
    111 #endif
    112 
    113109  virtual Void updateContextTables( SliceType eSliceType, Int iQp ) = 0;
    114110 
     
    170166  Void updateContextTables    ( SliceType eSliceType, Int iQp ) { m_pcEntropyDecoderIf->updateContextTables( eSliceType, iQp ); }
    171167 
    172 #if INTRA_BL
    173   Void decodeIntraBLFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );
    174 #endif
    175  
    176168private:
    177169  Void xDecodeTransform        ( TComDataCU* pcCU, UInt offsetLuma, UInt offsetChroma, UInt uiAbsPartIdx, UInt uiDepth, UInt width, UInt height, UInt uiTrIdx, Bool& bCodeDQP );
  • branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecSbac.cpp

    r313 r321  
    7777, m_cTransformSkipSCModel     ( 1,             2,               NUM_TRANSFORMSKIP_FLAG_CTX    , m_contextModels + m_numContextModels, m_numContextModels)
    7878, m_CUTransquantBypassFlagSCModel( 1,          1,               NUM_CU_TRANSQUANT_BYPASS_FLAG_CTX, m_contextModels + m_numContextModels, m_numContextModels)
    79 #if INTRA_BL
    80 , m_cIntraBLPredFlagSCModel   (1,              1,               NUM_INTRA_BL_PRED_CTX         , m_contextModels + m_numContextModels, m_numContextModels)
    81 #endif
    8279{
    8380  assert( m_numContextModels <= MAX_NUM_CTX_MOD );
     
    138135
    139136  m_cCUTransSubdivFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_TRANS_SUBDIV_FLAG );
    140 #if INTRA_BL
    141   m_cIntraBLPredFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_INTRA_BL_PRED_FLAG );
    142 #endif
    143137  m_cTransformSkipSCModel.initBuffer     ( sliceType, qp, (UChar*)INIT_TRANSFORMSKIP_FLAG );
    144138  m_CUTransquantBypassFlagSCModel.initBuffer( sliceType, qp, (UChar*)INIT_CU_TRANSQUANT_BYPASS_FLAG );
     
    186180  m_cSaoTypeIdxSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SAO_TYPE_IDX );
    187181  m_cCUTransSubdivFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_TRANS_SUBDIV_FLAG );
    188 #if INTRA_BL
    189   m_cIntraBLPredFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_INTRA_BL_PRED_FLAG );
    190 #endif
    191182  m_cTransformSkipSCModel.initBuffer     ( eSliceType, iQp, (UChar*)INIT_TRANSFORMSKIP_FLAG );
    192183  m_CUTransquantBypassFlagSCModel.initBuffer( eSliceType, iQp, (UChar*)INIT_CU_TRANSQUANT_BYPASS_FLAG );
     
    438429}
    439430
    440 #if INTRA_BL
    441 Void TDecSbac::parseIntraBLFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )
    442 {
    443   if( pcCU->getLayerId() == 0 )
    444   {
    445     return;
    446   }
    447 
    448   UInt uiSymbol = 0;
    449 
    450   UInt uiCtxIntraBL = pcCU->getCtxIntraBLFlag( uiAbsPartIdx ) ;
    451   m_pcTDecBinIf->decodeBin( uiSymbol, m_cIntraBLPredFlagSCModel.get( 0, 0, uiCtxIntraBL ));
    452   DTRACE_CABAC_VL( g_nSymbolCounter++ );
    453   DTRACE_CABAC_T( "\tIntrBLFlag" );
    454   DTRACE_CABAC_T( "\tuiSymbol: ");
    455   DTRACE_CABAC_V( uiSymbol );
    456   DTRACE_CABAC_T( "\n");
    457 
    458   if ( uiSymbol )
    459   {
    460     pcCU->setPartSizeSubParts( SIZE_2Nx2N, uiAbsPartIdx, uiDepth );
    461     pcCU->setPredModeSubParts( MODE_INTRA_BL, uiAbsPartIdx, uiDepth );
    462     pcCU->setTrIdxSubParts( 0, uiAbsPartIdx, uiDepth );
    463     pcCU->setLumaIntraDirSubParts ( DC_IDX, uiAbsPartIdx, uiDepth );   
    464   }
    465 }
    466 #endif
    467 
    468431/** parse merge flag
    469432 * \param pcCU
     
    555518  UInt uiSymbol, uiMode = 0;
    556519  PartSize eMode;
    557  
    558 #if INTRA_BL
    559   if ( pcCU->isIntraBL( uiAbsPartIdx ) )
    560   {
    561     assert( 0 );
    562   }
    563 #endif
     520
    564521  if ( pcCU->isIntra( uiAbsPartIdx ) )
    565522  {
  • branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecSbac.h

    r313 r321  
    135135  Void  parseScalingList ( TComScalingList* /*scalingList*/ ) {}
    136136
    137 #if INTRA_BL
    138   Void parseIntraBLFlag    ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );
    139 #endif
    140137private:
    141138  UInt m_uiLastDQpNonZero;
     
    174171  ContextModel3DBuffer m_cTransformSkipSCModel;
    175172  ContextModel3DBuffer m_CUTransquantBypassFlagSCModel;
    176 #if INTRA_BL
    177   ContextModel3DBuffer m_cIntraBLPredFlagSCModel;
    178 #endif
    179173};
    180174
  • branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecSlice.cpp

    r313 r321  
    197197  UInt uiTileLCUX;
    198198  Int iNumSubstreamsPerTile = 1; // if independent.
    199 #if INTRA_BL
    200   m_pcCuDecoder->setBaseRecPic( rpcPic->getLayerId() > 0 ? rpcPic->getFullPelBaseRec(rpcPic->getLayerId()-1) : NULL);
    201 #endif
     199
    202200  Bool depSliceSegmentsEnabled = rpcPic->getSlice(rpcPic->getCurrSliceIdx())->getPPS()->getDependentSliceSegmentsEnabledFlag();
    203201  uiTileStartLCU = rpcPic->getPicSym()->getTComTile(rpcPic->getPicSym()->getTileIdxMap(iStartCUAddr))->getFirstCUAddr();
  • branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecTop.cpp

    r313 r321  
    812812#if REF_IDX_FRAMEWORK
    813813    if (m_layerId == 0)
    814 #elif INTRA_BL
    815     if( m_layerId > 0 )
    816     {
    817       pcSlice->setRefPicList( m_cListPic );
    818     }
    819     else
    820814#endif
    821815#if FIX1071
Note: See TracChangeset for help on using the changeset viewer.