Changeset 297 in SHVCSoftware for branches/SHM-2.1-dev/source/Lib/TLibCommon


Ignore:
Timestamp:
20 Jun 2013, 22:40:50 (12 years ago)
Author:
vidyo
Message:

Implementation of inter_layer_sample_pred_only_flag part of M0457. The code is disabled by default. Enable by setting M0457_IL_SAMPLE_PRED_ONLY_FLAG to 1.

Location:
branches/SHM-2.1-dev/source/Lib/TLibCommon
Files:
3 edited

Legend:

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

    r296 r297  
    139139  m_colRefLayerIdx       = 0;
    140140#endif
     141#if M0457_IL_SAMPLE_PRED_ONLY_FLAG
     142  m_numSamplePredRefLayers       = 0;
     143  m_interLayerSamplePredOnlyFlag = false;
     144#endif
    141145#endif
    142146#endif
     
    197201  m_numILRRefIdx              = 0;
    198202#endif 
    199 
     203#if M0457_IL_SAMPLE_PRED_ONLY_FLAG
     204  m_numSamplePredRefLayers       = 0;
     205  m_interLayerSamplePredOnlyFlag = false;
     206#endif
    200207#endif
    201208  m_colFromL0Flag = 1;
     
    488495      pcRefPic->getPicYuvRec()->extendPicBorder();
    489496      RefPicSetStCurr0[NumPocStCurr0] = pcRefPic;
     497#if M0457_IL_SAMPLE_PRED_ONLY_FLAG
     498      if( !m_interLayerSamplePredOnlyFlag || pcRefPic->getLayerId() < getLayerId())
     499#endif
    490500      NumPocStCurr0++;
    491501      pcRefPic->setCheckLTMSBPresent(false); 
     
    501511      pcRefPic->getPicYuvRec()->extendPicBorder();
    502512      RefPicSetStCurr1[NumPocStCurr1] = pcRefPic;
     513#if M0457_IL_SAMPLE_PRED_ONLY_FLAG
     514      if( !m_interLayerSamplePredOnlyFlag || pcRefPic->getLayerId() < getLayerId())
     515#endif
    503516      NumPocStCurr1++;
    504517      pcRefPic->setCheckLTMSBPresent(false); 
     
    514527      pcRefPic->getPicYuvRec()->extendPicBorder();
    515528      RefPicSetLtCurr[NumPocLtCurr] = pcRefPic;
     529#if M0457_IL_SAMPLE_PRED_ONLY_FLAG
     530      if( !m_interLayerSamplePredOnlyFlag || pcRefPic->getLayerId() < getLayerId())
     531#endif
    516532      NumPocLtCurr++;
    517533    }
     
    662678  }
    663679#endif
    664  
     680
     681#if M0457_IL_SAMPLE_PRED_ONLY_FLAG
     682    if( m_interLayerSamplePredOnlyFlag && getLayerId() )
     683    {
     684      m_aiNumRefIdx[0] = m_aiNumRefIdx[0] > m_activeNumILRRefIdx ? m_activeNumILRRefIdx : m_aiNumRefIdx[0];
     685      m_aiNumRefIdx[1] = m_aiNumRefIdx[1] > m_activeNumILRRefIdx ? m_activeNumILRRefIdx : m_aiNumRefIdx[1];
     686    }
     687#endif
     688 
    665689    Int cIdx = 0;
    666690    for ( i=0; i<NumPocStCurr0; i++, cIdx++)
  • branches/SHM-2.1-dev/source/Lib/TLibCommon/TComSlice.h

    r296 r297  
    14641464#endif
    14651465#endif
     1466#if M0457_IL_SAMPLE_PRED_ONLY_FLAG
     1467  Int         m_numSamplePredRefLayers;
     1468  Bool        m_interLayerSamplePredOnlyFlag;
     1469#endif
    14661470#if L0034_COMBINED_LIST_CLEANUP
    14671471  Int         m_list1IdxToList0Idx[MAX_NUM_REF];
     
    18551859#endif
    18561860
     1861#if M0457_IL_SAMPLE_PRED_ONLY_FLAG
     1862  Int       getNumSamplePredRefLayers      ( )          { return  m_numSamplePredRefLayers;       }
     1863  Void      setNumSamplePredRefLayers      ( Int i )    { m_numSamplePredRefLayers = i;           }
     1864  Bool      getInterLayerSamplePredOnlyFlag( )          { return  m_interLayerSamplePredOnlyFlag; }
     1865  Void      setInterLayerSamplePredOnlyFlag( Bool val ) { m_interLayerSamplePredOnlyFlag = val;   }
     1866#endif
     1867
    18571868#if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING
    18581869  Void      setNumMotionPredRefLayers(int i)            { m_numMotionPredRefLayers = i; }
  • branches/SHM-2.1-dev/source/Lib/TLibCommon/TypeDef.h

    r296 r297  
    103103#endif
    104104#define M0457_COL_PICTURE_SIGNALING      1
     105
     106#if !VPS_EXTN_DIRECT_REF_LAYERS || !M0457_PREDICTION_INDICATIONS || !JCTVC_M0458_INTERLAYER_RPS_SIG
     107#define M0457_IL_SAMPLE_PRED_ONLY_FLAG   0
     108#else
     109#define M0457_IL_SAMPLE_PRED_ONLY_FLAG   0
     110#endif
    105111
    106112#else
Note: See TracChangeset for help on using the changeset viewer.