Ticket #976: RASL_BLA.patch

File RASL_BLA.patch, 1.5 KB (added by jonatan, 11 years ago)
  • source/Lib/TLibDecoder/TDecTop.cpp

     
    307307  m_apcSlicePilot->setTLayerInfo(nalu.m_temporalId);
    308308
    309309  m_cEntropyDecoder.decodeSliceHeader (m_apcSlicePilot, &m_parameterSetManagerDecoder);
     310  if (m_apcSlicePilot->isNextSlice())
     311  {
     312    // Skip pictures due to random access
     313    if (isRandomAccessSkipPicture(iSkipFrame, iPOCLastDisplay))
     314    {
     315      return false;
     316    }
     317    // Skip TFD pictures associated with BLA/BLANT pictures
     318    if (isSkipPictureForBLA(iPOCLastDisplay))
     319    {
     320      return false;
     321    }
     322  }
     323
    310324  // exit when a new picture is found
    311325  if (m_apcSlicePilot->isNextSlice() && m_apcSlicePilot->getPOC()!=m_prevPOC && !m_bFirstSliceInSequence)
    312326  {
     
    325339    m_prevPOC = m_apcSlicePilot->getPOC();
    326340  }
    327341  m_bFirstSliceInSequence = false;
    328   if (m_apcSlicePilot->isNextSlice())
    329   {
    330     // Skip pictures due to random access
    331     if (isRandomAccessSkipPicture(iSkipFrame, iPOCLastDisplay))
    332     {
    333       return false;
    334     }
    335     // Skip TFD pictures associated with BLA/BLANT pictures
    336     if (isSkipPictureForBLA(iPOCLastDisplay))
    337     {
    338       return false;
    339     }
    340   }
    341342  //detect lost reference picture and insert copy of earlier frame.
    342343  Int lostPoc;
    343344  while((lostPoc=m_apcSlicePilot->checkThatAllRefPicsAreAvailable(m_cListPic, m_apcSlicePilot->getRPS(), true, m_pocRandomAccess)) > 0)