History

allow slice-level data come in for parse only

huili2 committed 11 years ago

Commit 06b8e1a1 parent 5b125785 files · +147 −101Browse files

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

Unified · Split

codec/decoder/plus/src/welsDecoderExt.cpp+8−1
@@ -574,7 +574,10 @@ DECODING_STATE CWelsDecoder::DecodeParser (const unsigned char* kpSrc, · 573 unmodified lines
574574
575575 m_pDecContext->iErrorCode = dsErrorFree; //initialize at the starting of AU decoding.
576576 m_pDecContext->eErrorConMethod = ERROR_CON_DISABLE; //add protection to disable EC here.
577− m_pDecContext->pParserBsInfo = pDstInfo;
577+ if (!m_pDecContext->bFramePending) { //frame complete
578+ m_pDecContext->pParserBsInfo->iNalNum = 0;
579+ memset (m_pDecContext->pParserBsInfo->iNalLenInByte, 0, MAX_NAL_UNITS_IN_LAYER);
580+ }
578581 pDstInfo->iNalNum = 0;
579582 pDstInfo->iSpsWidthInPixel = pDstInfo->iSpsHeightInPixel = 0;
580583 if (pDstInfo) {
@@ -584,6 +587,10 @@ DECODING_STATE CWelsDecoder::DecodeParser (const unsigned char* kpSrc, · 3 unmodified lines
584587 m_pDecContext->uiTimeStamp = 0;
585588 }
586589 WelsDecodeBs (m_pDecContext, kpSrc, kiSrcLen, NULL, NULL, pDstInfo);
590+ if (!m_pDecContext->bFramePending && m_pDecContext->pParserBsInfo->iNalNum) {
591+ memcpy (pDstInfo, m_pDecContext->pParserBsInfo, sizeof (SParserBsInfo));
592+ }
593+
587594 m_pDecContext->bInstantDecFlag = false; //reset no-delay flag
588595
589596 return (DECODING_STATE) m_pDecContext->iErrorCode;

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