Showing the changes to codec/encoder/plus/src/welsEncoderExt.cpp (1 of 1 file). Show all
Unified · Split
| @@ -771,6 +771,9 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 770 unmodified lines | |||
| 771 | //adjust to valid range | 771 | //adjust to valid range |
| 772 | m_pEncContext->pSvcParam->fMaxFrameRate = WELS_CLIP3 (iValue, MIN_FRAME_RATE, MAX_FRAME_RATE); | 772 | m_pEncContext->pSvcParam->fMaxFrameRate = WELS_CLIP3 (iValue, MIN_FRAME_RATE, MAX_FRAME_RATE); |
| 773 | WelsEncoderApplyFrameRate (m_pEncContext->pSvcParam); | 773 | WelsEncoderApplyFrameRate (m_pEncContext->pSvcParam); |
| 774 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, | ||
| 775 | "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_FRAME_RATE,m_pEncContext->pSvcParam->fMaxFrameRate= %f", | ||
| 776 | m_pEncContext->pSvcParam->fMaxFrameRate); | ||
| 774 | } | 777 | } |
| 775 | break; | 778 | break; |
| 776 | case ENCODER_OPTION_BITRATE: { // Target bit-rate | 779 | case ENCODER_OPTION_BITRATE: { // Target bit-rate |
| @@ -813,6 +816,8 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 36 unmodified lines | |||
| 813 | } | 816 | } |
| 814 | //adjust to valid range | 817 | //adjust to valid range |
| 815 | WelsEncoderApplyBitRate (&m_pWelsTrace->m_sLogCtx, m_pEncContext->pSvcParam, pInfo->iLayer); | 818 | WelsEncoderApplyBitRate (&m_pWelsTrace->m_sLogCtx, m_pEncContext->pSvcParam, pInfo->iLayer); |
| 819 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, | ||
| 820 | "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITRATE layerId= %d,iSpatialBitrate = %d", pInfo->iLayer, iBitrate); | ||
| 816 | } | 821 | } |
| 817 | break; | 822 | break; |
| 818 | case ENCODER_OPTION_MAX_BITRATE: { // Target bit-rate | 823 | case ENCODER_OPTION_MAX_BITRATE: { // Target bit-rate |
| @@ -856,16 +861,25 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 37 unmodified lines | |||
| 856 | } | 861 | } |
| 857 | //adjust to valid range | 862 | //adjust to valid range |
| 858 | WelsEncoderApplyBitRate (&m_pWelsTrace->m_sLogCtx, m_pEncContext->pSvcParam, pInfo->iLayer); | 863 | WelsEncoderApplyBitRate (&m_pWelsTrace->m_sLogCtx, m_pEncContext->pSvcParam, pInfo->iLayer); |
| 864 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, | ||
| 865 | "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_MAX_BITRATE layerId= %d,iMaxSpatialBitrate = %d", pInfo->iLayer, | ||
| 866 | iBitrate); | ||
| 859 | } | 867 | } |
| 860 | break; | 868 | break; |
| 861 | case ENCODER_OPTION_RC_MODE: { // 0:quality mode;1:bit-rate mode;2:bitrate limited mode | 869 | case ENCODER_OPTION_RC_MODE: { // 0:quality mode;1:bit-rate mode;2:bitrate limited mode |
| 862 | int32_t iValue = * ((int32_t*)pOption); | 870 | int32_t iValue = * ((int32_t*)pOption); |
| 863 | m_pEncContext->pSvcParam->iRCMode = (RC_MODES) iValue; | 871 | m_pEncContext->pSvcParam->iRCMode = (RC_MODES) iValue; |
| 872 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, | ||
| 873 | "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_RC_MODE iRCMode= %d ", | ||
| 874 | iValue); | ||
| 864 | } | 875 | } |
| 865 | break; | 876 | break; |
| 866 | case ENCODER_PADDING_PADDING: { // 0:disable padding;1:padding | 877 | case ENCODER_PADDING_PADDING: { // 0:disable padding;1:padding |
| 867 | int32_t iValue = * ((int32_t*)pOption); | 878 | int32_t iValue = * ((int32_t*)pOption); |
| 868 | m_pEncContext->pSvcParam->iPaddingFlag = iValue; | 879 | m_pEncContext->pSvcParam->iPaddingFlag = iValue; |
| 880 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, | ||
| 881 | "CWelsH264SVCEncoder::SetOption():ENCODER_PADDING_PADDING iPaddingFlag= %d ", | ||
| 882 | iValue); | ||
| 869 | } | 883 | } |
| 870 | break; | 884 | break; |
| 871 | case ENCODER_LTR_RECOVERY_REQUEST: { | 885 | case ENCODER_LTR_RECOVERY_REQUEST: { |
| @@ -881,6 +895,9 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 9 unmodified lines | |||
| 881 | case ENCODER_LTR_MARKING_PERIOD: { | 895 | case ENCODER_LTR_MARKING_PERIOD: { |
| 882 | uint32_t iValue = * ((uint32_t*) (pOption)); | 896 | uint32_t iValue = * ((uint32_t*) (pOption)); |
| 883 | m_pEncContext->pSvcParam->iLtrMarkPeriod = iValue; | 897 | m_pEncContext->pSvcParam->iLtrMarkPeriod = iValue; |
| 898 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, | ||
| 899 | "CWelsH264SVCEncoder::SetOption():ENCODER_LTR_MARKING_PERIOD iLtrMarkPeriod= %d ", | ||
| 900 | iValue); | ||
| 884 | } | 901 | } |
| 885 | break; | 902 | break; |
| 886 | case ENCODER_OPTION_LTR: { | 903 | case ENCODER_OPTION_LTR: { |
| @@ -888,6 +905,10 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 1 unmodified line | |||
| 888 | if (WelsEncoderApplyLTR (&m_pWelsTrace->m_sLogCtx, &m_pEncContext, pLTRValue)) { | 905 | if (WelsEncoderApplyLTR (&m_pWelsTrace->m_sLogCtx, &m_pEncContext, pLTRValue)) { |
| 889 | return cmInitParaError; | 906 | return cmInitParaError; |
| 890 | } | 907 | } |
| 908 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, | ||
| 909 | "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_LTR,expected bEnableLongTermReference = %d,expeced iLTRRefNum = %d,actual bEnableLongTermReference = %d,actual iLTRRefNum = %d", | ||
| 910 | pLTRValue->bEnableLongTermReference, pLTRValue->iLTRRefNum, m_pEncContext->pSvcParam->bEnableLongTermReference, | ||
| 911 | m_pEncContext->pSvcParam->iLTRRefNum); | ||
| 891 | } | 912 | } |
| 892 | break; | 913 | break; |
| 893 | case ENCODER_OPTION_ENABLE_SSEI: { | 914 | case ENCODER_OPTION_ENABLE_SSEI: { |
| @@ -960,6 +981,10 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 66 unmodified lines | |||
| 960 | return cmInitParaError; | 981 | return cmInitParaError; |
| 961 | } | 982 | } |
| 962 | CheckProfileSetting (pProfileInfo->iLayer, pProfileInfo->uiProfileIdc); | 983 | CheckProfileSetting (pProfileInfo->iLayer, pProfileInfo->uiProfileIdc); |
| 984 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, | ||
| 985 | "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_PROFILE,layerId = %d,expected profile = %d,actual profile = %d", | ||
| 986 | pProfileInfo->iLayer, pProfileInfo->uiProfileIdc, | ||
| 987 | m_pEncContext->pSvcParam->sSpatialLayers[pProfileInfo->iLayer].uiProfileIdc); | ||
| 963 | } | 988 | } |
| 964 | break; | 989 | break; |
| 965 | case ENCODER_OPTION_LEVEL: { | 990 | case ENCODER_OPTION_LEVEL: { |
| @@ -970,21 +995,31 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 4 unmodified lines | |||
| 970 | return cmInitParaError; | 995 | return cmInitParaError; |
| 971 | } | 996 | } |
| 972 | CheckLevelSetting (pLevelInfo->iLayer, pLevelInfo->uiLevelIdc); | 997 | CheckLevelSetting (pLevelInfo->iLayer, pLevelInfo->uiLevelIdc); |
| 998 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, | ||
| 999 | "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_LEVEL,layerId = %d,expected level = %d,actual level = %d", | ||
| 1000 | pLevelInfo->iLayer, pLevelInfo->uiLevelIdc, m_pEncContext->pSvcParam->sSpatialLayers[pLevelInfo->iLayer].uiLevelIdc); | ||
| 973 | } | 1001 | } |
| 974 | break; | 1002 | break; |
| 975 | case ENCODER_OPTION_NUMBER_REF: { | 1003 | case ENCODER_OPTION_NUMBER_REF: { |
| 976 | int32_t iValue = * ((int32_t*)pOption); | 1004 | int32_t iValue = * ((int32_t*)pOption); |
| 977 | CheckReferenceNumSetting (iValue); | 1005 | CheckReferenceNumSetting (iValue); |
| 1006 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, | ||
| 1007 | "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_NUMBER_REF,expected refNum = %d,actual refnum = %d", iValue, | ||
| 1008 | m_pEncContext->pSvcParam->iNumRefFrame); | ||
| 978 | } | 1009 | } |
| 979 | break; | 1010 | break; |
| 980 | case ENCODER_OPTION_DELIVERY_STATUS: { | 1011 | case ENCODER_OPTION_DELIVERY_STATUS: { |
| 981 | SDeliveryStatus* pValue = (static_cast<SDeliveryStatus*> (pOption)); | 1012 | SDeliveryStatus* pValue = (static_cast<SDeliveryStatus*> (pOption)); |
| 982 | m_pEncContext->bDeliveryFlag = pValue->bDeliveryFlag; | 1013 | m_pEncContext->bDeliveryFlag = pValue->bDeliveryFlag; |
| 1014 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, | ||
| 1015 | "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_DELIVERY_STATUS,bDeliveryFlag = %d", pValue->bDeliveryFlag); | ||
| 983 | } | 1016 | } |
| 984 | break; | 1017 | break; |
| 985 | case ENCODER_OPTION_COMPLEXITY: { | 1018 | case ENCODER_OPTION_COMPLEXITY: { |
| 986 | int32_t iValue = * (static_cast<int32_t*> (pOption)); | 1019 | int32_t iValue = * (static_cast<int32_t*> (pOption)); |
| 987 | m_pEncContext->pSvcParam->iComplexityMode = (ECOMPLEXITY_MODE)iValue; | 1020 | m_pEncContext->pSvcParam->iComplexityMode = (ECOMPLEXITY_MODE)iValue; |
| 1021 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, | ||
| 1022 | "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_COMPLEXITY,iComplexityMode = %d", iValue); | ||
| 988 | } | 1023 | } |
| 989 | break; | 1024 | break; |
| 990 | case ENCODER_OPTION_GET_STATISTICS: { | 1025 | case ENCODER_OPTION_GET_STATISTICS: { |
| @@ -995,11 +1030,15 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 4 unmodified lines | |||
| 995 | case ENCODER_OPTION_STATISTICS_LOG_INTERVAL: { | 1030 | case ENCODER_OPTION_STATISTICS_LOG_INTERVAL: { |
| 996 | int32_t iValue = * (static_cast<int32_t*> (pOption)); | 1031 | int32_t iValue = * (static_cast<int32_t*> (pOption)); |
| 997 | m_pEncContext->iStatisticsLogInterval = iValue; | 1032 | m_pEncContext->iStatisticsLogInterval = iValue; |
| 1033 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, | ||
| 1034 | "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_STATISTICS_LOG_INTERVAL,iStatisticsLogInterval = %d", iValue); | ||
| 998 | } | 1035 | } |
| 999 | break; | 1036 | break; |
| 1000 | case ENCODER_OPTION_IS_LOSSLESS_LINK: { | 1037 | case ENCODER_OPTION_IS_LOSSLESS_LINK: { |
| 1001 | bool bValue = * (static_cast<bool*> (pOption)); | 1038 | bool bValue = * (static_cast<bool*> (pOption)); |
| 1002 | m_pEncContext->pSvcParam->bIsLosslessLink = bValue; | 1039 | m_pEncContext->pSvcParam->bIsLosslessLink = bValue; |
| 1040 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, | ||
| 1041 | "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_IS_LOSSLESS_LINK,bIsLosslessLink = %d", bValue); | ||
| 1003 | } | 1042 | } |
| 1004 | break; | 1043 | break; |
| 1005 | default: | 1044 | default: |