History

trace fix

ruil2 committed 12 years ago

Commit fa138e81 parent 0f4499114 files · +202 −200Browse files

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

Unified · Split

codec/encoder/plus/src/welsEncoderExt.cpp+39−39
@@ -440,7 +440,7 @@ int CWelsH264SVCEncoder::EncodeFrame (const SSourcePicture* kpSrcPic, SFrameBSIn · 439 unmodified lines
440 440
441#ifdef REC_FRAME_COUNT441#ifdef REC_FRAME_COUNT
442 ++ m_uiCountFrameNum;442 ++ m_uiCountFrameNum;
443 WelsLog (m_pEncContext, WELS_LOG_INFO,443 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
444 "CWelsH264SVCEncoder::EncodeFrame(), m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n", m_uiCountFrameNum, m_iCspInternal);444 "CWelsH264SVCEncoder::EncodeFrame(), m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n", m_uiCountFrameNum, m_iCspInternal);
445#endif//REC_FRAME_COUNT445#endif//REC_FRAME_COUNT
446 446
@@ -458,7 +458,7 @@ int CWelsH264SVCEncoder::EncodeFrameInternal (const SSourcePicture* pSrcPic, SF · 11 unmodified lines
458 WelsUninitEncoderExt (&m_pEncContext);458 WelsUninitEncoderExt (&m_pEncContext);
459 return cmMallocMemeError;459 return cmMallocMemeError;
460 } else if ((kiEncoderReturn != ENC_RETURN_SUCCESS) && (kiEncoderReturn == ENC_RETURN_CORRECTED)) {460 } else if ((kiEncoderReturn != ENC_RETURN_SUCCESS) && (kiEncoderReturn == ENC_RETURN_CORRECTED)) {
461 WelsLog (m_pEncContext, WELS_LOG_ERROR, "unexpected return(%d) from EncodeFrameInternal()!\n", kiEncoderReturn);461 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_ERROR, "unexpected return(%d) from EncodeFrameInternal()!\n", kiEncoderReturn);
462 return cmUnkonwReason;462 return cmUnkonwReason;
463 }463 }
464 ///////////////////for test464 ///////////////////for test
@@ -546,7 +546,7 @@ int CWelsH264SVCEncoder::ForceIntraFrame (bool bIDR) { · 81 unmodified lines
546 }546 }
547 547
548#ifdef REC_FRAME_COUNT548#ifdef REC_FRAME_COUNT
549 WelsLog (m_pEncContext, WELS_LOG_INFO,549 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
550 "CWelsH264SVCEncoder::ForceIntraFrame(), bIDR= %d, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n", bIDR,550 "CWelsH264SVCEncoder::ForceIntraFrame(), bIDR= %d, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n", bIDR,
551 m_uiCountFrameNum, m_iCspInternal);551 m_uiCountFrameNum, m_iCspInternal);
552#endif//REC_FRAME_COUNT552#endif//REC_FRAME_COUNT
@@ -560,12 +560,12 @@ void CWelsH264SVCEncoder::CheckProfileSetting (int32_t iLayer, EProfileIdc uiPro · 7 unmodified lines
560 pLayerInfo->uiProfileIdc = uiProfileIdc;560 pLayerInfo->uiProfileIdc = uiProfileIdc;
561 if ((iLayer == SPATIAL_LAYER_0) && (uiProfileIdc != PRO_BASELINE)) {561 if ((iLayer == SPATIAL_LAYER_0) && (uiProfileIdc != PRO_BASELINE)) {
562 pLayerInfo->uiProfileIdc = PRO_BASELINE;562 pLayerInfo->uiProfileIdc = PRO_BASELINE;
563 WelsLog (m_pEncContext, WELS_LOG_WARNING, "doesn't support profile(%d),change to baseline profile\n", uiProfileIdc);563 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_WARNING, "doesn't support profile(%d),change to baseline profile\n", uiProfileIdc);
564 }564 }
565 if (iLayer > SPATIAL_LAYER_0) {565 if (iLayer > SPATIAL_LAYER_0) {
566 if ((uiProfileIdc != PRO_BASELINE) || (uiProfileIdc != PRO_SCALABLE_BASELINE)) {566 if ((uiProfileIdc != PRO_BASELINE) || (uiProfileIdc != PRO_SCALABLE_BASELINE)) {
567 pLayerInfo->uiProfileIdc = PRO_BASELINE;567 pLayerInfo->uiProfileIdc = PRO_BASELINE;
568 WelsLog (m_pEncContext, WELS_LOG_WARNING, "doesn't support profile(%d),change to baseline profile\n", uiProfileIdc);568 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_WARNING, "doesn't support profile(%d),change to baseline profile\n", uiProfileIdc);
569 }569 }
570 }570 }
571}571}
@@ -574,14 +574,14 @@ void CWelsH264SVCEncoder::CheckLevelSetting (int32_t iLayer, ELevelIdc uiLevelId · 2 unmodified lines
574 pLayerInfo->uiLevelIdc = uiLevelIdc;574 pLayerInfo->uiLevelIdc = uiLevelIdc;
575 if ((uiLevelIdc < LEVEL_1_0) || (uiLevelIdc > LEVEL_5_2)) {575 if ((uiLevelIdc < LEVEL_1_0) || (uiLevelIdc > LEVEL_5_2)) {
576 pLayerInfo->uiLevelIdc = LEVEL_5_2;576 pLayerInfo->uiLevelIdc = LEVEL_5_2;
577 WelsLog (m_pEncContext, WELS_LOG_WARNING, "doesn't support level(%d) change to LEVEL_5_2\n", uiLevelIdc);577 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_WARNING, "doesn't support level(%d) change to LEVEL_5_2\n", uiLevelIdc);
578 }578 }
579}579}
580void CWelsH264SVCEncoder::CheckReferenceNumSetting (int32_t iNumRef) {580void CWelsH264SVCEncoder::CheckReferenceNumSetting (int32_t iNumRef) {
581 m_pEncContext->pSvcParam->iNumRefFrame = iNumRef;581 m_pEncContext->pSvcParam->iNumRefFrame = iNumRef;
582 if ((iNumRef < MIN_REF_PIC_COUNT) || (iNumRef > MAX_REFERENCE_PICTURE_COUNT_NUM)) {582 if ((iNumRef < MIN_REF_PIC_COUNT) || (iNumRef > MAX_REFERENCE_PICTURE_COUNT_NUM)) {
583 m_pEncContext->pSvcParam->iNumRefFrame = AUTO_REF_PIC_COUNT;583 m_pEncContext->pSvcParam->iNumRefFrame = AUTO_REF_PIC_COUNT;
584 WelsLog (m_pEncContext, WELS_LOG_WARNING,584 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_WARNING,
585 "doesn't support the number of reference frame(%d) change to auto select mode\n", iNumRef);585 "doesn't support the number of reference frame(%d) change to auto select mode\n", iNumRef);
586 }586 }
587}587}
@@ -600,7 +600,7 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 12 unmodified lines
600 600
601 switch (eOptionId) {601 switch (eOptionId) {
602 case ENCODER_OPTION_INTER_SPATIAL_PRED: { // Inter spatial layer prediction flag602 case ENCODER_OPTION_INTER_SPATIAL_PRED: { // Inter spatial layer prediction flag
603 WelsLog (m_pEncContext, WELS_LOG_INFO, "ENCODER_OPTION_INTER_SPATIAL_PRED, this feature not supported at present.\n");603 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, "ENCODER_OPTION_INTER_SPATIAL_PRED, this feature not supported at present.\n");
604 }604 }
605 break;605 break;
606 case ENCODER_OPTION_DATAFORMAT: { // Input color space606 case ENCODER_OPTION_DATAFORMAT: { // Input color space
@@ -611,14 +611,14 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 4 unmodified lines
611 }611 }
612 612
613#ifdef REC_FRAME_COUNT613#ifdef REC_FRAME_COUNT
614 WelsLog (m_pEncContext, WELS_LOG_INFO,614 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
615 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_DATAFORMAT, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x, iValue= %d\n",615 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_DATAFORMAT, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x, iValue= %d\n",
616 m_uiCountFrameNum, m_iCspInternal, iValue);616 m_uiCountFrameNum, m_iCspInternal, iValue);
617#endif//REC_FRAME_COUNT617#endif//REC_FRAME_COUNT
618 618
619 m_iCspInternal = iColorspace;619 m_iCspInternal = iColorspace;
620#ifdef REC_FRAME_COUNT620#ifdef REC_FRAME_COUNT
621 WelsLog (m_pEncContext, WELS_LOG_INFO,621 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
622 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_DATAFORMAT, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",622 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_DATAFORMAT, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",
623 m_uiCountFrameNum, m_iCspInternal);623 m_uiCountFrameNum, m_iCspInternal);
624#endif//REC_FRAME_COUNT624#endif//REC_FRAME_COUNT
@@ -627,7 +627,7 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 2 unmodified lines
627 case ENCODER_OPTION_IDR_INTERVAL: { // IDR Interval627 case ENCODER_OPTION_IDR_INTERVAL: { // IDR Interval
628 int32_t iValue = * ((int32_t*)pOption);628 int32_t iValue = * ((int32_t*)pOption);
629#ifdef REC_FRAME_COUNT629#ifdef REC_FRAME_COUNT
630 WelsLog (m_pEncContext, WELS_LOG_INFO,630 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
631 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_IDR_INTERVAL, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x, iValue= %d\n",631 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_IDR_INTERVAL, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x, iValue= %d\n",
632 m_uiCountFrameNum, m_iCspInternal, iValue);632 m_uiCountFrameNum, m_iCspInternal, iValue);
633#endif//REC_FRAME_COUNT633#endif//REC_FRAME_COUNT
@@ -650,9 +650,9 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 16 unmodified lines
650 int32_t iTargetHeight = 0;650 int32_t iTargetHeight = 0;
651 651
652 memcpy (&sEncodingParam, pOption, sizeof (SEncParamExt)); // confirmed_safe_unsafe_usage652 memcpy (&sEncodingParam, pOption, sizeof (SEncParamExt)); // confirmed_safe_unsafe_usage
653 WelsLog (m_pEncContext, WELS_LOG_INFO, "ENCODER_OPTION_SVC_ENCODE_PARAM_EXT, sEncodingParam.iInputCsp= 0x%x\n",653 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, "ENCODER_OPTION_SVC_ENCODE_PARAM_EXT, sEncodingParam.iInputCsp= 0x%x\n",
654 sEncodingParam.iInputCsp);654 sEncodingParam.iInputCsp);
655 WelsLog (m_pEncContext, WELS_LOG_INFO,655 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
656 "coding_param->iPicWidth= %d;coding_param->iPicHeight= %d;coding_param->iTargetBitrate= %d; coding_param->iMaxBitrate= %d; coding_param->iRCMode= %d;coding_param->iPaddingFlag= %d;coding_param->iTemporalLayerNum= %d;coding_param->iSpatialLayerNum= %d;coding_param->fFrameRate= %.6ff;coding_param->iInputCsp= %d;coding_param->uiIntraPeriod= %d;coding_param->bEnableSpsPpsIdAddition = %d;coding_param->bPrefixNalAddingCtrl = %d;coding_param->bEnableDenoise= %d;coding_param->bEnableBackgroundDetection= %d;coding_param->bEnableAdaptiveQuant= %d;coding_param->bEnableAdaptiveQuant= %d;coding_param->bEnableLongTermReference= %d;coding_param->iLtrMarkPeriod= %d;\n",656 "coding_param->iPicWidth= %d;coding_param->iPicHeight= %d;coding_param->iTargetBitrate= %d; coding_param->iMaxBitrate= %d; coding_param->iRCMode= %d;coding_param->iPaddingFlag= %d;coding_param->iTemporalLayerNum= %d;coding_param->iSpatialLayerNum= %d;coding_param->fFrameRate= %.6ff;coding_param->iInputCsp= %d;coding_param->uiIntraPeriod= %d;coding_param->bEnableSpsPpsIdAddition = %d;coding_param->bPrefixNalAddingCtrl = %d;coding_param->bEnableDenoise= %d;coding_param->bEnableBackgroundDetection= %d;coding_param->bEnableAdaptiveQuant= %d;coding_param->bEnableAdaptiveQuant= %d;coding_param->bEnableLongTermReference= %d;coding_param->iLtrMarkPeriod= %d;\n",
657 sEncodingParam.iPicWidth,657 sEncodingParam.iPicWidth,
658 sEncodingParam.iPicHeight,658 sEncodingParam.iPicHeight,
@@ -676,7 +676,7 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 17 unmodified lines
676 int32_t i = 0;676 int32_t i = 0;
677 while (i < sEncodingParam.iSpatialLayerNum) {677 while (i < sEncodingParam.iSpatialLayerNum) {
678 SSpatialLayerConfig* pSpatialCfg = &sEncodingParam.sSpatialLayers[i];678 SSpatialLayerConfig* pSpatialCfg = &sEncodingParam.sSpatialLayers[i];
679 WelsLog (m_pEncContext, WELS_LOG_INFO,679 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
680 "coding_param->sSpatialLayers[%d]: .iVideoWidth= %d; .iVideoHeight= %d; .fFrameRate= %.6ff; .iSpatialBitrate= %d; .iMaxSpatialBitrate= %d; .sSliceCfg.uiSliceMode= %d; .sSliceCfg.sSliceArgument.iSliceNum= %d; .sSliceCfg.sSliceArgument.uiSliceSizeConstraint= %d;\n",680 "coding_param->sSpatialLayers[%d]: .iVideoWidth= %d; .iVideoHeight= %d; .fFrameRate= %.6ff; .iSpatialBitrate= %d; .iMaxSpatialBitrate= %d; .sSliceCfg.uiSliceMode= %d; .sSliceCfg.sSliceArgument.iSliceNum= %d; .sSliceCfg.sSliceArgument.uiSliceSizeConstraint= %d;\n",
681 i, pSpatialCfg->iVideoWidth,681 i, pSpatialCfg->iVideoWidth,
682 pSpatialCfg->iVideoHeight,682 pSpatialCfg->iVideoHeight,
@@ -717,7 +717,7 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 34 unmodified lines
717 m_iCspInternal = iInputColorspace;717 m_iCspInternal = iInputColorspace;
718 }718 }
719#ifdef REC_FRAME_COUNT719#ifdef REC_FRAME_COUNT
720 WelsLog (m_pEncContext, WELS_LOG_INFO,720 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
721 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_SVC_ENCODE_PARAM_EXT, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",721 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_SVC_ENCODE_PARAM_EXT, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",
722 m_uiCountFrameNum, m_iCspInternal);722 m_uiCountFrameNum, m_iCspInternal);
723#endif//REC_FRAME_COUNT723#endif//REC_FRAME_COUNT
@@ -733,7 +733,7 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 9 unmodified lines
733 case ENCODER_OPTION_FRAME_RATE: { // Maximal input frame rate733 case ENCODER_OPTION_FRAME_RATE: { // Maximal input frame rate
734 float iValue = * ((float*)pOption);734 float iValue = * ((float*)pOption);
735#ifdef REC_FRAME_COUNT735#ifdef REC_FRAME_COUNT
736 WelsLog (m_pEncContext, WELS_LOG_INFO,736 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
737 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_FRAME_RATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x, iValue= %f\n",737 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_FRAME_RATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x, iValue= %f\n",
738 m_uiCountFrameNum, m_iCspInternal, iValue);738 m_uiCountFrameNum, m_iCspInternal, iValue);
739#endif//REC_FRAME_COUNT739#endif//REC_FRAME_COUNT
@@ -749,12 +749,12 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 9 unmodified lines
749 SBitrateInfo* pInfo = (static_cast<SBitrateInfo*> (pOption));749 SBitrateInfo* pInfo = (static_cast<SBitrateInfo*> (pOption));
750 int32_t iBitrate = pInfo->iBitrate;750 int32_t iBitrate = pInfo->iBitrate;
751#ifdef REC_FRAME_COUNT751#ifdef REC_FRAME_COUNT
752 WelsLog (m_pEncContext, WELS_LOG_INFO,752 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
753 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITRATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x, iValue= %d\n",753 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITRATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x, iValue= %d\n",
754 m_uiCountFrameNum, m_iCspInternal, iValue);754 m_uiCountFrameNum, m_iCspInternal, iValue);
755#endif//REC_FRAME_COUNT755#endif//REC_FRAME_COUNT
756 if (iBitrate <= 0) {756 if (iBitrate <= 0) {
757 WelsLog (m_pEncContext, WELS_LOG_ERROR, "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITRATE,iBitrate = %d\n",757 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_ERROR, "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITRATE,iBitrate = %d\n",
758 iBitrate);758 iBitrate);
759 return cmInitParaError;759 return cmInitParaError;
760 }760 }
@@ -776,7 +776,7 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 15 unmodified lines
776 m_pEncContext->pSvcParam->sSpatialLayers[3].iSpatialBitrate = iBitrate;776 m_pEncContext->pSvcParam->sSpatialLayers[3].iSpatialBitrate = iBitrate;
777 break;777 break;
778 default:778 default:
779 WelsLog (m_pEncContext, WELS_LOG_ERROR, "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITRATE,iLayer = %d\n",779 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_ERROR, "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITRATE,iLayer = %d\n",
780 pInfo->iLayer);780 pInfo->iLayer);
781 return cmInitParaError;781 return cmInitParaError;
782 break;782 break;
@@ -790,12 +790,12 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 7 unmodified lines
790 int32_t iBitrate = pInfo->iBitrate;790 int32_t iBitrate = pInfo->iBitrate;
791 791
792#ifdef REC_FRAME_COUNT792#ifdef REC_FRAME_COUNT
793 WelsLog (m_pEncContext, WELS_LOG_INFO,793 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
794 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITRATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x, iValue= %d\n",794 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITRATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x, iValue= %d\n",
795 m_uiCountFrameNum, m_iCspInternal, iValue);795 m_uiCountFrameNum, m_iCspInternal, iValue);
796#endif//REC_FRAME_COUNT796#endif//REC_FRAME_COUNT
797 if (iBitrate <= 0) {797 if (iBitrate <= 0) {
798 WelsLog (m_pEncContext, WELS_LOG_ERROR, "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_MAX_BITRATE,iBitrate = %d\n",798 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_ERROR, "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_MAX_BITRATE,iBitrate = %d\n",
799 iBitrate);799 iBitrate);
800 return cmInitParaError;800 return cmInitParaError;
801 }801 }
@@ -817,7 +817,7 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 15 unmodified lines
817 m_pEncContext->pSvcParam->sSpatialLayers[3].iMaxSpatialBitrate = iBitrate;817 m_pEncContext->pSvcParam->sSpatialLayers[3].iMaxSpatialBitrate = iBitrate;
818 break;818 break;
819 default:819 default:
820 WelsLog (m_pEncContext, WELS_LOG_ERROR, "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_MAX_BITRATE,iLayer = %d\n",820 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_ERROR, "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_MAX_BITRATE,iLayer = %d\n",
821 pInfo->iLayer);821 pInfo->iLayer);
822 return cmInitParaError;822 return cmInitParaError;
823 break;823 break;
@@ -854,21 +854,21 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 30 unmodified lines
854 case ENCODER_OPTION_LTR: {854 case ENCODER_OPTION_LTR: {
855 uint32_t iValue = * ((uint32_t*) (pOption));855 uint32_t iValue = * ((uint32_t*) (pOption));
856 m_pEncContext->pSvcParam->bEnableLongTermReference = iValue ? true : false;856 m_pEncContext->pSvcParam->bEnableLongTermReference = iValue ? true : false;
857 WelsLog (m_pEncContext, WELS_LOG_WARNING, " CWelsH264SVCEncoder::SetOption enable LTR = %d",857 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_WARNING, " CWelsH264SVCEncoder::SetOption enable LTR = %d",
858 m_pEncContext->pSvcParam->bEnableLongTermReference);858 m_pEncContext->pSvcParam->bEnableLongTermReference);
859 }859 }
860 break;860 break;
861 case ENCODER_OPTION_ENABLE_SSEI: {861 case ENCODER_OPTION_ENABLE_SSEI: {
862 bool iValue = * ((bool*)pOption);862 bool iValue = * ((bool*)pOption);
863 m_pEncContext->pSvcParam->bEnableSSEI = iValue;863 m_pEncContext->pSvcParam->bEnableSSEI = iValue;
864 WelsLog (m_pEncContext, WELS_LOG_INFO, " CWelsH264SVCEncoder::SetOption enable SSEI = %d \n",864 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, " CWelsH264SVCEncoder::SetOption enable SSEI = %d \n",
865 m_pEncContext->pSvcParam->bEnableSSEI);865 m_pEncContext->pSvcParam->bEnableSSEI);
866 }866 }
867 break;867 break;
868 case ENCODER_OPTION_ENABLE_PREFIX_NAL_ADDING: {868 case ENCODER_OPTION_ENABLE_PREFIX_NAL_ADDING: {
869 bool iValue = * ((bool*)pOption);869 bool iValue = * ((bool*)pOption);
870 m_pEncContext->pSvcParam->bPrefixNalAddingCtrl = iValue;870 m_pEncContext->pSvcParam->bPrefixNalAddingCtrl = iValue;
871 WelsLog (m_pEncContext, WELS_LOG_INFO, " CWelsH264SVCEncoder::SetOption bPrefixNalAddingCtrl = %d \n",871 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, " CWelsH264SVCEncoder::SetOption bPrefixNalAddingCtrl = %d \n",
872 m_pEncContext->pSvcParam->bPrefixNalAddingCtrl);872 m_pEncContext->pSvcParam->bPrefixNalAddingCtrl);
873 }873 }
874 break;874 break;
@@ -876,7 +876,7 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 1 unmodified line
876 bool iValue = * ((bool*)pOption);876 bool iValue = * ((bool*)pOption);
877 877
878 m_pEncContext->pSvcParam->bEnableSpsPpsIdAddition = iValue;878 m_pEncContext->pSvcParam->bEnableSpsPpsIdAddition = iValue;
879 WelsLog (m_pEncContext, WELS_LOG_INFO, " CWelsH264SVCEncoder::SetOption enable SPS/PPS ID = %d \n",879 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, " CWelsH264SVCEncoder::SetOption enable SPS/PPS ID = %d \n",
880 m_pEncContext->pSvcParam->bEnableSpsPpsIdAddition);880 m_pEncContext->pSvcParam->bEnableSpsPpsIdAddition);
881 }881 }
882 break;882 break;
@@ -921,7 +921,7 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 38 unmodified lines
921 case ENCODER_OPTION_PROFILE: {921 case ENCODER_OPTION_PROFILE: {
922 SProfileInfo* pProfileInfo = (static_cast<SProfileInfo*> (pOption));922 SProfileInfo* pProfileInfo = (static_cast<SProfileInfo*> (pOption));
923 if ((pProfileInfo->iLayer < SPATIAL_LAYER_0) || (pProfileInfo->iLayer > SPATIAL_LAYER_3)) {923 if ((pProfileInfo->iLayer < SPATIAL_LAYER_0) || (pProfileInfo->iLayer > SPATIAL_LAYER_3)) {
924 WelsLog (m_pEncContext, WELS_LOG_ERROR,924 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_ERROR,
925 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_PROFILE,iLayer = %d(rang0-3)\n", pProfileInfo->iLayer);925 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_PROFILE,iLayer = %d(rang0-3)\n", pProfileInfo->iLayer);
926 return cmInitParaError;926 return cmInitParaError;
927 }927 }
@@ -931,7 +931,7 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 3 unmodified lines
931 case ENCODER_OPTION_LEVEL: {931 case ENCODER_OPTION_LEVEL: {
932 SLevelInfo* pLevelInfo = (static_cast<SLevelInfo*> (pOption));932 SLevelInfo* pLevelInfo = (static_cast<SLevelInfo*> (pOption));
933 if ((pLevelInfo->iLayer < SPATIAL_LAYER_0) || (pLevelInfo->iLayer > SPATIAL_LAYER_3)) {933 if ((pLevelInfo->iLayer < SPATIAL_LAYER_0) || (pLevelInfo->iLayer > SPATIAL_LAYER_3)) {
934 WelsLog (m_pEncContext, WELS_LOG_ERROR,934 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_ERROR,
935 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_PROFILE,iLayer = %d(rang0-3)\n", pLevelInfo->iLayer);935 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_PROFILE,iLayer = %d(rang0-3)\n", pLevelInfo->iLayer);
936 return cmInitParaError;936 return cmInitParaError;
937 }937 }
@@ -965,12 +965,12 @@ int CWelsH264SVCEncoder::GetOption (ENCODER_OPTION eOptionId, void* pOption) { · 27 unmodified lines
965 965
966 switch (eOptionId) {966 switch (eOptionId) {
967 case ENCODER_OPTION_INTER_SPATIAL_PRED: { // Inter spatial layer prediction flag967 case ENCODER_OPTION_INTER_SPATIAL_PRED: { // Inter spatial layer prediction flag
968 WelsLog (m_pEncContext, WELS_LOG_INFO, "ENCODER_OPTION_INTER_SPATIAL_PRED, this feature not supported at present.\n");968 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, "ENCODER_OPTION_INTER_SPATIAL_PRED, this feature not supported at present.\n");
969 }969 }
970 break;970 break;
971 case ENCODER_OPTION_DATAFORMAT: { // Input color space971 case ENCODER_OPTION_DATAFORMAT: { // Input color space
972#ifdef REC_FRAME_COUNT972#ifdef REC_FRAME_COUNT
973 WelsLog (m_pEncContext, WELS_LOG_INFO,973 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
974 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_DATAFORMAT, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",974 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_DATAFORMAT, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",
975 m_uiCountFrameNum, m_iCspInternal);975 m_uiCountFrameNum, m_iCspInternal);
976#endif//REC_FRAME_COUNT976#endif//REC_FRAME_COUNT
@@ -980,7 +980,7 @@ int CWelsH264SVCEncoder::GetOption (ENCODER_OPTION eOptionId, void* pOption) { · 3 unmodified lines
980 break;980 break;
981 case ENCODER_OPTION_IDR_INTERVAL: { // IDR Interval981 case ENCODER_OPTION_IDR_INTERVAL: { // IDR Interval
982#ifdef REC_FRAME_COUNT982#ifdef REC_FRAME_COUNT
983 WelsLog (m_pEncContext, WELS_LOG_INFO,983 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
984 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_IDR_INTERVAL, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",984 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_IDR_INTERVAL, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",
985 m_uiCountFrameNum, m_iCspInternal);985 m_uiCountFrameNum, m_iCspInternal);
986#endif//REC_FRAME_COUNT986#endif//REC_FRAME_COUNT
@@ -989,7 +989,7 @@ int CWelsH264SVCEncoder::GetOption (ENCODER_OPTION eOptionId, void* pOption) { · 2 unmodified lines
989 break;989 break;
990 case ENCODER_OPTION_SVC_ENCODE_PARAM_EXT: { // SVC Encoding Parameter990 case ENCODER_OPTION_SVC_ENCODE_PARAM_EXT: { // SVC Encoding Parameter
991#ifdef REC_FRAME_COUNT991#ifdef REC_FRAME_COUNT
992 WelsLog (m_pEncContext, WELS_LOG_INFO,992 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
993 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_SVC_ENCODE_PARAM_EXT, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",993 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_SVC_ENCODE_PARAM_EXT, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",
994 m_uiCountFrameNum, m_iCspInternal);994 m_uiCountFrameNum, m_iCspInternal);
995#endif//REC_FRAME_COUNT995#endif//REC_FRAME_COUNT
@@ -998,7 +998,7 @@ int CWelsH264SVCEncoder::GetOption (ENCODER_OPTION eOptionId, void* pOption) { · 2 unmodified lines
998 break;998 break;
999 case ENCODER_OPTION_SVC_ENCODE_PARAM_BASE: { // SVC Encoding Parameter999 case ENCODER_OPTION_SVC_ENCODE_PARAM_BASE: { // SVC Encoding Parameter
1000#ifdef REC_FRAME_COUNT1000#ifdef REC_FRAME_COUNT
1001 WelsLog (m_pEncContext, WELS_LOG_INFO,1001 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
1002 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_SVC_ENCODE_PARAM_BASE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",1002 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_SVC_ENCODE_PARAM_BASE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",
1003 m_uiCountFrameNum, m_iCspInternal);1003 m_uiCountFrameNum, m_iCspInternal);
1004#endif//REC_FRAME_COUNT1004#endif//REC_FRAME_COUNT
@@ -1008,7 +1008,7 @@ int CWelsH264SVCEncoder::GetOption (ENCODER_OPTION eOptionId, void* pOption) { · 3 unmodified lines
1008 1008
1009 case ENCODER_OPTION_FRAME_RATE: { // Maximal input frame rate1009 case ENCODER_OPTION_FRAME_RATE: { // Maximal input frame rate
1010#ifdef REC_FRAME_COUNT1010#ifdef REC_FRAME_COUNT
1011 WelsLog (m_pEncContext, WELS_LOG_INFO,1011 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
1012 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_FRAME_RATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",1012 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_FRAME_RATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",
1013 m_uiCountFrameNum, m_iCspInternal);1013 m_uiCountFrameNum, m_iCspInternal);
1014#endif//REC_FRAME_COUNT1014#endif//REC_FRAME_COUNT
@@ -1017,7 +1017,7 @@ int CWelsH264SVCEncoder::GetOption (ENCODER_OPTION eOptionId, void* pOption) { · 2 unmodified lines
1017 break;1017 break;
1018 case ENCODER_OPTION_BITRATE: { // Target bit-rate1018 case ENCODER_OPTION_BITRATE: { // Target bit-rate
1019#ifdef REC_FRAME_COUNT1019#ifdef REC_FRAME_COUNT
1020 WelsLog (m_pEncContext, WELS_LOG_INFO,1020 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
1021 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_BITRATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",1021 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_BITRATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",
1022 m_uiCountFrameNum, m_iCspInternal);1022 m_uiCountFrameNum, m_iCspInternal);
1023#endif//REC_FRAME_COUNT1023#endif//REC_FRAME_COUNT
@@ -1034,7 +1034,7 @@ int CWelsH264SVCEncoder::GetOption (ENCODER_OPTION eOptionId, void* pOption) { · 10 unmodified lines
1034 break;1034 break;
1035 case ENCODER_OPTION_MAX_BITRATE: { // Target bit-rate1035 case ENCODER_OPTION_MAX_BITRATE: { // Target bit-rate
1036#ifdef REC_FRAME_COUNT1036#ifdef REC_FRAME_COUNT
1037 WelsLog (m_pEncContext, WELS_LOG_INFO,1037 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
1038 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_MAX_BITRATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",1038 "CWelsH264SVCEncoder::GetOption():ENCODER_OPTION_MAX_BITRATE, m_uiCountFrameNum= %d, m_iCspInternal= 0x%x\n",
1039 m_uiCountFrameNum, m_iCspInternal);1039 m_uiCountFrameNum, m_iCspInternal);
1040#endif//REC_FRAME_COUNT1040#endif//REC_FRAME_COUNT
@@ -1077,7 +1077,7 @@ void CWelsH264SVCEncoder::DumpSrcPicture (const uint8_t* pSrc) { · 36 unmodified lines
1077 case videoFormatYV12:1077 case videoFormatYV12:
1078 WelsStrcat (strFileName, 256, "yuv"); // confirmed_safe_unsafe_usage1078 WelsStrcat (strFileName, 256, "yuv"); // confirmed_safe_unsafe_usage
1079 pFile = WelsFopen (strFileName, "ab+");1079 pFile = WelsFopen (strFileName, "ab+");
1080 // WelsLog( m_pEncContext, WELS_LOG_INFO, "WELS_CSP_I420, m_iCspInternal= 0x%x\n", m_iCspInternal);1080 // WelsLog( &m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, "WELS_CSP_I420, m_iCspInternal= 0x%x\n", m_iCspInternal);
1081 if (NULL != pFile) {1081 if (NULL != pFile) {
1082 fwrite (pSrc, sizeof (uint8_t), (iDataLength * 3) >> 1, pFile);1082 fwrite (pSrc, sizeof (uint8_t), (iDataLength * 3) >> 1, pFile);
1083 fflush (pFile);1083 fflush (pFile);
@@ -1095,7 +1095,7 @@ void CWelsH264SVCEncoder::DumpSrcPicture (const uint8_t* pSrc) { · 11 unmodified lines
1095 case videoFormatBGR:1095 case videoFormatBGR:
1096 WelsStrcat (strFileName, 256, "bgr"); // confirmed_safe_unsafe_usage1096 WelsStrcat (strFileName, 256, "bgr"); // confirmed_safe_unsafe_usage
1097 pFile = WelsFopen (strFileName, "ab+");1097 pFile = WelsFopen (strFileName, "ab+");
1098 // WelsLog( m_pEncContext, WELS_LOG_INFO, "WELS_CSP_BGR, m_iCspInternal= 0x%x\n", m_iCspInternal);1098 // WelsLog( &m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, "WELS_CSP_BGR, m_iCspInternal= 0x%x\n", m_iCspInternal);
1099 if (NULL != pFile) {1099 if (NULL != pFile) {
1100 fwrite (pSrc, sizeof (uint8_t), iDataLength * 3, pFile);1100 fwrite (pSrc, sizeof (uint8_t), iDataLength * 3, pFile);
1101 fflush (pFile);1101 fflush (pFile);
@@ -1112,7 +1112,7 @@ void CWelsH264SVCEncoder::DumpSrcPicture (const uint8_t* pSrc) { · 10 unmodified lines
1112 }1112 }
1113 break;1113 break;
1114 default:1114 default:
1115 WelsLog (m_pEncContext, WELS_LOG_INFO, "Exclusive case, m_iCspInternal= 0x%x\n", m_iCspInternal);1115 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, "Exclusive case, m_iCspInternal= 0x%x\n", m_iCspInternal);
1116 break;1116 break;
1117 }1117 }
1118#endif//DUMP_SRC_PICTURE1118#endif//DUMP_SRC_PICTURE

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