FFmpegOpenCL

Version 1 (Emmanuel Quemener, 13/04/2013 22:21) → Version 2/9 (Emmanuel Quemener, 13/04/2013 22:30)

h1. Installation d'un FFmpeg OpenCL

h2. Préparation de la Debian Wheezy

* Installation de git pour le téléchargement des sources
<pre>
apt-get install git
</pre>
* Installation des dépendances nécessaires pour compiler le ffmpeg de la Debian
<pre>
apt-get build-dep ffmpeg
</pre>
* Installation de l'OpenCL AMD utilisable sur le processeur
<pre>
apt-get install amd-opencl-icd amd-opencl-dev amd-libopencl1 amd-clinfo
</pre>


h2. Vérification de la disponibilité OpenCL

Le lancement de la commande clinfo
<pre>
Number of platforms: 1
Platform Profile: FULL_PROFILE
Platform Version: OpenCL 1.2 AMD-APP (938.2)
Platform Name: AMD Accelerated Parallel Processing
Platform Vendor: Advanced Micro Devices, Inc.
Platform Extensions: cl_khr_icd cl_amd_event_callback cl_amd_offline_devices

Platform Name: AMD Accelerated Parallel Processing
Number of devices: 1
Device Type: CL_DEVICE_TYPE_CPU
Device ID: 4098
---
Name: QEMU Virtual CPU version 1.1.2
Vendor: AuthenticAMD
Device OpenCL C version: OpenCL C 1.2
Driver version: 2.0 (sse2)
Profile: FULL_PROFILE
Version: OpenCL 1.2 AMD-APP (938.2)
Extensions: cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_popcnt
</pre>

h2. Récupération des sources par git

<pre>
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
</pre>

h2. Préparation de la compilation

Nous supposons que nous allons placer toute notre archive compilée FFmpeg dans @/opt/ffmpeg@ :<pre>
cd ffmpeg
./configure --prefix=/opt/ffmpeg --extra-cflags="-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security " --extra-ldflags="-Wl,-z,relro" --cc="ccache cc" --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/opt/ffmpeg/lib --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-opencl --enable-libdc1394 --enable-libfdk-aac --disable-altivec --disable-armv5te --disable-armv6 --disable-vis --shlibdir=/opt/ffmpeg/lib/
</pre>

h2. Compilation

<pre>
time make
</pre>

h2. Installation

<pre>
time make install
</pre>