Opened 10 years ago Last modified 9 years ago #1334 new defectReference decoder sometimes skips RADLs
Description
This ticket is related to #1333.
TDecTop::xDecodeSlice() contains the following section of code: // exit when a new picture is found if (!m_apcSlicePilot->getDependentSliceSegmentFlag() && (m_apcSlicePilot->getSliceCurStartCtuTsAddr() == 0 && !m_bFirstSliceInPicture) ) { if (m_prevPOC >= m_pocRandomAccess) { m_prevPOC = m_apcSlicePilot->getPOC(); #if ENC_DEC_TRACE //rewind the trace counter since we didn't actually decode the slice g_nSymbolCounter = originalSymbolCount; #endif return true; } m_prevPOC = m_apcSlicePilot->getPOC(); }
The line if (m_prevPOC >= m_pocRandomAccess) doesn't discriminate between RASLs and RADLs, so can lead to RADLs being skipped in error. I don't think there's any need for this conditional, as RASLs will be skipped by the if statement just above which calls isRandomAccessSkipPicture(). I would therefore suggest that the above section of code be changed to: // exit when a new picture is found if (!m_apcSlicePilot->getDependentSliceSegmentFlag() && (m_apcSlicePilot->getSliceCurStartCtuTsAddr() == 0 && !m_bFirstSliceInPicture) ) { m_prevPOC = m_apcSlicePilot->getPOC(); #if ENC_DEC_TRACE //rewind the trace counter since we didn't actually decode the slice g_nSymbolCounter = originalSymbolCount; #endif return true; m_prevPOC = m_apcSlicePilot->getPOC(); } Change History (9)comment:1 Changed 10 years ago by DefaultCC Plugin
comment:2 Changed 10 years ago by jackhcomment:3 Changed 10 years ago by ksuehring
comment:4 Changed 10 years ago by ksuehring
comment:5 Changed 10 years ago by ksuehring
comment:6 Changed 10 years ago by ksuehring
comment:7 Changed 10 years ago by ksuehring
comment:8 Changed 10 years ago by ksuehring
comment:9 Changed 9 years ago by ksuehring
Note: See
TracTickets for help on using
tickets. | This list contains all users that will be notified about changes made to this ticket. These roles will be notified: Reporter, Owner, Subscriber, Participant
|
Sorry, that should be: