Changeset 493 in SHVCSoftware for branches/SHM-4.0-dev


Ignore:
Timestamp:
16 Nov 2013, 05:02:37 (11 years ago)
Author:
seregin
Message:

fix ILP WP parameters derivation to be from the BL reference layer

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

Legend:

Unmodified
Added
Removed
  • branches/SHM-4.0-dev/source/Lib/TLibEncoder/TEncGOP.cpp

    r489 r493  
    15731573    {
    15741574      pcPic->getPicYuvOrg()->copyToPic( pcPic->getPicYuvRec() );
     1575#if O0194_WEIGHTED_PREDICTION_CGS
     1576      // Calculate for the base layer to be used in EL as Inter layer reference
     1577      m_pcSliceEncoder->estimateILWpParam( pcSlice );
     1578#endif
    15751579#if AVC_SYNTAX
    15761580      pcPic->readBLSyntax( m_ppcTEncTop[0]->getBLSyntaxFile(), SYNTAX_BYTES );
  • branches/SHM-4.0-dev/source/Lib/TLibEncoder/TEncSlice.cpp

    r475 r493  
    950950  {
    951951    // Calculate for the base layer to be used in EL as Inter layer reference
    952     xCalcACDCParamSlice(pcSlice);
    953     wpACDCParam * temp_weightACDCParam;
    954 
    955     pcSlice->getWpAcDcParam(temp_weightACDCParam);
    956     g_refWeightACDCParam = (void *) temp_weightACDCParam;
     952    estimateILWpParam( pcSlice );   
    957953  }
    958954#endif
     
    20932089}
    20942090#endif
     2091#if O0194_WEIGHTED_PREDICTION_CGS
     2092Void TEncSlice::estimateILWpParam( TComSlice* pcSlice )
     2093{
     2094  xCalcACDCParamSlice(pcSlice);
     2095  wpACDCParam * temp_weightACDCParam;
     2096
     2097  pcSlice->getWpAcDcParam(temp_weightACDCParam);
     2098  g_refWeightACDCParam = (void *) temp_weightACDCParam;
     2099}
     2100#endif
    20952101//! \}
  • branches/SHM-4.0-dev/source/Lib/TLibEncoder/TEncSlice.h

    r475 r493  
    123123  Void    initEncSlice        ( TComPic*  pcPic, Int pocLast, Int pocCurr, Int iNumPicRcvd,
    124124                                Int iGOPid,   TComSlice*& rpcSlice, TComSPS* pSPS, TComPPS *pPPS, TComVPS *vps, Bool isField );
     125#if O0194_WEIGHTED_PREDICTION_CGS
     126  Void    estimateILWpParam   ( TComSlice* pcSlice );
     127#endif
    125128#else
    126129  Void    initEncSlice        ( TComPic*  pcPic, Int pocLast, Int pocCurr, Int iNumPicRcvd,
  • branches/SHM-4.0-dev/source/Lib/TLibEncoder/WeightPredAnalysis.cpp

    r488 r493  
    234234      UInt currLayerId = slice->getLayerId();
    235235      UInt refLayerId  = slice->getRefPic(eRefPicList, refIdxTemp)->getLayerId();
    236       Bool validILRPic = slice->getRefPic(eRefPicList, refIdxTemp)->isILR( currLayerId ) && !( refLayerId == 0 && slice->getVPS()->getAvcBaseLayerFlag() );
     236      Bool validILRPic = slice->getRefPic(eRefPicList, refIdxTemp)->isILR( currLayerId ) && refLayerId == 0;
    237237
    238238      if( validILRPic )
Note: See TracChangeset for help on using the changeset viewer.