Changeset 468 in SHVCSoftware for branches/SHM-4.0-dev/source/Lib/TLibEncoder


Ignore:
Timestamp:
14 Nov 2013, 09:02:43 (11 years ago)
Author:
nokia
Message:

Integration of O0194: Support different bit-depth values for different layers, enable weighted prediction for ILR for color gamut scalability.

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

Legend:

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

    r466 r468  
    931931  }
    932932#if O0194_WEIGHTED_PREDICTION_CGS
    933   else{
     933  else
     934  {
    934935    // Calculate for the base layer to be used in EL as Inter layer reference
    935936    xCalcACDCParamSlice(pcSlice);
  • branches/SHM-4.0-dev/source/Lib/TLibEncoder/WeightPredAnalysis.cpp

    r467 r468  
    232232      slice->getRefPic(eRefPicList, refIdxTemp)->getSlice(0)->getWpAcDcParam(refWeightACDCParam);
    233233#if O0194_WEIGHTED_PREDICTION_CGS
    234       if (slice->getRefPic(eRefPicList, refIdxTemp)->isILR(1)){
     234      if (slice->getRefPic(eRefPicList, refIdxTemp)->isILR(slice->getLayerId()))
     235      {
    235236        refWeightACDCParam = (wpACDCParam *)g_refWeightACDCParam;
    236237      }
     
    250251        Int64 refAC = refWeightACDCParam[comp].iAC;
    251252#if O0194_WEIGHTED_PREDICTION_CGS
    252         if (slice->getRefPic(eRefPicList, refIdxTemp)->isILR(1)){
     253        if (slice->getRefPic(eRefPicList, refIdxTemp)->isILR(slice->getLayerId()))
     254        {
    253255          refAC *= (double)currWeightACDCParam[comp].iSamples/refWeightACDCParam[comp].iSamples;
    254256#if O0194_JOINT_US_BITSHIFT
     
    264266        Int offset = (Int)( ((currDC<<log2Denom) - ((Int64)weight * refDC) + (Int64)realOffset) >> realLog2Denom );
    265267#if O0194_WEIGHTED_PREDICTION_CGS
    266         if (slice->getRefPic(eRefPicList, refIdxTemp)->isILR(1)){
     268        if (slice->getRefPic(eRefPicList, refIdxTemp)->isILR(slice->getLayerId())){
    267269        }
    268270        else{
     
    293295#if O0194_WEIGHTED_PREDICTION_CGS
    294296        // make sure the reference frames other than ILR are not using weighted prediction
    295         if (!(slice->getRefPic(eRefPicList, refIdxTemp)->isILR(1)))
    296         {
     297        if (!(slice->getRefPic(eRefPicList, refIdxTemp)->isILR(slice->getLayerId()))){
    297298          continue;
    298299        }
Note: See TracChangeset for help on using the changeset viewer.