aboutsummaryrefslogtreecommitdiffstats
path: root/videocodec/OMXVideoEncoderMPEG4.cpp
diff options
context:
space:
mode:
authorZhao Liang <leo.zhao@intel.com>2013-01-08 13:21:45 +0800
committerPatrick Tjin <pattjin@google.com>2014-07-21 22:02:50 -0700
commit30736b960fca5337c0e89021f2ff8779475b4ef8 (patch)
tree0c6910af137c4818e1d00bc75acf9349f337ef94 /videocodec/OMXVideoEncoderMPEG4.cpp
parent4b4fefee98b3224fbd3a88b150db3d253997fdf8 (diff)
downloadandroid_hardware_intel_common_omx-components-30736b960fca5337c0e89021f2ff8779475b4ef8.tar.gz
android_hardware_intel_common_omx-components-30736b960fca5337c0e89021f2ff8779475b4ef8.tar.bz2
android_hardware_intel_common_omx-components-30736b960fca5337c0e89021f2ff8779475b4ef8.zip
new frame type detection/parameter setting and get default profile by querying
BZ: 87331 use new rule to define IpPeriod/IntraPeriod/IdrInterval, and get default profile by new parameter Change-Id: Iff842054db50a994638bde527170724a9b933920 Reviewed-on: http://android.intel.com:8080/85483 Reviewed-by: Zhao, Leo <leo.zhao@intel.com> Reviewed-by: cactus <cactus@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/OMXVideoEncoderMPEG4.cpp')
-rw-r--r--videocodec/OMXVideoEncoderMPEG4.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/videocodec/OMXVideoEncoderMPEG4.cpp b/videocodec/OMXVideoEncoderMPEG4.cpp
index 215e213..e8f6b14 100644
--- a/videocodec/OMXVideoEncoderMPEG4.cpp
+++ b/videocodec/OMXVideoEncoderMPEG4.cpp
@@ -157,6 +157,13 @@ OMX_ERRORTYPE OMXVideoEncoderMPEG4::ProcessorProcess(
outfilledlen = outBuf.dataSize;
mFirstFrame = OMX_FALSE;
} else {
+ if (mFrameInputCount == 1) {
+ retains[INPORT_INDEX] = BUFFER_RETAIN_ACCUMULATE;
+ retains[OUTPORT_INDEX] = BUFFER_RETAIN_GETAGAIN;
+ mFrameRetrieved = OMX_TRUE;
+ goto out;
+ }
+
outBuf.format = OUTPUT_EVERYTHING;
mVideoEncoder->getOutput(&outBuf);
CHECK_ENCODE_STATUS("getOutput");
@@ -245,7 +252,7 @@ out:
OMX_ERRORTYPE OMXVideoEncoderMPEG4::BuildHandlerList(void) {
OMXVideoEncoderBase::BuildHandlerList();
AddHandler(OMX_IndexParamVideoMpeg4, GetParamVideoMpeg4, SetParamVideoMpeg4);
- AddHandler(OMX_IndexParamVideoProfileLevelQuerySupported, GetParamVideoProfileLevelQuerySupported, SetParamVideoProfileLevelQuerySupported);
+ AddHandler(OMX_IndexParamVideoProfileLevelQuerySupported, GetParamVideoProfileLevelQuerySupported, SetParamVideoProfileLevelQuerySupported);
return OMX_ErrorNone;
}