From ab3d17cd44625a762fc10f0f1fd8f2c46b980aff Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期二, 26 四月 2022 11:42:19 +0800
Subject: [PATCH] capture use cpu and add arm version
---
CMakeLists.txt | 72 ++++++++++++++++++++++++++++++++---
1 files changed, 65 insertions(+), 7 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bf2ed72..6f5ad0d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,8 +8,17 @@
set(CMAKE_BUILD_TYPE "Release")
endif()
-set(CMAKE_CXX_FLAGS "-DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic ${CMAKE_CXX_FLAGS}")
-set(CMAKE_C_FLAGS "-DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic ${CMAKE_C_FLAGS}")
+option(GB28181 "help string describing GB28181" ON)
+option(ARM "help string describing ARM" OFF)
+
+if (GB28181)
+ set(EXTRA_FLAGS -DGB28181)
+else()
+ set(EXTRA_FLAGS)
+endif()
+
+set(CMAKE_CXX_FLAGS "-DLIB_CFFMPEG ${EXTRA_FLAGS} -fPIC -Wl,-Bsymbolic ${CMAKE_CXX_FLAGS}")
+set(CMAKE_C_FLAGS "-DLIB_CFFMPEG ${EXTRA_FLAGS} -fPIC -Wl,-Bsymbolic ${CMAKE_C_FLAGS}")
set(CMAKE_CXX_FLAGS_DEBUG "-w -g -O0 -std=c++11 ${CMAKE_CXX_FLAGS}")
set(CMAKE_C_FLAGS_DEBUG "-w -g -O0 ${CMAKE_C_FLAGS}")
@@ -23,12 +32,22 @@
${CMAKE_SOURCE_DIR}/csrc/thirdparty/whereami
${CMAKE_SOURCE_DIR}/csrc/thirdparty/ffmpeg/include
${CMAKE_SOURCE_DIR}/csrc/thirdparty/gb28181/include
- ${CMAKE_SOURCE_DIR}/csrc/gpu-conv
)
-link_directories(${CMAKE_SOURCE_DIR}/csrc/thirdparty/gb28181/lib)
+if (GB28181)
+ link_directories(${CMAKE_SOURCE_DIR}/csrc/thirdparty/gb28181/lib)
+ set(LIBGB rtspclient StreamParse)
+else()
+ set(LIBGB)
+endif()
-set(CMAKE_LIBRARY_PATH ${CMAKE_SOURCE_DIR}/csrc/thirdparty/ffmpeg/lib ${CMAKE_LIBRARY_PATH})
+if (ARM)
+ set(FFMPEG_PATH ${CMAKE_SOURCE_DIR}/csrc/thirdparty/arm-ffmpeg/lib)
+else()
+ set(FFMPEG_PATH ${CMAKE_SOURCE_DIR}/csrc/thirdparty/ffmpeg/lib)
+endif()
+
+set(CMAKE_LIBRARY_PATH ${FFMPEG_PATH} ${CMAKE_LIBRARY_PATH})
find_library(avutil NAMES libavutil.a )
find_library(avformat NAMES libavformat.a )
find_library(avcodec NAMES libavcodec.a )
@@ -36,7 +55,26 @@
find_library(swscale NAMES libswscale.a)
find_library(265 NAMES libx265.a)
find_library(264 NAMES libx264.a)
-
+
+if(ARM)
+ find_library(aom NAMES libaom.a)
+ find_library(avdevice NAMES libavdevice.a)
+ find_library(ogg NAMES libogg.a)
+ find_library(fdkaac NAMES libfdk-aac.a)
+ find_library(postproc NAMES libpostproc.a)
+ find_library(swresample NAMES libswresample.a)
+ find_library(theora NAMES libtheora.a)
+ find_library(theoradec NAMES libtheoradec.a)
+ find_library(theoraenc NAMES libtheoraenc.a)
+ find_library(vidstab NAMES libvidstab.a)
+ find_library(vorbis NAMES libvorbis.a)
+ find_library(vorbisenc NAMES libvorbisenc.a)
+ find_library(vorbisfile NAMES libvorbisfile.a)
+ find_library(vpx NAMES libvpx.a)
+ find_library(xvidcore NAMES libxvidcore.a)
+ find_library(mp3 NAMES libmp3lame.a)
+endif()
+
set(LINK_LIB
${avformat}
${avcodec}
@@ -46,10 +84,30 @@
${265}
${264}
)
+if(ARM)
+ list(APPEND LINK_LIB
+ ${aom}
+ ${avdevice}
+ ${ogg}
+ ${fdkaac}
+ ${mp3}
+ ${postproc}
+ ${swresample}
+ ${theora}
+ ${theoradec}
+ ${theoraenc}
+ ${vidstab}
+ ${vorbis}
+ ${vorbisenc}
+ ${vorbisfile}
+ ${vpx}
+ ${xvidcore}
+ )
+endif()
file(GLOB_RECURSE FFMPEG_LIST ${CMAKE_SOURCE_DIR}/csrc/*.cpp)
list(APPEND FFMPEG_LIST ${CMAKE_SOURCE_DIR}/csrc/thirdparty/whereami/whereami.c)
add_library(${BIN} SHARED ${FFMPEG_LIST})
-target_link_libraries(${BIN} ${LINK_LIB} pthread dl rtspclient StreamParse)
+target_link_libraries(${BIN} ${LINK_LIB} ${LIBGB} pthread dl)
--
Gitblit v1.8.0