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


Ignore:
Timestamp:
20 Jun 2013, 22:40:50 (11 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/TLibEncoder
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-2.1-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r296 r297  
    11191119      }
    11201120    }     
     1121#if M0457_IL_SAMPLE_PRED_ONLY_FLAG
     1122    if( pcSlice->getNumSamplePredRefLayers() > 0 && pcSlice->getActiveNumILRRefIdx() > 0 )
     1123    {
     1124      WRITE_FLAG( pcSlice->getInterLayerSamplePredOnlyFlag(), "inter_layer_sample_pred_only_flag" );
     1125    }
     1126#endif
    11211127#endif
    11221128
  • branches/SHM-2.1-dev/source/Lib/TLibEncoder/TEncCu.cpp

    r282 r297  
    463463        if(pcSlice->getSliceType() == B_SLICE && pcSlice->getNumRefIdx(REF_PIC_LIST_0) == pcSlice->getActiveNumILRRefIdx() && pcSlice->getNumRefIdx(REF_PIC_LIST_1) == pcSlice->getActiveNumILRRefIdx())
    464464            testInter = false;
     465#if M0457_IL_SAMPLE_PRED_ONLY_FLAG
     466        if( pcSlice->getInterLayerSamplePredOnlyFlag() )
     467            testInter = false;
     468#endif
    465469    }
    466470#endif
  • branches/SHM-2.1-dev/source/Lib/TLibEncoder/TEncGOP.cpp

    r296 r297  
    539539#endif
    540540
     541#if M0457_IL_SAMPLE_PRED_ONLY_FLAG
     542    pcSlice->setNumSamplePredRefLayers( m_pcEncTop->getNumSamplePredRefLayers() );
     543    pcSlice->setInterLayerSamplePredOnlyFlag( 0 );
     544    if( pcSlice->getNumSamplePredRefLayers() > 0 && pcSlice->getActiveNumILRRefIdx() > 0 )
     545    {
     546      if( m_pcEncTop->getIlSampleOnlyPred() > 0 )
     547      {
     548        pcSlice->setInterLayerSamplePredOnlyFlag( true );
     549      }
     550    }
     551#endif
     552
    541553    pcSlice->setLastIDR(m_iLastIDR);
    542554    pcSlice->setSliceIdx(0);
     
    923935#endif
    924936
     937#if M0457_IL_SAMPLE_PRED_ONLY_FLAG
     938    if (pcSlice->getSliceType() == B_SLICE && m_pcEncTop->getIlSampleOnlyPred() == 0)
     939#else
    925940    if (pcSlice->getSliceType() == B_SLICE)
     941#endif
    926942    {
    927943#if !REF_IDX_FRAMEWORK
  • branches/SHM-2.1-dev/source/Lib/TLibEncoder/TEncTop.h

    r288 r297  
    139139  Bool                    m_bMFMEnabledFlag;
    140140#endif
     141#if M0457_IL_SAMPLE_PRED_ONLY_FLAG
     142  Int                     m_ilSampleOnlyPred;
     143#endif
    141144#if SCALED_REF_LAYER_OFFSETS
    142145  UInt                    m_numScaledRefLayerOffsets;
     
    227230  Bool      getMFMEnabledFlag()                   {return m_bMFMEnabledFlag;}   
    228231#endif
     232#if M0457_IL_SAMPLE_PRED_ONLY_FLAG
     233  Void      setIlSampleOnlyPred( Int i )          { m_ilSampleOnlyPred = i;    }
     234  Int       getIlSampleOnlyPred()                 { return m_ilSampleOnlyPred; }
     235#endif
    229236#if AVC_SYNTAX
    230237  Void      setBLSyntaxFile( fstream* pFile ) { m_pBLSyntaxFile = pFile; }
Note: See TracChangeset for help on using the changeset viewer.