History

astyle all files

huili2 committed 12 years ago

Commit 5ed24f21 parent 0c24686120 files · +3967 −3886Browse files

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

Unified · Split

codec/encoder/plus/src/welsEncoderExt.cpp+115−108
@@ -84,7 +84,7 @@ CWelsH264SVCEncoder::CWelsH264SVCEncoder() · 83 unmodified lines
84#ifdef OUTPUT_BIT_STREAM84#ifdef OUTPUT_BIT_STREAM
85 SWelsTime tTime;85 SWelsTime tTime;
86 86
87 WelsGetTimeOfDay(&tTime);87 WelsGetTimeOfDay (&tTime);
88 88
89 iCurUsed = WelsSnprintf (strStreamFileName, iBufferLeft, "enc_bs_0x%p_", (void*)this);89 iCurUsed = WelsSnprintf (strStreamFileName, iBufferLeft, "enc_bs_0x%p_", (void*)this);
90 iCurUsedSize = WelsSnprintf (strLenFileName, iBufferLeftSize, "enc_size_0x%p_", (void*)this);90 iCurUsedSize = WelsSnprintf (strLenFileName, iBufferLeftSize, "enc_size_0x%p_", (void*)this);
@@ -108,14 +108,14 @@ CWelsH264SVCEncoder::CWelsH264SVCEncoder() · 17 unmodified lines
108 108
109 if (iBufferLeft > 0) {109 if (iBufferLeft > 0) {
110 iCurUsed = WelsSnprintf (&strStreamFileName[iBufferUsed], iBufferLeft, ".%03.3u.264",110 iCurUsed = WelsSnprintf (&strStreamFileName[iBufferUsed], iBufferLeft, ".%03.3u.264",
111 WelsGetMillisecond(&tTime));111 WelsGetMillisecond (&tTime));
112 iBufferUsed += iCurUsed;112 iBufferUsed += iCurUsed;
113 iBufferLeft -= iCurUsed;113 iBufferLeft -= iCurUsed;
114 }114 }
115 115
116 if (iBufferLeftSize > 0) {116 if (iBufferLeftSize > 0) {
117 iCurUsedSize = WelsSnprintf (&strLenFileName[iBufferUsedSize], iBufferLeftSize, ".%03.3u.len",117 iCurUsedSize = WelsSnprintf (&strLenFileName[iBufferUsedSize], iBufferLeftSize, ".%03.3u.len",
118 WelsGetMillisecond(&tTime));118 WelsGetMillisecond (&tTime));
119 iBufferUsedSize += iCurUsedSize;119 iBufferUsedSize += iCurUsedSize;
120 iBufferLeftSize -= iCurUsedSize;120 iBufferLeftSize -= iCurUsedSize;
121 }121 }
@@ -186,7 +186,7 @@ void CWelsH264SVCEncoder::InitEncoder (void) { · 64 unmodified lines
186/* Interfaces override from ISVCEncoder */186/* Interfaces override from ISVCEncoder */
187 187
188int CWelsH264SVCEncoder::GetDefaultParams (SEncParamExt* argv) {188int CWelsH264SVCEncoder::GetDefaultParams (SEncParamExt* argv) {
189 SWelsSvcCodingParam::FillDefault(*argv);189 SWelsSvcCodingParam::FillDefault (*argv);
190 return cmResultSuccess;190 return cmResultSuccess;
191}191}
192 192
@@ -209,7 +209,7 @@ int CWelsH264SVCEncoder::Initialize (const SEncParamBase* argv) { · 16 unmodified lines
209 return cmInitParaError;209 return cmInitParaError;
210 }210 }
211 211
212 return InitializeInternal(&sConfig);212 return InitializeInternal (&sConfig);
213}213}
214 214
215int CWelsH264SVCEncoder::InitializeExt (const SEncParamExt* argv) {215int CWelsH264SVCEncoder::InitializeExt (const SEncParamExt* argv) {
@@ -228,10 +228,10 @@ int CWelsH264SVCEncoder::InitializeExt (const SEncParamExt* argv) { · 12 unmodified lines
228 return cmInitParaError;228 return cmInitParaError;
229 }229 }
230 230
231 return InitializeInternal(&sConfig);231 return InitializeInternal (&sConfig);
232}232}
233 233
234int CWelsH264SVCEncoder::InitializeInternal(SWelsSvcCodingParam* pCfg) {234int CWelsH264SVCEncoder::InitializeInternal (SWelsSvcCodingParam* pCfg) {
235 if (NULL == pCfg) {235 if (NULL == pCfg) {
236 WelsLog (m_pEncContext, WELS_LOG_ERROR, "CWelsH264SVCEncoder::Initialize(), invalid argv= 0x%p.\n",236 WelsLog (m_pEncContext, WELS_LOG_ERROR, "CWelsH264SVCEncoder::Initialize(), invalid argv= 0x%p.\n",
237 pCfg);237 pCfg);
@@ -245,7 +245,7 @@ int CWelsH264SVCEncoder::InitializeInternal(SWelsSvcCodingParam* pCfg) { · 7 unmodified lines
245 }245 }
246 246
247#ifdef REC_FRAME_COUNT247#ifdef REC_FRAME_COUNT
248 SWelsSvcCodingParam &sEncodingParam = *pCfg;248 SWelsSvcCodingParam& sEncodingParam = *pCfg;
249 WelsLog (m_pEncContext, WELS_LOG_INFO, "CWelsH264SVCEncoder::Initialize, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",249 WelsLog (m_pEncContext, WELS_LOG_INFO, "CWelsH264SVCEncoder::Initialize, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",
250 m_uiCountFrameNum, m_iCspInternal);250 m_uiCountFrameNum, m_iCspInternal);
251 WelsLog (m_pEncContext, WELS_LOG_INFO,251 WelsLog (m_pEncContext, WELS_LOG_INFO,
@@ -346,17 +346,17 @@ int CWelsH264SVCEncoder::InitializeInternal(SWelsSvcCodingParam* pCfg) { · 94 unmodified lines
346 }346 }
347 if (pCfg->iUsageType == SCREEN_CONTENT_REAL_TIME) {347 if (pCfg->iUsageType == SCREEN_CONTENT_REAL_TIME) {
348 if (pCfg->bEnableLongTermReference) {348 if (pCfg->bEnableLongTermReference) {
349 pCfg->iLTRRefNum = WELS_CLIP3(pCfg->iLTRRefNum,1,LONG_TERM_REF_NUM_SCREEN);349 pCfg->iLTRRefNum = WELS_CLIP3 (pCfg->iLTRRefNum, 1, LONG_TERM_REF_NUM_SCREEN);
350 pCfg->iNumRefFrame = WELS_MAX(1,WELS_LOG2 (pCfg->uiGopSize)) + pCfg->iLTRRefNum;350 pCfg->iNumRefFrame = WELS_MAX (1, WELS_LOG2 (pCfg->uiGopSize)) + pCfg->iLTRRefNum;
351 } else {351 } else {
352 pCfg->iLTRRefNum = 0;352 pCfg->iLTRRefNum = 0;
353 pCfg->iNumRefFrame = WELS_MAX(1, pCfg->uiGopSize>>1);353 pCfg->iNumRefFrame = WELS_MAX (1, pCfg->uiGopSize >> 1);
354 }354 }
355 } else {355 } else {
356 pCfg->iLTRRefNum = pCfg->bEnableLongTermReference ? WELS_CLIP3(pCfg->iLTRRefNum,1,LONG_TERM_REF_NUM) : 0;356 pCfg->iLTRRefNum = pCfg->bEnableLongTermReference ? WELS_CLIP3 (pCfg->iLTRRefNum, 1, LONG_TERM_REF_NUM) : 0;
357 pCfg->iNumRefFrame = ((pCfg->uiGopSize >> 1) > 1) ? ((pCfg->uiGopSize >> 1) + pCfg->iLTRRefNum) :357 pCfg->iNumRefFrame = ((pCfg->uiGopSize >> 1) > 1) ? ((pCfg->uiGopSize >> 1) + pCfg->iLTRRefNum) :
358 (MIN_REF_PIC_COUNT + pCfg->iLTRRefNum);358 (MIN_REF_PIC_COUNT + pCfg->iLTRRefNum);
359 pCfg->iNumRefFrame = WELS_CLIP3 (pCfg->iNumRefFrame, MIN_REF_PIC_COUNT, MAX_REFERENCE_PICTURE_COUNT_NUM);359 pCfg->iNumRefFrame = WELS_CLIP3 (pCfg->iNumRefFrame, MIN_REF_PIC_COUNT, MAX_REFERENCE_PICTURE_COUNT_NUM);
360 }360 }
361 361
362 if (pCfg->iLtrMarkPeriod == 0) {362 if (pCfg->iLtrMarkPeriod == 0) {
@@ -419,9 +419,9 @@ int CWelsH264SVCEncoder::EncodeFrame (const SSourcePicture* kpSrcPic, SFrameBSIn · 56 unmodified lines
419 return cmInitParaError;419 return cmInitParaError;
420 }420 }
421 421
422 const int32_t kiEncoderReturn = EncodeFrameInternal(kpSrcPic, pBsInfo);422 const int32_t kiEncoderReturn = EncodeFrameInternal (kpSrcPic, pBsInfo);
423 423
424 if(kiEncoderReturn != cmResultSuccess)424 if (kiEncoderReturn != cmResultSuccess)
425 return kiEncoderReturn;425 return kiEncoderReturn;
426 426
427#ifdef REC_FRAME_COUNT427#ifdef REC_FRAME_COUNT
@@ -437,14 +437,13 @@ int CWelsH264SVCEncoder::EncodeFrame (const SSourcePicture* kpSrcPic, SFrameBSIn · 9 unmodified lines
437}437}
438 438
439 439
440int CWelsH264SVCEncoder::EncodeFrameInternal(const SSourcePicture* pSrcPic, SFrameBSInfo* pBsInfo) {440int CWelsH264SVCEncoder::EncodeFrameInternal (const SSourcePicture* pSrcPic, SFrameBSInfo* pBsInfo) {
441 const int32_t kiEncoderReturn = WelsEncoderEncodeExt (m_pEncContext, pBsInfo, pSrcPic);441 const int32_t kiEncoderReturn = WelsEncoderEncodeExt (m_pEncContext, pBsInfo, pSrcPic);
442 442
443 if(kiEncoderReturn == ENC_RETURN_MEMALLOCERR) {443 if (kiEncoderReturn == ENC_RETURN_MEMALLOCERR) {
444 WelsUninitEncoderExt (&m_pEncContext);444 WelsUninitEncoderExt (&m_pEncContext);
445 return cmMallocMemeError;445 return cmMallocMemeError;
446 }446 } else if ((kiEncoderReturn != ENC_RETURN_SUCCESS) && (kiEncoderReturn == ENC_RETURN_CORRECTED)) {
447 else if((kiEncoderReturn != ENC_RETURN_SUCCESS)&&(kiEncoderReturn == ENC_RETURN_CORRECTED)){
448 WelsLog (m_pEncContext, WELS_LOG_ERROR, "unexpected return(%d) from EncodeFrameInternal()!\n", kiEncoderReturn);447 WelsLog (m_pEncContext, WELS_LOG_ERROR, "unexpected return(%d) from EncodeFrameInternal()!\n", kiEncoderReturn);
449 return cmUnkonwReason;448 return cmUnkonwReason;
450 }449 }
@@ -500,7 +499,7 @@ int CWelsH264SVCEncoder::EncodeFrameInternal(const SSourcePicture* pSrcPic, SFr · 49 unmodified lines
500}499}
501 500
502int CWelsH264SVCEncoder::EncodeParameterSets (SFrameBSInfo* pBsInfo) {501int CWelsH264SVCEncoder::EncodeParameterSets (SFrameBSInfo* pBsInfo) {
503 return WelsEncoderEncodeParameterSets (m_pEncContext, pBsInfo);502 return WelsEncoderEncodeParameterSets (m_pEncContext, pBsInfo);
504}503}
505 504
506/*505/*
@@ -512,7 +511,7 @@ int CWelsH264SVCEncoder::PauseFrame (const SSourcePicture* kpSrcPic, SFrameBSInf · 5 unmodified lines
512 ForceIntraFrame (true);511 ForceIntraFrame (true);
513 512
514 if (EncodeFrameInternal (kpSrcPic, pBsInfo) != videoFrameTypeInvalid) {513 if (EncodeFrameInternal (kpSrcPic, pBsInfo) != videoFrameTypeInvalid) {
515 iReturn = 0;514 iReturn = 0;
516 }515 }
517 516
518 517
@@ -692,7 +691,7 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 173 unmodified lines
692 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_FRAME_RATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x, iValue= %f\n",691 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_FRAME_RATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x, iValue= %f\n",
693 m_uiCountFrameNum, m_iCspInternal, iValue);692 m_uiCountFrameNum, m_iCspInternal, iValue);
694#endif//REC_FRAME_COUNT693#endif//REC_FRAME_COUNT
695 if (iValue<=0) {694 if (iValue <= 0) {
696 return cmInitParaError;695 return cmInitParaError;
697 }696 }
698 //adjust to valid range697 //adjust to valid range
@@ -701,80 +700,84 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 2 unmodified lines
701 }700 }
702 break;701 break;
703 case ENCODER_OPTION_BITRATE: { // Target bit-rate702 case ENCODER_OPTION_BITRATE: { // Target bit-rate
704 SBitrateInfo*pInfo = (static_cast<SBitrateInfo *>(pOption));703 SBitrateInfo* pInfo = (static_cast<SBitrateInfo*> (pOption));
705 int32_t iBitrate = pInfo->iBitrate;704 int32_t iBitrate = pInfo->iBitrate;
706#ifdef REC_FRAME_COUNT705#ifdef REC_FRAME_COUNT
707 WelsLog (m_pEncContext, WELS_LOG_INFO,706 WelsLog (m_pEncContext, WELS_LOG_INFO,
708 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITRATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x, iValue= %d\n",707 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITRATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x, iValue= %d\n",
709 m_uiCountFrameNum, m_iCspInternal, iValue);708 m_uiCountFrameNum, m_iCspInternal, iValue);
710#endif//REC_FRAME_COUNT709#endif//REC_FRAME_COUNT
711 if (iBitrate<=0) {710 if (iBitrate <= 0) {
712 WelsLog (m_pEncContext, WELS_LOG_ERROR,"CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITRATE,iBitrate = %d\n",iBitrate);711 WelsLog (m_pEncContext, WELS_LOG_ERROR, "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITRATE,iBitrate = %d\n",
712 iBitrate);
713 return cmInitParaError;713 return cmInitParaError;
714 }714 }
715 iBitrate = WELS_CLIP3 (iBitrate, MIN_BIT_RATE, MAX_BIT_RATE);715 iBitrate = WELS_CLIP3 (iBitrate, MIN_BIT_RATE, MAX_BIT_RATE);
716 switch(pInfo->iLayer){716 switch (pInfo->iLayer) {
717 case SPATIAL_LAYER_ALL:717 case SPATIAL_LAYER_ALL:
718 m_pEncContext->pSvcParam->iTargetBitrate = iBitrate;718 m_pEncContext->pSvcParam->iTargetBitrate = iBitrate;
719 break;719 break;
720 case SPATIAL_LAYER_0:720 case SPATIAL_LAYER_0:
721 m_pEncContext->pSvcParam->sSpatialLayers[0].iSpatialBitrate = iBitrate;721 m_pEncContext->pSvcParam->sSpatialLayers[0].iSpatialBitrate = iBitrate;
722 break;722 break;
723 case SPATIAL_LAYER_1:723 case SPATIAL_LAYER_1:
724 m_pEncContext->pSvcParam->sSpatialLayers[1].iSpatialBitrate = iBitrate;724 m_pEncContext->pSvcParam->sSpatialLayers[1].iSpatialBitrate = iBitrate;
725 break;725 break;
726 case SPATIAL_LAYER_2:726 case SPATIAL_LAYER_2:
727 m_pEncContext->pSvcParam->sSpatialLayers[2].iSpatialBitrate = iBitrate;727 m_pEncContext->pSvcParam->sSpatialLayers[2].iSpatialBitrate = iBitrate;
728 break;728 break;
729 case SPATIAL_LAYER_3:729 case SPATIAL_LAYER_3:
730 m_pEncContext->pSvcParam->sSpatialLayers[3].iSpatialBitrate = iBitrate;730 m_pEncContext->pSvcParam->sSpatialLayers[3].iSpatialBitrate = iBitrate;
731 break;731 break;
732 default:732 default:
733 WelsLog (m_pEncContext, WELS_LOG_ERROR,"CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITRATE,iLayer = %d\n",pInfo->iLayer);733 WelsLog (m_pEncContext, WELS_LOG_ERROR, "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITRATE,iLayer = %d\n",
734 return cmInitParaError;734 pInfo->iLayer);
735 break;735 return cmInitParaError;
736 }736 break;
737 }
737 //adjust to valid range738 //adjust to valid range
738 WelsEncoderApplyBitRate (m_pEncContext->pSvcParam,pInfo->iLayer);739 WelsEncoderApplyBitRate (m_pEncContext->pSvcParam, pInfo->iLayer);
739 }740 }
740 break;741 break;
741 case ENCODER_OPTION_MAX_BITRATE: { // Target bit-rate742 case ENCODER_OPTION_MAX_BITRATE: { // Target bit-rate
742 SBitrateInfo*pInfo = (static_cast<SBitrateInfo *>(pOption));743 SBitrateInfo* pInfo = (static_cast<SBitrateInfo*> (pOption));
743 int32_t iBitrate = pInfo->iBitrate;744 int32_t iBitrate = pInfo->iBitrate;
744 745
745#ifdef REC_FRAME_COUNT746#ifdef REC_FRAME_COUNT
746 WelsLog (m_pEncContext, WELS_LOG_INFO,747 WelsLog (m_pEncContext, WELS_LOG_INFO,
747 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITRATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x, iValue= %d\n",748 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITRATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x, iValue= %d\n",
748 m_uiCountFrameNum, m_iCspInternal, iValue);749 m_uiCountFrameNum, m_iCspInternal, iValue);
749#endif//REC_FRAME_COUNT750#endif//REC_FRAME_COUNT
750 if (iBitrate<=0) {751 if (iBitrate <= 0) {
751 WelsLog (m_pEncContext, WELS_LOG_ERROR,"CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_MAX_BITRATE,iBitrate = %d\n",iBitrate);752 WelsLog (m_pEncContext, WELS_LOG_ERROR, "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_MAX_BITRATE,iBitrate = %d\n",
752 return cmInitParaError;753 iBitrate);
753 }754 return cmInitParaError;
754 iBitrate = WELS_CLIP3 (iBitrate, MIN_BIT_RATE, MAX_BIT_RATE);755 }
755 switch(pInfo->iLayer){756 iBitrate = WELS_CLIP3 (iBitrate, MIN_BIT_RATE, MAX_BIT_RATE);
756 case SPATIAL_LAYER_ALL:757 switch (pInfo->iLayer) {
757 m_pEncContext->pSvcParam->iMaxBitrate = iBitrate;758 case SPATIAL_LAYER_ALL:
758 break;759 m_pEncContext->pSvcParam->iMaxBitrate = iBitrate;
759 case SPATIAL_LAYER_0:760 break;
760 m_pEncContext->pSvcParam->sSpatialLayers[0].iMaxSpatialBitrate = iBitrate;761 case SPATIAL_LAYER_0:
761 break;762 m_pEncContext->pSvcParam->sSpatialLayers[0].iMaxSpatialBitrate = iBitrate;
762 case SPATIAL_LAYER_1:763 break;
763 m_pEncContext->pSvcParam->sSpatialLayers[1].iMaxSpatialBitrate = iBitrate;764 case SPATIAL_LAYER_1:
764 break;765 m_pEncContext->pSvcParam->sSpatialLayers[1].iMaxSpatialBitrate = iBitrate;
765 case SPATIAL_LAYER_2:766 break;
766 m_pEncContext->pSvcParam->sSpatialLayers[2].iMaxSpatialBitrate = iBitrate;767 case SPATIAL_LAYER_2:
767 break;768 m_pEncContext->pSvcParam->sSpatialLayers[2].iMaxSpatialBitrate = iBitrate;
768 case SPATIAL_LAYER_3:769 break;
769 m_pEncContext->pSvcParam->sSpatialLayers[3].iMaxSpatialBitrate = iBitrate;770 case SPATIAL_LAYER_3:
770 break;771 m_pEncContext->pSvcParam->sSpatialLayers[3].iMaxSpatialBitrate = iBitrate;
771 default:772 break;
772 WelsLog (m_pEncContext, WELS_LOG_ERROR,"CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_MAX_BITRATE,iLayer = %d\n",pInfo->iLayer);773 default:
773 return cmInitParaError;774 WelsLog (m_pEncContext, WELS_LOG_ERROR, "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_MAX_BITRATE,iLayer = %d\n",
774 break;775 pInfo->iLayer);
775 }776 return cmInitParaError;
776 //adjust to valid range777 break;
777 WelsEncoderApplyBitRate (m_pEncContext->pSvcParam,pInfo->iLayer);778 }
779 //adjust to valid range
780 WelsEncoderApplyBitRate (m_pEncContext->pSvcParam, pInfo->iLayer);
778 }781 }
779 break;782 break;
780 case ENCODER_OPTION_RC_MODE: { // 0:quality mode;1:bit-rate mode;2:bitrate limited mode783 case ENCODER_OPTION_RC_MODE: { // 0:quality mode;1:bit-rate mode;2:bitrate limited mode
@@ -838,20 +841,21 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 57 unmodified lines
838 }841 }
839 }842 }
840 break;843 break;
841 case ENCODER_OPTION_DUMP_FILE:{844 case ENCODER_OPTION_DUMP_FILE: {
842#ifdef ENABLE_FRAME_DUMP845#ifdef ENABLE_FRAME_DUMP
843 if(m_pEncContext->pSvcParam!=NULL){846 if (m_pEncContext->pSvcParam != NULL) {
844 SDumpLayer*pDump = (static_cast<SDumpLayer *>(pOption));847 SDumpLayer* pDump = (static_cast<SDumpLayer*> (pOption));
845 WelsStrncpy(m_pEncContext->pSvcParam->sDependencyLayers[pDump->iLayer].sRecFileName, sizeof(m_pEncContext->pSvcParam->sDependencyLayers[pDump->iLayer].sRecFileName),pDump->pFileName);848 WelsStrncpy (m_pEncContext->pSvcParam->sDependencyLayers[pDump->iLayer].sRecFileName,
849 sizeof (m_pEncContext->pSvcParam->sDependencyLayers[pDump->iLayer].sRecFileName), pDump->pFileName);
846 }850 }
847#endif851#endif
848 }852 }
849 break;853 break;
850 case ENCODER_OPTION_TRACE_LEVEL:{854 case ENCODER_OPTION_TRACE_LEVEL: {
851 if(m_pWelsTrace){855 if (m_pWelsTrace) {
852 uint32_t level = *((uint32_t*)pOption);856 uint32_t level = * ((uint32_t*)pOption);
853 m_pWelsTrace->SetTraceLevel(level);857 m_pWelsTrace->SetTraceLevel (level);
854 }858 }
855 }859 }
856 break;860 break;
857 default:861 default:
@@ -908,7 +912,7 @@ int CWelsH264SVCEncoder::GetOption (ENCODER_OPTION eOptionId, void* pOption) { · 50 unmodified lines
908 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_SVC_ENCODE_PARAM_BASE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",912 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_SVC_ENCODE_PARAM_BASE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",
909 m_uiCountFrameNum, m_iCspInternal);913 m_uiCountFrameNum, m_iCspInternal);
910#endif//REC_FRAME_COUNT914#endif//REC_FRAME_COUNT
911 m_pEncContext->pSvcParam->GetBaseParams((SEncParamBase*) pOption);915 m_pEncContext->pSvcParam->GetBaseParams ((SEncParamBase*) pOption);
912 }916 }
913 break;917 break;
914 918
@@ -927,29 +931,32 @@ int CWelsH264SVCEncoder::GetOption (ENCODER_OPTION eOptionId, void* pOption) { · 12 unmodified lines
927 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_BITRATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",931 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_BITRATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",
928 m_uiCountFrameNum, m_iCspInternal);932 m_uiCountFrameNum, m_iCspInternal);
929#endif//REC_FRAME_COUNT933#endif//REC_FRAME_COUNT
930 SBitrateInfo*pInfo = (static_cast<SBitrateInfo *>(pOption));934 SBitrateInfo* pInfo = (static_cast<SBitrateInfo*> (pOption));
931 if((pInfo->iLayer!=SPATIAL_LAYER_ALL)&&(pInfo->iLayer!=SPATIAL_LAYER_0)&&(pInfo->iLayer!=SPATIAL_LAYER_1)&&(pInfo->iLayer!=SPATIAL_LAYER_2)&&(pInfo->iLayer!=SPATIAL_LAYER_3))935 if ((pInfo->iLayer != SPATIAL_LAYER_ALL) && (pInfo->iLayer != SPATIAL_LAYER_0) && (pInfo->iLayer != SPATIAL_LAYER_1)
932 return cmInitParaError;936 && (pInfo->iLayer != SPATIAL_LAYER_2) && (pInfo->iLayer != SPATIAL_LAYER_3))
933 if(pInfo->iLayer == SPATIAL_LAYER_ALL){937 return cmInitParaError;
938 if (pInfo->iLayer == SPATIAL_LAYER_ALL) {
934 pInfo->iBitrate = m_pEncContext->pSvcParam->iTargetBitrate;939 pInfo->iBitrate = m_pEncContext->pSvcParam->iTargetBitrate;
935 }else{940 } else {
936 pInfo->iBitrate = m_pEncContext->pSvcParam->sSpatialLayers[pInfo->iLayer].iSpatialBitrate;941 pInfo->iBitrate = m_pEncContext->pSvcParam->sSpatialLayers[pInfo->iLayer].iSpatialBitrate;
937 }942 }
938 }943 }
939 break;944 break;
940 case ENCODER_OPTION_MAX_BITRATE: { // Target bit-rate945 case ENCODER_OPTION_MAX_BITRATE: { // Target bit-rate
941#ifdef REC_FRAME_COUNT946#ifdef REC_FRAME_COUNT
942 WelsLog (m_pEncContext, WELS_LOG_INFO,"CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_MAX_BITRATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",947 WelsLog (m_pEncContext, WELS_LOG_INFO,
943 m_uiCountFrameNum, m_iCspInternal);948 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_MAX_BITRATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",
949 m_uiCountFrameNum, m_iCspInternal);
944#endif//REC_FRAME_COUNT950#endif//REC_FRAME_COUNT
945 SBitrateInfo*pInfo = (static_cast<SBitrateInfo *>(pOption));951 SBitrateInfo* pInfo = (static_cast<SBitrateInfo*> (pOption));
946 if((pInfo->iLayer!=SPATIAL_LAYER_ALL)&&(pInfo->iLayer!=SPATIAL_LAYER_0)&&(pInfo->iLayer!=SPATIAL_LAYER_1)&&(pInfo->iLayer!=SPATIAL_LAYER_2)&&(pInfo->iLayer!=SPATIAL_LAYER_3))952 if ((pInfo->iLayer != SPATIAL_LAYER_ALL) && (pInfo->iLayer != SPATIAL_LAYER_0) && (pInfo->iLayer != SPATIAL_LAYER_1)
947 return cmInitParaError;953 && (pInfo->iLayer != SPATIAL_LAYER_2) && (pInfo->iLayer != SPATIAL_LAYER_3))
948 if(pInfo->iLayer == SPATIAL_LAYER_ALL){954 return cmInitParaError;
955 if (pInfo->iLayer == SPATIAL_LAYER_ALL) {
949 pInfo->iBitrate = m_pEncContext->pSvcParam->iMaxBitrate;956 pInfo->iBitrate = m_pEncContext->pSvcParam->iMaxBitrate;
950 }else{957 } else {
951 pInfo->iBitrate = m_pEncContext->pSvcParam->sSpatialLayers[pInfo->iLayer].iMaxSpatialBitrate;958 pInfo->iBitrate = m_pEncContext->pSvcParam->sSpatialLayers[pInfo->iLayer].iMaxSpatialBitrate;
952 }959 }
953 }960 }
954 break;961 break;
955 default:962 default:

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