1########################################
2# libva
3# We only need header for libva
4# as it is including its own dynlinker
5#######################################
6# Check if it options
7MACRO(vaCheck fileToCompile varToSet title)
8   ADM_COMPILE(${fileToCompile} "" "${LIBVA_INCLUDE_DIR}" "va" OUTPUT_IS_OK_${varToSet} vaOutput)
9   MESSAGE(STATUS "Checking for ${title}, result of OUTPUT_IS_OK_${varToSet} is  ${OUTPUT_IS_OK_${varToSet}}")
10   IF(OUTPUT_IS_OK_${varToSet})
11           MESSAGE(STATUS "${title} is supported")
12           #MESSAGE(STATUS "(${vaOutput})")
13           SET(LIBVA_CFLAGS ${LIBVA_CFLAGS} -D${varToSet})
14   ELSE(OUTPUT_IS_OK_${varToSet})
15           MESSAGE(STATUS "${title} is not supported ")
16   ENDIF(OUTPUT_IS_OK_${varToSet})
17ENDMACRO(vaCheck fileToCompile varToSet title)
18#
19MACRO(checkLibVA)
20	if (UNIX)
21		IF (NOT LIBVA_CHECKED)
22			OPTION(LIBVA "" ON)
23
24			MESSAGE(STATUS "Checking for LIBVA")
25			MESSAGE(STATUS "*******************")
26
27			IF (LIBVA)
28
29				FIND_HEADER_AND_LIB(LIBVA va/va.h )
30
31				IF (LIBVA_FOUND)
32                                                MESSAGE(STATUS "Checking it is the right version...")
33                                                ADM_COMPILE(libva.cpp "" "${LIBVA_INCLUDE_DIR}" "va" LIBVA_COMPILED LIBVA_COMPILE_OUTPUT)
34                                                IF( LIBVA_COMPILED)
35							SET(LIBVA_FOUND 1)
36							SET(USE_LIBVA 1)
37							SET(LIBVA_INCLUDE_DIR "${LIBVA_INCLUDE_DIR}")
38                                                        MESSAGE(STATUS "    yes")
39                                                        # Check if it supports HEVC
40                                                        vaCheck(libva_hevcdec.cpp  LIBVA_HEVC_DEC "HEVC decoder")
41                                                        # VP8
42                                                        vaCheck(libva_vp9dec.cpp  LIBVA_VP9_DEC "VP9 decoder")
43                                                        # Failsafe
44                                                        vaCheck(libva_dummy.cpp  LIBVA_DUMMY_DEC "DUMMY decoder")
45                                                ELSE( LIBVA_COMPILED)
46                                                        SET(LIBVA_FOUND 0)
47                                                        MESSAGE(STATUS "Libva compile check failed")
48                                                        MESSAGE(STATUS "${LIBVA_COMPILE_OUTPUT}")
49                                                ENDIF( LIBVA_COMPILED)
50
51				ENDIF (LIBVA_FOUND)
52                                MESSAGE(STATUS "LibVA cflags=<${LIBVA_CFLAGS}>")
53				PRINT_LIBRARY_INFO("LIBVA" LIBVA_FOUND "${LIBVA_INCLUDE_DIR},${LIBVA_CFLAGS}" "${LIBVA_LIBRARY_DIR}")
54			ELSE (LIBVA)
55				MESSAGE("${MSG_DISABLE_OPTION}")
56			ENDIF (LIBVA)
57
58			SET(LIBVA_CHECKED 1)
59			MESSAGE("")
60		ENDIF (NOT LIBVA_CHECKED)
61
62		APPEND_SUMMARY_LIST("Miscellaneous" "LIBVA" "${LIBVA_FOUND}")
63	endif (UNIX)
64ENDMACRO(checkLibVA)
65