Spaces:
Sleeping
Sleeping
File size: 3,245 Bytes
739258a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# Try to find the ffmpeg libraries and headers for avcodec avformat swscale
#
# FFMPEG_INCLUDE_DIRS
# FFMPEG_LIBRARIES
# FFMPEG_FOUND
# Find header files
FIND_PATH(
AVCODEC_INCLUDE_DIR libavcodec/avcodec.h
/usr/include /usr/local/include /opt/local/include /usr/include/x86_64-linux-gnu
)
FIND_PATH(
AVFORMAT_INCLUDE_DIR libavformat/avformat.h
/usr/include /usr/local/include /opt/local/include /usr/include/x86_64-linux-gnu
)
FIND_PATH(
AVDEVICE_INCLUDE_DIR libavdevice/avdevice.h
/usr/include /usr/local/include /opt/local/include /usr/include/x86_64-linux-gnu
)
FIND_PATH(
AVUTIL_INCLUDE_DIR libavutil/avutil.h
/usr/include /usr/local/include /opt/local/include /usr/include/x86_64-linux-gnu
)
FIND_PATH(
SWSCALE_INCLUDE_DIR libswscale/swscale.h
/usr/include /usr/local/include /opt/local/include /usr/include/x86_64-linux-gnu
)
# Find Library files
FIND_LIBRARY(
AVCODEC_LIBRARY
NAMES avcodec
PATH /usr/lib /usr/local/lib /opt/local/lib /usr/lib/x86_64-linux-gnu
)
FIND_LIBRARY(
AVFORMAT_LIBRARY
NAMES avformat
PATH /usr/lib /usr/local/lib /opt/local/lib /usr/lib/x86_64-linux-gnu
)
FIND_LIBRARY(
AVDEVICE_LIBRARY
NAMES avdevice
PATH /usr/lib /usr/local/lib /opt/local/lib /usr/lib/x86_64-linux-gnu
)
FIND_LIBRARY(
AVUTIL_LIBRARY
NAMES avutil
PATH /usr/lib /usr/local/lib /opt/local/lib /usr/lib/x86_64-linux-gnu
)
FIND_LIBRARY(
SWSCALE_LIBRARY
NAMES swscale
PATH /usr/lib /usr/local/lib /opt/local/lib /usr/lib/x86_64-linux-gnu
)
IF( EXISTS "${AVUTIL_INCLUDE_DIR}/libavutil/pixdesc.h" )
SET( AVUTIL_HAVE_PIXDESC TRUE)
endif()
IF(AVCODEC_INCLUDE_DIR AND AVFORMAT_INCLUDE_DIR AND AVUTIL_INCLUDE_DIR AND AVDEVICE_INCLUDE_DIR AND SWSCALE_INCLUDE_DIR AND AVCODEC_LIBRARY AND AVFORMAT_LIBRARY AND AVUTIL_LIBRARY AND SWSCALE_LIBRARY AND AVDEVICE_LIBRARY AND AVUTIL_HAVE_PIXDESC)
SET(FFMPEG_FOUND TRUE)
SET(FFMPEG_LIBRARIES ${AVCODEC_LIBRARY} ${AVFORMAT_LIBRARY} ${AVUTIL_LIBRARY} ${SWSCALE_LIBRARY} ${AVDEVICE_LIBRARY})
SET(FFMPEG_INCLUDE_DIRS ${AVCODEC_INCLUDE_DIR} ${AVFORMAT_INCLUDE_DIR} ${AVUTIL_INCLUDE_DIR} ${SWSCALE_INCLUDE_DIR} ${AVDEVICE_INCLUDE_DIR})
include(CheckCXXSourceCompiles)
SET(CMAKE_REQUIRED_INCLUDES ${FFMPEG_INCLUDE_DIRS})
CHECK_CXX_SOURCE_COMPILES(
"#include \"${AVCODEC_INCLUDE_DIR}/libavformat/avformat.h\"
int main() {
sizeof(AVFormatContext::max_analyze_duration);
}" HAVE_FFMPEG_MAX_ANALYZE_DURATION
)
CHECK_CXX_SOURCE_COMPILES(
"#include \"${AVCODEC_INCLUDE_DIR}/libavformat/avformat.h\"
int main() {
&avformat_alloc_output_context2;
}" HAVE_FFMPEG_AVFORMAT_ALLOC_OUTPUT_CONTEXT2
)
CHECK_CXX_SOURCE_COMPILES(
"#include \"${AVCODEC_INCLUDE_DIR}/libavutil/pixdesc.h\"
int main() {
AVPixelFormat test = AV_PIX_FMT_GRAY8;
}" HAVE_FFMPEG_AVPIXELFORMAT
)
ENDIF()
IF (FFMPEG_FOUND)
IF (NOT FFMPEG_FIND_QUIETLY)
MESSAGE(STATUS "Found FFMPEG: ${FFMPEG_LIBRARIES}")
ENDIF (NOT FFMPEG_FIND_QUIETLY)
ELSE (FFMPEG_FOUND)
IF (FFMPEG_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find FFMPEG")
ENDIF (FFMPEG_FIND_REQUIRED)
ENDIF (FFMPEG_FOUND)
|