aboutsummaryrefslogtreecommitdiffstats
path: root/videocodec/OMXVideoEncoderAVC.cpp
diff options
context:
space:
mode:
authorZhao Liang <leo.zhao@intel.com>2012-07-30 17:32:03 +0800
committerPatrick Tjin <pattjin@google.com>2014-07-21 22:02:48 -0700
commit15e74b4bab492385ae63009b6d6bbe3dcb2ccf84 (patch)
tree0b7a3370faed3c8717e484aa97390bff1a15fa7b /videocodec/OMXVideoEncoderAVC.cpp
parenta1be8ae572b307733338f2353d3d3d52f47717b8 (diff)
downloadandroid_hardware_intel_common_omx-components-15e74b4bab492385ae63009b6d6bbe3dcb2ccf84.tar.gz
android_hardware_intel_common_omx-components-15e74b4bab492385ae63009b6d6bbe3dcb2ccf84.tar.bz2
android_hardware_intel_common_omx-components-15e74b4bab492385ae63009b6d6bbe3dcb2ccf84.zip
set default NALU out format as OMX_NaluFormatStartCodesSeparateFirstHeader in raw mode
BZ: 49453 To support video editor, in omx videoencoder, set default nalu out format as OMX_NaluFormatStartCodesSeparateFirstHeader in raw mode, and OMX_NaluFormatLengthPrefixedSeparateFirstHeader in metadata mode. Change-Id: I0e2458757a3c5cae20f32a1523fff677c8da0cc2 Signed-off-by: Zhao Liang <leo.zhao@intel.com> Reviewed-on: http://android.intel.com:8080/59508 Reviewed-by: Feng, Wei <wei.feng@intel.com> Reviewed-by: Ding, Haitao <haitao.ding@intel.com> Tested-by: Ding, Haitao <haitao.ding@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
Diffstat (limited to 'videocodec/OMXVideoEncoderAVC.cpp')
-rw-r--r--videocodec/OMXVideoEncoderAVC.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/videocodec/OMXVideoEncoderAVC.cpp b/videocodec/OMXVideoEncoderAVC.cpp
index 603a6f2..647b369 100644
--- a/videocodec/OMXVideoEncoderAVC.cpp
+++ b/videocodec/OMXVideoEncoderAVC.cpp
@@ -51,8 +51,8 @@ OMX_ERRORTYPE OMXVideoEncoderAVC::InitOutputPortFormatSpecific(OMX_PARAM_PORTDEF
SetTypeHeader(&mNalStreamFormat, sizeof(mNalStreamFormat));
mNalStreamFormat.nPortIndex = OUTPORT_INDEX;
// TODO: check if this is desired Nalu Format
- //mNalStreamFormat.eNaluFormat = OMX_NaluFormatStartCodesSeparateFirstHeader;
- mNalStreamFormat.eNaluFormat = OMX_NaluFormatLengthPrefixedSeparateFirstHeader;
+ mNalStreamFormat.eNaluFormat = OMX_NaluFormatStartCodesSeparateFirstHeader;
+ //mNalStreamFormat.eNaluFormat = OMX_NaluFormatLengthPrefixedSeparateFirstHeader;
// OMX_VIDEO_CONFIG_AVCINTRAPERIOD
memset(&mConfigAvcIntraPeriod, 0, sizeof(mConfigAvcIntraPeriod));
SetTypeHeader(&mConfigAvcIntraPeriod, sizeof(mConfigAvcIntraPeriod));
@@ -158,6 +158,8 @@ OMX_ERRORTYPE OMXVideoEncoderAVC::ProcessorProcess(
VideoEncOutputBuffer outBuf;
VideoEncRawBuffer inBuf;
+ OMX_NALUFORMATSTYPE NaluFormat = mNalStreamFormat.eNaluFormat;
+
LOGV_IF(buffers[INPORT_INDEX]->nFlags & OMX_BUFFERFLAG_EOS,
"%s(),%d: got OMX_BUFFERFLAG_EOS\n", __func__, __LINE__);
@@ -197,7 +199,10 @@ OMX_ERRORTYPE OMXVideoEncoderAVC::ProcessorProcess(
ports[INPORT_INDEX]->ReturnAllRetainedBuffers();
}
- switch (mNalStreamFormat.eNaluFormat) {
+ if (mStoreMetaDataInBuffers)
+ NaluFormat = OMX_NaluFormatLengthPrefixedSeparateFirstHeader;
+
+ switch (NaluFormat) {
case OMX_NaluFormatStartCodes:
outBuf.format = OUTPUT_EVERYTHING;