History

Update and fix temporal direct prediction and fix multi-reference picure re-ordering.

xiaotiansf committed 7 years ago

Commit 4b8913f1 parent 94ffa1f10 files · +411 −466Browse files

Showing the changes to codec/decoder/plus/src/welsDecoderExt.cpp (1 of 10 files). Show all

Unified · Split

codec/decoder/plus/src/welsDecoderExt.cpp+7−0
@@ -744,6 +744,13 @@ void CWelsDecoder::OutputStatisticsLog (SDecoderStatistics& sDecoderStatistics) · 743 unmodified lines
744744
745745 DECODING_STATE CWelsDecoder::ReorderPicturesInDisplay (unsigned char** ppDst, SBufferInfo* pDstInfo) {
746746 if (pDstInfo->iBufferStatus == 1 && m_pDecContext->pSps->uiProfileIdc != 66) {
747+ //Non-reference B_FRAME (disposable) must be released and must not be buffered because its buffer could be overwritten by next reference picture.
748+ if (m_pDecContext->pSliceHeader->eSliceType == B_SLICE && !m_pDecContext->pSliceHeader->bIsRefPic) {
749+ if (m_pDecContext->pSliceHeader->iPicOrderCntLsb - m_LastWrittenPOC <= 2) {
750+ m_LastWrittenPOC = m_pDecContext->pSliceHeader->iPicOrderCntLsb;
751+ return dsErrorFree;
752+ }
753+ }
747754 if (m_pDecContext->pSliceHeader->iPicOrderCntLsb == 0) {
748755 if (m_iNumOfPicts > 0) {
749756 m_iLastGOPRemainPicts = m_iNumOfPicts;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t