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
|
vtk_module_find_package(
PACKAGE FFMPEG
VERSION 2.3.3
FORWARD_VERSION_REQ MINOR
COMPONENTS
avformat
avcodec
avutil
swscale
OPTIONAL_COMPONENTS
swresample)
set(classes
vtkFFMPEGWriter)
set_source_files_properties(vtkFFMPEGWriter.cxx
PROPERTIES
COMPILE_DEFINITIONS __STDC_CONSTANT_MACROS)
# vtkFFMPEGVideoSource requires ffmpeg 3.1 or later.
if (NOT FFMPEG_VERSION VERSION_LESS "3.1")
list(APPEND classes
vtkFFMPEGVideoSource)
endif ()
set(ffmpeg_libraries)
if (NOT FFMPEG_VERSION VERSION_LESS "5.0")
if (NOT FFMPEG_swresample_FOUND)
message(FATAL_ERROR
"FFMPEG 5.0 requires the `swresample` library.")
endif ()
list(APPEND ffmpeg_libraries
FFMPEG::swresample)
endif ()
set(ffmpeg_libraries)
if (NOT FFMPEG_VERSION VERSION_LESS "5.0")
if (NOT FFMPEG_swresample_FOUND)
message(FATAL_ERROR
"FFMPEG 5.0 requires the `swresample` library.")
endif ()
list(APPEND ffmpeg_libraries
FFMPEG::swresample)
endif ()
vtk_module_add_module(VTK::IOFFMPEG
CLASSES ${classes})
vtk_module_link(VTK::IOFFMPEG
PRIVATE
FFMPEG::avformat
FFMPEG::avcodec
FFMPEG::avutil
FFMPEG::swscale
${ffmpeg_libraries})
vtk_add_test_mangling(VTK::IOFFMPEG)
|