Spaces:
Sleeping
Sleeping
| # 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) | |