author | Tellen 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) |
commit | a4c1a57810bac386b4dc8b1bc3906bcacc1bd66b (patch) | |
tree | 8fcaaa5bea930be81e80b367c1cac1811eae83a4 | |
parent | f6e1358e553cb11ad88ce21d9e147820a7a7b1e2 (diff) | |
parent | 76818d38ef2b7e72f6602ef702a76bbae5b33c0a (diff) | |
download | hwcomposer-a4c1a57810bac386b4dc8b1bc3906bcacc1bd66b.zip hwcomposer-a4c1a57810bac386b4dc8b1bc3906bcacc1bd66b.tar.gz hwcomposer-a4c1a57810bac386b4dc8b1bc3906bcacc1bd66b.tar.bz2 |
Merge "PD#132697: OMX: OMX for android N" into n-amlogic
-rw-r--r-- | Android.mk | 2 | ||||
-rw-r--r-- | hwc2/common/devices/PhysicalDevice.cpp | 14 | ||||
-rw-r--r-- | hwc2/platforms/Android.mk | 3 | ||||
-rw-r--r-- | hwc2_old/Android.mk | 3 | ||||
-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
@@ -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 |