From e4807b9b850a686104af82a63717a97e72d5cc3b Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Wed, 15 Apr 2015 18:22:36 -0400 Subject: [PATCH] Allow for the va library to be used with ffmpeg. This needs verifying. --- CMake/DefineOptions.cmake | 1 + CMake/Modules/FindVa.cmake | 17 +++++++++++++++++ CMakeLists.txt | 10 ++++++++++ 3 files changed, 28 insertions(+) create mode 100644 CMake/Modules/FindVa.cmake diff --git a/CMake/DefineOptions.cmake b/CMake/DefineOptions.cmake index 033965af27..c89f387f15 100644 --- a/CMake/DefineOptions.cmake +++ b/CMake/DefineOptions.cmake @@ -26,6 +26,7 @@ else() option(WITH_FFMPEG "Build with FFMPEG." ON) # Builder beware: later versions of ffmpeg may break! option(WITH_SYSTEM_FFMPEG "Build with the system's FFMPEG." OFF) + option(WITH_LIBVA "Build with libVa support for Video Acceleration." OFF) option(WITH_TTY "Build with Linux TTY Input Support." OFF) option(WITH_PROFILING "Build with Profiling Support." OFF) option(WITH_GLES2 "Build with OpenGL ES 2.0 Support." ON) diff --git a/CMake/Modules/FindVa.cmake b/CMake/Modules/FindVa.cmake new file mode 100644 index 0000000000..33bfdc5c64 --- /dev/null +++ b/CMake/Modules/FindVa.cmake @@ -0,0 +1,17 @@ +# Find the Video Acceleration library. + +# The following will be set: + +# VA_INCLUDE_DIR +# VA_LIBRARY +# VA_FOUND + +find_path(VA_INCLUDE_DIR NAMES va/va.h) + +set(VA_NAMES "${VA_NAMES}" "va" "libva") +find_library(VA_LIBRARY NAMES ${VA_NAMES}) + +include(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(VA DEFAULT_MSG VA_LIBRARY VA_INCLUDE_DIR) + +mark_as_advanced(VA_LIBRARY VA_INCLUDE_DIR) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9e1ddddcfc..320092db37 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -256,6 +256,10 @@ elseif(LINUX) endif() if(WITH_FFMPEG) + if(WITH_LIBVA) + find_package(VA) + endif() + if (WITH_SYSTEM_FFMPEG) find_package("FFMPEG") if(NOT FFMPEG_FOUND) @@ -293,6 +297,12 @@ elseif(LINUX) ) endif() + if(WITH_LIBVA AND VA_FOUND) + list(APPEND FFMPEG_CONFIGURE + "--extra-ldflags=-lva" + ) + endif() + if (IS_DIRECTORY "${SM_FFMPEG_SRC_DIR}") externalproject_add("ffmpeg" SOURCE_DIR "${SM_FFMPEG_SRC_DIR}"