History

return unsupported instead of uninitialize encoder

ruil2 committed 8 years ago

Commit 76eed1a1 parent e39ce952 files · +51 −3Browse files

Showing the changes to codec/encoder/plus/src/welsEncoderExt.cpp (1 of 2 files). Show all

Unified · Split

codec/encoder/plus/src/welsEncoderExt.cpp+8−2
@@ -396,10 +396,16 @@ int CWelsH264SVCEncoder::EncodeFrame (const SSourcePicture* kpSrcPic, SFrameBSIn · 395 unmodified lines
396396
397397
398398 int CWelsH264SVCEncoder ::EncodeFrameInternal (const SSourcePicture* pSrcPic, SFrameBSInfo* pBsInfo) {
399+
400+ if ((pSrcPic->iPicWidth < 16) || ((pSrcPic->iPicHeight < 16))) {
401+ WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_ERROR, "Don't support width(%d) or height(%d) which is less than 16!",
402+ pSrcPic->iPicWidth, pSrcPic->iPicHeight);
403+ return cmUnsupportedData;
404+ }
405+
399406 const int64_t kiBeforeFrameUs = WelsTime();
400407 const int32_t kiEncoderReturn = WelsEncoderEncodeExt (m_pEncContext, pBsInfo, pSrcPic);
401408 const int64_t kiCurrentFrameMs = (WelsTime() - kiBeforeFrameUs) / 1000;
402−
403409 if ((kiEncoderReturn == ENC_RETURN_MEMALLOCERR) || (kiEncoderReturn == ENC_RETURN_MEMOVERFLOWFOUND)
404410 || (kiEncoderReturn == ENC_RETURN_VLCOVERFLOWFOUND)) {
405411 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_DEBUG, "CWelsH264SVCEncoder::EncodeFrame() not succeed, err=%d",
@@ -735,7 +741,7 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 329 unmodified lines
735741 if ((sEncodingParam.iPicWidth != m_pEncContext->pSvcParam->sDependencyLayers[m_pEncContext->pSvcParam->iSpatialLayerNum
736742 - 1].iActualWidth) ||
737743 (sEncodingParam.iPicHeight != m_pEncContext->pSvcParam->sDependencyLayers[m_pEncContext->pSvcParam->iSpatialLayerNum -
738− 1].iActualHeight)) {
744+ 1].iActualHeight)) {
739745 ++m_iSwitchTimes;
740746 m_bSwitch = true;
741747 }

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