aboutsummaryrefslogtreecommitdiffstats
path: root/videocodec/OMXVideoEncoderAVC.cpp
diff options
context:
space:
mode:
authorjiguoliang <guoliang.ji@intel.com>2013-04-09 17:07:19 -0400
committerPatrick Tjin <pattjin@google.com>2014-07-21 22:02:51 -0700
commit828a2823300f3e2c8b95a3d00957145942572288 (patch)
treec61687b9cdbc73ddae317ae2ff0815a1f3cba180 /videocodec/OMXVideoEncoderAVC.cpp
parent885507c31cd3158276157b6f82ef08d165af63db (diff)
downloadandroid_hardware_intel_common_omx-components-828a2823300f3e2c8b95a3d00957145942572288.tar.gz
android_hardware_intel_common_omx-components-828a2823300f3e2c8b95a3d00957145942572288.tar.bz2
android_hardware_intel_common_omx-components-828a2823300f3e2c8b95a3d00957145942572288.zip
high profile feature enable
BZ:101039 Make the OMX SetParamVideoAvc/GetParamVideoAvc be effect for passing the High profile param such as cabac and so on. Signed-off-by: jiguoliang <guoliang.ji@intel.com> Change-Id: I7b5f3b32daf5d90e48902152c9912f82e4ed9cc6 Reviewed-on: http://android.intel.com:8080/100639 Reviewed-by: cactus <cactus@intel.com> Reviewed-by: Ji, Guoliang <guoliang.ji@intel.com> Reviewed-by: Yuan, Shengquan <shengquan.yuan@intel.com> Reviewed-by: Shi, PingX <pingx.shi@intel.com> Tested-by: Shi, PingX <pingx.shi@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
Diffstat (limited to 'videocodec/OMXVideoEncoderAVC.cpp')
-rwxr-xr-xvideocodec/OMXVideoEncoderAVC.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/videocodec/OMXVideoEncoderAVC.cpp b/videocodec/OMXVideoEncoderAVC.cpp
index 7d6df97..df96cf1 100755
--- a/videocodec/OMXVideoEncoderAVC.cpp
+++ b/videocodec/OMXVideoEncoderAVC.cpp
@@ -695,6 +695,17 @@ OMX_ERRORTYPE OMXVideoEncoderAVC::GetParamVideoAvc(OMX_PTR pStructure) {
CHECK_TYPE_HEADER(p);
CHECK_PORT_INDEX(p, OUTPORT_INDEX);
+ mVideoEncoder->getParameters(mAVCParams);
+ mParamAvc.bEntropyCodingCABAC = (OMX_BOOL)mAVCParams->bEntropyCodingCABAC;
+ mParamAvc.bWeightedPPrediction = (OMX_BOOL)mAVCParams->bWeightedPPrediction;
+ mParamAvc.nRefIdx10ActiveMinus1 = mAVCParams->refIdx10ActiveMinus1;
+ mParamAvc.nRefIdx11ActiveMinus1 = mAVCParams->refIdx11ActiveMinus1;
+ mParamAvc.nWeightedBipredicitonMode = mAVCParams->weightedBipredicitonMode;
+ mParamAvc.bDirect8x8Inference = (OMX_BOOL)mAVCParams->bDirect8x8Inference;
+ mParamAvc.bDirectSpatialTemporal = (OMX_BOOL)mAVCParams->bDirectSpatialTemporal;
+ mParamAvc.nCabacInitIdc = mAVCParams->cabacInitIdc;
+ mParamAvc.bFrameMBsOnly = (OMX_BOOL)mAVCParams->bFrameMBsOnly;
+ mParamAvc.bconstIpred = (OMX_BOOL)mAVCParams->bConstIpred;
memcpy(p, &mParamAvc, sizeof(*p));
return OMX_ErrorNone;
}
@@ -745,6 +756,10 @@ OMX_ERRORTYPE OMXVideoEncoderAVC::SetParamVideoAvc(OMX_PTR pStructure) {
// TODO: do we need to check if port is enabled?
// TODO: see SetPortAvcParam implementation - Can we make simple copy????
memcpy(&mParamAvc, p, sizeof(mParamAvc));
+ mVideoEncoder->getParameters(mAVCParams);
+ mAVCParams->bEntropyCodingCABAC = mParamAvc.bEntropyCodingCABAC;
+ mVideoEncoder->setParameters(mAVCParams);
+
return OMX_ErrorNone;
}