Ignore:
Timestamp:
13 Jul 2013, 15:51:26 (11 years ago)
Author:
tech
Message:

Update to HM 11.0.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncGOP.cpp

    r534 r537  
    9494  m_cpbRemovalDelay   = 0;
    9595  m_lastBPSEI         = 0;
    96 #if L0045_NON_NESTED_SEI_RESTRICTIONS
    9796  xResetNonNestedSEIPresentFlags();
    98 #if K0180_SCALABLE_NESTING_SEI
    9997  xResetNestedSEIPresentFlags();
    100 #endif
    101 #endif
    10298#if H_MV
    10399  m_layerId      = 0;
     
    163159  SEIActiveParameterSets *seiActiveParameterSets = new SEIActiveParameterSets();
    164160  seiActiveParameterSets->activeVPSId = m_pcCfg->getVPS()->getVPSId();
    165 #if L0047_APS_FLAGS
    166161  seiActiveParameterSets->m_fullRandomAccessFlag = false;
    167162  seiActiveParameterSets->m_noParamSetUpdateFlag = false;
    168 #endif
    169163  seiActiveParameterSets->numSpsIdsMinus1 = 0;
    170164  seiActiveParameterSets->activeSeqParamSetId.resize(seiActiveParameterSets->numSpsIdsMinus1 + 1);
     
    179173  seiFramePacking->m_arrangementCancelFlag = 0;
    180174  seiFramePacking->m_arrangementType = m_pcCfg->getFramePackingArrangementSEIType();
    181 #if L0444_FPA_TYPE
    182175  assert((seiFramePacking->m_arrangementType > 2) && (seiFramePacking->m_arrangementType < 6) );
    183 #endif
    184176  seiFramePacking->m_quincunxSamplingFlag = m_pcCfg->getFramePackingArrangementSEIQuincunx();
    185177  seiFramePacking->m_contentInterpretationType = m_pcCfg->getFramePackingArrangementSEIInterpretation();
     
    195187  seiFramePacking->m_frame1GridPositionY = 0;
    196188  seiFramePacking->m_arrangementReservedByte = 0;
    197 #if L0045_PERSISTENCE_FLAGS
    198189  seiFramePacking->m_arrangementPersistenceFlag = true;
    199 #else
    200   seiFramePacking->m_arrangementRepetetionPeriod = 1;
    201 #endif
    202190  seiFramePacking->m_upsampledAspectRatio = 0;
    203191  return seiFramePacking;
     
    214202}
    215203
    216 #if J0149_TONE_MAPPING_SEI
    217204SEIToneMappingInfo*  TEncGOP::xCreateSEIToneMappingInfo()
    218205{
     
    225212  assert(seiToneMappingInfo->m_codedDataBitDepth >= 8 && seiToneMappingInfo->m_codedDataBitDepth <= 14);
    226213  seiToneMappingInfo->m_targetBitDepth = m_pcCfg->getTMISEITargetBitDepth();
    227   assert( (seiToneMappingInfo->m_targetBitDepth >= 1 && seiToneMappingInfo->m_targetBitDepth <= 17) || (seiToneMappingInfo->m_targetBitDepth  == 255) );
     214  assert( seiToneMappingInfo->m_targetBitDepth >= 1 && seiToneMappingInfo->m_targetBitDepth <= 17 );
    228215  seiToneMappingInfo->m_modelId = m_pcCfg->getTMISEIModelID();
    229216  assert(seiToneMappingInfo->m_modelId >=0 &&seiToneMappingInfo->m_modelId<=4);
     
    300287  return seiToneMappingInfo;
    301288}
    302 #endif
     289
    303290Void TEncGOP::xCreateLeadingSEIMessages (/*SEIMessages seiMessages,*/ AccessUnit &accessUnit, TComSPS *sps)
    304291{
     
    315302    accessUnit.push_back(new NALUnitEBSP(nalu));
    316303    delete sei;
    317 #if L0045_NON_NESTED_SEI_RESTRICTIONS
    318304    m_activeParameterSetSEIPresentInAU = true;
    319 #endif
    320305  }
    321306
     
    342327    delete sei;
    343328  }
    344 #if J0149_TONE_MAPPING_SEI
    345329  if(m_pcCfg->getToneMappingInfoSEIEnabled())
    346330  {
     
    354338    delete sei;
    355339  }
    356 #endif
    357340}
    358341
     
    389372#endif
    390373  SEIPictureTiming pictureTimingSEI;
    391 #if L0208_SOP_DESCRIPTION_SEI
    392374  Bool writeSOP = m_pcCfg->getSOPDescriptionSEIEnabled();
    393 #endif
    394 #if K0180_SCALABLE_NESTING_SEI
    395375  // Initialize Scalable Nesting SEI with single layer values
    396376  SEIScalableNesting scalableNestingSEI;
     
    403383  scalableNestingSEI.m_nestingLayerId[0]             = 0;
    404384  scalableNestingSEI.m_callerOwnsSEIs                = true;
    405 #endif
    406 #if L0044_DU_DPB_OUTPUT_DELAY_HRD
    407385  Int picSptDpbOutputDuDelay = 0;
    408 #endif
    409386  UInt *accumBitsDU = NULL;
    410387  UInt *accumNalsDU = NULL;
     
    596573    pcSlice->getRPS()->setNumberOfLongtermPictures(0);
    597574
    598 #if FIX1071 && H_MV_FIX1071
     575#if FIX1071
    599576    if ((pcSlice->checkThatAllRefPicsAreAvailable(rcListPic, pcSlice->getRPS(), false) != 0) || (pcSlice->isIRAP()))
    600577    {
     
    772749    }
    773750#endif
    774 #if !L0034_COMBINED_LIST_CLEANUP
    775     if (pcSlice->getSliceType() != B_SLICE || !pcSlice->getSPS()->getUseLComb())
    776     {
    777       pcSlice->setNumRefIdx(REF_PIC_LIST_C, 0);
    778       pcSlice->setRefPicListCombinationFlag(false);
    779       pcSlice->setRefPicListModificationFlagLC(false);
    780     }
    781     else
    782     {
    783       pcSlice->setRefPicListCombinationFlag(pcSlice->getSPS()->getUseLComb());
    784       pcSlice->setNumRefIdx(REF_PIC_LIST_C, pcSlice->getNumRefIdx(REF_PIC_LIST_0));
    785     }
    786 #endif
    787 
    788751    if (pcSlice->getSliceType() == B_SLICE)
    789752    {
     
    820783    pcSlice->setRefPOCList();
    821784
    822 #if L0034_COMBINED_LIST_CLEANUP
    823785    pcSlice->setList1IdxToList0Idx();
    824 #else
    825     pcSlice->setNoBackPredFlag( false );
    826     if ( pcSlice->getSliceType() == B_SLICE && !pcSlice->getRefPicListCombinationFlag())
    827     {
    828       if ( pcSlice->getNumRefIdx(RefPicList( 0 ) ) == pcSlice->getNumRefIdx(RefPicList( 1 ) ) )
    829       {
    830         pcSlice->setNoBackPredFlag( true );
    831         Int i;
    832         for ( i=0; i < pcSlice->getNumRefIdx(RefPicList( 1 ) ); i++ )
    833         {
    834           if ( pcSlice->getRefPOC(RefPicList(1), i) != pcSlice->getRefPOC(RefPicList(0), i) )
    835           {
    836             pcSlice->setNoBackPredFlag( false );
    837             break;
    838           }
    839         }
    840       }
    841     }
    842 
    843     if(pcSlice->getNoBackPredFlag())
    844     {
    845       pcSlice->setNumRefIdx(REF_PIC_LIST_C, 0);
    846     }
    847     pcSlice->generateCombinedList();
    848 #endif
    849786#if H_3D_TMVP
    850787    if(pcSlice->getLayerId())
     
    943880
    944881#if RATE_CONTROL_LAMBDA_DOMAIN
    945     Int sliceQP              = pcSlice->getSliceQp();
    946882    Double lambda            = 0.0;
    947883    Int actualHeadBits       = 0;
     
    959895      estimatedBits = m_pcRateCtrl->getRCPic()->getTargetBits();
    960896
     897      Int sliceQP = m_pcCfg->getInitialQP();
    961898      if ( ( pcSlice->getPOC() == 0 && m_pcCfg->getInitialQP() > 0 ) || ( frameLevel == 0 && m_pcCfg->getForceIntraQP() ) ) // QP is specified
    962899      {
    963         sliceQP              = m_pcCfg->getInitialQP();
    964900        Int    NumberBFrames = ( m_pcCfg->getGOPSize() - 1 );
    965901        Double dLambda_scale = 1.0 - Clip3( 0.0, 0.5, 0.05*(Double)NumberBFrames );
     
    972908      else if ( frameLevel == 0 )   // intra case, but use the model
    973909      {
     910#if RATE_CONTROL_INTRA
     911        m_pcSliceEncoder->calCostSliceI(pcPic);
     912#endif
    974913        if ( m_pcCfg->getIntraPeriod() != 1 )   // do not refine allocated bits for all intra case
    975914        {
    976915          Int bits = m_pcRateCtrl->getRCSeq()->getLeftAverageBits();
     916#if RATE_CONTROL_INTRA
     917          bits = m_pcRateCtrl->getRCPic()->getRefineBitsForIntra( bits );
     918#else
    977919          bits = m_pcRateCtrl->getRCSeq()->getRefineBitsForIntra( bits );
     920#endif
    978921          if ( bits < 200 )
    979922          {
     
    984927
    985928        list<TEncRCPic*> listPreviousPicture = m_pcRateCtrl->getPicList();
     929#if RATE_CONTROL_INTRA
     930        m_pcRateCtrl->getRCPic()->getLCUInitTargetBits();
     931        lambda  = m_pcRateCtrl->getRCPic()->estimatePicLambda( listPreviousPicture, pcSlice->getSliceType());
     932#else
    986933        lambda  = m_pcRateCtrl->getRCPic()->estimatePicLambda( listPreviousPicture );
     934#endif
    987935        sliceQP = m_pcRateCtrl->getRCPic()->estimatePicQP( lambda, listPreviousPicture );
    988936      }
     
    990938      {
    991939        list<TEncRCPic*> listPreviousPicture = m_pcRateCtrl->getPicList();
     940#if RATE_CONTROL_INTRA
     941        lambda  = m_pcRateCtrl->getRCPic()->estimatePicLambda( listPreviousPicture, pcSlice->getSliceType());
     942#else
    992943        lambda  = m_pcRateCtrl->getRCPic()->estimatePicLambda( listPreviousPicture );
     944#endif
    993945        sliceQP = m_pcRateCtrl->getRCPic()->estimatePicQP( lambda, listPreviousPicture );
    994946      }
     
    11991151    Bool bLFCrossTileBoundary = pcSlice->getPPS()->getLoopFilterAcrossTilesEnabledFlag();
    12001152    m_pcLoopFilter->setCfg(bLFCrossTileBoundary);
    1201 #if L0386_DB_METRIC
    12021153    if ( m_pcCfg->getDeblockingFilterMetric() )
    12031154    {
    12041155      dblMetric(pcPic, uiNumSlices);
    12051156    }
    1206 #endif
    12071157    m_pcLoopFilter->loopFilterPic( pcPic );
    12081158
     
    12671217        UInt maxCU = m_pcCfg->getSliceArgument() >> ( pcSlice->getSPS()->getMaxCUDepth() << 1);
    12681218        UInt numDU = ( m_pcCfg->getSliceMode() == 1 ) ? ( pcPic->getNumCUsInFrame() / maxCU ) : ( 0 );
    1269         if( pcPic->getNumCUsInFrame() % maxCU != 0 )
     1219        if( pcPic->getNumCUsInFrame() % maxCU != 0 || numDU == 0 )
    12701220        {
    12711221          numDU ++;
     
    13071257    }
    13081258
    1309 #if L0208_SOP_DESCRIPTION_SEI
    13101259    if (writeSOP) // write SOP description SEI (if enabled) at the beginning of GOP
    13111260    {
     
    13451294      writeSOP = false;
    13461295    }
    1347 #endif
    13481296
    13491297    if( ( m_pcCfg->getPictureTimingSEIEnabled() || m_pcCfg->getDecodingUnitInfoSEIEnabled() ) &&
     
    13771325      pictureTimingSEI.m_auCpbRemovalDelay = std::max<Int>(1, m_totalCoded - m_lastBPSEI); // Syntax element signalled as minus, hence the .
    13781326      pictureTimingSEI.m_picDpbOutputDelay = pcSlice->getSPS()->getNumReorderPics(0) + pcSlice->getPOC() - m_totalCoded;
    1379 #if L0044_DU_DPB_OUTPUT_DELAY_HRD
    13801327      Int factor = pcSlice->getSPS()->getVuiParameters()->getHrdParameters()->getTickDivisorMinus2() + 2;
    13811328      pictureTimingSEI.m_picDpbOutputDuDelay = factor * pictureTimingSEI.m_picDpbOutputDelay;
     
    13841331        picSptDpbOutputDuDelay = factor * pictureTimingSEI.m_picDpbOutputDelay;
    13851332      }
    1386 #endif
    13871333    }
    13881334
     
    14041350      sei_buffering_period.m_initialCpbRemovalDelayOffset[0][1]     = uiInitialCpbRemovalDelay;
    14051351
    1406 #if L0043_TIMING_INFO
    14071352      Double dTmp = (Double)pcSlice->getSPS()->getVuiParameters()->getTimingInfo()->getNumUnitsInTick() / (Double)pcSlice->getSPS()->getVuiParameters()->getTimingInfo()->getTimeScale();
    1408 #else
    1409       Double dTmp = (Double)pcSlice->getSPS()->getVuiParameters()->getHrdParameters()->getNumUnitsInTick() / (Double)pcSlice->getSPS()->getVuiParameters()->getHrdParameters()->getTimeScale();
    1410 #endif
    14111353
    14121354      UInt uiTmp = (UInt)( dTmp * 90000.0 );
     
    14191361
    14201362      sei_buffering_period.m_rapCpbParamsPresentFlag              = 0;
    1421 #if L0328_SPLICING
    14221363      //for the concatenation, it can be set to one during splicing.
    14231364      sei_buffering_period.m_concatenationFlag = 0;
    14241365      //since the temporal layer HRD is not ready, we assumed it is fixed
    14251366      sei_buffering_period.m_auCpbRemovalDelayDelta = 1;
    1426 #endif
    1427 #if L0044_CPB_DPB_DELAY_OFFSET
    14281367      sei_buffering_period.m_cpbDelayOffset = 0;
    14291368      sei_buffering_period.m_dpbDelayOffset = 0;
    1430 #endif
    14311369
    14321370      m_seiWriter.writeSEImessage( nalu.m_Bitstream, sei_buffering_period, pcSlice->getSPS());
    14331371      writeRBSPTrailingBits(nalu.m_Bitstream);
    1434 #if L0045_NON_NESTED_SEI_RESTRICTIONS
    14351372      {
    14361373      UInt seiPositionInAu = xGetFirstSeiLocation(accessUnit);
     
    14441381      m_bufferingPeriodSEIPresentInAU = true;
    14451382      }
    1446 #else
    1447       accessUnit.push_back(new NALUnitEBSP(nalu));
    1448 #endif
    1449 
    1450 #if K0180_SCALABLE_NESTING_SEI
     1383
    14511384      if (m_pcCfg->getScalableNestingSEIEnabled())
    14521385      {
     
    14581391        m_seiWriter.writeSEImessage( naluTmp.m_Bitstream, scalableNestingSEI, pcSlice->getSPS());
    14591392        writeRBSPTrailingBits(naluTmp.m_Bitstream);
    1460 #if L0045_NON_NESTED_SEI_RESTRICTIONS
    14611393        UInt seiPositionInAu = xGetFirstSeiLocation(accessUnit);
    14621394        UInt offsetPosition = m_activeParameterSetSEIPresentInAU + m_bufferingPeriodSEIPresentInAU + m_pictureTimingSEIPresentInAU;   // Insert BP SEI after non-nested APS, BP and PT SEIs
     
    14681400        accessUnit.insert(it, new NALUnitEBSP(naluTmp));
    14691401        m_nestedBufferingPeriodSEIPresentInAU = true;
    1470 #else
    1471         accessUnit.push_back(new NALUnitEBSP(naluTmp));
    1472 #endif
    1473       }
    1474 #endif
     1402      }
    14751403
    14761404      m_lastBPSEI = m_totalCoded;
     
    19351863      if ( m_pcCfg->getUseRateCtrl() )
    19361864      {
     1865#if !M0036_RC_IMPROVEMENT
    19371866        Double effectivePercentage = m_pcRateCtrl->getRCPic()->getEffectivePercentage();
     1867#endif
    19381868        Double avgQP     = m_pcRateCtrl->getRCPic()->calAverageQP();
    19391869        Double avgLambda = m_pcRateCtrl->getRCPic()->calAverageLambda();
     
    19421872          avgLambda = lambda;
    19431873        }
     1874#if M0036_RC_IMPROVEMENT
     1875#if RATE_CONTROL_INTRA
     1876        m_pcRateCtrl->getRCPic()->updateAfterPicture( actualHeadBits, actualTotalBits, avgQP, avgLambda, pcSlice->getSliceType());
     1877#else
     1878        m_pcRateCtrl->getRCPic()->updateAfterPicture( actualHeadBits, actualTotalBits, avgQP, avgLambda );
     1879#endif
     1880#else
    19441881        m_pcRateCtrl->getRCPic()->updateAfterPicture( actualHeadBits, actualTotalBits, avgQP, avgLambda, effectivePercentage );
     1882#endif
    19451883        m_pcRateCtrl->getRCPic()->addToPictureLsit( m_pcRateCtrl->getPicList() );
    19461884
     
    19621900      }
    19631901#endif
     1902
    19641903      if( ( m_pcCfg->getPictureTimingSEIEnabled() || m_pcCfg->getDecodingUnitInfoSEIEnabled() ) &&
    19651904          ( pcSlice->getSPS()->getVuiParametersPresentFlag() ) &&
     
    19961935            for( i = ( numDU - 2 ); i >= 0; i -- )
    19971936            {
    1998 #if L0043_TIMING_INFO
    19991937              ui64Tmp = ( ( ( accumBitsDU[ numDU - 1 ]  - accumBitsDU[ i ] ) * ( vui->getTimingInfo()->getTimeScale() / vui->getTimingInfo()->getNumUnitsInTick() ) * ( hrd->getTickDivisorMinus2() + 2 ) ) / ( m_pcCfg->getTargetBitrate() ) );
    2000 #else
    2001               ui64Tmp = ( ( ( accumBitsDU[ numDU - 1 ]  - accumBitsDU[ i ] ) * ( hrd->getTimeScale() / hrd->getNumUnitsInTick() ) * ( hrd->getTickDivisorMinus2() + 2 ) ) / ( m_pcCfg->getTargetBitrate() ) );
    2002 #endif
    20031938              if( (UInt)ui64Tmp > maxDiff )
    20041939              {
     
    20121947            {
    20131948              flag = 0;
    2014 #if L0043_TIMING_INFO
    20151949              ui64Tmp = ( ( ( accumBitsDU[ numDU - 1 ]  - accumBitsDU[ i ] ) * ( vui->getTimingInfo()->getTimeScale() / vui->getTimingInfo()->getNumUnitsInTick() ) * ( hrd->getTickDivisorMinus2() + 2 ) ) / ( m_pcCfg->getTargetBitrate() ) );
    2016 #else
    2017               ui64Tmp = ( ( ( accumBitsDU[ numDU - 1 ]  - accumBitsDU[ i ] ) * ( hrd->getTimeScale() / hrd->getNumUnitsInTick() ) * ( hrd->getTickDivisorMinus2() + 2 ) ) / ( m_pcCfg->getTargetBitrate() ) );
    2018 #endif
    20191950
    20201951              if( (UInt)ui64Tmp > maxDiff )
     
    20481979          m_seiWriter.writeSEImessage(nalu.m_Bitstream, pictureTimingSEI, pcSlice->getSPS());
    20491980          writeRBSPTrailingBits(nalu.m_Bitstream);
    2050 #if L0045_NON_NESTED_SEI_RESTRICTIONS
    20511981          UInt seiPositionInAu = xGetFirstSeiLocation(accessUnit);
    20521982          UInt offsetPosition = m_activeParameterSetSEIPresentInAU
     
    20591989          accessUnit.insert(it, new NALUnitEBSP(nalu));
    20601990          m_pictureTimingSEIPresentInAU = true;
    2061 #else
    2062           AccessUnit::iterator it = find_if(accessUnit.begin(), accessUnit.end(), mem_fun(&NALUnit::isSlice));
    2063           accessUnit.insert(it, new NALUnitEBSP(nalu));
    2064 #endif
    2065         }
    2066 #if K0180_SCALABLE_NESTING_SEI
     1991        }
    20671992          if ( m_pcCfg->getScalableNestingSEIEnabled() ) // put picture timing SEI into scalable nesting SEI
    20681993          {
     
    20731998            m_seiWriter.writeSEImessage(nalu.m_Bitstream, scalableNestingSEI, pcSlice->getSPS());
    20741999            writeRBSPTrailingBits(nalu.m_Bitstream);
    2075 #if L0045_NON_NESTED_SEI_RESTRICTIONS
    20762000            UInt seiPositionInAu = xGetFirstSeiLocation(accessUnit);
    20772001            UInt offsetPosition = m_activeParameterSetSEIPresentInAU
     
    20842008            accessUnit.insert(it, new NALUnitEBSP(nalu));
    20852009            m_nestedPictureTimingSEIPresentInAU = true;
    2086 #else
    2087             AccessUnit::iterator it = find_if(accessUnit.begin(), accessUnit.end(), mem_fun(&NALUnit::isSlice));
    2088             accessUnit.insert(it, new NALUnitEBSP(nalu));
    2089 #endif
    20902010          }
    2091 #endif
    2092 
    20932011        }
    20942012        if( m_pcCfg->getDecodingUnitInfoSEIEnabled() && hrd->getSubPicCpbParamsPresentFlag() )
     
    21022020            tempSEI.m_decodingUnitIdx = i;
    21032021            tempSEI.m_duSptCpbRemovalDelay = pictureTimingSEI.m_duCpbRemovalDelayMinus1[i] + 1;
    2104 #if L0044_DU_DPB_OUTPUT_DELAY_HRD
    21052022            tempSEI.m_dpbOutputDuDelayPresentFlag = false;
    21062023            tempSEI.m_picSptDpbOutputDuDelay = picSptDpbOutputDuDelay;
    2107 #endif
    21082024
    21092025            AccessUnit::iterator it;
     
    21152031              writeRBSPTrailingBits(nalu.m_Bitstream);
    21162032
    2117 #if L0045_NON_NESTED_SEI_RESTRICTIONS
    21182033              UInt seiPositionInAu = xGetFirstSeiLocation(accessUnit);
    21192034              UInt offsetPosition = m_activeParameterSetSEIPresentInAU
     
    21252040              }
    21262041              accessUnit.insert(it, new NALUnitEBSP(nalu));
    2127 #else
    2128               it = find_if(accessUnit.begin(), accessUnit.end(), mem_fun(&NALUnit::isSlice));
    2129               accessUnit.insert(it, new NALUnitEBSP(nalu));
    2130 #endif
    21312042            }
    21322043            else
     
    21542065        }
    21552066      }
    2156 #if L0045_NON_NESTED_SEI_RESTRICTIONS
    21572067      xResetNonNestedSEIPresentFlags();
    2158 #if K0180_SCALABLE_NESTING_SEI
    21592068      xResetNestedSEIPresentFlags();
    2160 #endif
    2161 #endif
    21622069      pcPic->getPicYuvRec()->copyToPic(pcPicYuvRecOut);
    21632070
     
    28512758}
    28522759
    2853 #if L0045_NON_NESTED_SEI_RESTRICTIONS
    28542760/** Function for finding the position to insert the first of APS and non-nested BP, PT, DU info SEI messages.
    28552761 * \param accessUnit Access Unit of the current picture
     
    28712777  return seiStartPos;
    28722778}
    2873 #endif
    2874 
    2875 #if L0386_DB_METRIC
     2779
    28762780Void TEncGOP::dblMetric( TComPic* pcPic, UInt uiNumSlices )
    28772781{
     
    28872791  const UInt noCol = (picWidth>>log2maxTB);
    28882792  const UInt noRows = (picHeight>>log2maxTB);
     2793  assert(noCol > 1);
     2794  assert(noRows > 1);
    28892795  UInt64 *colSAD = (UInt64*)malloc(noCol*sizeof(UInt64));
    28902796  UInt64 *rowSAD = (UInt64*)malloc(noRows*sizeof(UInt64));
     
    29952901  free(rowSAD);
    29962902}
    2997 #endif
     2903
    29982904#if H_MV
    29992905Void TEncGOP::xSetRefPicListModificationsMv( TComSlice* pcSlice, UInt iGOPid )
Note: See TracChangeset for help on using the changeset viewer.