From 6dede6cb9afa2f36dac7932f06343a9e979fec8b Mon Sep 17 00:00:00 2001 From: Tim Zimmermann Date: Wed, 1 Nov 2023 11:19:49 +0100 Subject: [PATCH] openmax: Make epic opt-in Change-Id: I3841b3932e12f9eb52b5d08ad919587c9e0cebd9 --- openmax/component/video/dec/h264/Android.mk | 6 +++++- openmax/component/video/dec/hevc/Android.mk | 6 +++++- openmax/component/video/dec/mpeg2/Android.mk | 6 +++++- openmax/component/video/dec/mpeg4/Android.mk | 6 +++++- openmax/component/video/dec/vc1/Android.mk | 6 +++++- openmax/component/video/dec/vp8/Android.mk | 6 +++++- openmax/component/video/dec/vp9/Android.mk | 6 +++++- openmax/component/video/enc/h264/Android.mk | 6 +++++- .../component/video/enc/h264wfd/Android.mk | 6 +++++- openmax/component/video/enc/hevc/Android.mk | 6 +++++- .../component/video/enc/hevcwfd/Android.mk | 6 +++++- openmax/component/video/enc/mpeg4/Android.mk | 6 +++++- openmax/component/video/enc/vp8/Android.mk | 6 +++++- openmax/component/video/enc/vp9/Android.mk | 6 +++++- openmax/osal/Android.mk | 8 +++++++- openmax/osal/Exynos_OSAL_Android.cpp | 20 +++++++++++++++++++ 16 files changed, 97 insertions(+), 15 deletions(-) diff --git a/openmax/component/video/dec/h264/Android.mk b/openmax/component/video/dec/h264/Android.mk index 814bd0b..0e62984 100644 --- a/openmax/component/video/dec/h264/Android.mk +++ b/openmax/component/video/dec/h264/Android.mk @@ -56,8 +56,12 @@ LOCAL_SHARED_LIBRARIES := \ libexynosv4l2 \ libion_exynos \ libcsc \ - libExynosOMX_Resourcemanager \ + libExynosOMX_Resourcemanager + +ifeq ($(BOARD_OMX_USES_EPIC), true) +LOCAL_SHARED_LIBRARIES += \ libepicoperator +endif LOCAL_C_INCLUDES := \ $(EXYNOS_OMX_INC)/exynos \ diff --git a/openmax/component/video/dec/hevc/Android.mk b/openmax/component/video/dec/hevc/Android.mk index aee0322..2e3cf84 100644 --- a/openmax/component/video/dec/hevc/Android.mk +++ b/openmax/component/video/dec/hevc/Android.mk @@ -61,8 +61,12 @@ LOCAL_SHARED_LIBRARIES := \ libexynosv4l2 \ libion_exynos \ libcsc \ - libExynosOMX_Resourcemanager \ + libExynosOMX_Resourcemanager + +ifeq ($(BOARD_OMX_USES_EPIC), true) +LOCAL_SHARED_LIBRARIES += \ libepicoperator +endif LOCAL_C_INCLUDES := \ $(EXYNOS_OMX_INC)/exynos \ diff --git a/openmax/component/video/dec/mpeg2/Android.mk b/openmax/component/video/dec/mpeg2/Android.mk index 05e2cd5..4988f6b 100644 --- a/openmax/component/video/dec/mpeg2/Android.mk +++ b/openmax/component/video/dec/mpeg2/Android.mk @@ -52,8 +52,12 @@ LOCAL_SHARED_LIBRARIES := \ libexynosv4l2 \ libion_exynos \ libcsc \ - libExynosOMX_Resourcemanager \ + libExynosOMX_Resourcemanager + +ifeq ($(BOARD_OMX_USES_EPIC), true) +LOCAL_SHARED_LIBRARIES += \ libepicoperator +endif LOCAL_C_INCLUDES := \ $(EXYNOS_OMX_INC)/exynos \ diff --git a/openmax/component/video/dec/mpeg4/Android.mk b/openmax/component/video/dec/mpeg4/Android.mk index 6ac44c1..e23f3ff 100644 --- a/openmax/component/video/dec/mpeg4/Android.mk +++ b/openmax/component/video/dec/mpeg4/Android.mk @@ -52,8 +52,12 @@ LOCAL_SHARED_LIBRARIES := \ libexynosv4l2 \ libion_exynos \ libcsc \ - libExynosOMX_Resourcemanager \ + libExynosOMX_Resourcemanager + +ifeq ($(BOARD_OMX_USES_EPIC), true) +LOCAL_SHARED_LIBRARIES += \ libepicoperator +endif LOCAL_C_INCLUDES := \ $(EXYNOS_OMX_INC)/exynos \ diff --git a/openmax/component/video/dec/vc1/Android.mk b/openmax/component/video/dec/vc1/Android.mk index a0e3a05..730bba3 100644 --- a/openmax/component/video/dec/vc1/Android.mk +++ b/openmax/component/video/dec/vc1/Android.mk @@ -52,8 +52,12 @@ LOCAL_SHARED_LIBRARIES := \ libexynosv4l2 \ libion_exynos \ libcsc \ - libExynosOMX_Resourcemanager \ + libExynosOMX_Resourcemanager + +ifeq ($(BOARD_OMX_USES_EPIC), true) +LOCAL_SHARED_LIBRARIES += \ libepicoperator +endif LOCAL_C_INCLUDES := \ $(EXYNOS_OMX_INC)/exynos \ diff --git a/openmax/component/video/dec/vp8/Android.mk b/openmax/component/video/dec/vp8/Android.mk index 4d66433..bcfd169 100644 --- a/openmax/component/video/dec/vp8/Android.mk +++ b/openmax/component/video/dec/vp8/Android.mk @@ -53,8 +53,12 @@ LOCAL_SHARED_LIBRARIES := \ libexynosv4l2 \ libion_exynos \ libcsc \ - libExynosOMX_Resourcemanager\ + libExynosOMX_Resourcemanager + +ifeq ($(BOARD_OMX_USES_EPIC), true) +LOCAL_SHARED_LIBRARIES += \ libepicoperator +endif LOCAL_C_INCLUDES := \ $(EXYNOS_OMX_INC)/exynos \ diff --git a/openmax/component/video/dec/vp9/Android.mk b/openmax/component/video/dec/vp9/Android.mk index 0684dfa..2fb00f6 100644 --- a/openmax/component/video/dec/vp9/Android.mk +++ b/openmax/component/video/dec/vp9/Android.mk @@ -53,8 +53,12 @@ LOCAL_SHARED_LIBRARIES := \ libexynosv4l2 \ libion_exynos \ libcsc \ - libExynosOMX_Resourcemanager \ + libExynosOMX_Resourcemanager + +ifeq ($(BOARD_OMX_USES_EPIC), true) +LOCAL_SHARED_LIBRARIES += \ libepicoperator +endif LOCAL_C_INCLUDES := \ $(EXYNOS_OMX_INC)/exynos \ diff --git a/openmax/component/video/enc/h264/Android.mk b/openmax/component/video/enc/h264/Android.mk index 920232d..65c83a9 100644 --- a/openmax/component/video/enc/h264/Android.mk +++ b/openmax/component/video/enc/h264/Android.mk @@ -48,8 +48,12 @@ LOCAL_SHARED_LIBRARIES := \ libexynosv4l2 \ libion_exynos \ libcsc \ - libExynosOMX_Resourcemanager \ + libExynosOMX_Resourcemanager + +ifeq ($(BOARD_OMX_USES_EPIC), true) +LOCAL_SHARED_LIBRARIES += \ libepicoperator +endif LOCAL_C_INCLUDES := \ $(EXYNOS_OMX_INC)/exynos \ diff --git a/openmax/component/video/enc/h264wfd/Android.mk b/openmax/component/video/enc/h264wfd/Android.mk index 171c057..cffbd23 100644 --- a/openmax/component/video/enc/h264wfd/Android.mk +++ b/openmax/component/video/enc/h264wfd/Android.mk @@ -43,8 +43,12 @@ LOCAL_SHARED_LIBRARIES := \ libexynosv4l2 \ libion_exynos \ libcsc \ - libExynosOMX_Resourcemanager \ + libExynosOMX_Resourcemanager + +ifeq ($(BOARD_OMX_USES_EPIC), true) +LOCAL_SHARED_LIBRARIES += \ libepicoperator +endif LOCAL_C_INCLUDES := \ $(EXYNOS_OMX_INC)/exynos \ diff --git a/openmax/component/video/enc/hevc/Android.mk b/openmax/component/video/enc/hevc/Android.mk index ed66fd1..f1b67af 100644 --- a/openmax/component/video/enc/hevc/Android.mk +++ b/openmax/component/video/enc/hevc/Android.mk @@ -53,8 +53,12 @@ LOCAL_SHARED_LIBRARIES := \ libexynosv4l2 \ libion_exynos \ libcsc \ - libExynosOMX_Resourcemanager \ + libExynosOMX_Resourcemanager + +ifeq ($(BOARD_OMX_USES_EPIC), true) +LOCAL_SHARED_LIBRARIES += \ libepicoperator +endif LOCAL_C_INCLUDES := \ $(EXYNOS_OMX_INC)/exynos \ diff --git a/openmax/component/video/enc/hevcwfd/Android.mk b/openmax/component/video/enc/hevcwfd/Android.mk index 57c452c..9b73867 100644 --- a/openmax/component/video/enc/hevcwfd/Android.mk +++ b/openmax/component/video/enc/hevcwfd/Android.mk @@ -43,8 +43,12 @@ LOCAL_SHARED_LIBRARIES := \ libexynosv4l2 \ libion_exynos \ libcsc \ - libExynosOMX_Resourcemanager \ + libExynosOMX_Resourcemanager + +ifeq ($(BOARD_OMX_USES_EPIC), true) +LOCAL_SHARED_LIBRARIES += \ libepicoperator +endif LOCAL_C_INCLUDES := \ $(EXYNOS_OMX_INC)/exynos \ diff --git a/openmax/component/video/enc/mpeg4/Android.mk b/openmax/component/video/enc/mpeg4/Android.mk index bdb18d8..ad92c35 100644 --- a/openmax/component/video/enc/mpeg4/Android.mk +++ b/openmax/component/video/enc/mpeg4/Android.mk @@ -48,8 +48,12 @@ LOCAL_SHARED_LIBRARIES := \ libexynosv4l2 \ libion_exynos \ libcsc \ - libExynosOMX_Resourcemanager \ + libExynosOMX_Resourcemanager + +ifeq ($(BOARD_OMX_USES_EPIC), true) +LOCAL_SHARED_LIBRARIES += \ libepicoperator +endif LOCAL_C_INCLUDES := \ $(EXYNOS_OMX_INC)/exynos \ diff --git a/openmax/component/video/enc/vp8/Android.mk b/openmax/component/video/enc/vp8/Android.mk index 8a6d1de..27a79ee 100644 --- a/openmax/component/video/enc/vp8/Android.mk +++ b/openmax/component/video/enc/vp8/Android.mk @@ -49,8 +49,12 @@ LOCAL_SHARED_LIBRARIES := \ libexynosv4l2 \ libion_exynos \ libcsc \ - libExynosOMX_Resourcemanager \ + libExynosOMX_Resourcemanager + +ifeq ($(BOARD_OMX_USES_EPIC), true) +LOCAL_SHARED_LIBRARIES += \ libepicoperator +endif LOCAL_C_INCLUDES := \ $(EXYNOS_OMX_INC)/exynos \ diff --git a/openmax/component/video/enc/vp9/Android.mk b/openmax/component/video/enc/vp9/Android.mk index 7fccedf..5bfb1fd 100644 --- a/openmax/component/video/enc/vp9/Android.mk +++ b/openmax/component/video/enc/vp9/Android.mk @@ -48,8 +48,12 @@ LOCAL_SHARED_LIBRARIES := \ libexynosv4l2 \ libion_exynos \ libcsc \ - libExynosOMX_Resourcemanager \ + libExynosOMX_Resourcemanager + +ifeq ($(BOARD_OMX_USES_EPIC), true) +LOCAL_SHARED_LIBRARIES += \ libepicoperator +endif LOCAL_C_INCLUDES := \ $(EXYNOS_OMX_INC)/exynos \ diff --git a/openmax/osal/Android.mk b/openmax/osal/Android.mk index ab81474..0b43acb 100644 --- a/openmax/osal/Android.mk +++ b/openmax/osal/Android.mk @@ -158,9 +158,15 @@ LOCAL_SHARED_LIBRARIES := \ libhidlbase \ libui \ libexynosgraphicbuffer \ - libion_exynos \ + libion_exynos + +ifeq ($(BOARD_OMX_USES_EPIC), true) +LOCAL_SHARED_LIBRARIES += \ libepicoperator +LOCAL_CFLAGS += -DOMX_USES_EPIC +endif + LOCAL_C_INCLUDES := \ $(EXYNOS_OMX_TOP)/core \ $(EXYNOS_OMX_INC)/exynos \ diff --git a/openmax/osal/Exynos_OSAL_Android.cpp b/openmax/osal/Exynos_OSAL_Android.cpp index 7351a57..f881b9b 100644 --- a/openmax/osal/Exynos_OSAL_Android.cpp +++ b/openmax/osal/Exynos_OSAL_Android.cpp @@ -55,7 +55,9 @@ #include "ExynosVideoApi.h" #include "VendorVideoAPI.h" +#ifdef OMX_USES_EPIC #include +#endif #undef EXYNOS_LOG_TAG #define EXYNOS_LOG_TAG "Exynos_OSAL_Android" @@ -100,11 +102,13 @@ typedef struct _EXYNOS_OMX_REF_HANDLE { EXYNOS_OMX_SHARED_BUFFER SharedBuffer[MAX_BUFFER_REF]; } EXYNOS_OMX_REF_HANDLE; +#ifdef OMX_USES_EPIC // for performance typedef struct _PERFORMANCE_HANDLE { bool bIsEncoder; void *pEpic; } PERFORMANCE_HANDLE; +#endif static int lockCnt = 0; #ifndef USE_WA_ION_BUF_REF @@ -4923,6 +4927,7 @@ EXIT: } OMX_HANDLETYPE Exynos_OSAL_CreatePerformanceHandle(OMX_BOOL bIsEncoder) { +#ifdef OMX_USES_EPIC PERFORMANCE_HANDLE *pPerfHandle = (PERFORMANCE_HANDLE*)malloc(sizeof(PERFORMANCE_HANDLE)); if (pPerfHandle == NULL) { Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "[%s] failed to allocate PERFORMANCE_HANDLE", __FUNCTION__); @@ -4946,10 +4951,16 @@ OMX_HANDLETYPE Exynos_OSAL_CreatePerformanceHandle(OMX_BOOL bIsEncoder) { } return pPerfHandle; +#else + ((void) bIsEncoder); + + return NULL; +#endif } void Exynos_OSAL_Performance(OMX_HANDLETYPE handle, int value, int fps) { +#ifdef OMX_USES_EPIC PERFORMANCE_HANDLE *pPerfHandle = (PERFORMANCE_HANDLE*)handle; if (pPerfHandle == NULL) { Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "[%s] PERFORMANCE_HANDLE is invalid", __FUNCTION__); @@ -4987,9 +4998,15 @@ void Exynos_OSAL_Performance(OMX_HANDLETYPE handle, int value, int fps) pEpic->doAction(eAcquire, nullptr); } } +#else + ((void) handle); + ((void) value); + ((void) fps); +#endif } void Exynos_OSAL_ReleasePerformanceHandle(OMX_HANDLETYPE handle) { +#ifdef OMX_USES_EPIC PERFORMANCE_HANDLE *pPerfHandle = (PERFORMANCE_HANDLE*)handle; if (pPerfHandle == NULL) { Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "[%s] PERFORMANCE_HANDLE is invalid", __FUNCTION__); @@ -5009,6 +5026,9 @@ void Exynos_OSAL_ReleasePerformanceHandle(OMX_HANDLETYPE handle) { } free(pPerfHandle); +#else + ((void) handle); +#endif return; }