History

add UT for LTR setopton and fix crash issue

ruil2 committed 12 years ago

Commit 7e8cde01 parent cef43e34 files · +125 −56Browse files

Showing the changes to codec/encoder/plus (1 of 4 files). Show all

Unified · Split

codec/encoder/plus/src/welsEncoderExt.cpp+51−51
@@ -343,7 +343,7 @@ int CWelsH264SVCEncoder::InitializeInternal (SWelsSvcCodingParam* pCfg) { · 342 unmodified lines
343343 m_iMaxPicWidth = pCfg->iPicWidth;
344344 m_iMaxPicHeight = pCfg->iPicHeight;
345345
346− TraceParamInfo(pCfg);
346+ TraceParamInfo (pCfg);
347347 if (WelsInitEncoderExt (&m_pEncContext, pCfg, &m_pWelsTrace->m_sLogCtx)) {
348348 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_ERROR, "CWelsH264SVCEncoder::Initialize(), WelsInitEncoderExt failed.");
349349 Uninitialize();
@@ -525,57 +525,57 @@ void CWelsH264SVCEncoder::CheckReferenceNumSetting (int32_t iNumRef) { · 175 unmodified lines
525525 "doesn't support the number of reference frame(%d) change to auto select mode", iNumRef);
526526 }
527527 }
528−void CWelsH264SVCEncoder::TraceParamInfo(SEncParamExt *pParam){
529− WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
530− "iUsageType = %d,iPicWidth= %d;iPicHeight= %d;iTargetBitrate= %d;iMaxBitrate= %d;iRCMode= %d;iPaddingFlag= %d;iTemporalLayerNum= %d;iSpatialLayerNum= %d;fFrameRate= %.6ff;uiIntraPeriod= %d;\
528+void CWelsH264SVCEncoder::TraceParamInfo (SEncParamExt* pParam) {
529+ WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
530+ "iUsageType = %d,iPicWidth= %d;iPicHeight= %d;iTargetBitrate= %d;iMaxBitrate= %d;iRCMode= %d;iPaddingFlag= %d;iTemporalLayerNum= %d;iSpatialLayerNum= %d;fFrameRate= %.6ff;uiIntraPeriod= %d;\
531531 bEnableSpsPpsIdAddition = %d;bPrefixNalAddingCtrl = %d;bEnableDenoise= %d;bEnableBackgroundDetection= %d;bEnableAdaptiveQuant= %d;bEnableFrameSkip= %d;bEnableLongTermReference= %d;iLtrMarkPeriod= %d;\
532532 iComplexityMode = %d;iNumRefFrame = %d;iEntropyCodingModeFlag = %d;uiMaxNalSize = %d;iLTRRefNum = %d;iMultipleThreadIdc = %d;iLoopFilterDisableIdc = %d",
533− pParam->iUsageType,
534− pParam->iPicWidth,
535− pParam->iPicHeight,
536− pParam->iTargetBitrate,
537− pParam->iMaxBitrate,
538− pParam->iRCMode,
539− pParam->iPaddingFlag,
540− pParam->iTemporalLayerNum,
541− pParam->iSpatialLayerNum,
542− pParam->fMaxFrameRate,
543− pParam->uiIntraPeriod,
544− pParam->bEnableSpsPpsIdAddition,
545− pParam->bPrefixNalAddingCtrl,
546− pParam->bEnableDenoise,
547− pParam->bEnableBackgroundDetection,
548− pParam->bEnableAdaptiveQuant,
549− pParam->bEnableFrameSkip,
550− pParam->bEnableLongTermReference,
551− pParam->iLtrMarkPeriod,
552− pParam->iComplexityMode,
553− pParam->iNumRefFrame,
554− pParam->iEntropyCodingModeFlag,
555− pParam->uiMaxNalSize,
556− pParam->iLTRRefNum,
557− pParam->iMultipleThreadIdc,
558− pParam->iLoopFilterDisableIdc
559− );
560− int32_t i = 0;
561− while (i < pParam->iSpatialLayerNum) {
562− SSpatialLayerConfig* pSpatialCfg = &pParam->sSpatialLayers[i];
563− WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
564− "sSpatialLayers[%d]: .iVideoWidth= %d; .iVideoHeight= %d; .fFrameRate= %.6ff; .iSpatialBitrate= %d; .iMaxSpatialBitrate= %d; .sSliceCfg.uiSliceMode= %d; .sSliceCfg.sSliceArgument.iSliceNum= %d; .sSliceCfg.sSliceArgument.uiSliceSizeConstraint= %d;\
533+ pParam->iUsageType,
534+ pParam->iPicWidth,
535+ pParam->iPicHeight,
536+ pParam->iTargetBitrate,
537+ pParam->iMaxBitrate,
538+ pParam->iRCMode,
539+ pParam->iPaddingFlag,
540+ pParam->iTemporalLayerNum,
541+ pParam->iSpatialLayerNum,
542+ pParam->fMaxFrameRate,
543+ pParam->uiIntraPeriod,
544+ pParam->bEnableSpsPpsIdAddition,
545+ pParam->bPrefixNalAddingCtrl,
546+ pParam->bEnableDenoise,
547+ pParam->bEnableBackgroundDetection,
548+ pParam->bEnableAdaptiveQuant,
549+ pParam->bEnableFrameSkip,
550+ pParam->bEnableLongTermReference,
551+ pParam->iLtrMarkPeriod,
552+ pParam->iComplexityMode,
553+ pParam->iNumRefFrame,
554+ pParam->iEntropyCodingModeFlag,
555+ pParam->uiMaxNalSize,
556+ pParam->iLTRRefNum,
557+ pParam->iMultipleThreadIdc,
558+ pParam->iLoopFilterDisableIdc
559+ );
560+ int32_t i = 0;
561+ while (i < pParam->iSpatialLayerNum) {
562+ SSpatialLayerConfig* pSpatialCfg = &pParam->sSpatialLayers[i];
563+ WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
564+ "sSpatialLayers[%d]: .iVideoWidth= %d; .iVideoHeight= %d; .fFrameRate= %.6ff; .iSpatialBitrate= %d; .iMaxSpatialBitrate= %d; .sSliceCfg.uiSliceMode= %d; .sSliceCfg.sSliceArgument.iSliceNum= %d; .sSliceCfg.sSliceArgument.uiSliceSizeConstraint= %d;\
565565 uiProfileIdc = %d;uiLevelIdc = %d",
566− i, pSpatialCfg->iVideoWidth,
567− pSpatialCfg->iVideoHeight,
568− pSpatialCfg->fFrameRate,
569− pSpatialCfg->iSpatialBitrate,
570− pSpatialCfg->iMaxSpatialBitrate,
571− pSpatialCfg->sSliceCfg.uiSliceMode,
572− pSpatialCfg->sSliceCfg.sSliceArgument.uiSliceNum,
573− pSpatialCfg->sSliceCfg.sSliceArgument.uiSliceSizeConstraint,
574− pSpatialCfg->uiProfileIdc,
575− pSpatialCfg->uiLevelIdc
576− );
577− ++ i;
578− }
566+ i, pSpatialCfg->iVideoWidth,
567+ pSpatialCfg->iVideoHeight,
568+ pSpatialCfg->fFrameRate,
569+ pSpatialCfg->iSpatialBitrate,
570+ pSpatialCfg->iMaxSpatialBitrate,
571+ pSpatialCfg->sSliceCfg.uiSliceMode,
572+ pSpatialCfg->sSliceCfg.sSliceArgument.uiSliceNum,
573+ pSpatialCfg->sSliceCfg.sSliceArgument.uiSliceSizeConstraint,
574+ pSpatialCfg->uiProfileIdc,
575+ pSpatialCfg->uiLevelIdc
576+ );
577+ ++ i;
578+ }
579579 }
580580 /************************************************************************
581581 * InDataFormat, IDRInterval, SVC Encode Param, Frame Rate, Bitrate,..
@@ -642,7 +642,7 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 60 unmodified lines
642642 int32_t iTargetHeight = 0;
643643
644644 memcpy (&sEncodingParam, pOption, sizeof (SEncParamExt)); // confirmed_safe_unsafe_usage
645− TraceParamInfo(&sEncodingParam);
645+ TraceParamInfo (&sEncodingParam);
646646 #ifdef OUTPUT_BIT_STREAM
647647 if (sEncodingParam.sSpatialLayers[sEncodingParam.iSpatialLayerNum - 1].iVideoWidth !=
648648 m_pEncContext->pSvcParam->sDependencyLayers[m_pEncContext->pSvcParam->iSpatialLayerNum - 1].iActualWidth) {
@@ -808,7 +808,7 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 159 unmodified lines
808808 break;
809809 case ENCODER_OPTION_LTR: {
810810 SLTRConfig* pLTRValue = ((SLTRConfig*) (pOption));
811− WelsEncoderApplyLTR (&m_pWelsTrace->m_sLogCtx, m_pEncContext, pLTRValue);
811+ WelsEncoderApplyLTR (&m_pWelsTrace->m_sLogCtx, &m_pEncContext, pLTRValue);
812812 }
813813 break;
814814 case ENCODER_OPTION_ENABLE_SSEI: {

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