Dynamic Link Libraries - updates (#23)

* DRM - deps updates

* Link Libraries - Updates & cleanup

* LibDRM - Find in SLES fix

* Make Test - Fix Failures

[ROCm/rocdecode commit: 2af10a5d80]
Этот коммит содержится в:
Kiriti Gowda
2023-10-25 15:56:36 -07:00
коммит произвёл GitHub
родитель ea743aa3af
Коммит 34f1cc3b8f
8 изменённых файлов: 57 добавлений и 35 удалений
+20 -13
Просмотреть файл
@@ -102,21 +102,25 @@ endif()
set(AMDGPU_TARGETS "${DEFAULT_AMDGPU_TARGETS}" CACHE STRING "List of specific machine types for library to target")
find_package(HIP QUIET)
find_package(FFmpeg QUIET)
find_package(Libdrm QUIET)
find_package(Libva QUIET)
find_package(FFmpeg QUIET)
if(HIP_FOUND AND FFMPEG_FOUND AND Libva_FOUND)
if(HIP_FOUND AND FFMPEG_FOUND AND Libva_FOUND AND Libdrm_FOUND)
# FFMPEG
include_directories(${AVUTIL_INCLUDE_DIR} ${AVCODEC_INCLUDE_DIR}
${SWSCALE_INCLUDE_DIR} ${AVFORMAT_INCLUDE_DIR})
set(LINK_LIBRARY_LIST ${LINK_LIBRARY_LIST} ${FFMPEG_LIBRARIES})
# HIP
set(LINK_LIBRARY_LIST ${LINK_LIBRARY_LIST} hip::device)
# LibDRM
include_directories(${LIBDRM_INCLUDE_DIR})
set(LINK_LIBRARY_LIST ${LINK_LIBRARY_LIST} ${LIBDRM_LIBRARY})
# LibVA
include_directories(${LIBVA_INCLUDE_DIR})
set(LINK_LIBRARY_LIST ${LINK_LIBRARY_LIST} ${LIBVA_LIBRARY})
set(LINK_LIBRARY_LIST ${LINK_LIBRARY_LIST} ${LIBVA_DRM_LIBRARY})
# HIP
set(LINK_LIBRARY_LIST ${LINK_LIBRARY_LIST} hip::device)
# FFMPEG
include_directories(${AVUTIL_INCLUDE_DIR} ${AVCODEC_INCLUDE_DIR}
${SWSCALE_INCLUDE_DIR} ${AVFORMAT_INCLUDE_DIR})
set(LINK_LIBRARY_LIST ${LINK_LIBRARY_LIST} ${FFMPEG_LIBRARIES})
# local include files
include_directories(api src/rocdecode src/parser src/rocdecode/vaapi)
@@ -201,9 +205,9 @@ if(HIP_FOUND AND FFMPEG_FOUND AND Libva_FOUND)
# Set the dependent packages
set(rocDecode_DEBIAN_PACKAGE_LIST
"vainfo, libva-dev, ffmpeg, libavcodec-dev, libavformat-dev, libswscale-dev")
"vainfo, libva-dev, libdrm-dev, ffmpeg, libavcodec-dev, libavformat-dev, libswscale-dev")
set(rocDecode_RPM_PACKAGE_LIST
"libva-devel,ffmpeg, libavcodec-devel, libavformat-devel, libswscale-devel")
"libva-devel, libdrm-devel, ffmpeg, libavcodec-devel, libavformat-devel, libswscale-devel")
# set dependency to ROCm if set to TRUE, default to OFF
set(ROCM_DEP_ROCMCORE OFF CACHE BOOL "Set rocm-core dependency")
if(ROCM_DEP_ROCMCORE)
@@ -243,11 +247,11 @@ if(HIP_FOUND AND FFMPEG_FOUND AND Libva_FOUND)
endif()
if(EXISTS ${RPMBUILD_EXE})
list(APPEND CPACK_GENERATOR "RPM")
message("-- ${White}rocDecode -- CPACK_RPM_PACKAGE_REQUIRES:${CPACK_RPM_PACKAGE_REQUIRES}${ColourReset}")
message("-- ${White}AMD ROCm rocDecode -- CPACK_RPM_PACKAGE_REQUIRES: ${CPACK_RPM_PACKAGE_REQUIRES}${ColourReset}")
endif()
if(EXISTS ${DPKG_EXE})
list(APPEND CPACK_GENERATOR "DEB")
message("-- ${White}rocDecode -- CPACK_DEBIAN_PACKAGE_DEPENDS:${CPACK_DEBIAN_PACKAGE_DEPENDS}${ColourReset}")
message("-- ${White}AMD ROCm rocDecode -- CPACK_DEBIAN_PACKAGE_DEPENDS: ${CPACK_DEBIAN_PACKAGE_DEPENDS}${ColourReset}")
endif()
include(CPack)
@@ -256,9 +260,12 @@ else()
message(FATAL_ERROR "-- ERROR!: HIP Not Found! - please install ROCm and HIP!")
endif()
if(NOT FFMPEG_FOUND)
message(FATAL_ERROR "-- ERROR!: FFMPEG Not Found! - please insatll FFMPEG!")
message(FATAL_ERROR "-- ERROR!: FFMPEG Not Found! - please install FFMPEG!")
endif()
if(NOT Libva_FOUND)
message(FATAL_ERROR "-- ERROR!: libva-dev Not Found - please install libva-dev!")
endif()
if(NOT Libdrm_FOUND)
message(FATAL_ERROR "-- ERROR!: libdrm-dev Not Found - please install libdrm-dev!")
endif()
endif()
+7 -1
Просмотреть файл
@@ -18,6 +18,11 @@ rocDecode is a high performance video decode SDK for AMD hardware
sudo apt install libva-dev
```
* libdrm-dev `2.4` or later
```
sudo apt install libdrm-dev
```
* [FFMPEG](https://ffmpeg.org/about.html)
```
sudo apt install ffmpeg libavcodec-dev libavformat-dev libswscale-dev
@@ -71,4 +76,5 @@ doxygen .Doxyfile
+ amdgpu-core - `1:5.6.50601-1649308`
* FFMPEG - `4.2.7` / `4.4.2-0`
* libva-dev - `2.7.0-2` / `2.14.0-1`
* rocDecode Setup Script - `V1.1`
* libdrm-dev - `2.4.107` / `2.4.113`
* rocDecode Setup Script - `V1.2`
+2 -4
Просмотреть файл
@@ -172,11 +172,9 @@ else()
endif()
if(FFMPEG_FOUND)
if(NOT FFMPEG_FIND_QUIETLY)
message("-- ${White}Using FFMPEG -- \n\tLibraries:${FFMPEG_LIBRARIES} \n\tIncludes:${FFMPEG_INCLUDE_DIR}${ColourReset}")
endif()
message("-- ${White}Using FFMPEG -- \n\tLibraries:${FFMPEG_LIBRARIES} \n\tIncludes:${FFMPEG_INCLUDE_DIR}${ColourReset}")
else()
if(FFMPEG_FIND_REQUIRED)
if(FFmpeg_FIND_REQUIRED)
message(FATAL_ERROR "{Red}FindFFmpeg -- libavcodec or libavformat or libavutil NOT FOUND${ColourReset}")
endif()
endif()
+14 -4
Просмотреть файл
@@ -21,12 +21,22 @@
#
################################################################################
find_package(PkgConfig)
pkg_check_modules(Libdrm libdrm)
find_library(LIBDRM_LIBRARY NAMES drm)
find_path(LIBDRM_INCLUDE_DIR NAMES drm.h PATHS /usr/include/libdrm /usr/include/drm)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Libdrm DEFAULT_MSG LIBDRM_INCLUDE_DIR LIBDRM_LIBRARY)
mark_as_advanced(LIBDRM_INCLUDE_DIR LIBDRM_LIBRARY)
if(Libdrm_FOUND)
if(NOT TARGET Libdrm::drm)
add_library(Libdrm::drm UNKNOWN IMPORTED)
set_target_properties(Libdrm::drm PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${Libdrm_INCLUDE_DIRS}"
IMPORTED_LOCATION "${Libdrm_LINK_LIBRARIES}")
set_target_properties(Libdrm::drm PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBDRM_INCLUDE_DIR}"
IMPORTED_LOCATION "${LIBDRM_LIBRARY}")
endif()
message("-- ${White}Using Libdrm -- \n\tLibraries:${LIBDRM_LIBRARY} \n\tIncludes:${LIBDRM_INCLUDE_DIR}${ColourReset}")
else()
if(Libdrm_FIND_REQUIRED)
message(FATAL_ERROR "{Red}FindLibdrm -- Libdrm NOT FOUND${ColourReset}")
endif()
endif()
+5 -8
Просмотреть файл
@@ -21,13 +21,12 @@
#
################################################################################
find_package(Libdrm REQUIRED)
find_library(LIBVA_LIBRARY NAMES va)
find_library(LIBVA_DRM_LIBRARY NAMES va-drm)
find_path(LIBVA_INCLUDE_DIR NAMES va/va.h)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Libva DEFAULT_MSG LIBVA_INCLUDE_DIR LIBVA_LIBRARY LIBVA_DRM_LIBRARY)
find_package_handle_standard_args(Libva DEFAULT_MSG LIBVA_INCLUDE_DIR LIBVA_LIBRARY)
mark_as_advanced(LIBVA_INCLUDE_DIR LIBVA_LIBRARY LIBVA_DRM_LIBRARY)
if(Libva_FOUND)
@@ -38,15 +37,13 @@ if(Libva_FOUND)
endif()
if(NOT TARGET Libva::va_drm)
add_library(Libva::va_drm UNKNOWN IMPORTED)
target_link_libraries(Libva::va_drm INTERFACE Libdrm::drm)
set_target_properties(Libva::va_drm PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBVA_INCLUDE_DIR}"
IMPORTED_LOCATION "${LIBVA_DRM_LIBRARY}")
endif()
if(NOT Libva_FIND_QUIETLY)
message("-- ${White}Using Libva -- \n\tLibraries:${LIBVA_LIBRARY} \n\tIncludes:${LIBVA_INCLUDE_DIR}${ColourReset}")
IMPORTED_LOCATION "${LIBVA_DRM_LIBRARY}")
endif()
message("-- ${White}Using Libva -- \n\tLibraries:${LIBVA_LIBRARY} \n\tIncludes:${LIBVA_INCLUDE_DIR}${ColourReset}")
message("-- ${White}Using Libva-drm -- \n\tLibraries:${LIBVA_DRM_LIBRARY}${ColourReset}")
else()
if(Libva_FIND_REQUIRED)
message(FATAL_ERROR "{Red}FindLibva -- Libva NOT FOUND${ColourReset}")
endif()
endif()
endif()
+3 -3
Просмотреть файл
@@ -28,7 +28,7 @@ else:
import subprocess
__copyright__ = "Copyright 2023, AMD ROCm rocDecode"
__version__ = "1.1"
__version__ = "1.2"
__email__ = "mivisionx.support@amd.com"
__status__ = "Shipping"
@@ -115,12 +115,12 @@ os.system('sudo '+linuxFlag+' '+linuxSystemInstall+' ' +
if "Ubuntu" in platfromInfo:
os.system('sudo -v')
os.system('sudo '+linuxFlag+' '+linuxSystemInstall+' '+linuxSystemInstall_check +
' install vainfo libva-dev ffmpeg libavcodec-dev libavformat-dev libswscale-dev')
' install vainfo libva-dev libdrm-dev ffmpeg libavcodec-dev libavformat-dev libswscale-dev')
else:
os.system('sudo '+linuxFlag+' '+linuxSystemInstall+' '+linuxSystemInstall_check +
' install autoconf automake bzip2 bzip2-devel freetype-devel')
os.system('sudo '+linuxFlag+' '+linuxSystemInstall+' '+linuxSystemInstall_check +
' install gcc-c++ libtool make pkgconfig zlib-devel libva-devel')
' install gcc-c++ libtool make pkgconfig zlib-devel libva-devel libdrm-devel')
# Nasm
os.system('sudo '+linuxFlag+' '+linuxSystemInstall+' '+linuxSystemInstall_check +
' install nasm')
+1 -1
Просмотреть файл
@@ -26,7 +26,7 @@ set(ROC_VIDEO_DEC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../utils/rocvideodecode)
# videoDecode
add_test(
NAME
video_decode
video_decode-H264
COMMAND
"${CMAKE_CTEST_COMMAND}"
--build-and-test "${CMAKE_CURRENT_SOURCE_DIR}/videoDecode"
+5 -1
Просмотреть файл
@@ -27,7 +27,11 @@ THE SOFTWARE.
#include <chrono>
#include <sys/stat.h>
#include <libgen.h>
#include <filesystem>
#if __cplusplus >= 201703L && __has_include(<filesystem>)
#include <filesystem>
#else
#include <experimental/filesystem>
#endif
#include "video_demuxer.hpp"
#include "rocdecode.h"