From 15e74b4bab492385ae63009b6d6bbe3dcb2ccf84 Mon Sep 17 00:00:00 2001 From: Zhao Liang Date: Mon, 30 Jul 2012 17:32:03 +0800 Subject: 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 Reviewed-on: http://android.intel.com:8080/59508 Reviewed-by: Feng, Wei Reviewed-by: Ding, Haitao Tested-by: Ding, Haitao Reviewed-by: buildbot Tested-by: buildbot --- videocodec/OMXVideoEncoderAVC.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'videocodec/OMXVideoEncoderAVC.cpp') 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; -- cgit v1.2.3