From 30736b960fca5337c0e89021f2ff8779475b4ef8 Mon Sep 17 00:00:00 2001 From: Zhao Liang Date: Tue, 8 Jan 2013 13:21:45 +0800 Subject: 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 Reviewed-by: cactus Reviewed-by: Yuan, Shengquan Reviewed-by: Shi, PingX Tested-by: Shi, PingX Reviewed-by: buildbot Tested-by: buildbot --- videocodec/OMXVideoEncoderMPEG4.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'videocodec/OMXVideoEncoderMPEG4.cpp') 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; } -- cgit v1.2.3