add part of VUI parse in sps, and add SAR option in GetOption()
Showing the changes to codec/decoder/plus/src/welsDecoderExt.cpp (1 of 11 files). Show all
Unified · Split
| @@ -345,9 +345,11 @@ long CWelsDecoder::SetOption (DECODER_OPTION eOptID, void* pOption) { · 344 unmodified lines | ||
| 345 | 345 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_WARNING, |
| 346 | 346 | "CWelsDecoder::SetOption():DECODER_OPTION_GET_STATISTICS: this option is get-only!"); |
| 347 | 347 | return cmInitParaError; |
| 348 | + } else if (eOptID == DECODER_OPTION_GET_SAR_INFO) { | |
| 349 | + WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_WARNING, | |
| 350 | + "CWelsDecoder::SetOption():DECODER_OPTION_GET_SAR_INFO: this option is get-only!"); | |
| 351 | + return cmInitParaError; | |
| 348 | 352 | } |
| 349 | − | |
| 350 | − | |
| 351 | 353 | return cmInitParaError; |
| 352 | 354 | } |
| 353 | 355 | |
| @@ -412,6 +414,17 @@ long CWelsDecoder::GetOption (DECODER_OPTION eOptID, void* pOption) { · 58 unmodified lines | ||
| 412 | 414 | m_pDecContext->sDecoderStatistics.uiFreezingNonIDRNum); |
| 413 | 415 | } |
| 414 | 416 | return cmResultSuccess; |
| 417 | + } else if (DECODER_OPTION_GET_SAR_INFO == eOptID) { //get decoder SAR info in VUI | |
| 418 | + PVuiSarInfo pVuiSarInfo = (static_cast<PVuiSarInfo> (pOption)); | |
| 419 | + memset (pVuiSarInfo, 0, sizeof (SVuiSarInfo)); | |
| 420 | + if (!m_pDecContext->pSps) { | |
| 421 | + return cmInitExpected; | |
| 422 | + } else { | |
| 423 | + pVuiSarInfo->uiSarWidth = m_pDecContext->pSps->sVui.uiSarWidth; | |
| 424 | + pVuiSarInfo->uiSarHeight = m_pDecContext->pSps->sVui.uiSarHeight; | |
| 425 | + pVuiSarInfo->bOverscanAppropriateFlag = m_pDecContext->pSps->sVui.bOverscanAppropriateFlag; | |
| 426 | + return cmResultSuccess; | |
| 427 | + } | |
| 415 | 428 | } |
| 416 | 429 | |
| 417 | 430 | return cmInitParaError; |