FFmpegOpenCL
Version 6 (Emmanuel Quemener, 13/04/2013 22:54)
1 | 1 | Emmanuel Quemener | h1. Installation d'un FFmpeg OpenCL |
---|---|---|---|
2 | 1 | Emmanuel Quemener | |
3 | 1 | Emmanuel Quemener | h2. Préparation de la Debian Wheezy |
4 | 1 | Emmanuel Quemener | |
5 | 3 | Emmanuel Quemener | * Installation de quoi compiler un paquet |
6 | 3 | Emmanuel Quemener | <pre> |
7 | 3 | Emmanuel Quemener | apt-get install pbuilder |
8 | 3 | Emmanuel Quemener | </pre> |
9 | 1 | Emmanuel Quemener | * Installation de git pour le téléchargement des sources |
10 | 1 | Emmanuel Quemener | <pre> |
11 | 1 | Emmanuel Quemener | apt-get install git |
12 | 1 | Emmanuel Quemener | </pre> |
13 | 1 | Emmanuel Quemener | * Installation des dépendances nécessaires pour compiler le ffmpeg de la Debian |
14 | 1 | Emmanuel Quemener | <pre> |
15 | 1 | Emmanuel Quemener | apt-get build-dep ffmpeg |
16 | 1 | Emmanuel Quemener | </pre> |
17 | 1 | Emmanuel Quemener | * Installation de l'OpenCL AMD utilisable sur le processeur |
18 | 1 | Emmanuel Quemener | <pre> |
19 | 2 | Emmanuel Quemener | apt-get install amd-opencl-icd amd-opencl-dev amd-libopencl1 amd-clinfo |
20 | 2 | Emmanuel Quemener | </pre> |
21 | 1 | Emmanuel Quemener | |
22 | 2 | Emmanuel Quemener | h2. Vérification de la disponibilité OpenCL |
23 | 2 | Emmanuel Quemener | |
24 | 2 | Emmanuel Quemener | Le lancement de la commande clinfo |
25 | 2 | Emmanuel Quemener | <pre> |
26 | 2 | Emmanuel Quemener | Number of platforms: 1 |
27 | 2 | Emmanuel Quemener | Platform Profile: FULL_PROFILE |
28 | 2 | Emmanuel Quemener | Platform Version: OpenCL 1.2 AMD-APP (938.2) |
29 | 2 | Emmanuel Quemener | Platform Name: AMD Accelerated Parallel Processing |
30 | 2 | Emmanuel Quemener | Platform Vendor: Advanced Micro Devices, Inc. |
31 | 2 | Emmanuel Quemener | Platform Extensions: cl_khr_icd cl_amd_event_callback cl_amd_offline_devices |
32 | 2 | Emmanuel Quemener | |
33 | 2 | Emmanuel Quemener | |
34 | 2 | Emmanuel Quemener | Platform Name: AMD Accelerated Parallel Processing |
35 | 2 | Emmanuel Quemener | Number of devices: 1 |
36 | 2 | Emmanuel Quemener | Device Type: CL_DEVICE_TYPE_CPU |
37 | 2 | Emmanuel Quemener | Device ID: 4098 |
38 | 2 | Emmanuel Quemener | --- |
39 | 2 | Emmanuel Quemener | Name: QEMU Virtual CPU version 1.1.2 |
40 | 2 | Emmanuel Quemener | Vendor: AuthenticAMD |
41 | 2 | Emmanuel Quemener | Device OpenCL C version: OpenCL C 1.2 |
42 | 2 | Emmanuel Quemener | Driver version: 2.0 (sse2) |
43 | 2 | Emmanuel Quemener | Profile: FULL_PROFILE |
44 | 2 | Emmanuel Quemener | Version: OpenCL 1.2 AMD-APP (938.2) |
45 | 2 | Emmanuel Quemener | 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 |
46 | 2 | Emmanuel Quemener | </pre> |
47 | 2 | Emmanuel Quemener | |
48 | 2 | Emmanuel Quemener | h2. Récupération des sources par git |
49 | 2 | Emmanuel Quemener | |
50 | 2 | Emmanuel Quemener | <pre> |
51 | 2 | Emmanuel Quemener | git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg |
52 | 2 | Emmanuel Quemener | </pre> |
53 | 2 | Emmanuel Quemener | |
54 | 2 | Emmanuel Quemener | h2. Préparation de la compilation |
55 | 2 | Emmanuel Quemener | |
56 | 2 | Emmanuel Quemener | Nous supposons que nous allons placer toute notre archive compilée FFmpeg dans @/opt/ffmpeg@ :<pre> |
57 | 2 | Emmanuel Quemener | cd ffmpeg |
58 | 2 | Emmanuel Quemener | ./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/ |
59 | 2 | Emmanuel Quemener | </pre> |
60 | 2 | Emmanuel Quemener | |
61 | 2 | Emmanuel Quemener | h2. Compilation |
62 | 2 | Emmanuel Quemener | |
63 | 2 | Emmanuel Quemener | <pre> |
64 | 2 | Emmanuel Quemener | time make |
65 | 2 | Emmanuel Quemener | </pre> |
66 | 2 | Emmanuel Quemener | |
67 | 5 | Emmanuel Quemener | <pre> |
68 | 5 | Emmanuel Quemener | STRIP ffserver |
69 | 5 | Emmanuel Quemener | skipping strip ffserver |
70 | 5 | Emmanuel Quemener | |
71 | 5 | Emmanuel Quemener | real 16m43.162s |
72 | 5 | Emmanuel Quemener | user 14m53.112s |
73 | 5 | Emmanuel Quemener | sys 1m15.065s |
74 | 5 | Emmanuel Quemener | </pre> |
75 | 5 | Emmanuel Quemener | |
76 | 2 | Emmanuel Quemener | h2. Installation |
77 | 2 | Emmanuel Quemener | |
78 | 2 | Emmanuel Quemener | <pre> |
79 | 1 | Emmanuel Quemener | time make install |
80 | 1 | Emmanuel Quemener | </pre> |
81 | 4 | Emmanuel Quemener | |
82 | 4 | Emmanuel Quemener | h2. Vérification des dépendances OpenCL |
83 | 4 | Emmanuel Quemener | |
84 | 5 | Emmanuel Quemener | <pre> |
85 | 5 | Emmanuel Quemener | cd /opt/ffmpeg |
86 | 5 | Emmanuel Quemener | find /opt/ffmpeg/ -executable -exec ldd {} \; 2>/dev/null | grep -i opencl |
87 | 6 | Emmanuel Quemener | </pre> |
88 | 4 | Emmanuel Quemener | |
89 | 5 | Emmanuel Quemener | <pre> |
90 | 5 | Emmanuel Quemener | libOpenCL.so.1 => /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 (0x00007f021c24b000) |
91 | 5 | Emmanuel Quemener | libOpenCL.so.1 => /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 (0x00007fbaeba83000) |
92 | 5 | Emmanuel Quemener | libOpenCL.so.1 => /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 (0x00007f5a182eb000) |
93 | 5 | Emmanuel Quemener | libOpenCL.so.1 => /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 (0x00007f5a9173d000) |
94 | 5 | Emmanuel Quemener | libOpenCL.so.1 => /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 (0x00007f848b776000) |
95 | 5 | Emmanuel Quemener | libOpenCL.so.1 => /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 (0x00007f892615a000) |
96 | 5 | Emmanuel Quemener | </pre> |
97 | 5 | Emmanuel Quemener | |
98 | 5 | Emmanuel Quemener | Nous découvrons que 6 exécutables ou librairies disposent d'une dépendance à OpenCL. |
99 | 4 | Emmanuel Quemener | h2. Test de compression |