Changeset 176 in SHVCSoftware for branches/SHM-2.0-dev/source


Ignore:
Timestamp:
10 May 2013, 00:11:31 (12 years ago)
Author:
seregin
Message:

clean up for JCTVC_M0458_INTERLAYER_RPS_SIG

Location:
branches/SHM-2.0-dev/source/Lib
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-2.0-dev/source/Lib/TLibCommon/TComSlice.cpp

    r174 r176  
    124124 
    125125#if REF_IDX_FRAMEWORK
     126#if JCTVC_M0458_INTERLAYER_RPS_SIG
     127  m_activeNumILRRefIdx        = 0;
     128  m_interLayerPredEnabledFlag = 0;
     129  ::memset( m_interLayerPredLayerIdc, 0, sizeof(m_interLayerPredLayerIdc) );
     130#else
    126131  m_numILRRefIdx = 0;
    127 #endif
    128 #if JCTVC_M0458_INTERLAYER_RPS_SIG
    129   m_activeNumILRRefIdx      = 0;
    130   m_bInterLayerPredEnabledFlag = 0;
    131 
    132   for ( Int idx = 0; idx < MAX_VPS_LAYER_ID_PLUS1; idx++ )
    133     m_aiInterLayerPredLayerIdc[idx] = 0;
    134132#endif
     133#endif
    135134
    136135  initEqualRef();
     
    183182  m_aiNumRefIdx[1]      = 0;
    184183#if REF_IDX_FRAMEWORK
    185   if(layerId)
    186   {
    187     m_numILRRefIdx              = m_pcVPS->getNumDirectRefLayers( layerId );
    188184#if JCTVC_M0458_INTERLAYER_RPS_SIG
    189     m_activeNumILRRefIdx         = m_pcVPS->getNumDirectRefLayers( layerId );         
    190     m_bInterLayerPredEnabledFlag = 1;   
     185    m_activeNumILRRefIdx        = 0;
     186    m_interLayerPredEnabledFlag = 0;
     187#else
     188    m_numILRRefIdx              = 0;
    191189#endif 
    192   }
    193   else
    194   {
    195     m_numILRRefIdx              = 0;
    196 #if JCTVC_M0458_INTERLAYER_RPS_SIG
    197     m_activeNumILRRefIdx      = 0;
    198     m_bInterLayerPredEnabledFlag = 0;
    199 #endif 
    200   }
     190
    201191#endif
    202192  m_colFromL0Flag = 1;
  • branches/SHM-2.0-dev/source/Lib/TLibCommon/TComSlice.h

    r175 r176  
    14231423  Int         m_deblockingFilterBetaOffsetDiv2;    //< beta offset for deblocking filter
    14241424  Int         m_deblockingFilterTcOffsetDiv2;      //< tc offset for deblocking filter
     1425#if JCTVC_M0458_INTERLAYER_RPS_SIG
     1426  Int         m_activeNumILRRefIdx;        //< Active inter-layer reference pictures
     1427  Int         m_interLayerPredLayerIdc  [MAX_VPS_LAYER_ID_PLUS1];
     1428#else
    14251429#if REF_IDX_FRAMEWORK
    14261430  Int         m_numILRRefIdx;       //< for inter-layer reference picture ser
    14271431#endif
    1428 #if JCTVC_M0458_INTERLAYER_RPS_SIG
    1429   Int         m_activeNumILRRefIdx;        //< Active inter-layer reference pictures
    1430   Int         m_aiInterLayerPredLayerIdc  [MAX_VPS_LAYER_ID_PLUS1];
    14311432#endif
    14321433#if L0034_COMBINED_LIST_CLEANUP
     
    15231524  Bool       m_enableTMVPFlag;
    15241525#if JCTVC_M0458_INTERLAYER_RPS_SIG
    1525   Bool       m_bInterLayerPredEnabledFlag;
     1526  Bool       m_interLayerPredEnabledFlag;
    15261527  Int        m_numInterLayerRefPics;
    15271528#endif
     
    15821583  Int       getDeblockingFilterTcOffsetDiv2()           { return  m_deblockingFilterTcOffsetDiv2; }
    15831584#if REF_IDX_FRAMEWORK
    1584   Int       getNumILRRefIdx     ( )                     { return  m_numILRRefIdx; }
     1585  Int       getNumILRRefIdx     ( )                     { return  m_pcVPS->getNumDirectRefLayers( m_layerId ); }
     1586#if !JCTVC_M0458_INTERLAYER_RPS_SIG
    15851587  Void      setNumILRRefIdx     ( Int i )               { m_numILRRefIdx = i;     }
     1588#endif
    15861589#endif
    15871590#if JCTVC_M0458_INTERLAYER_RPS_SIG
     
    15891592  Void      setActiveNumILRRefIdx     ( Int i )         { m_activeNumILRRefIdx = i; } 
    15901593
    1591   Int       getInterLayerPredLayerIdc (UInt Idx )               { return  m_aiInterLayerPredLayerIdc[Idx];       }
    1592   Void      setInterLayerPredLayerIdc (UInt val,UInt Idx)       { m_aiInterLayerPredLayerIdc[Idx] = val;         }
     1594  Int       getInterLayerPredLayerIdc (UInt Idx )               { return  m_interLayerPredLayerIdc[Idx];}
     1595  Void      setInterLayerPredLayerIdc (UInt val, UInt Idx)      { m_interLayerPredLayerIdc[Idx] = val;  }
    15931596#endif
    15941597  Int       getNumRefIdx        ( RefPicList e )                { return  m_aiNumRefIdx[e];             }
     
    17961799  Bool      getEnableTMVPFlag     ()              { return m_enableTMVPFlag;}
    17971800#if JCTVC_M0458_INTERLAYER_RPS_SIG
    1798   Void      setInterLayerPredEnabledFlag     ( Bool   val )    { m_bInterLayerPredEnabledFlag = val; }
    1799   Bool      getInterLayerPredEnabledFlag     ()                { return m_bInterLayerPredEnabledFlag;}
     1801  Void      setInterLayerPredEnabledFlag     ( Bool   val )    { m_interLayerPredEnabledFlag = val; }
     1802  Bool      getInterLayerPredEnabledFlag     ()                { return m_interLayerPredEnabledFlag;}
    18001803
    18011804  Void      setNumInterLayerRefPics          ( UInt   val )    { m_numInterLayerRefPics = val; }
  • branches/SHM-2.0-dev/source/Lib/TLibEncoder/TEncGOP.cpp

    r175 r176  
    669669        pcSlice->setNumRefIdx(REF_PIC_LIST_1, pcSlice->getNumRefIdx(REF_PIC_LIST_1)+pcSlice->getNumILRRefIdx());
    670670      }
    671 #if JCTVC_M0458_INTERLAYER_RPS_SIG
    672         // currently only one reference layer is supported in software and no decision logic to select yet.
    673         // hence num of active inter layer references is set to one always
    674           pcSlice->setActiveNumILRRefIdx(1);
    675 #endif
    676671    }
    677672#endif
  • branches/SHM-2.0-dev/source/Lib/TLibEncoder/TEncSlice.cpp

    r174 r176  
    194194  rpcSlice->setPic( pcPic );
    195195#if SVC_EXTENSION
     196  UInt layerId = pcPic->getLayerId();
    196197  rpcSlice->setVPS( vps );
    197   rpcSlice->initSlice( pcPic->getLayerId() );
     198  rpcSlice->initSlice( layerId );
    198199#else
    199200  rpcSlice->initSlice();
     
    486487  xStoreWPparam( pPPS->getUseWP(), pPPS->getWPBiPred() );
    487488
     489#if SVC_EXTENSION
     490  if( layerId > 0 )
     491  {
    488492#if JCTVC_M0458_INTERLAYER_RPS_SIG
    489493  // currently only one reference layer is supported in software and no decision logic to select yet.
    490494  // hence num of active inter layer references is set to one always
    491   rpcSlice->setActiveNumILRRefIdx(1);
     495    if( rpcSlice->getNumILRRefIdx() > 0 )
     496    {
     497      rpcSlice->setActiveNumILRRefIdx(1);
     498      rpcSlice->setInterLayerPredEnabledFlag(1);
     499    }
     500#else
     501    rpcSlice->setNumILRRefIdx( rpcSlice->getVPS()->getNumDirectRefLayers( layerId ) );
    492502#endif
     503  }
     504
     505#endif
    493506}
    494507
Note: See TracChangeset for help on using the changeset viewer.