Showing the changes to codec/decoder/plus/src/welsDecoderExt.cpp (1 of 10 files). Show all
Unified · Split
| @@ -314,7 +314,7 @@ long CWelsDecoder::SetOption (DECODER_OPTION eOptID, void* pOption) { · 313 unmodified lines | ||
| 314 | 314 | return cmInitParaError; |
| 315 | 315 | } |
| 316 | 316 | |
| 317 | − m_pDecContext->pParam->eEcActiveIdc = m_pDecContext->eErrorConMethod = (ERROR_CON_IDC) iVal; | |
| 317 | + m_pDecContext->pParam->eEcActiveIdc = (ERROR_CON_IDC) iVal; | |
| 318 | 318 | InitErrorCon (m_pDecContext); |
| 319 | 319 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, |
| 320 | 320 | "CWelsDecoder::SetOption for ERROR_CON_IDC = %d.", iVal); |
| @@ -398,7 +398,7 @@ long CWelsDecoder::GetOption (DECODER_OPTION eOptID, void* pOption) { · 77 unmodified lines | ||
| 398 | 398 | * ((int*)pOption) = iVal; |
| 399 | 399 | return cmResultSuccess; |
| 400 | 400 | } else if (DECODER_OPTION_ERROR_CON_IDC == eOptID) { |
| 401 | − iVal = (int) m_pDecContext->eErrorConMethod; | |
| 401 | + iVal = (int) m_pDecContext->pParam->eEcActiveIdc; | |
| 402 | 402 | * ((int*)pOption) = iVal; |
| 403 | 403 | return cmResultSuccess; |
| 404 | 404 | } else if (DECODER_OPTION_GET_STATISTICS == eOptID) { // get decoder statistics info for real time debugging |
| @@ -535,7 +535,7 @@ DECODING_STATE CWelsDecoder::DecodeFrame2 (const unsigned char* kpSrc, · 130 unmodified lines | ||
| 535 | 535 | //for AVC bitstream (excluding AVC with temporal scalability, including TP), as long as error occur, SHOULD notify upper layer key frame loss. |
| 536 | 536 | if ((IS_PARAM_SETS_NALS (eNalType) || NAL_UNIT_CODED_SLICE_IDR == eNalType) || |
| 537 | 537 | (VIDEO_BITSTREAM_AVC == m_pDecContext->eVideoType)) { |
| 538 | − if (m_pDecContext->eErrorConMethod == ERROR_CON_DISABLE) { | |
| 538 | + if (m_pDecContext->pParam->eEcActiveIdc == ERROR_CON_DISABLE) { | |
| 539 | 539 | #ifdef LONG_TERM_REF |
| 540 | 540 | m_pDecContext->bParamSetsLostFlag = true; |
| 541 | 541 | #else |
| @@ -555,7 +555,7 @@ DECODING_STATE CWelsDecoder::DecodeFrame2 (const unsigned char* kpSrc, · 13 unmodified lines | ||
| 555 | 555 | m_pDecContext->iIgnoredErrorInfoPacketCount = 0; |
| 556 | 556 | } |
| 557 | 557 | } |
| 558 | − if ((m_pDecContext->eErrorConMethod != ERROR_CON_DISABLE) && (pDstInfo->iBufferStatus == 1)) { | |
| 558 | + if ((m_pDecContext->pParam->eEcActiveIdc != ERROR_CON_DISABLE) && (pDstInfo->iBufferStatus == 1)) { | |
| 559 | 559 | //TODO after dec status updated |
| 560 | 560 | m_pDecContext->iErrorCode |= dsDataErrorConcealed; |
| 561 | 561 | |
| @@ -650,7 +650,7 @@ DECODING_STATE CWelsDecoder::DecodeParser (const unsigned char* kpSrc, · 88 unmodified lines | ||
| 650 | 650 | } |
| 651 | 651 | |
| 652 | 652 | m_pDecContext->iErrorCode = dsErrorFree; //initialize at the starting of AU decoding. |
| 653 | − m_pDecContext->eErrorConMethod = ERROR_CON_DISABLE; //add protection to disable EC here. | |
| 653 | + m_pDecContext->pParam->eEcActiveIdc = ERROR_CON_DISABLE; //add protection to disable EC here. | |
| 654 | 654 | if (!m_pDecContext->bFramePending) { //frame complete |
| 655 | 655 | m_pDecContext->pParserBsInfo->iNalNum = 0; |
| 656 | 656 | memset (m_pDecContext->pParserBsInfo->iNalLenInByte, 0, MAX_NAL_UNITS_IN_LAYER); |