makedepends: switch libmfx to intel-media-sdk

intel-media-sdk, the open source version of
intel-media-server-studio, has now reached an acceptable stable
release that can be used here to provide libmfx.

This brings 2 important results:

1) The experimental state can be removed from the Intel QSV
   support, since intel-media-sdk also provides libmfxhw64
   and plugins for hardware accelerated decode and encode.

2) Finally we can get rid of the unsecure rpath in ffmpeg
   binaries!

intel-media-sdk is now a makedepend, instead of an optdepend
as previously. If fact, I should have switched it to
intel-media-server-studio in optdepends some time ago when
it has changed to the open source version, but I letted this
way while waiting for an acceptable stable release of, which
taked a while to happen.

Users should remove the libmfx{-git} package and stay only with
intel-media-sdk{-git} package, since the former is the complete
solution with the dispatcher library (libmfx.a), libmfxhw64 and
plugins.

Note1:
------
For the proper use of Intel QSV in ffmpeg the user must set the
vaapi/libva driver to 'iHD' through the 'LIBVA_DRIVER_NAME'
environment variable. The 'iHD' vaapi/libva driver is provided by
intel-media-driver{-git} package, which at the current time is
already a dependency of intel-media-sdk{-git} package. Setting
the vaapi/libva driver to 'iHD' can be done, for example, by
uncommenting the proper line in '/etc/profile.d/intel-media.sh'.

Note2:
------
intel-media-sdk is currently at a pre-release state. This can
lead to bugs when using Intel QSV.

Note3:
------
Not all Intel platforms are supported by intel-media-sdk. At the
current time, it claims to support only 5th and 6th Generation
Intel® Core™ processors (Broadwell and Skylake). For details,
please see the MediaSDK and media-driver documentation:
- https://github.com/Intel-Media-SDK/MediaSDK/
- https://github.com/intel/media-driver/

Note4:
------
Intel QSV is available in x86_64 systems only.

Also in this commit:
--------------------
- depends: moved 'libbs2b' and 'sndio' from the AUR section to
  the official repositories section, since they are now at the
  [community] official repository.
