Changeset 1252 in SHVCSoftware


Ignore:
Timestamp:
14 Jul 2015, 01:49:50 (9 years ago)
Author:
seregin
Message:

port rev 4247

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

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp

    r1246 r1252  
    9292  MAIN_444_10_INTRA = 2310,
    9393  MAIN_444_12_INTRA = 2312,
    94   MAIN_444_16_INTRA = 2316,
    95 
     94  MAIN_444_16_INTRA = 2316
    9695};
    9796
     
    226225  }
    227226  in>>entry.m_interRPSPrediction;
    228 #if AUTO_INTER_RPS
    229227  if (entry.m_interRPSPrediction==1)
    230228  {
     
    240238    in>>entry.m_deltaRPS;
    241239  }
    242 #else
    243   if (entry.m_interRPSPrediction)
    244   {
    245     in>>entry.m_deltaRPS;
    246     in>>entry.m_numRefIdc;
    247     for ( Int i = 0; i < entry.m_numRefIdc; i++ )
    248     {
    249       in>>entry.m_refIdc[i];
    250     }
    251   }
    252 #endif
    253240  return in;
    254241}
     
    26462633      fclose(fpt);
    26472634    }
    2648   } 
     2635  }
    26492636#endif
    26502637
     
    33753362  memset( m_extraRPSs, 0, sizeof( m_extraRPSs ) );
    33763363#else
    3377   m_extraRPSs=0;                                     
     3364  m_extraRPSs=0;                                   
    33783365#endif
    33793366
  • branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h

    r1246 r1252  
    263263
    264264#define WRITE_BACK                                        1           ///< Enable/disable the encoder to replace the deltaPOC and Used by current from the config file with the values derived by the refIdc parameter.
    265 #define AUTO_INTER_RPS                                    1           ///< Enable/disable the automatic generation of refIdc from the deltaPOC and Used by current from the config file.
    266265#define PRINT_RPS_INFO                                    0           ///< Enable/disable the printing of bits used to send the RPS.
    267266                                                                        // using one nearest frame as reference frame, and the other frames are high quality (POC%4==0) frames (1+X)
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncCfg.h

    r1246 r1252  
    6161  Int m_referencePics[MAX_NUM_REF_PICS];
    6262  Int m_usedByCurrPic[MAX_NUM_REF_PICS];
    63 #if AUTO_INTER_RPS
    6463  Int m_interRPSPrediction;
    65 #else
    66   Bool m_interRPSPrediction;
    67 #endif
    6864  Int m_deltaRPS;
    6965  Int m_numRefIdc;
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncTop.cpp

    r1249 r1252  
    821821}
    822822
    823 
    824823Void TEncTop::xInitSPS()
    825824{
     
    934933  m_cSPS.setTemporalIdNestingFlag( ( m_maxTempLayer == 1 ) ? true : false );
    935934
    936   for ( Int i = 0; i < min(m_cSPS.getMaxTLayers(),(UInt) MAX_TLAYER); i++ )
     935  for (Int i = 0; i < min(m_cSPS.getMaxTLayers(),(UInt) MAX_TLAYER); i++ )
    937936  {
    938937#if SVC_EXTENSION
     
    12221221
    12231222    // handle inter RPS intialization from the config file.
    1224 #if AUTO_INTER_RPS
    12251223    rps->setInterRPSPrediction(ge.m_interRPSPrediction > 0);  // not very clean, converting anything > 0 to true.
    12261224    rps->setDeltaRIdxMinus1(0);                               // index to the Reference RPS is always the previous one.
     
    12661264      }
    12671265#if WRITE_BACK
    1268       // the folowing code overwrite the deltaPOC and Used by current values read from the config file with the ones
     1266      // the following code overwrite the deltaPOC and Used by current values read from the config file with the ones
    12691267      // computed from the RefIdc.  A warning is printed if they are not identical.
    12701268      numNeg = 0;
     
    13211319#endif
    13221320    }
    1323 #else
    1324     rps->setInterRPSPrediction(ge.m_interRPSPrediction);
    1325     if (ge.m_interRPSPrediction)
    1326     {
    1327       rps->setDeltaRIdxMinus1(0);
    1328       rps->setDeltaRPS(ge.m_deltaRPS);
    1329       rps->setNumRefIdc(ge.m_numRefIdc);
    1330       for (Int j = 0; j < ge.m_numRefIdc; j++ )
    1331       {
    1332         rps->setRefIdc(j, ge.m_refIdc[j]);
    1333       }
    1334 #if WRITE_BACK
    1335       // the folowing code overwrite the deltaPOC and Used by current values read from the config file with the ones
    1336       // computed from the RefIdc.  This is not necessary if both are identical. Currently there is no check to see if they are identical.
    1337       numNeg = 0;
    1338       numPos = 0;
    1339       TComReferencePictureSet*     RPSRef = m_RPSList.getReferencePictureSet(i-1);
    1340 
    1341       for (Int j = 0; j < ge.m_numRefIdc; j++ )
    1342       {
    1343         if (ge.m_refIdc[j])
    1344         {
    1345           Int deltaPOC = ge.m_deltaRPS + ((j < RPSRef->getNumberOfPictures())? RPSRef->getDeltaPOC(j) : 0);
    1346           rps->setDeltaPOC((numNeg+numPos),deltaPOC);
    1347           rps->setUsed((numNeg+numPos),ge.m_refIdc[j]==1?1:0);
    1348           if (deltaPOC<0)
    1349           {
    1350             numNeg++;
    1351           }
    1352           else
    1353           {
    1354             numPos++;
    1355           }
    1356         }
    1357       }
    1358       rps->setNumberOfNegativePictures(numNeg);
    1359       rps->setNumberOfPositivePictures(numPos);
    1360       rps->sortDeltaPOC();
    1361 #endif
    1362     }
    1363 #endif //INTER_RPS_AUTO
    13641321  }
    13651322  //In case of field coding, we need to set special parameters for the first bottom field of the sequence, since it is not specified in the cfg file.
Note: See TracChangeset for help on using the changeset viewer.