aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChang Ying <ying.chang@intel.com>2013-03-21 17:50:17 +0800
committerPatrick Tjin <pattjin@google.com>2014-07-21 22:02:51 -0700
commitcdc52a0c7741ed048da15d9ef44d8fcb0d168cef (patch)
treedfa3994b91df3077f93efb2c3c3430d8915a5f7b
parent5096d08f3afc029d82f2e2a34aa1fb8a427ce050 (diff)
downloadandroid_hardware_intel_common_omx-components-cdc52a0c7741ed048da15d9ef44d8fcb0d168cef.tar.gz
android_hardware_intel_common_omx-components-cdc52a0c7741ed048da15d9ef44d8fcb0d168cef.tar.bz2
android_hardware_intel_common_omx-components-cdc52a0c7741ed048da15d9ef44d8fcb0d168cef.zip
VE: resolve compile issue on baytrail
BZ: 94688 Remove dependance on IMG legacy data structure on baytrail. Change-Id: I267ecefdb8ceaaa0c5c55c58d019e2fb8851dab9 Signed-off-by: Chang Ying <ying.chang@intel.com> Reviewed-on: http://android.intel.com:8080/97700 Reviewed-by: cactus <cactus@intel.com> Reviewed-by: Feng, Wei <wei.feng@intel.com> Reviewed-by: Imberton, Guilhem <guilhem.imberton@intel.com> Reviewed-by: Gummadi, Latha C <latha.c.gummadi@intel.com> Tested-by: Gummadi, Latha C <latha.c.gummadi@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
-rw-r--r--videocodec/Android.mk16
-rwxr-xr-xvideocodec/OMXVideoEncoderAVC.cpp4
-rw-r--r--videocodec/OMXVideoEncoderBase.cpp7
-rw-r--r--videocodec/OMXVideoEncoderBase.h8
-rw-r--r--videocodec/OMXVideoEncoderH263.cpp4
-rw-r--r--videocodec/OMXVideoEncoderMPEG4.cpp4
6 files changed, 40 insertions, 3 deletions
diff --git a/videocodec/Android.mk b/videocodec/Android.mk
index ae99e38..f7f620c 100644
--- a/videocodec/Android.mk
+++ b/videocodec/Android.mk
@@ -211,6 +211,10 @@ ifeq ($(ENABLE_MRFL_GRAPHICS),true)
LOCAL_CFLAGS += -DMRFLD_OMX
endif
+ifeq ($(ENABLE_IMG_GRAPHICS),true)
+ LOCAL_CFLAGS += -DIMG_GFX
+endif
+
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := libOMXVideoEncoderAVC
include $(BUILD_SHARED_LIBRARY)
@@ -253,6 +257,10 @@ ifeq ($(ENABLE_MRFL_GRAPHICS),true)
LOCAL_CFLAGS += -DMRFLD_OMX
endif
+ifeq ($(ENABLE_IMG_GRAPHICS),true)
+ LOCAL_CFLAGS += -DIMG_GFX
+endif
+
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := libOMXVideoEncoderH263
include $(BUILD_SHARED_LIBRARY)
@@ -294,6 +302,10 @@ ifeq ($(ENABLE_MRFL_GRAPHICS),true)
LOCAL_CFLAGS += -DMRFLD_OMX
endif
+ifeq ($(ENABLE_IMG_GRAPHICS),true)
+ LOCAL_CFLAGS += -DIMG_GFX
+endif
+
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := libOMXVideoEncoderMPEG4
include $(BUILD_SHARED_LIBRARY)
@@ -364,6 +376,10 @@ LOCAL_SRC_FILES := \
OMXVideoEncoderBase.cpp \
OMXVideoEncoderVP8.cpp
+ifeq ($(ENABLE_IMG_GRAPHICS),true)
+ LOCAL_CFLAGS += -DIMG_GFX
+endif
+
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := libOMXVideoEncoderVP8
include $(BUILD_SHARED_LIBRARY)
diff --git a/videocodec/OMXVideoEncoderAVC.cpp b/videocodec/OMXVideoEncoderAVC.cpp
index 4bfd7f3..7d6df97 100755
--- a/videocodec/OMXVideoEncoderAVC.cpp
+++ b/videocodec/OMXVideoEncoderAVC.cpp
@@ -553,11 +553,13 @@ OMX_ERRORTYPE OMXVideoEncoderAVC::ProcessorProcess(
eInfo.DataRetrieved, CacheOperationStr[eInfo.CacheOperation], eInfo.EndOfEncode );
//for live effect
+#ifdef IMG_GFX
if (bAndroidOpaqueFormat) {
mCurHandle = rgba2nv12conversion(buffers[INPORT_INDEX]);
if (mCurHandle < 0)
return OMX_ErrorUndefined;
}
+#endif
if (eInfo.CacheOperation == CACHE_PUSH) {
ProcessCacheOperation(buffers, retains, &eInfo);
@@ -615,12 +617,14 @@ OMX_ERRORTYPE OMXVideoEncoderAVC::ProcessorProcess(
exit:
+#ifdef IMG_GFX
if (bAndroidOpaqueFormat && buffers[INPORT_INDEX]->nFilledLen != 0) {
// Restore input buffer's content
buffers[INPORT_INDEX]->nFilledLen = 4 + sizeof(buffer_handle_t);
memcpy(buffers[INPORT_INDEX]->pBuffer, mBufferHandleMaps[mCurHandle].backBuffer,
buffers[INPORT_INDEX]->nFilledLen);
}
+#endif
/* restore all states into input OMX buffer
*/
diff --git a/videocodec/OMXVideoEncoderBase.cpp b/videocodec/OMXVideoEncoderBase.cpp
index 971249d..ba14329 100644
--- a/videocodec/OMXVideoEncoderBase.cpp
+++ b/videocodec/OMXVideoEncoderBase.cpp
@@ -349,6 +349,7 @@ OMX_ERRORTYPE OMXVideoEncoderBase::ProcessorInit(void) {
ret = SetVideoEncoderParam();
CHECK_STATUS("SetVideoEncoderParam");
+#ifdef IMG_GFX
if (bAndroidOpaqueFormat) {
hw_module_t const* module;
int err = hw_get_module(GRALLOC_HARDWARE_MODULE_ID, &module);
@@ -380,6 +381,7 @@ OMX_ERRORTYPE OMXVideoEncoderBase::ProcessorInit(void) {
return OMX_ErrorUndefined;
}
}
+#endif
if (mVideoEncoder->start() != ENCODE_SUCCESS) {
LOGE("Start failed, ret = 0x%08x\n", ret);
@@ -396,6 +398,7 @@ OMX_ERRORTYPE OMXVideoEncoderBase::ProcessorDeinit(void) {
mVideoEncoder->stop();
}
+#ifdef IMG_GFX
if(bAndroidOpaqueFormat) {
for (int i = 0; i < INPORT_ACTUAL_BUFFER_COUNT; i++) {
status_t err = mAllocDev->free(mAllocDev,
@@ -405,6 +408,7 @@ OMX_ERRORTYPE OMXVideoEncoderBase::ProcessorDeinit(void) {
}
gralloc_close(mAllocDev);
}
+#endif
return OMX_ErrorNone;
}
@@ -856,6 +860,7 @@ OMX_ERRORTYPE OMXVideoEncoderBase::SetStoreMetaDataInBuffers(OMX_PTR pStructure)
return OMX_ErrorNone;
};
+#ifdef IMG_GFX
// Utility function that blits the original source buffer in RGBA format to a temporary
// buffer in NV12 format, and use the temporary buffer as the source buffer
int32_t OMXVideoEncoderBase::rgba2nv12conversion(OMX_BUFFERHEADERTYPE *pBuffer)
@@ -911,4 +916,4 @@ int32_t OMXVideoEncoderBase::rgba2nv12conversion(OMX_BUFFERHEADERTYPE *pBuffer)
return i;
}
-
+#endif
diff --git a/videocodec/OMXVideoEncoderBase.h b/videocodec/OMXVideoEncoderBase.h
index d14d69d..29a4f63 100644
--- a/videocodec/OMXVideoEncoderBase.h
+++ b/videocodec/OMXVideoEncoderBase.h
@@ -23,8 +23,10 @@
#include <IntelBufferSharing.h>
#include <va/va_tpi.h>
#include <va/va_android.h>
-#include<VideoEncoderHost.h>
+#include <VideoEncoderHost.h>
+#ifdef IMG_GFX
#include <hal/hal_public.h>
+#endif
using android::sp;
@@ -108,6 +110,7 @@ private:
};
public:
+#ifdef IMG_GFX
struct {
OMX_BUFFERHEADERTYPE* mHeader;
buffer_handle_t srcBuffer;
@@ -116,11 +119,12 @@ public:
int32_t mStride;
void *vaddr[3];
} mBufferHandleMaps[INPORT_ACTUAL_BUFFER_COUNT];
- OMX_BOOL bAndroidOpaqueFormat;
alloc_device_t *mAllocDev;
IMG_gralloc_module_public_t const *mGrallocMod;
int32_t mCurHandle;
int32_t rgba2nv12conversion(OMX_BUFFERHEADERTYPE*);
+#endif
+ OMX_BOOL bAndroidOpaqueFormat;
};
diff --git a/videocodec/OMXVideoEncoderH263.cpp b/videocodec/OMXVideoEncoderH263.cpp
index 084f2ce..b653add 100644
--- a/videocodec/OMXVideoEncoderH263.cpp
+++ b/videocodec/OMXVideoEncoderH263.cpp
@@ -108,11 +108,13 @@ OMX_ERRORTYPE OMXVideoEncoderH263::ProcessorProcess(
goto out;
}
+#ifdef IMG_GFX
if (bAndroidOpaqueFormat) {
mCurHandle = rgba2nv12conversion(buffers[INPORT_INDEX]);
if (mCurHandle < 0)
return OMX_ErrorUndefined;
}
+#endif
inBuf.data = buffers[INPORT_INDEX]->pBuffer + buffers[INPORT_INDEX]->nOffset;
inBuf.size = buffers[INPORT_INDEX]->nFilledLen;
@@ -231,6 +233,7 @@ out:
if (retains[OUTPORT_INDEX] == BUFFER_RETAIN_NOT_RETAIN)
mFrameOutputCount ++;
+#ifdef IMG_GFX
if (bAndroidOpaqueFormat && buffers[INPORT_INDEX]->nFilledLen != 0) {
// Restore input buffer's content
buffers[INPORT_INDEX]->nFilledLen = 4 + sizeof(buffer_handle_t);
@@ -238,6 +241,7 @@ out:
buffers[INPORT_INDEX]->nFilledLen);
}
+#endif
LOGV_IF(oret == OMX_ErrorNone, "%s(),%d: exit, encode is done\n", __func__, __LINE__);
diff --git a/videocodec/OMXVideoEncoderMPEG4.cpp b/videocodec/OMXVideoEncoderMPEG4.cpp
index e8f6b14..46ab444 100644
--- a/videocodec/OMXVideoEncoderMPEG4.cpp
+++ b/videocodec/OMXVideoEncoderMPEG4.cpp
@@ -108,11 +108,13 @@ OMX_ERRORTYPE OMXVideoEncoderMPEG4::ProcessorProcess(
inBuf.flag = 0;
inBuf.timeStamp = buffers[INPORT_INDEX]->nTimeStamp;
+#ifdef IMG_GFX
if (bAndroidOpaqueFormat) {
mCurHandle = rgba2nv12conversion(buffers[INPORT_INDEX]);
if (mCurHandle < 0)
return OMX_ErrorUndefined;
}
+#endif
LOGV("inBuf.data=%x, size=%d", (unsigned)inBuf.data, inBuf.size);
@@ -237,6 +239,7 @@ out:
if (retains[OUTPORT_INDEX] == BUFFER_RETAIN_NOT_RETAIN)
mFrameOutputCount ++;
+#ifdef IMG_GFX
if (bAndroidOpaqueFormat && buffers[INPORT_INDEX]->nFilledLen != 0) {
// Restore input buffer's content
buffers[INPORT_INDEX]->nFilledLen = 4 + sizeof(buffer_handle_t);
@@ -244,6 +247,7 @@ out:
buffers[INPORT_INDEX]->nFilledLen);
}
+#endif
return oret;