Skip to content

Commit 61c4100

Browse files
Merge pull request #52 from OpenHD/codex/fix-video-decoding-with-openmax-il
Switch Allwinner path to Cedar OpenMAX decoder
2 parents b90e721 + 2fe44f4 commit 61c4100

3 files changed

Lines changed: 640 additions & 246 deletions

File tree

CMakeLists.txt

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ project(fpvue)
66

77
set(CMAKE_CXX_STANDARD 17)
88

9+
include(CheckIncludeFileCXX)
10+
911
add_compile_options("-Wno-address-of-packed-member")
1012
add_compile_options("-Wno-address-of-packed-member")
1113

@@ -40,6 +42,30 @@ endif()
4042

4143
target_link_libraries(${PROJECT_NAME} pthread m ) #-lstringlib
4244

45+
check_include_file_cxx("OMX_Core.h" HAVE_OMX_CORE_H)
46+
if(HAVE_OMX_CORE_H)
47+
message(STATUS "Detected OMX_Core.h - enabling Cedar OpenMAX IL support")
48+
target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_AW_OMX=1)
49+
find_library(OMX_CORE_LIB OmxCore)
50+
find_library(AW_OMXIL_LIB aw_omxil)
51+
find_library(CEDARC_LIB cedarc)
52+
find_library(ION_LIB ion)
53+
set(CEDAR_LIBS ${OMX_CORE_LIB} ${AW_OMXIL_LIB} ${CEDARC_LIB} ${ION_LIB})
54+
list(REMOVE_ITEM CEDAR_LIBS "CEDAR_LIBS-NOTFOUND")
55+
if(NOT OMX_CORE_LIB OR NOT AW_OMXIL_LIB OR NOT CEDARC_LIB)
56+
message(WARNING "Missing Cedar OpenMAX IL libraries (OmxCore/aw_omxil/cedarc). Cedar path will be disabled.")
57+
target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_AW_OMX=0)
58+
else()
59+
target_link_libraries(${PROJECT_NAME} ${OMX_CORE_LIB} ${AW_OMXIL_LIB} ${CEDARC_LIB})
60+
if(ION_LIB)
61+
target_link_libraries(${PROJECT_NAME} ${ION_LIB})
62+
endif()
63+
endif()
64+
else()
65+
message(STATUS "OMX_Core.h not found - Cedar OpenMAX IL support disabled")
66+
target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_AW_OMX=0)
67+
endif()
68+
4369
# experiment gstreamer
4470
find_package(PkgConfig REQUIRED)
4571
pkg_search_module(GST REQUIRED

0 commit comments

Comments
 (0)