From 85cc6e5c50873722e29b2df2682795afba7b7ca4 Mon Sep 17 00:00:00 2001 From: Chuanbo Weng Date: Mon, 2 Feb 2015 14:42:30 +0800 Subject: Add example to show libva buffer sharing with extension clCreateImageFromLibvaIntel. This example reads a source nv12 file to a VASurface, and creates a target VASurface. Then creates corresponding cl image objects from them. After using ocl to do mirror effect post-processing on source VASurface, target VASurface is shown on screen by default. Code of loading nv12 file to VASurface are referenced from libva/test/encode/avcenc.c. v2: Delete 1920x1080.nv12 and 640x480.nv12 because of large size, add 256_128.nv12 as default test image. v3: 1. Re-org files: add libva as a submodule then use display related files. 2. Show result on screen by default instead of saving as a file. 3. Fix warnings. v4: Fix whitespace format warnings. v5: 1. Modify upload_nv12_to_surface to read a nv12 file and then upload it to an NV12 VASurface. Also modify store_surface_to_nv12. 2. Change the cl post-processing kernel from gray effect to mirror effect, which make demo cooler. 3. Minor fix of other problems. v6: Remove unnecessary OUTPUT_NV12_DEFAULT related code. Signed-off-by: Chuanbo Weng Signed-off-by: Zhao Yakui Reviewed-by: "Guo, Yejun" --- CMakeLists.txt | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 38343c18..01ec1d81 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -183,6 +183,30 @@ ENDIF(OCLIcd_FOUND) Find_Package(PythonInterp) +OPTION(BUILD_EXAMPLES "Build examples" OFF) +IF(BUILD_EXAMPLES) +IF(NOT X11_FOUND) + MESSAGE(FATAL_ERROR "XLib is necessary for examples - not found") +ENDIF(NOT X11_FOUND) +# libva +pkg_check_modules(LIBVA REQUIRED libva>=0.36.0) +IF(LIBVA_FOUND) + MESSAGE(STATUS "Looking for LIBVA - found at ${LIBVA_PREFIX} ${LIBVA_VERSION}") + INCLUDE_DIRECTORIES(${LIBVA_INCLUDE_DIRS}) +ELSE(LIBVA_FOUND) + MESSAGE(STATUS "Looking for LIBVA (>= 0.36.0) - not found") +ENDIF(LIBVA_FOUND) + +# libva-x11 +pkg_check_modules(LIBVA-X11 REQUIRED libva-x11>=0.36.0) +IF(LIBVA-X11_FOUND) + MESSAGE(STATUS "Looking for LIBVA-X11 - found at ${LIBVA-X11_PREFIX} ${LIBVA-X11_VERSION}") + INCLUDE_DIRECTORIES(${LIBVA-X11_INCLUDE_DIRS}) +ELSE(LIBVA-X11_FOUND) + MESSAGE(STATUS "Looking for LIBVA-X11 (>= 0.36.0) - not found") +ENDIF(LIBVA-X11_FOUND) +ENDIF(BUILD_EXAMPLES) + ADD_SUBDIRECTORY(include) ADD_SUBDIRECTORY(backend) ADD_SUBDIRECTORY(src) @@ -193,6 +217,10 @@ IF (NOT (USE_STANDALONE_GBE_COMPILER STREQUAL "true")) ADD_SUBDIRECTORY(benchmark) ENDIF (NOT (USE_STANDALONE_GBE_COMPILER STREQUAL "true")) +IF(BUILD_EXAMPLES) +ADD_SUBDIRECTORY(examples) +ENDIF(BUILD_EXAMPLES) + SET(CPACK_PACKAGE_VERSION_MAJOR "${LIBCL_DRIVER_VERSION_MAJOR}") SET(CPACK_PACKAGE_VERSION_MINOR "${LIBCL_DRIVER_VERSION_MINOR}") SET(CPACK_PACKAGE_VERSION_PATCH "${LIBCL_DRIVER_VERSION_PATCH}") -- cgit v1.2.3