@ -63,32 +63,44 @@ if (NOT WIN32 AND NOT ANDROID)
set ( FFmpeg_HWACCEL_INCLUDE_DIRS )
set ( FFmpeg_HWACCEL_LDFLAGS )
if ( LIBVA_FOUND )
# I n S o l a r i s n e e d s e x p l i c i t l i n k i n g f o r f f m p e g w h i c h l i n k s t o / l i b / a m d 6 4 / l i b X 1 1 . s o
if ( PLATFORM_SUN )
list ( APPEND FFmpeg_HWACCEL_LIBRARIES
X 1 1
" / u s r / l i b / x o r g / a m d 6 4 / l i b d r m . s o " )
else ( )
pkg_check_modules ( LIBDRM libdrm REQUIRED )
list ( APPEND FFmpeg_HWACCEL_LIBRARIES
$ { L I B D R M _ L I B R A R I E S } )
list ( APPEND FFmpeg_HWACCEL_INCLUDE_DIRS
$ { L I B D R M _ I N C L U D E _ D I R S } )
endif ( )
list ( APPEND FFmpeg_HWACCEL_FLAGS
- - e n a b l e - l i b d r m )
if ( LIBVA_FOUND )
find_package ( X11 REQUIRED )
pkg_check_modules ( LIBVA-DRM libva-drm REQUIRED )
pkg_check_modules ( LIBVA-X11 libva-x11 REQUIRED )
list ( APPEND FFmpeg_HWACCEL_LIBRARIES
$ { L I B D R M _ L I B R A R I E S }
$ { X 1 1 _ L I B R A R I E S }
$ { L I B V A - D R M _ L I B R A R I E S }
$ { L I B V A - X 1 1 _ L I B R A R I E S }
$ { L I B V A _ L I B R A R I E S } )
se t ( FFmpeg_HWACCEL_FLAGS
li st( APPEND FFmpeg_HWACCEL_FLAGS
- - e n a b l e - h w a c c e l = h 2 6 4 _ v a a p i
- - e n a b l e - h w a c c e l = v p 8 _ v a a p i
- - e n a b l e - h w a c c e l = v p 9 _ v a a p i
- - e n a b l e - l i b d r m )
- - e n a b l e - h w a c c e l = v p 9 _ v a a p i )
list ( APPEND FFmpeg_HWACCEL_INCLUDE_DIRS
$ { L I B D R M _ I N C L U D E _ D I R S }
$ { X 1 1 _ I N C L U D E _ D I R S }
$ { L I B V A - D R M _ I N C L U D E _ D I R S }
$ { L I B V A - X 1 1 _ I N C L U D E _ D I R S }
$ { L I B V A _ I N C L U D E _ D I R S }
)
message ( STATUS "VA-API found" )
message ( STATUS "ffmpeg: va-api libraries version ${LIBVA_VERSION} found" )
else ( )
set ( FFmpeg_HWACCEL_FLAGS --disable-vaapi )
list ( APPEND FFmpeg_HWACCEL_FLAGS --disable-vaapi )
message ( WARNING "ffmpeg: libva-dev not found, disabling Video Aceleraion API (VA-API)..." )
endif ( )
if ( FFNVCODEC_FOUND )
@ -103,7 +115,7 @@ if (NOT WIN32 AND NOT ANDROID)
list ( APPEND FFmpeg_HWACCEL_LIBRARIES ${ FFNVCODEC_LIBRARIES } )
list ( APPEND FFmpeg_HWACCEL_INCLUDE_DIRS ${ FFNVCODEC_INCLUDE_DIRS } )
list ( APPEND FFmpeg_HWACCEL_LDFLAGS ${ FFNVCODEC_LDFLAGS } )
message ( STATUS "ffnvcodec libraries version ${FFNVCODEC_VERSION} found" )
message ( STATUS "ffmpeg: ff nvcodec libraries version ${FFNVCODEC_VERSION} found" )
# f f n v e n c c o u l d l o a d C U D A l i b r a r i e s a t t h e r u n t i m e u s i n g d l o p e n / d l s y m o r L o a d L i b r a r y / G e t P r o c A d d r e s s
# h e r e w e h a n d l e t h e h a r d - l i n k i n g s e n a r i o w h e r e C U D A i s l i n k e d d u r i n g c o m p i l a t i o n
if ( CUDA_FOUND )
@ -112,7 +124,7 @@ if (NOT WIN32 AND NOT ANDROID)
list ( APPEND FFmpeg_HWACCEL_LIBRARIES ${ CUDA_LIBRARIES } )
list ( APPEND FFmpeg_HWACCEL_INCLUDE_DIRS ${ CUDA_INCLUDE_DIRS } )
list ( APPEND FFmpeg_HWACCEL_LDFLAGS ${ CUDA_LDFLAGS } )
message ( STATUS "CUDA libraries found, hard-linking will be performed" )
message ( STATUS "ffmpeg: CUDA libraries found, hard-linking will be performed" )
endif ( CUDA_FOUND )
endif ( )
@ -125,9 +137,10 @@ if (NOT WIN32 AND NOT ANDROID)
list ( APPEND FFmpeg_HWACCEL_LIBRARIES ${ VDPAU_LIBRARIES } )
list ( APPEND FFmpeg_HWACCEL_INCLUDE_DIRS ${ VDPAU_INCLUDE_DIRS } )
list ( APPEND FFmpeg_HWACCEL_LDFLAGS ${ VDPAU_LDFLAGS } )
message ( STATUS "vdpau libraries version ${VDPAU_VERSION} found" )
message ( STATUS "ffmpeg: vdpau libraries version ${VDPAU_VERSION} found" )
else ( )
list ( APPEND FFmpeg_HWACCEL_FLAGS --disable-vdpau )
message ( WARNING "ffmpeg: libvdpau-dev not found, disabling Video Decode and Presentation API for Unix (VDPAU)..." )
endif ( )
find_program ( BASH_PROGRAM bash REQUIRED )