1 2 3include(admFFmpegBuild_helpers) 4 5#@@ 6ADM_FF_SET_DEFAULT() 7 8IF(USE_NVENC) 9 SET(FFMPEG_ENCODERS ${FFMPEG_ENCODERS} nvenc) 10 xadd("--enable-nvenc") 11 xadd("--extra-cflags=-I${NVENC_INCLUDE_DIR}") 12 set(FFMPEG_ENCODERS ${FFMPEG_ENCODERS} nvenc_h264 nvenc_hevc) 13ENDIF(USE_NVENC) 14 15#@@ 16ADM_FF_PATCH_IF_NEEDED() 17 18if (FFMPEG_PERFORM_PATCH) 19 MESSAGE(STATUS "Patching Linux common.mak") 20 patch_file("${FFMPEG_SOURCE_DIR}" "${FFMPEG_PATCH_DIR}/common.mak.diff") 21endif (FFMPEG_PERFORM_PATCH) 22 23xadd(--enable-pthreads) 24# help for debugging xadd(--disable-optimizations) 25 26if (USE_VDPAU) 27 xadd(--enable-vdpau) 28 set(FFMPEG_DECODERS ${FFMPEG_DECODERS} h264_vdpau vc1_vdpau mpeg1_vdpau mpeg_vdpau wmv3_vdpau) 29endif (USE_VDPAU) 30 31if (USE_LIBVA) 32 xadd(--enable-vaapi) 33 set(FFMPEG_DECODERS ${FFMPEG_DECODERS} h264_vaapi hevc_vaapi) 34 set(FFMPEG_ENCODERS ${FFMPEG_ENCODERS} h264_vaapi hevc_vaapi) 35endif (USE_LIBVA) 36 37if (USE_VIDEOTOOLBOX) 38 xadd(--enable-videotoolbox) 39 set(FFMPEG_ENCODERS ${FFMPEG_ENCODERS} h264_videotoolbox) 40endif (USE_VIDEOTOOLBOX) 41 42if (APPLE AND "$ENV{MACOSX_DEPLOYMENT_TARGET}" VERSION_EQUAL "10.15") 43 xadd(--extra-cflags="-fno-stack-check") # see https://trac.ffmpeg.org/ticket/8073 44endif (APPLE AND "$ENV{MACOSX_DEPLOYMENT_TARGET}" VERSION_EQUAL "10.15") 45 46#@@ 47ADM_FF_ADD_OPTIONS() 48 49xadd(--cc "${CMAKE_C_COMPILER}") 50xadd(--ld "${CMAKE_C_COMPILER}") 51xadd(--ar "${CMAKE_AR}") 52 53#@@ 54ADM_FF_SET_EXTRA_FLAGS() 55 56#@@ 57ADM_FF_BUILD_UNIX_STYLE() 58# 59ADM_FF_ADD_DUMMY_TARGET() 60 61IF(APPLE) 62 MESSAGE(STATUS "Patching config.mak - mac") 63 patch_file("${FFMPEG_BINARY_DIR}" "${FFMPEG_PATCH_DIR}/config.mak.mac.diff") 64ELSE(APPLE) 65 MESSAGE(STATUS "Patching Linux config.mak") 66 patch_file("${FFMPEG_BINARY_DIR}" "${FFMPEG_PATCH_DIR}/config.mak.diff") 67ENDIF(APPLE) 68# 69MACRO(FF_ADD_SUBLIB lib) 70 add_custom_command( 71 OUTPUT "${lib}" 72 DEPENDS libavutil_dummy 73 COMMAND ${BASH_EXECUTABLE} -c echo "placeHolder") 74 75ENDMACRO(FF_ADD_SUBLIB lib) 76 77FF_ADD_SUBLIB( "${FFMPEG_BINARY_DIR}/libavutil/${LIBAVUTIL_LIB}" ) 78FF_ADD_SUBLIB( "${FFMPEG_BINARY_DIR}/libavcodec/${LIBAVCODEC_LIB}" ) 79FF_ADD_SUBLIB( "${FFMPEG_BINARY_DIR}/libavformat/${LIBAVFORMAT_LIB}" ) 80FF_ADD_SUBLIB( "${FFMPEG_BINARY_DIR}/libpostproc/${LIBPOSTPROC_LIB}" ) 81FF_ADD_SUBLIB( "${FFMPEG_BINARY_DIR}/libswscale/${LIBSWSCALE_LIB}" ) 82 83ADM_FF_INSTALL_LIBS_AND_HEADERS() 84 85IF(USE_LIBVA) 86 INSTALL(FILES "${FFMPEG_SOURCE_DIR}/libavcodec/vaapi.h" DESTINATION "${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/libavcodec" COMPONENT dev) 87 #INSTALL(FILES "${FFMPEG_SOURCE_DIR}/libavcodec/vaapi_internal.h" DESTINATION "${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/libavcodec" COMPONENT dev) 88ENDIF(USE_LIBVA) 89# EOF 90