This commit is contained in:
Daniel Bermond
2018-04-15 17:18:47 +00:00
parent 5d72306579
commit d0fbec2ec5
2 changed files with 17 additions and 21 deletions
+4 -5
View File
@@ -1,7 +1,7 @@
pkgbase = ffmpeg-full pkgbase = ffmpeg-full
pkgdesc = Record, convert and stream audio and video (all possible features including nvenc, qsv and libfdk-aac) pkgdesc = Record, convert and stream audio and video (all possible features including nvenc, qsv and libfdk-aac)
pkgver = 3.4.2 pkgver = 3.4.2
pkgrel = 5 pkgrel = 6
url = http://www.ffmpeg.org/ url = http://www.ffmpeg.org/
arch = i686 arch = i686
arch = x86_64 arch = x86_64
@@ -9,7 +9,6 @@ pkgbase = ffmpeg-full
makedepends = nasm makedepends = nasm
makedepends = opencl-headers makedepends = opencl-headers
makedepends = blackmagic-decklink-sdk makedepends = blackmagic-decklink-sdk
makedepends = libmfx
depends = glibc depends = glibc
depends = alsa-lib depends = alsa-lib
depends = jack depends = jack
@@ -22,6 +21,7 @@ pkgbase = ffmpeg-full
depends = ladspa depends = ladspa
depends = libass depends = libass
depends = libbluray depends = libbluray
depends = libbs2b
depends = libcaca depends = libcaca
depends = celt depends = celt
depends = libcdio-paranoia depends = libcdio-paranoia
@@ -70,6 +70,7 @@ pkgbase = ffmpeg-full
depends = opencl-icd-loader depends = opencl-icd-loader
depends = mesa depends = mesa
depends = openssl depends = openssl
depends = sndio
depends = sdl2 depends = sdl2
depends = libx11 depends = libx11
depends = zlib depends = zlib
@@ -78,13 +79,11 @@ pkgbase = ffmpeg-full
depends = libdrm depends = libdrm
depends = libvdpau depends = libvdpau
depends = chromaprint-fftw depends = chromaprint-fftw
depends = libbs2b
depends = flite1-patched depends = flite1-patched
depends = libilbc depends = libilbc
depends = kvazaar depends = kvazaar
depends = openh264 depends = openh264
depends = libopenmpt-svn depends = libopenmpt-svn
depends = sndio
depends = shine depends = shine
depends = vo-amrwbenc depends = vo-amrwbenc
depends = xavs depends = xavs
@@ -125,8 +124,8 @@ pkgbase = ffmpeg-full
sha256sums = 04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36 sha256sums = 04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36
depends_x86_64 = cuda depends_x86_64 = cuda
depends_x86_64 = nvidia-utils depends_x86_64 = nvidia-utils
optdepends_x86_64 = intel-media-sdk: for Intel QSV support (experimental)
makedepends_x86_64 = vmaf makedepends_x86_64 = vmaf
makedepends_x86_64 = intel-media-sdk
pkgname = ffmpeg-full pkgname = ffmpeg-full
+13 -16
View File
@@ -4,7 +4,7 @@
pkgname=ffmpeg-full pkgname=ffmpeg-full
_srcname=ffmpeg _srcname=ffmpeg
pkgver=3.4.2 pkgver=3.4.2
pkgrel=5 pkgrel=6
pkgdesc='Record, convert and stream audio and video (all possible features including nvenc, qsv and libfdk-aac)' pkgdesc='Record, convert and stream audio and video (all possible features including nvenc, qsv and libfdk-aac)'
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
url='http://www.ffmpeg.org/' url='http://www.ffmpeg.org/'
@@ -13,33 +13,29 @@ depends=(
# official repositories: # official repositories:
'glibc' 'alsa-lib' 'jack' 'libpng' 'glibc' 'alsa-lib' 'jack' 'libpng'
'bzip2' 'frei0r-plugins' 'libgcrypt' 'gmp' 'gnutls' 'ladspa' 'libass' 'bzip2' 'frei0r-plugins' 'libgcrypt' 'gmp' 'gnutls' 'ladspa' 'libass'
'libbluray' 'libcaca' 'celt' 'libcdio-paranoia' 'libdc1394' 'libavc1394' 'libbluray' 'libbs2b' 'libcaca' 'celt' 'libcdio-paranoia' 'libdc1394'
'libfdk-aac' 'fontconfig' 'freetype2' 'fribidi' 'libgme' 'gsm' 'libiec61883' 'libavc1394' 'libfdk-aac' 'fontconfig' 'freetype2' 'fribidi' 'libgme' 'gsm'
'libmodplug' 'lame' 'opencore-amr' 'openjpeg2' 'opus' 'pulseaudio' 'libiec61883' 'libmodplug' 'lame' 'opencore-amr' 'openjpeg2' 'opus' 'pulseaudio'
'librsvg' 'rubberband' 'rtmpdump' 'smbclient' 'snappy' 'libsoxr' 'speex' 'librsvg' 'rubberband' 'rtmpdump' 'smbclient' 'snappy' 'libsoxr' 'speex'
'libssh' 'tesseract' 'libtheora' 'twolame' 'v4l-utils' 'vid.stab' 'libvorbis' 'libssh' 'tesseract' 'libtheora' 'twolame' 'v4l-utils' 'vid.stab' 'libvorbis'
'libvpx' 'wavpack' 'libwebp' 'libx264.so' 'x265' 'libxcb' 'xvidcore' 'libxml2' 'libvpx' 'wavpack' 'libwebp' 'libx264.so' 'x265' 'libxcb' 'xvidcore' 'libxml2'
'zimg' 'zeromq' 'zvbi' 'xz' 'openal' 'opencl-icd-loader' 'mesa' 'openssl' 'zimg' 'zeromq' 'zvbi' 'xz' 'openal' 'opencl-icd-loader' 'mesa' 'openssl'
'sdl2' 'libx11' 'zlib' 'libomxil-bellagio' 'libva' 'libdrm' 'libvdpau' 'sndio' 'sdl2' 'libx11' 'zlib' 'libomxil-bellagio' 'libva' 'libdrm' 'libvdpau'
# AUR: # AUR:
'chromaprint-fftw' 'libbs2b' 'flite1-patched' 'libilbc' 'kvazaar' 'openh264' 'chromaprint-fftw' 'flite1-patched' 'libilbc' 'kvazaar' 'openh264'
'libopenmpt-svn' 'sndio' 'shine' 'vo-amrwbenc' 'xavs' 'ndi-sdk' 'libmysofa' 'libopenmpt-svn' 'shine' 'vo-amrwbenc' 'xavs' 'ndi-sdk' 'libmysofa'
'rockchip-mpp' 'rockchip-mpp'
) )
depends_x86_64=('cuda' 'nvidia-utils') depends_x86_64=('cuda' 'nvidia-utils')
optdepends_x86_64=(
# AUR:
'intel-media-sdk: for Intel QSV support (experimental)'
)
makedepends=( makedepends=(
# official repositories: # official repositories:
'nasm' 'opencl-headers' 'nasm' 'opencl-headers'
# AUR: # AUR:
'blackmagic-decklink-sdk' 'libmfx' 'blackmagic-decklink-sdk'
) )
makedepends_x86_64=( makedepends_x86_64=(
# AUR: # AUR:
'vmaf' 'vmaf' 'intel-media-sdk'
) )
provides=( provides=(
'ffmpeg' 'ffmpeg-full-nvenc' 'ffmpeg-nvenc' 'ffmpeg-libfdk_aac' 'ffmpeg-decklink' 'ffmpeg' 'ffmpeg-full-nvenc' 'ffmpeg-nvenc' 'ffmpeg-libfdk_aac' 'ffmpeg-decklink'
@@ -79,19 +75,20 @@ build() {
then then
local _libvmaf='--enable-libvmaf' local _libvmaf='--enable-libvmaf'
local _cudasdk='--enable-cuda-sdk' local _cudasdk='--enable-cuda-sdk'
local _libmfx='--enable-libmfx'
local _libnpp='--enable-libnpp' local _libnpp='--enable-libnpp'
local _cflags='-I/opt/cuda/include' local _cflags='-I/opt/cuda/include'
local _ldflags='-L/opt/cuda/lib64' local _ldflags='-L/opt/cuda/lib64'
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH:+${PKG_CONFIG_PATH}:}/opt/intel/mediasdk/lib64/pkgconfig"
# set path of -lcuda (libcuda.so.x, required by cuda_sdk) # set path of -lcuda (libcuda.so.x, required by cuda_sdk)
# on systems with legacy nvidia drivers # on systems with legacy nvidia drivers
if pacman -Qs '^nvidia-340xx-utils' >/dev/null 2>&1 if pacman -Qs '^nvidia-340xx-utils' >/dev/null 2>&1
then then
_ldflags="${_ldflags} -L/usr/lib/nvidia" _ldflags="${_ldflags} -L/usr/lib/nvidia"
fi fi
_ldflags="${_ldflags} -Wl,-rpath -Wl,/opt/intel/mediasdk/lib64:/opt/intel/mediasdk/plugins"
fi fi
msg2 'Running ffmpeg configure script. Please wait...' msg2 'Running ffmpeg configure script. Please wait...'
@@ -197,7 +194,7 @@ build() {
$_cudasdk \ $_cudasdk \
--enable-cuvid \ --enable-cuvid \
--enable-libdrm \ --enable-libdrm \
--enable-libmfx \ $_libmfx \
$_libnpp \ $_libnpp \
--enable-nvenc \ --enable-nvenc \
--enable-omx \ --enable-omx \