diff options
author | gji2 <guoliang.ji@intel.com> | 2014-03-19 23:29:39 +0800 |
---|---|---|
committer | Patrick Tjin <pattjin@google.com> | 2014-07-21 22:02:58 -0700 |
commit | 12654b707eb7c53bff659edcd04aba32b14a5849 (patch) | |
tree | ad5cea99e519d0dce5bd1e9c7521850e4e12d7b3 /videocodec | |
parent | 81b99781be1ad2166a2b97d93de3fd8071c856b0 (diff) | |
download | android_hardware_intel_common_omx-components-12654b707eb7c53bff659edcd04aba32b14a5849.tar.gz android_hardware_intel_common_omx-components-12654b707eb7c53bff659edcd04aba32b14a5849.tar.bz2 android_hardware_intel_common_omx-components-12654b707eb7c53bff659edcd04aba32b14a5849.zip |
remove OMX_VIDEO_INTEL_PARAM_BITRATETYPE
BZ:180440
remove OMX_VIDEO_INTEL_PARAM_BITRATETYPE
Change-Id: I54d2b084ab709f0fbdce94e42895cca45dcf47a7
Signed-off-by: gji2 <guoliang.ji@intel.com>
Diffstat (limited to 'videocodec')
-rw-r--r-- | videocodec/OMXVideoEncoderAVC.cpp | 8 | ||||
-rw-r--r-- | videocodec/OMXVideoEncoderAVC.h | 1 | ||||
-rwxr-xr-x | videocodec/OMXVideoEncoderBase.cpp | 121 | ||||
-rw-r--r-- | videocodec/OMXVideoEncoderBase.h | 2 |
4 files changed, 30 insertions, 102 deletions
diff --git a/videocodec/OMXVideoEncoderAVC.cpp b/videocodec/OMXVideoEncoderAVC.cpp index 04a27ba..f81bf08 100644 --- a/videocodec/OMXVideoEncoderAVC.cpp +++ b/videocodec/OMXVideoEncoderAVC.cpp @@ -929,7 +929,7 @@ OMX_ERRORTYPE OMXVideoEncoderAVC::GetConfigVideoNalSize(OMX_PTR pStructure) { OMX_ERRORTYPE OMXVideoEncoderAVC::SetConfigVideoNalSize(OMX_PTR pStructure) { OMX_ERRORTYPE ret; Encode_Status retStatus = ENCODE_SUCCESS; - if (mParamIntelBitrate.eControlRate == OMX_Video_Intel_ControlRateMax) { + if (mParamBitrate.eControlRate == OMX_Video_ControlRateMax) { LOGE("SetConfigVideoNalSize failed. Feature is disabled."); return OMX_ErrorUnsupportedIndex; } @@ -944,7 +944,7 @@ OMX_ERRORTYPE OMXVideoEncoderAVC::SetConfigVideoNalSize(OMX_PTR pStructure) { // TODO: return OMX_ErrorIncorrectStateOperation? CHECK_SET_CONFIG_STATE(); - if (mParamIntelBitrate.eControlRate != OMX_Video_Intel_ControlRateVideoConferencingMode) { + if (mParamBitrate.eControlRate != OMX_Video_Intel_ControlRateVideoConferencingMode) { LOGE("SetConfigVideoNalSize failed. Feature is supported only in VCM."); return OMX_ErrorUnsupportedSetting; } @@ -970,7 +970,7 @@ OMX_ERRORTYPE OMXVideoEncoderAVC::GetConfigIntelSliceNumbers(OMX_PTR pStructure) OMX_ERRORTYPE OMXVideoEncoderAVC::SetConfigIntelSliceNumbers(OMX_PTR pStructure) { OMX_ERRORTYPE ret; Encode_Status retStatus = ENCODE_SUCCESS; - if (mParamIntelBitrate.eControlRate == OMX_Video_Intel_ControlRateMax) { + if (mParamBitrate.eControlRate == OMX_Video_ControlRateMax) { LOGE("SetConfigIntelSliceNumbers failed. Feature is disabled."); return OMX_ErrorUnsupportedIndex; } @@ -985,7 +985,7 @@ OMX_ERRORTYPE OMXVideoEncoderAVC::SetConfigIntelSliceNumbers(OMX_PTR pStructure) // TODO: return OMX_ErrorIncorrectStateOperation? CHECK_SET_CONFIG_STATE(); - if (mParamIntelBitrate.eControlRate != OMX_Video_Intel_ControlRateVideoConferencingMode) { + if (mParamBitrate.eControlRate != OMX_Video_Intel_ControlRateVideoConferencingMode) { LOGE("SetConfigIntelSliceNumbers failed. Feature is supported only in VCM."); return OMX_ErrorUnsupportedSetting; } diff --git a/videocodec/OMXVideoEncoderAVC.h b/videocodec/OMXVideoEncoderAVC.h index 153e789..bb4d455 100644 --- a/videocodec/OMXVideoEncoderAVC.h +++ b/videocodec/OMXVideoEncoderAVC.h @@ -108,7 +108,6 @@ private: OMX_NALSTREAMFORMATTYPE mNalStreamFormat; OMX_VIDEO_CONFIG_AVCINTRAPERIOD mConfigAvcIntraPeriod; OMX_VIDEO_CONFIG_NALSIZE mConfigNalSize; - OMX_VIDEO_PARAM_INTEL_BITRATETYPE avcEncParamIntelBitrateType; OMX_VIDEO_PARAM_INTEL_AVCVUI mParamIntelAvcVui; OMX_VIDEO_CONFIG_INTEL_SLICE_NUMBERS mConfigIntelSliceNumbers; VideoParamsAVC *mAVCParams; diff --git a/videocodec/OMXVideoEncoderBase.cpp b/videocodec/OMXVideoEncoderBase.cpp index 6317296..1629b0d 100755 --- a/videocodec/OMXVideoEncoderBase.cpp +++ b/videocodec/OMXVideoEncoderBase.cpp @@ -149,7 +149,7 @@ OMX_ERRORTYPE OMXVideoEncoderBase::InitOutputPort(void) { memset(&mParamBitrate, 0, sizeof(mParamBitrate)); SetTypeHeader(&mParamBitrate, sizeof(mParamBitrate)); mParamBitrate.nPortIndex = OUTPORT_INDEX; - mParamBitrate.eControlRate = OMX_Video_ControlRateConstant; + mParamBitrate.eControlRate = OMX_Video_ControlRateVariable; mParamBitrate.nTargetBitrate = 192000; // to be overridden // OMX_VIDEO_CONFIG_PRI_INFOTYPE @@ -159,13 +159,6 @@ OMX_ERRORTYPE OMXVideoEncoderBase::InitOutputPort(void) { mConfigPriInfo.nCapacity = 0; mConfigPriInfo.nHolder = NULL; - // OMX_VIDEO_PARAM_INTEL_BITRATETYPE - memset(&mParamIntelBitrate, 0, sizeof(mParamIntelBitrate)); - SetTypeHeader(&mParamIntelBitrate, sizeof(mParamIntelBitrate)); - mParamIntelBitrate.nPortIndex = OUTPORT_INDEX; - mParamIntelBitrate.eControlRate = OMX_Video_Intel_ControlRateMax; - mParamIntelBitrate.nTargetBitrate = 0; // to be overridden ? - // OMX_VIDEO_CONFIG_INTEL_BITRATETYPE memset(&mConfigIntelBitrate, 0, sizeof(mConfigIntelBitrate)); SetTypeHeader(&mConfigIntelBitrate, sizeof(mConfigIntelBitrate)); @@ -316,58 +309,31 @@ OMX_ERRORTYPE OMXVideoEncoderBase::SetVideoEncoderParam() { mEncoderParams->rcParams.targetPercentage = mConfigIntelBitrate.nTargetPercentage; mEncoderParams->rcParams.enableIntraFrameQPControl = 0; - if(mParamIntelBitrate.eControlRate == OMX_Video_Intel_ControlRateMax) { - - mEncoderParams->rcParams.bitRate = mParamBitrate.nTargetBitrate;//bitrate->nTargetBitrate; - LOGV("rcParams.bitRate = %d\n", mEncoderParams->rcParams.bitRate); - - if (mEncoderParams->rcMode == RATE_CONTROL_CBR) { - controlrate = OMX_Video_ControlRateConstant; - } else if (mEncoderParams->rcMode == RATE_CONTROL_VBR) { - controlrate = OMX_Video_ControlRateVariable; - } else { - controlrate = OMX_Video_ControlRateDisable; - } - - if (controlrate != bitrate->eControlRate) { - - if ((bitrate->eControlRate == OMX_Video_ControlRateVariable) || - (bitrate->eControlRate == OMX_Video_ControlRateVariableSkipFrames)) { - mEncoderParams->rcMode = RATE_CONTROL_VBR; - } else if ((bitrate->eControlRate == OMX_Video_ControlRateConstant) || - (bitrate->eControlRate == OMX_Video_ControlRateConstantSkipFrames)) { - mEncoderParams->rcMode = RATE_CONTROL_CBR; - } else { - mEncoderParams->rcMode = RATE_CONTROL_NONE; - } - LOGV("rcMode = %d\n", mEncoderParams->rcMode); - } - } else { - - if (mParamIntelBitrate.eControlRate == OMX_Video_Intel_ControlRateConstant ) { - LOGV("%s(), eControlRate == OMX_Video_Intel_ControlRateConstant", __func__); - mEncoderParams->rcParams.bitRate = mParamIntelBitrate.nTargetBitrate; - mEncoderParams->rcMode = RATE_CONTROL_CBR; - } else if (mParamIntelBitrate.eControlRate == OMX_Video_Intel_ControlRateVariable) { - LOGV("%s(), eControlRate == OMX_Video_Intel_ControlRateVariable", __func__); - mEncoderParams->rcParams.bitRate = mParamIntelBitrate.nTargetBitrate; - mEncoderParams->rcMode = RATE_CONTROL_VBR; - } else if (mParamIntelBitrate.eControlRate == OMX_Video_Intel_ControlRateVideoConferencingMode) { - LOGV("%s(), eControlRate == OMX_Video_Intel_ControlRateVideoConferencingMode ", __func__); - mEncoderParams->rcMode = RATE_CONTROL_VCM; + mEncoderParams->rcParams.bitRate = mParamBitrate.nTargetBitrate; + if ((mParamBitrate.eControlRate == OMX_Video_ControlRateConstant )|| + (mParamBitrate.eControlRate == OMX_Video_ControlRateConstantSkipFrames)) { + LOGV("%s(), eControlRate == OMX_Video_Intel_ControlRateConstant", __func__); + mEncoderParams->rcMode = RATE_CONTROL_CBR; + } else if ((mParamBitrate.eControlRate == OMX_Video_ControlRateVariable) || + (mParamBitrate.eControlRate == OMX_Video_ControlRateVariableSkipFrames)) { + LOGV("%s(), eControlRate == OMX_Video_Intel_ControlRateVariable", __func__); + mEncoderParams->rcMode = RATE_CONTROL_VBR; + } else if (mParamBitrate.eControlRate == OMX_Video_Intel_ControlRateVideoConferencingMode) { + LOGV("%s(), eControlRate == OMX_Video_Intel_ControlRateVideoConferencingMode ", __func__); + mEncoderParams->rcMode = RATE_CONTROL_VCM; + if(mConfigIntelBitrate.nMaxEncodeBitrate >0) mEncoderParams->rcParams.bitRate = mConfigIntelBitrate.nMaxEncodeBitrate; - if(mConfigIntelAir.bAirEnable == OMX_TRUE) { - mEncoderParams->airParams.airAuto = mConfigIntelAir.bAirAuto; - mEncoderParams->airParams.airMBs = mConfigIntelAir.nAirMBs; - mEncoderParams->airParams.airThreshold = mConfigIntelAir.nAirThreshold; - mEncoderParams->refreshType = VIDEO_ENC_AIR; - } else { - mEncoderParams->refreshType = VIDEO_ENC_NONIR; - } - LOGV("refreshType = %d\n", mEncoderParams->refreshType); + if(mConfigIntelAir.bAirEnable == OMX_TRUE) { + mEncoderParams->airParams.airAuto = mConfigIntelAir.bAirAuto; + mEncoderParams->airParams.airMBs = mConfigIntelAir.nAirMBs; + mEncoderParams->airParams.airThreshold = mConfigIntelAir.nAirThreshold; + mEncoderParams->refreshType = VIDEO_ENC_AIR; } else { - mEncoderParams->rcMode = RATE_CONTROL_NONE; + mEncoderParams->refreshType = VIDEO_ENC_NONIR; } + LOGV("refreshType = %d\n", mEncoderParams->refreshType); + } else { + mEncoderParams->rcMode = RATE_CONTROL_NONE; } ret = mVideoEncoder->setParameters(mEncoderParams); @@ -427,7 +393,6 @@ OMX_ERRORTYPE OMXVideoEncoderBase::BuildHandlerList(void) { AddHandler(OMX_IndexParamVideoPortFormat, GetParamVideoPortFormat, SetParamVideoPortFormat); AddHandler(OMX_IndexParamVideoBitrate, GetParamVideoBitrate, SetParamVideoBitrate); AddHandler((OMX_INDEXTYPE)OMX_IndexIntelPrivateInfo, GetIntelPrivateInfo, SetIntelPrivateInfo); - AddHandler((OMX_INDEXTYPE)OMX_IndexParamIntelBitrate, GetParamIntelBitrate, SetParamIntelBitrate); AddHandler((OMX_INDEXTYPE)OMX_IndexConfigIntelBitrate, GetConfigIntelBitrate, SetConfigIntelBitrate); AddHandler((OMX_INDEXTYPE)OMX_IndexConfigIntelAIR, GetConfigIntelAIR, SetConfigIntelAIR); AddHandler((OMX_INDEXTYPE)OMX_IndexParamVideoIntraRefresh, GetParamVideoIntraRefresh, SetParamVideoIntraRefresh); @@ -505,7 +470,6 @@ OMX_ERRORTYPE OMXVideoEncoderBase::SetParamVideoBitrate(OMX_PTR pStructure) { PortVideo *port = NULL; // This disables other type of bitrate control mechanism // TODO: check if it is desired - mParamIntelBitrate.eControlRate = OMX_Video_Intel_ControlRateMax; // TODO: can we override mParamBitrate.nPortIndex (See SetPortBitrateParam) mParamBitrate.eControlRate = p->eControlRate; @@ -555,27 +519,6 @@ OMX_ERRORTYPE OMXVideoEncoderBase::SetIntelPrivateInfo(OMX_PTR pStructure) { return OMX_ErrorNone; } -OMX_ERRORTYPE OMXVideoEncoderBase::GetParamIntelBitrate(OMX_PTR pStructure) { - OMX_ERRORTYPE ret; - OMX_VIDEO_PARAM_INTEL_BITRATETYPE *p = (OMX_VIDEO_PARAM_INTEL_BITRATETYPE *)pStructure; - - CHECK_TYPE_HEADER(p); - CHECK_PORT_INDEX(p, OUTPORT_INDEX); - memcpy(p, &mParamIntelBitrate, sizeof(*p)); - return OMX_ErrorNone; -} - -OMX_ERRORTYPE OMXVideoEncoderBase::SetParamIntelBitrate(OMX_PTR pStructure) { - OMX_ERRORTYPE ret; - OMX_VIDEO_PARAM_INTEL_BITRATETYPE *p = (OMX_VIDEO_PARAM_INTEL_BITRATETYPE *)pStructure; - CHECK_TYPE_HEADER(p); - CHECK_PORT_INDEX(p, OUTPORT_INDEX); - CHECK_SET_PARAM_STATE(); - - mParamIntelBitrate = *p; - return OMX_ErrorNone; -} - OMX_ERRORTYPE OMXVideoEncoderBase::GetConfigIntelBitrate(OMX_PTR pStructure) { OMX_ERRORTYPE ret; OMX_VIDEO_CONFIG_INTEL_BITRATETYPE *p = (OMX_VIDEO_CONFIG_INTEL_BITRATETYPE *)pStructure; @@ -589,8 +532,7 @@ OMX_ERRORTYPE OMXVideoEncoderBase::GetConfigIntelBitrate(OMX_PTR pStructure) { OMX_ERRORTYPE OMXVideoEncoderBase::SetConfigIntelBitrate(OMX_PTR pStructure) { OMX_ERRORTYPE ret; Encode_Status retStatus = ENCODE_SUCCESS; - if ((mParamIntelBitrate.eControlRate == OMX_Video_Intel_ControlRateMax)&& - (mEncoderParams->profile != VAProfileVP8Version0_3)) { + if (mParamBitrate.eControlRate == OMX_Video_ControlRateMax){ LOGE("SetConfigIntelBitrate failed. Feature is disabled."); return OMX_ErrorUnsupportedIndex; } @@ -605,11 +547,6 @@ OMX_ERRORTYPE OMXVideoEncoderBase::SetConfigIntelBitrate(OMX_PTR pStructure) { // TODO: return OMX_ErrorIncorrectStateOperation? CHECK_SET_CONFIG_STATE(); - if ((mParamIntelBitrate.eControlRate != OMX_Video_Intel_ControlRateVideoConferencingMode)&& - (mEncoderParams->profile != VAProfileVP8Version0_3)){ - LOGE("SetConfigIntelBitrate failed. Feature is supported only in VCM for AVC/H264/MPEG4."); - return OMX_ErrorUnsupportedSetting; - } VideoConfigBitRate configBitRate; configBitRate.rcParams.bitRate = mConfigIntelBitrate.nMaxEncodeBitrate; configBitRate.rcParams.initQP = mConfigIntelBitrate.nInitialQP; @@ -748,8 +685,7 @@ OMX_ERRORTYPE OMXVideoEncoderBase::GetConfigVideoFramerate(OMX_PTR pStructure) { OMX_ERRORTYPE OMXVideoEncoderBase::SetConfigVideoFramerate(OMX_PTR pStructure) { OMX_ERRORTYPE ret; Encode_Status retStatus = ENCODE_SUCCESS; - if ((mParamIntelBitrate.eControlRate == OMX_Video_Intel_ControlRateMax)&& - (mEncoderParams->profile != VAProfileVP8Version0_3)){ + if (mParamBitrate.eControlRate == OMX_Video_ControlRateMax){ LOGE("SetConfigVideoFramerate failed. Feature is disabled."); return OMX_ErrorUnsupportedIndex; } @@ -764,11 +700,6 @@ OMX_ERRORTYPE OMXVideoEncoderBase::SetConfigVideoFramerate(OMX_PTR pStructure) { // TODO, return OMX_ErrorIncorrectStateOperation? CHECK_SET_CONFIG_STATE(); - if ((mParamIntelBitrate.eControlRate != OMX_Video_Intel_ControlRateVideoConferencingMode)&& - (mEncoderParams->profile != VAProfileVP8Version0_3)){ - LOGE("SetConfigIntelAIR failed. Feature is supported only in VCM for AVC/H264/MPEG4."); - return OMX_ErrorUnsupportedSetting; - } VideoConfigFrameRate framerate; framerate.frameRate.frameRateDenom = 1; framerate.frameRate.frameRateNum = mConfigFramerate.xEncodeFramerate >> 16; @@ -822,7 +753,7 @@ OMX_ERRORTYPE OMXVideoEncoderBase::GetParamIntelAdaptiveSliceControl(OMX_PTR pSt OMX_ERRORTYPE OMXVideoEncoderBase::SetParamIntelAdaptiveSliceControl(OMX_PTR pStructure) { OMX_ERRORTYPE ret; - if (mParamIntelBitrate.eControlRate == OMX_Video_Intel_ControlRateMax) { + if (mParamBitrate.eControlRate == OMX_Video_ControlRateMax) { LOGE("SetParamIntelAdaptiveSliceControl failed. Feature is disabled."); return OMX_ErrorUnsupportedIndex; } diff --git a/videocodec/OMXVideoEncoderBase.h b/videocodec/OMXVideoEncoderBase.h index 251a30b..b6580d9 100644 --- a/videocodec/OMXVideoEncoderBase.h +++ b/videocodec/OMXVideoEncoderBase.h @@ -59,7 +59,6 @@ protected: DECLARE_HANDLER(OMXVideoEncoderBase, ParamVideoPortFormat); DECLARE_HANDLER(OMXVideoEncoderBase, ParamVideoBitrate); DECLARE_HANDLER(OMXVideoEncoderBase, IntelPrivateInfo); - DECLARE_HANDLER(OMXVideoEncoderBase, ParamIntelBitrate); DECLARE_HANDLER(OMXVideoEncoderBase, ConfigIntelBitrate); DECLARE_HANDLER(OMXVideoEncoderBase, ConfigIntelAIR); DECLARE_HANDLER(OMXVideoEncoderBase, ParamVideoIntraRefresh); @@ -78,7 +77,6 @@ protected: protected: OMX_VIDEO_PARAM_BITRATETYPE mParamBitrate; OMX_VIDEO_CONFIG_PRI_INFOTYPE mConfigPriInfo; - OMX_VIDEO_PARAM_INTEL_BITRATETYPE mParamIntelBitrate; OMX_VIDEO_CONFIG_INTEL_BITRATETYPE mConfigIntelBitrate; OMX_VIDEO_CONFIG_INTEL_AIR mConfigIntelAir; OMX_VIDEO_PARAM_INTRAREFRESHTYPE mParamVideoRefresh; |