diff options
| author | Zhao Liang <leo.zhao@intel.com> | 2013-08-23 14:21:16 +0800 |
|---|---|---|
| committer | Patrick Tjin <pattjin@google.com> | 2014-07-21 22:02:53 -0700 |
| commit | 88c8d2ab4d97fe48ed25c3adff105f2cef5a2d36 (patch) | |
| tree | 36bc56a577c464b86342f0c30d9bcb59e9e97d1d /videocodec/OMXVideoEncoderMPEG4.cpp | |
| parent | dccea72fa33ead9951c7863344d4b1c99deb820a (diff) | |
| download | android_hardware_intel_common_omx-components-88c8d2ab4d97fe48ed25c3adff105f2cef5a2d36.tar.gz android_hardware_intel_common_omx-components-88c8d2ab4d97fe48ed25c3adff105f2cef5a2d36.tar.bz2 android_hardware_intel_common_omx-components-88c8d2ab4d97fe48ed25c3adff105f2cef5a2d36.zip | |
Support Sync mode video encoding in omx
BZ: 131021
Use one new ext parameter to control sync mode, this mode is used for timelapse recording
Signed-off-by: Zhao Liang <leo.zhao@intel.com>
Change-Id: I099d62d02bdf28598893d7167486b4d5f1623120
Reviewed-on: http://android.intel.com:8080/127318
Reviewed-by: Zhao, Leo <leo.zhao@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: cactus <cactus@intel.com>
Tested-by: cactus <cactus@intel.com>
Diffstat (limited to 'videocodec/OMXVideoEncoderMPEG4.cpp')
| -rw-r--r-- | videocodec/OMXVideoEncoderMPEG4.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/videocodec/OMXVideoEncoderMPEG4.cpp b/videocodec/OMXVideoEncoderMPEG4.cpp index 46ab444..a59dc37 100644 --- a/videocodec/OMXVideoEncoderMPEG4.cpp +++ b/videocodec/OMXVideoEncoderMPEG4.cpp @@ -159,7 +159,7 @@ OMX_ERRORTYPE OMXVideoEncoderMPEG4::ProcessorProcess( outfilledlen = outBuf.dataSize; mFirstFrame = OMX_FALSE; } else { - if (mFrameInputCount == 1) { + if (mSyncEncoding == OMX_FALSE && mFrameInputCount == 1) { retains[INPORT_INDEX] = BUFFER_RETAIN_ACCUMULATE; retains[OUTPORT_INDEX] = BUFFER_RETAIN_GETAGAIN; mFrameRetrieved = OMX_TRUE; @@ -184,7 +184,10 @@ OMX_ERRORTYPE OMXVideoEncoderMPEG4::ProcessorProcess( LOGV("Get buffer done\n"); outflags |= OMX_BUFFERFLAG_ENDOFFRAME; mFrameRetrieved = OMX_TRUE; - retains[INPORT_INDEX] = BUFFER_RETAIN_ACCUMULATE; + if (mSyncEncoding) + retains[INPORT_INDEX] = BUFFER_RETAIN_NOT_RETAIN; + else + retains[INPORT_INDEX] = BUFFER_RETAIN_ACCUMULATE; } else { retains[INPORT_INDEX] = BUFFER_RETAIN_GETAGAIN; //get again |
