summaryrefslogtreecommitdiff
authorTellen Yu <tellen.yu@amlogic.com>2016-10-11 09:51:15 (GMT)
committer Gerrit Code Review <gituser@scgit.amlogic.com>2016-10-11 09:51:15 (GMT)
commita4c1a57810bac386b4dc8b1bc3906bcacc1bd66b (patch)
tree8fcaaa5bea930be81e80b367c1cac1811eae83a4
parentf6e1358e553cb11ad88ce21d9e147820a7a7b1e2 (diff)
parent76818d38ef2b7e72f6602ef702a76bbae5b33c0a (diff)
downloadhwcomposer-a4c1a57810bac386b4dc8b1bc3906bcacc1bd66b.zip
hwcomposer-a4c1a57810bac386b4dc8b1bc3906bcacc1bd66b.tar.gz
hwcomposer-a4c1a57810bac386b4dc8b1bc3906bcacc1bd66b.tar.bz2
Merge "PD#132697: OMX: OMX for android N" into n-amlogic
Diffstat
-rw-r--r--Android.mk2
-rw-r--r--hwc2/common/devices/PhysicalDevice.cpp14
-rw-r--r--hwc2/platforms/Android.mk3
-rw-r--r--hwc2_old/Android.mk3
-rw-r--r--tvp/Android.mk (renamed from hwc2_old/tvp/Android.mk)0
-rw-r--r--tvp/OmxUtil.cpp (renamed from hwc2_old/tvp/OmxUtil.cpp)0
-rw-r--r--tvp/OmxUtil.h (renamed from hwc2_old/tvp/OmxUtil.h)0
7 files changed, 21 insertions, 1 deletions
diff --git a/Android.mk b/Android.mk
index 53aff37..c2d760a 100644
--- a/Android.mk
+++ b/Android.mk
@@ -22,3 +22,5 @@ ifeq ($(USE_HWC2_CPP),true)
else
include $(LOCAL_PATH)/hwc2_old/Android.mk
endif
+
+include $(LOCAL_ROOT_PATH)/tvp/Android.mk \ No newline at end of file
diff --git a/hwc2/common/devices/PhysicalDevice.cpp b/hwc2/common/devices/PhysicalDevice.cpp
index cf6e12c..e5af910 100644
--- a/hwc2/common/devices/PhysicalDevice.cpp
+++ b/hwc2/common/devices/PhysicalDevice.cpp
@@ -7,6 +7,10 @@
#include <sys/ioctl.h>
#include <Utils.h>
+#include <tvp/OmxUtil.h>
+
+static int Amvideo_Handle = 0;
+
namespace android {
namespace amlogic {
@@ -549,6 +553,7 @@ bool PhysicalDevice::vsyncControl(bool enabled) {
int32_t PhysicalDevice::validateDisplay(uint32_t* outNumTypes,
uint32_t* outNumRequests) {
HwcLayer* layer = NULL;
+ bool istvp = false;
for (uint32_t i=0; i<mHwcLayers.size(); i++) {
hwc2_layer_t layerId = mHwcLayers.keyAt(i);
@@ -560,6 +565,10 @@ int32_t PhysicalDevice::validateDisplay(uint32_t* outNumTypes,
if (layer->getBufferHandle()) {
private_handle_t const* hnd =
reinterpret_cast<private_handle_t const*>(layer->getBufferHandle());
+ if (hnd->flags & private_handle_t::PRIV_FLAGS_VIDEO_OMX) {
+ set_omx_pts((char*)hnd->base, &Amvideo_Handle);
+ istvp = true;
+ }
if (hnd->flags & private_handle_t::PRIV_FLAGS_VIDEO_OVERLAY) {
mHwcLayersChangeRequest.add(layerId, layer);
continue;
@@ -598,6 +607,11 @@ int32_t PhysicalDevice::validateDisplay(uint32_t* outNumTypes,
}
}
+ if (istvp == false && Amvideo_Handle!=0) {
+ closeamvideo();
+ Amvideo_Handle = 0;
+ }
+
if (mHwcLayersChangeRequest.size() > 0) {
DTRACE("There are %d layer requests.", mHwcLayersChangeRequest.size());
*outNumRequests = mHwcLayersChangeRequest.size();
diff --git a/hwc2/platforms/Android.mk b/hwc2/platforms/Android.mk
index b72ae37..b8d50da 100644
--- a/hwc2/platforms/Android.mk
+++ b/hwc2/platforms/Android.mk
@@ -36,6 +36,8 @@ LOCAL_SHARED_LIBRARIES := \
libsync \
libfbcnf
+LOCAL_STATIC_LIBRARIES := libomxutil
+
LOCAL_C_INCLUDES := \
system/core \
system/core/libsync/include
@@ -48,6 +50,7 @@ LOCAL_C_INCLUDES += $(LOCAL_PATH) \
$(LOCAL_PATH)/../common/observers \
$(LOCAL_PATH)/../common/planes \
$(LOCAL_PATH)/../common/utils \
+ $(LOCAL_PATH)/../.. \
$(LOCAL_PATH)/
LOCAL_KK=0
diff --git a/hwc2_old/Android.mk b/hwc2_old/Android.mk
index 99072f6..1c31b80 100644
--- a/hwc2_old/Android.mk
+++ b/hwc2_old/Android.mk
@@ -45,7 +45,8 @@ LOCAL_C_INCLUDES += \
$(MESON_GRALLOC_DIR)
LOCAL_C_INCLUDES += system/core/libion/include/ \
- system/core/libion/kernel-headers
+ system/core/libion/kernel-headers \
+ $(LOCAL_PATH)/..
ifneq ($(WITH_LIBPLAYER_MODULE),false)
LOCAL_SHARED_LIBRARIES += libamavutils_alsa
diff --git a/hwc2_old/tvp/Android.mk b/tvp/Android.mk
index 068106e..068106e 100644
--- a/hwc2_old/tvp/Android.mk
+++ b/tvp/Android.mk
diff --git a/hwc2_old/tvp/OmxUtil.cpp b/tvp/OmxUtil.cpp
index 844e125..844e125 100644
--- a/hwc2_old/tvp/OmxUtil.cpp
+++ b/tvp/OmxUtil.cpp
diff --git a/hwc2_old/tvp/OmxUtil.h b/tvp/OmxUtil.h
index 846c9aa..846c9aa 100644
--- a/hwc2_old/tvp/OmxUtil.h
+++ b/tvp/OmxUtil.h