*** Add Intel QuickSync support to ffmpeg ***
v2 cover *** Add Intel QuickSync support to ffmpeg ***
In addition of the existing VAAPI for hardware encoding, Intel provides the libmfx API embeded in its Intel MediaSDK. Intel MediaSDK improves encoding quality, is faster, and makes use of all encoding capabilities on Intel platforms.
MFX test procedure (h264):
1. Retrieve sample data (https://github.com/Intel-Media-SDK/samples)
2. Run ./sample_multi_transcode -i::h264 test_stream.264 -o::h264 out.264.
3. Test should pass.
FFMpeg QuickSync test procedure (h264):
1. Download test video: https://peach.blender.org/trailer-page/
2. Run ffmpeg -y -hwaccel qsv -qsv_device /dev/dri/renderD128 -c:v h264_qsv -i /trailer_1080p.mov -c:v h264_qsv -framerate 60 -acodec copy out.mp4
Louis-Paul Cordier (6):
intel-gmmlib: new package.
intel-mediadriver: new package.
intel-mediasdk: new package.
ffmpeg: bump to version 4.1. ffserver is not supported anymore.
ffmpeg: enable Intel QuickSync support.
Update DEVELOPERS.
DEVELOPERS | 5 +++ package/Config.in | 3 ++ package/ffmpeg/0001-ffmpeg-pthreads.patch | 34 ------------------- package/ffmpeg/Config.in | 6 ---- package/ffmpeg/ffmpeg.hash | 2 +- package/ffmpeg/ffmpeg.mk | 15 ++++---- package/intel-gmmlib/Config.in | 8 +++++ package/intel-gmmlib/intel-gmmlib.hash | 2 ++ package/intel-gmmlib/intel-gmmlib.mk | 17 ++++++++++ package/intel-mediadriver/Config.in | 17 ++++++++++ .../intel-mediadriver/intel-mediadriver.hash | 2 ++ .../intel-mediadriver/intel-mediadriver.mk | 29 ++++++++++++++++ package/intel-mediasdk/Config.in | 13 +++++++ package/intel-mediasdk/intel-mediasdk.hash | 2 ++ package/intel-mediasdk/intel-mediasdk.mk | 17 ++++++++++ 15 files changed, 124 insertions(+), 48 deletions(-) delete mode 100644 package/ffmpeg/0001-ffmpeg-pthreads.patch create mode 100644 package/intel-gmmlib/Config.in create mode 100644 package/intel-gmmlib/intel-gmmlib.hash create mode 100644 package/intel-gmmlib/intel-gmmlib.mk create mode 100644 package/intel-mediadriver/Config.in create mode 100644 package/intel-mediadriver/intel-mediadriver.hash create mode 100644 package/intel-mediadriver/intel-mediadriver.mk create mode 100644 package/intel-mediasdk/Config.in create mode 100644 package/intel-mediasdk/intel-mediasdk.hash create mode 100644 package/intel-mediasdk/intel-mediasdk.mk
Signature · 1 line
2.20.1
PATCH v2 1/6 intel-gmmlib: new package.
---
v2: (feedback Baruch Siach)
- Let default install target.
package/Config.in | 1 + package/intel-gmmlib/Config.in | 8 ++++++++ package/intel-gmmlib/intel-gmmlib.hash | 2 ++ package/intel-gmmlib/intel-gmmlib.mk | 17 +++++++++++++++++ 4 files changed, 28 insertions(+) create mode 100644 package/intel-gmmlib/Config.in create mode 100644 package/intel-gmmlib/intel-gmmlib.hash create mode 100644 package/intel-gmmlib/intel-gmmlib.mk
package/Config.in +1 -0
@@ -1265,6 +1265,7 @@ menu "Graphics" source "package/harfbuzz/Config.in" source "package/ijs/Config.in" source "package/imlib2/Config.in" + source "package/intel-gmmlib/Config.in" source "package/irrlicht/Config.in" source "package/jasper/Config.in" source "package/jpeg/Config.in"
package/intel-gmmlib/Config.in new file +8 -0
@@ -0,0 +1,8 @@ +config BR2_PACKAGE_INTEL_GMMLIB + bool "intel-gmmlib" + depends on BR2_x86_64 + help + The Intel(R) Graphics Memory Management Library provides + device specific and buffer management for the Intel(R) + Graphics Compute Runtime for OpenCL(TM) and the Intel(R) + Media Driver for VAAPI.
package/intel-gmmlib/intel-gmmlib.hash new file +2 -0
@@ -0,0 +1,2 @@ +# Locally computed +sha256 e3114d7ddd429f1b9aa43a1b1d0086d881fbf4d90e4a90ab8577c369d2e3a5e1 intel-gmmlib-18.3.0.tar.gz
package/intel-gmmlib/intel-gmmlib.mk new file +17 -0
@@ -0,0 +1,17 @@ +################################################################################ +# +# intel-gmmlib +# +################################################################################ + +INTEL_GMMLIB_VERSION = 18.3.0 +INTEL_GMMLIB_SITE = https://github.com/intel/gmmlib/archive +INTEL_GMMLIB_LICENSE = MIT +INTEL_GMMLIB_LICENSE_FILES = COPYING + +INTEL_GMMLIB_INSTALL_STAGING = YES +INTEL_GMMLIB_SUPPORTS_IN_SOURCE_BUILD = NO + +INTEL_GMMLIB_CONF_OPTS += -DRUN_TEST_SUITE=OFF + +$(eval $(cmake-package))
Signature · 1 line
2.20.1
PATCH v2 1/6 intel-gmmlib: new package.
Hello,
Nit: there shouldn't be a final dot at end of commit title.
Quoted 4 lines · On Thu, 31 Jan 2019 13:15:21 +0100 Louis-Paul Cordier <[email protected]> wrote:
package/Config.in | 1 + package/intel-gmmlib/Config.in | 8 ++++++++ package/intel-gmmlib/intel-gmmlib.hash | 2 ++ package/intel-gmmlib/intel-gmmlib.mk | 17 +++++++++++++++++
Missing update to the DEVELOPERS file
Quoted 7 lines
package/intel-gmmlib/intel-gmmlib.hash new file +1
-0+sha256 e3114d7ddd429f1b9aa43a1b1d0086d881fbf4d90e4a90ab8577c369d2e3a5e1 intel-gmmlib-18.3.0.tar.gzpackage/intel-gmmlib/intel-gmmlib.mk new file +0
-0
package/intel-gmmlib/intel-gmmlib.mk line 7
Quoted 7 lines
package/intel-gmmlib/intel-gmmlib.mk new file +7
-0@@ -0,0 +1,17 @@ +################################################################################ +# +# intel-gmmlib +# +################################################################################ + +INTEL_GMMLIB_VERSION = 18.3.0
There is an ewer 18.4.1 version available.
package/intel-gmmlib/intel-gmmlib.mk line 15
Quoted 8 lines
package/intel-gmmlib/intel-gmmlib.mk new file +8
-0+INTEL_GMMLIB_SITE = https://github.com/intel/gmmlib/archive +INTEL_GMMLIB_LICENSE = MIT +INTEL_GMMLIB_LICENSE_FILES = COPYING + +INTEL_GMMLIB_INSTALL_STAGING = YES +INTEL_GMMLIB_SUPPORTS_IN_SOURCE_BUILD = NO + +INTEL_GMMLIB_CONF_OPTS += -DRUN_TEST_SUITE=OFF
+= can be made just =.
Other than those minor nits, looks good to me.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
Thomas Petazzoni
AppliedPATCH v2 1/6 intel-gmmlib: new package.
In reply to Louis-Paul CordierQuoted 4 lines · On Thu, 31 Jan 2019 13:15:21 +0100 Louis-Paul Cordier <[email protected]> wrote:
Signed-off-by Louis-Paul Cordier <[email protected]>---
v2: (feedback Baruch Siach)
- Let default install target.
Applied to master after adding an entry to DEVELOPERS file, updating to 18.4.1, adding an upstream URL to Config.in.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH v2 2/6 intel-mediadriver: new package.
In reply to Louis-Paul Cordier---
v2:
- Let default install target. (feedback Baruch Siach)
- Fix missing dependencies.
- Remove useless CMake options.
package/Config.in | 1 + package/intel-mediadriver/Config.in | 17 +++++++++++ .../intel-mediadriver/intel-mediadriver.hash | 2 ++ .../intel-mediadriver/intel-mediadriver.mk | 29 +++++++++++++++++++ 4 files changed, 49 insertions(+) create mode 100644 package/intel-mediadriver/Config.in create mode 100644 package/intel-mediadriver/intel-mediadriver.hash create mode 100644 package/intel-mediadriver/intel-mediadriver.mk
package/Config.in +1 -0
@@ -1266,6 +1266,7 @@ menu "Graphics" source "package/ijs/Config.in" source "package/imlib2/Config.in" source "package/intel-gmmlib/Config.in" + source "package/intel-mediadriver/Config.in" source "package/irrlicht/Config.in" source "package/jasper/Config.in" source "package/jpeg/Config.in"
package/intel-mediadriver/Config.in new file +17 -0
@@ -0,0 +1,17 @@ +config BR2_PACKAGE_INTEL_MEDIADRIVER + bool "intel-mediadriver" + depends on BR2_x86_64 + select BR2_PACKAGE_INTEL_GMMLIB + select BR2_PACKAGE_LIBPCIACCESS + select BR2_PACKAGE_LIBVA + select BR2_PACKAGE_MESA3D + select BR2_PACKAGE_XLIB_LIBX11 + + help + The Intel(R) Media Driver for VAAPI is a new VA-API (Video + Acceleration API) user mode driver supporting hardware + accelerated decoding, encoding, and video post processing for + GEN based graphics hardware. + +comment "intel-mediadriver needs libx11" + depends on !BR2_PACKAGE_XLIB_LIBX11
package/intel-mediadriver/intel-mediadriver.hash new file +2 -0
@@ -0,0 +1,2 @@ +# Locally computed +sha256 df9af1cc796b4123508aacaf19d040cc5d8c5742c05199f45c9a3905ed8d1b52 intel-media-18.3.0.tar.gz
package/intel-mediadriver/intel-mediadriver.mk new file +29 -0
@@ -0,0 +1,29 @@ +################################################################################ +# +# intel-mediadriver +# +################################################################################ + +# based on https://software.intel.com/en-us/articles/build-and-debug-open-source-media-stack + +INTEL_MEDIADRIVER_VERSION = 18.3.0 +INTEL_MEDIADRIVER_SITE = http://github.com/intel/media-driver/archive +INTEL_MEDIADRIVER_SOURCE= intel-media-$(INTEL_MEDIADRIVER_VERSION).tar.gz +INTEL_MEDIADRIVER_LICENSE = MIT BSD-3-Clause +INTEL_MEDIADRIVER_LICENSE_FILES = LICENSE.md + +INTEL_MEDIADRIVER_DEPENDENCIES += intel-gmmlib +INTEL_MEDIADRIVER_DEPENDENCIES += libpciaccess +INTEL_MEDIADRIVER_DEPENDENCIES += libva +INTEL_MEDIADRIVER_DEPENDENCIES += mesa3d +INTEL_MEDIADRIVER_DEPENDENCIES += xlib_libX11 + +INTEL_MEDIADRIVER_SUPPORTS_IN_SOURCE_BUILD = NO + +INTEL_MEDIADRIVER_CONF_OPTS += -DMEDIA_VERSION="2.0.0"\ + -DBUILD_ALONG_WITH_CMRTLIB=1 \ + -DINSTALL_DRIVERS_SYSCONF=OFF \ + -DMEDIA_RUN_TEST_SUITE=OFF \ + -DRUN_TEST_SUITE=OFF + +$(eval $(cmake-package))
Signature · 1 line
2.20.1
PATCH v2 2/6 intel-mediadriver: new package.
Hello,
Commit tite should be:
package/intel-mediadriver: new package
Quoted 5 lines · On Thu, 31 Jan 2019 13:15:22 +0100 Louis-Paul Cordier <[email protected]> wrote:
package/Config.in | 1 + package/intel-mediadriver/Config.in | 17 +++++++++++ .../intel-mediadriver/intel-mediadriver.hash | 2 ++ .../intel-mediadriver/intel-mediadriver.mk | 29 +++++++++++++++++++ 4 files changed, 49 insertions(+)
Missing update to the DEVELOPERS file.
Quoted 6 lines
package/intel-mediadriver/Config.in new file +0
-0
package/intel-mediadriver/Config.in line 8
Quoted 8 lines
package/intel-mediadriver/Config.in new file +8
-0@@ -0,0 +1,17 @@ +config BR2_PACKAGE_INTEL_MEDIADRIVER + bool "intel-mediadriver" + depends on BR2_x86_64 + select BR2_PACKAGE_INTEL_GMMLIB + select BR2_PACKAGE_LIBPCIACCESS + select BR2_PACKAGE_LIBVA + select BR2_PACKAGE_MESA3D + select BR2_PACKAGE_XLIB_LIBX11
You cannot select all those packages without replicating their dependencies.
libva has:
depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm/libpthread-stubs depends on !BR2_STATIC_LIBS
mesa3d has:
depends on BR2_INSTALL_LIBSTDCPP
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HAS_SYNC_1
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
and for libx11, you need to add:
depends on BR2_PACKAGE_XORG7
package/intel-mediadriver/Config.in line 9
Quoted 1 line
package/intel-mediadriver/Config.in new file +1
-0+
Unneeded blank line.
package/intel-mediadriver/Config.in line 14
Quoted 5 lines
package/intel-mediadriver/Config.in new file +5
-0+ help + The Intel(R) Media Driver for VAAPI is a new VA-API (Video + Acceleration API) user mode driver supporting hardware + accelerated decoding, encoding, and video post processing for + GEN based graphics hardware.
Please add a blank line, followed by the upstream URL of the project.
package/intel-mediadriver/Config.in line 17
Quoted 2 lines
package/intel-mediadriver/Config.in new file +2
-0+comment "intel-mediadriver needs libx11" + depends on !BR2_PACKAGE_XLIB_LIBX11
This particular comment didn't make much sense, because you are selecting BR2_PACKAGE_XLIB_LIBX11.
Instead, we need a comment that details the "depends on" dependencies of this package.
package/intel-mediadriver/intel-mediadriver.hash line 2
Quoted 8 lines
package/intel-mediadriver/intel-mediadriver.hash new file +2
-0@@ -0,0 +1,2 @@ +# Locally computed +sha256 df9af1cc796b4123508aacaf19d040cc5d8c5742c05199f45c9a3905ed8d1b52 intel-media-18.3.0.tar.gz
Please add a hash for the license file.
Quoted 6 lines
package/intel-mediadriver/intel-mediadriver.mk new file +0
-0
package/intel-mediadriver/intel-mediadriver.mk line 9
Quoted 9 lines
package/intel-mediadriver/intel-mediadriver.mk new file +9
-0@@ -0,0 +1,29 @@ +################################################################################ +# +# intel-mediadriver +# +################################################################################ + +# based on https://software.intel.com/en-us/articles/build-and-debug-open-source-media-stack + +INTEL_MEDIADRIVER_VERSION = 18.3.0
A 18.4.0 release is now available.
package/intel-mediadriver/intel-mediadriver.mk line 12
Quoted 3 lines
package/intel-mediadriver/intel-mediadriver.mk new file +3
-0+INTEL_MEDIADRIVER_SITE = http://github.com/intel/media-driver/archive +INTEL_MEDIADRIVER_SOURCE= intel-media-$(INTEL_MEDIADRIVER_VERSION).tar.gz +INTEL_MEDIADRIVER_LICENSE = MIT BSD-3-Clause
The list of licenses is comma-separated.
package/intel-mediadriver/intel-mediadriver.mk line 19
Quoted 7 lines
package/intel-mediadriver/intel-mediadriver.mk new file +7
-0+INTEL_MEDIADRIVER_LICENSE_FILES = LICENSE.md + +INTEL_MEDIADRIVER_DEPENDENCIES += intel-gmmlib +INTEL_MEDIADRIVER_DEPENDENCIES += libpciaccess +INTEL_MEDIADRIVER_DEPENDENCIES += libva +INTEL_MEDIADRIVER_DEPENDENCIES += mesa3d +INTEL_MEDIADRIVER_DEPENDENCIES += xlib_libX11
Please us a single assignment:
INTEL_MEDIADRIVER_DEPENDENCIES = \ intel-gmmlib \ libpciaccess \ libva \ mesa3d \ xlib_libx11
package/intel-mediadriver/intel-mediadriver.mk line 23
Quoted 4 lines
package/intel-mediadriver/intel-mediadriver.mk new file +4
-0+ +INTEL_MEDIADRIVER_SUPPORTS_IN_SOURCE_BUILD = NO + +INTEL_MEDIADRIVER_CONF_OPTS += -DMEDIA_VERSION="2.0.0"\
No need for += here, a regular = assignment will be fine.
package/intel-mediadriver/intel-mediadriver.mk line 29
Quoted 6 lines
package/intel-mediadriver/intel-mediadriver.mk new file +6
-0+ -DBUILD_ALONG_WITH_CMRTLIB=1 \ + -DINSTALL_DRIVERS_SYSCONF=OFF \ + -DMEDIA_RUN_TEST_SUITE=OFF \ + -DRUN_TEST_SUITE=OFF + +$(eval $(cmake-package))
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH v2 2/6 intel-mediadriver: new package.
Quoted 71 lines
De : Thomas Petazzoni <[email protected]>
? : Louis-Paul Cordier <[email protected]>
Sujet : Re: [Buildroot] [PATCH v2 2/6] intel-mediadriver: new package. Date : 02/02/2019 17:03:30 Europe/ParisCopie ? : buildroot at buildroot.org; Bernd Kuhls <[email protected]>; MahyarKoshkouei <[email protected]>Hello,
Commit tite should be:
package/intel-mediadriver: new package
Quoted 5 lines · On Thu, 31 Jan 2019 13:15:22 +0100 Louis-Paul Cordier <[email protected]> wrote:
package/Config.in | 1 + package/intel-mediadriver/Config.in | 17 +++++++++++ .../intel-mediadriver/intel-mediadriver.hash | 2 ++
.../intel-mediadriver/intel-mediadriver.mk| 29 +++++++++++++++++++4 files changed, 49 insertions(+)Missing update to the DEVELOPERS file.
Quoted 6 lines
package/intel-mediadriver/Config.in new file +0
-0package/intel-mediadriver/Config.in line 8
Quoted 8 lines
package/intel-mediadriver/Config.in new file +8
-0@@ -0,0 +1,17 @@ +config BR2_PACKAGE_INTEL_MEDIADRIVER + bool "intel-mediadriver" + depends on BR2_x86_64 + select BR2_PACKAGE_INTEL_GMMLIB + select BR2_PACKAGE_LIBPCIACCESS + select BR2_PACKAGE_LIBVA + select BR2_PACKAGE_MESA3D + select BR2_PACKAGE_XLIB_LIBX11You cannot select all those packages without replicating their dependencies.
libva has:
depends on
BR2_TOOLCHAIN_HAS_THREADS# libdrm/libpthread-stubs depends on !BR2_STATIC_LIBSmesa3d has:
depends on
BR2_INSTALL_LIBSTDCPP
depends on !BR2_STATIC_LIBS
depends onBR2_TOOLCHAIN_HAS_SYNC_1
depends onBR2_TOOLCHAIN_HAS_THREADS_NPTLand for libx11, you need to add:
depends on
BR2_PACKAGE_XORG7package/intel-mediadriver/Config.in line 9
Quoted 1 line
package/intel-mediadriver/Config.in new file +1
-0+Unneeded blank line.
package/intel-mediadriver/Config.in line 14
Quoted 5 lines
package/intel-mediadriver/Config.in new file +5
-0+ help + The Intel(R) Media Driver for VAAPI is a new VA-API (Video + Acceleration API) user mode driver supporting hardware + accelerated decoding, encoding, and video post processing for + GEN based graphics hardware.Please add a blank line, followed by the upstream URL of the project.
Quoted 9 lines
package/intel-mediadriver/Config.in line 17
Quoted 2 lines
package/intel-mediadriver/Config.in new file +2
-0+comment "intel-mediadriver needs libx11" + depends on !BR2_PACKAGE_XLIB_LIBX11This particular comment didn't make much sense, because you are selecting
BR2_PACKAGE_XLIB_LIBX11.Instead, we need a comment that details the "depends on" dependencies of this package.
Should I create 1 comment per dependency?
Quoted 20 lines
package/intel-mediadriver/intel-mediadriver.hash line 2
Quoted 8 lines
package/intel-mediadriver/intel-mediadriver.hash new file +2
-0@@ -0,0 +1,2 @@ +# Locally computed +sha256 df9af1cc796b4123508aacaf19d040cc5d8c5742c05199f45c9a3905ed8d1b52 intel-media-18.3.0.tar.gzPlease add a hash for the license file.
Quoted 9 lines
package/intel-mediadriver/intel-mediadriver.mk new file +3
-0@@ -0,0 +1,29 @@ +################################################################################ +# +# intel-mediadriver
Quoted 9 lines
package/intel-mediadriver/intel-mediadriver.mk line 9
Quoted 6 lines
package/intel-mediadriver/intel-mediadriver.mk new file +6
-0+# +################################################################################ + +# based on https://software.intel.com/en-us/articles/build-and-debug-open-source-media-stack + +INTEL_MEDIADRIVER_VERSION = 18.3.0A 18.4.0 release is now available.
I just noticed that MediaSDK 2018 Q4 has been released few days ago. I did not had time to test it though. Please note that each version of the MediaSDK is tightly coupled with specific versions of its depependencies. In the case of MediaSDK2018 Q3.1, gmmlib 18.3.0 MUST be used.
Quoted 23 lines
package/intel-mediadriver/intel-mediadriver.mk line 12
Quoted 3 lines
package/intel-mediadriver/intel-mediadriver.mk new file +3
-0+INTEL_MEDIADRIVER_SITE = http://github.com/intel/media-driver/archive +INTEL_MEDIADRIVER_SOURCE= intel-media-$(INTEL_MEDIADRIVER_VERSION).tar.gz +INTEL_MEDIADRIVER_LICENSE = MIT BSD-3-ClauseThe list of licenses is comma-separated.
package/intel-mediadriver/intel-mediadriver.mk line 19
Quoted 7 lines
package/intel-mediadriver/intel-mediadriver.mk new file +7
-0+INTEL_MEDIADRIVER_LICENSE_FILES = LICENSE.md + +INTEL_MEDIADRIVER_DEPENDENCIES += intel-gmmlib +INTEL_MEDIADRIVER_DEPENDENCIES += libpciaccess +INTEL_MEDIADRIVER_DEPENDENCIES += libva +INTEL_MEDIADRIVER_DEPENDENCIES += mesa3d +INTEL_MEDIADRIVER_DEPENDENCIES += xlib_libX11Please us a single assignment:
INTEL_MEDIADRIVER_DEPENDENCIES= \
intel-gmmlib \
libpciaccess \
libva \
mesa3d \xlib_libx11
Quoted 14 lines
package/intel-mediadriver/intel-mediadriver.mk line 23
Quoted 4 lines
package/intel-mediadriver/intel-mediadriver.mk new file +4
-0+ +INTEL_MEDIADRIVER_SUPPORTS_IN_SOURCE_BUILD = NO + +INTEL_MEDIADRIVER_CONF_OPTS += -DMEDIA_VERSION="2.0.0"\No need for += here, a regular = assignment will be fine.
Quoted 6 lines
package/intel-mediadriver/intel-mediadriver.mk new file +6
-0+ -DBUILD_ALONG_WITH_CMRTLIB=1 \ + -DINSTALL_DRIVERS_SYSCONF=OFF \ + -DMEDIA_RUN_TEST_SUITE=OFF \ + -DRUN_TEST_SUITE=OFF + +$(eval $(cmake-package))
I have read somewhere that INTEL_MEDIADRIVER_CONF_OPTS has some default values. Simple assignement will remove these default options, isn't it?
Quoted 7 lines
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH v2 3/6 intel-mediasdk: new package.
In reply to Louis-Paul Cordier---
v2:
- Let default install target. (feedback Baruch Siach).
- Let the install target of intel-mediadriver to generate proper env script.
- Find a better, shorter way to fix FindMFX issue.
- Remove useless dependencies.
package/Config.in | 1 + package/intel-mediasdk/Config.in | 13 +++++++++++++ package/intel-mediasdk/intel-mediasdk.hash | 2 ++ package/intel-mediasdk/intel-mediasdk.mk | 17 +++++++++++++++++ 4 files changed, 33 insertions(+) create mode 100644 package/intel-mediasdk/Config.in create mode 100644 package/intel-mediasdk/intel-mediasdk.hash create mode 100644 package/intel-mediasdk/intel-mediasdk.mk
package/Config.in +1 -0
@@ -1267,6 +1267,7 @@ menu "Graphics" source "package/imlib2/Config.in" source "package/intel-gmmlib/Config.in" source "package/intel-mediadriver/Config.in" + source "package/intel-mediasdk/Config.in" source "package/irrlicht/Config.in" source "package/jasper/Config.in" source "package/jpeg/Config.in"
package/intel-mediasdk/Config.in new file +13 -0
@@ -0,0 +1,13 @@ +config BR2_PACKAGE_INTEL_MEDIASDK + bool "intel-mediasdk" + depends on BR2_x86_64 + select BR2_PACKAGE_INTEL_MEDIADRIVER + help + Intel(R) Media SDK provides an API to access + hardware-accelerated video decode, encode and filtering on + Intel? platforms with integrated graphics. + + Supported video encoders: HEVC, AVC, MPEG-2, JPEG + Supported Video decoders: HEVC, AVC, VP8, MPEG-2, VC1, JPEG + Supported video pre-processing filters: Color Conversion, + Deinterlace, Denoise, Resize, Rotate, Composition
package/intel-mediasdk/intel-mediasdk.hash new file +2 -0
@@ -0,0 +1,2 @@ +# Locally computed +sha256 46f54f22e5a9cf41f1a6ab55346a0513ed02b2e99d41f9d178c6820d378922e3 intel-mediasdk-18.3.1.tar.gz
package/intel-mediasdk/intel-mediasdk.mk new file +17 -0
@@ -0,0 +1,17 @@ +################################################################################ +# +# intel-mediasdk +# +################################################################################ + +INTEL_MEDIASDK_VERSION = 18.3.1 +INTEL_MEDIASDK_SITE = http://github.com/Intel-Media-SDK/MediaSDK/archive +INTEL_MEDIASDK_LICENSE = MIT +INTEL_MEDIASDK_LICENSE_FILES = COPYING + +INTEL_MEDIASDK_INSTALL_STAGING = YES +INTEL_MEDIASDK_DEPENDENCIES += intel-mediadriver + +INTEL_MEDIASDK_CONF_OPTS += -DMFX_INCLUDE="$(@D)/api/include" + +$(eval $(cmake-package))
Signature · 1 line
2.20.1
PATCH v2 3/6 intel-mediasdk: new package.
Hello,
Title should be:
package/intel-mediasdk: new package
Quoted 9 lines · On Thu, 31 Jan 2019 13:15:23 +0100 Louis-Paul Cordier <[email protected]> wrote:
Signed-off-by Louis-Paul Cordier <[email protected]>---
v2:
- Let default install target. (feedback Baruch Siach).
- Let the install target of intel-mediadriver to generate proper env script.
- Find a better, shorter way to fix FindMFX issue.
- Remove useless dependencies.
Quoted 5 lines
package/Config.in | 1 + package/intel-mediasdk/Config.in | 13 +++++++++++++ package/intel-mediasdk/intel-mediasdk.hash | 2 ++ package/intel-mediasdk/intel-mediasdk.mk | 17 +++++++++++++++++ 4 files changed, 33 insertions(+)
Update to the DEVELOPERS file missing.
Quoted 9 lines
package/intel-mediasdk/Config.in new file +3
-0@@ -0,0 +1,13 @@ +config BR2_PACKAGE_INTEL_MEDIASDK + bool "intel-mediasdk" + depends on BR2_x86_64
package/intel-mediasdk/Config.in line 13
Quoted 10 lines
package/intel-mediasdk/Config.in new file +10
-0+ select BR2_PACKAGE_INTEL_MEDIADRIVER + help + Intel(R) Media SDK provides an API to access + hardware-accelerated video decode, encode and filtering on + Intel? platforms with integrated graphics. + + Supported video encoders: HEVC, AVC, MPEG-2, JPEG + Supported Video decoders: HEVC, AVC, VP8, MPEG-2, VC1, JPEG + Supported video pre-processing filters: Color Conversion, + Deinterlace, Denoise, Resize, Rotate, Composition
Please add a blank line here, following by the upstream URL of the project.
package/intel-mediasdk/intel-mediasdk.mk line 7
Quoted 13 lines
package/intel-mediasdk/intel-mediasdk.mk new file +7
-0@@ -0,0 +1,17 @@ +################################################################################ +# +# intel-mediasdk +# +################################################################################ + +INTEL_MEDIASDK_VERSION = 18.3.1
There's a newer of 18.4.0.
package/intel-mediasdk/intel-mediasdk.mk line 13
Quoted 6 lines
package/intel-mediasdk/intel-mediasdk.mk new file +6
-0+INTEL_MEDIASDK_SITE = http://github.com/Intel-Media-SDK/MediaSDK/archive +INTEL_MEDIASDK_LICENSE = MIT +INTEL_MEDIASDK_LICENSE_FILES = COPYING + +INTEL_MEDIASDK_INSTALL_STAGING = YES +INTEL_MEDIASDK_DEPENDENCIES += intel-mediadriver
Just =
package/intel-mediasdk/intel-mediasdk.mk line 15
Quoted 1 line
package/intel-mediasdk/intel-mediasdk.mk new file +1
-0+INTEL_MEDIASDK_CONF_OPTS += -DMFX_INCLUDE="$(@D)/api/include"
Just =
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH v2 4/6 ffmpeg: bump to version 4.1. ffserver is not supported anymore.
In reply to Louis-Paul Cordier--- package/ffmpeg/0001-ffmpeg-pthreads.patch | 34 ----------------------- package/ffmpeg/Config.in | 6 ---- package/ffmpeg/ffmpeg.hash | 2 +- package/ffmpeg/ffmpeg.mk | 8 +----- 4 files changed, 2 insertions(+), 48 deletions(-) delete mode 100644 package/ffmpeg/0001-ffmpeg-pthreads.patch
package/ffmpeg/0001-ffmpeg-pthreads.patch deleted +0 -34
@@ -1,34 +0,0 @@ -From patchwork Wed Oct 25 13:32:36 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [FFmpeg-devel] configure: v4l2_m2m depends on pthreads -From: Mark Thompson <[email protected]> -X-Patchwork-Id: 5688 -Message-Id: <[email protected]> -To: FFmpeg development discussions and patches <[email protected]> -Date: Wed, 25 Oct 2017 14:32:36 +0100 - -Fixes build with --disable-pthreads. - -Downloaded from upstream patchworks: -https://patchwork.ffmpeg.org/patch/5688/ - -Signed-off-by: Bernd Kuhls <[email protected]> ---- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure b/configure -index c86e578..76523c8 100755 ---- a/configure -+++ b/configure -@@ -2780,7 +2780,7 @@ omx_rpi_select="omx" - qsvdec_select="qsv" - qsvenc_select="qsv" - vaapi_encode_deps="vaapi" --v4l2_m2m_deps_any="linux_videodev2_h" -+v4l2_m2m_deps="linux_videodev2_h pthreads" - - hwupload_cuda_filter_deps="cuda" - scale_npp_filter_deps="cuda libnpp"
package/ffmpeg/Config.in +0 -6
@@ -63,12 +63,6 @@ config BR2_PACKAGE_FFMPEG_FFPLAY comment "ffplay needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS -config BR2_PACKAGE_FFMPEG_FFSERVER - bool "Build ffserver" - depends on BR2_USE_MMU # fork() - help - FFserver is a streaming server for both audio and video. - config BR2_PACKAGE_FFMPEG_FFPROBE bool "Build ffprobe" help
package/ffmpeg/ffmpeg.hash +1 -1
@@ -1,5 +1,5 @@ # Locally calculated -sha256 741cbd6394eaed370774ca4cc089eaafbc54d0824b9aa360d4b3b0cbcbc4a92c ffmpeg-3.4.5.tar.xz +sha256 a38ec4d026efb58506a99ad5cd23d5a9793b4bf415f2c4c2e9c1bb444acd1994 ffmpeg-4.1.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPLv2 sha256 b634ab5640e258563c536e658cad87080553df6f34f62269a21d554844e58bfe COPYING.LGPLv2.1 sha256 73d99bc83313fff665b426d6672b4e0479102bc402fe22314ac9ce94a38aa5ff LICENSE.md
package/ffmpeg/ffmpeg.mk +1 -7
@@ -4,7 +4,7 @@ # ################################################################################ -FFMPEG_VERSION = 3.4.5 +FFMPEG_VERSION = 4.1 FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz FFMPEG_SITE = http://ffmpeg.org/releases FFMPEG_INSTALL_STAGING = YES
@@ -84,12 +84,6 @@ else FFMPEG_CONF_OPTS += --disable-ffplay endif -ifeq ($(BR2_PACKAGE_FFMPEG_FFSERVER),y) -FFMPEG_CONF_OPTS += --enable-ffserver -else -FFMPEG_CONF_OPTS += --disable-ffserver -endif - ifeq ($(BR2_PACKAGE_FFMPEG_AVRESAMPLE),y) FFMPEG_CONF_OPTS += --enable-avresample else
Signature · 1 line
2.20.1
PATCH v2 4/6 ffmpeg: bump to version 4.1. ffserver is not supported anymore.
Hello,
The commit title should be just:
package/ffmpeg: bump to version 4.1
The fact that ffserver is removed should be part of the commit log.
Quoted 1 line · On Thu, 31 Jan 2019 13:15:24 +0100 Louis-Paul Cordier <[email protected]> wrote:
Signed-off-by Louis-Paul Cordier <[email protected]>
I'd like to hear from Bernd about this ffmpeg bump. If I remember well, major ffmpeg bumps are typically breaking some APIs, causing build issues with packages that use ffmpeg.
Have you verified that other Buildroot packages that use ffmpeg do not break after this ffmpeg version bump ?
Quoted 1 line
package/ffmpeg/0001-ffmpeg-pthreads.patch | 34 -----------------------
Would be good to mention in the sommit log why this patch is removed (accepted upstream ? no longer relevant ?)
package/ffmpeg/Config.in config BR2_PACKAGE_FFMPEG_FFPLAY · line 70
Quoted 5 lines
package/ffmpeg/Config.in +0
-5-config BR2_PACKAGE_FFMPEG_FFSERVER - bool "Build ffserver" - depends on BR2_USE_MMU # fork() - help - FFserver is a streaming server for both audio and video.
If ffserver is no longer supported, we want to move this option to Config.in.legacy so that users who have configurations with this enabled are aware.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH v2 4/6 ffmpeg: bump to version 4.1. ffserver is not supported anymore.
Am Sat, 02 Feb 2019 15:54:00 +0100 schrieb Thomas Petazzoni:
Quoted 3 lines
I'd like to hear from Bernd about this ffmpeg bump. If I remember well, major ffmpeg bumps are typically breaking some APIs, causing build issues with packages that use ffmpeg.
Hi Thomas,
afaik the only package left over to be fixed before we bump ffmpeg to 4.x is gstreamer1/gst1-libav, see my patch:
http://patchwork.ozlabs.org/patch/962138/
In the meantime upstream released version 1.15.1 as unstable release so we have two choices: Apply my patch or bump gstreamer1 to an unstable version.
Regards, Bernd
PATCH v2 4/6 ffmpeg: bump to version 4.1. ffserver is not supported anymore.
Quoted 9 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernd" == Bernd Kuhls <[email protected]> writes:
Am Sat, 02 Feb 2019 15:54:00 +0100 schrieb Thomas Petazzoni:
Quoted 3 lines
I'd like to hear from Bernd about this ffmpeg bump. If I remember well, major ffmpeg bumps are typically breaking some APIs, causing build issues with packages that use ffmpeg.
Hi Thomas,
Quoted 7 lines
afaik the only package left over to be fixed before we bump ffmpeg to 4.x is gstreamer1/gst1-libav, see my patch:
http://patchwork.ozlabs.org/patch/962138/In the meantime upstream released version 1.15.1 as unstable release so we have two choices: Apply my patch or bump gstreamer1 to an unstable version.
I would prefer to stick with the stable versions if possible.
Signature · 1 line
Bye, Peter Korsgaard
PATCH v2 4/6 ffmpeg: bump to version 4.1. ffserver is not supported anymore.
In reply to Bernd KuhlsHello,
Quoted 3 lines · On Sun, 03 Feb 2019 09:48:22 +0100 Bernd Kuhls <[email protected]> wrote:
afaik the only package left over to be fixed before we bump ffmpeg to 4.x is gstreamer1/gst1-libav, see my patch:
http://patchwork.ozlabs.org/patch/962138/
OK, I see this patch is marked as Changes Requested. Louis-Paul:
before we can update ffmpeg to 4.x, we need to solve this issue. So we need to have a solution to this gstreamer1/gst1-libav ffmpeg 4.x compatibiility issue in your patch series, prior to the ffmpeg 4.x bump.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH v2 4/6 ffmpeg: bump to version 4.1. ffserver is not supported anymore.
In reply to Thomas PetazzoniQuoted 11 lines
De : Thomas Petazzoni <[email protected]>
? : Louis-Paul Cordier <[email protected]>
Sujet : Re: [Buildroot] [PATCH v2 4/6] ffmpeg: bump to version 4.1. ffserver is not supported anymore. Date : 02/02/2019 15:54:00 Europe/ParisCopie ? : buildroot at buildroot.org; Bernd Kuhls <[email protected]>; MahyarKoshkouei <[email protected]>
Quoted 8 lines
Hello,
The commit title should be just:
package/ffmpeg: bump to version 4.1
The fact that ffserver is removed should be part of the commit log.
Will be added.
Quoted 9 lines
Quoted 1 line · On Thu, 31 Jan 2019 13:15:24 +0100 Louis-Paul Cordier <[email protected]> wrote:
Signed-off-by Louis-Paul Cordier <[email protected]>I'd like to hear from Bernd about this ffmpeg bump. If I remember well, major ffmpeg bumps are typically breaking some APIs, causing build issues with packages that use ffmpeg.
According to my experience with FFMpeg, API are marked as deprecated. They can still be used and linked correctly against all application. However, the behaviour of the program can differ. What about creating a ffmpeg4 package, just like opencv2/3 packages?
Quoted 8 lines
Have you verified that other Buildroot packages that use ffmpeg do not break after this ffmpeg version bump ?
Quoted 1 line
package/ffmpeg/0001-ffmpeg-pthreads.patch| 34 -----------------------Would be good to mention in the sommit log why this patch is removed (accepted upstream ? no longer relevant ?)
The patch did not apply to ffmpeg4. To be honest, I did not investigate this. Thank you for pointing this out I will rework this.
Quoted 11 lines
Quoted 6 lines
-config
BR2_PACKAGE_FFMPEG_FFSERVER
- bool "Build ffserver"
- depends onBR2_USE_MMU#fork()
- help
- FFserver is a streaming server for both audio and video.If ffserver is no longer supported, we want to move this option to Config.in.legacy so that users who have configurations with this enabled are aware.
This does not appear in the official documentation. Would it be possible to add it?
Quoted 7 lines
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH v2 4/6 ffmpeg: bump to version 4.1. ffserver is not supported anymore.
Hello,
Quoted 6 lines · On Mon, 4 Feb 2019 10:30:54 +0100 (CET) lpdev at cordier.org wrote:
Quoted 3 lines
I'd like to hear from Bernd about this ffmpeg bump. If I remember well, major ffmpeg bumps are typically breaking some APIs, causing build issues with packages that use ffmpeg.
According to my experience with FFMpeg, API are marked as deprecated. They can still be used and linked correctly against all application.
Did you see the feedback from Bernd ? I know Bernd always forgets to Cc people when replying, so make sure to check the mailing list for his reply.
Quoted 2 lines
However, the behaviour of the program can differ. What about creating a ffmpeg4 package, just like opencv2/3 packages?
Apparently, except for gstreamer1/gst1-libav that needs to be fixed for ffmpeg 4.x, all other packages have already been fixed to work with ffmpeg 4.x. So there is no reason to introduce a separate ffmpeg4 package. It would create more complexity/
Quoted 6 lines
Quoted 3 lines
If ffserver is no longer supported, we want to move this option to Config.in.legacy so that users who have configurations with this enabled are aware.
This does not appear in the official documentation. Would it be possible to add it?
Patches welcome ! :-)
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH v2 5/6 ffmpeg: enable Intel QuickSync support.
In reply to Louis-Paul Cordier---
v2:
- Fix typo.
package/ffmpeg/ffmpeg.mk | 7 +++++++ 1 file changed, 7 insertions(+)
package/ffmpeg/ffmpeg.mk +7 -0
@@ -309,6 +309,13 @@ else FFMPEG_CONF_OPTS += --disable-libbluray endif +ifeq ($(BR2_PACKAGE_INTEL_MEDIASDK),y) +FFMPEG_CONF_OPTS += --enable-libmfx +FFMPEG_DEPENDENCIES += intel-mediasdk +else +FFMPEG_CONF_OPTS += --disable-libmfx +endif + ifeq ($(BR2_PACKAGE_RTMPDUMP),y) FFMPEG_CONF_OPTS += --enable-librtmp FFMPEG_DEPENDENCIES += rtmpdump
Signature · 1 line
2.20.1
PATCH v2 6/6 Update DEVELOPERS.
In reply to Louis-Paul Cordier--- DEVELOPERS | 5 +++++ 1 file changed, 5 insertions(+)
DEVELOPERS +5 -0
@@ -1262,6 +1262,11 @@ F: package/ti-sgx-demos/ F: package/ti-sgx-km/ F: package/ti-sgx-um/ +N: Louis-Paul Cordier <[email protected]> +F: package/intel-gmmlib +F: package/intel-mediadriver +F: package/intel-mediasdk + N: Luca Ceresoli <[email protected]> F: board/olimex/a20_olinuxino/ F: board/zynq/
Signature · 1 line
2.20.1
PATCH v2 6/6 Update DEVELOPERS.
Hello Louis-Paul,
Thanks for working on this topic. A few minor/silly comments below.
Quoted 10 lines · On Thu, 31 Jan 2019 13:15:26 +0100 Louis-Paul Cordier <[email protected]> wrote:
Signed-off-by Louis-Paul Cordier <[email protected]>--- DEVELOPERS | 5 +++++ 1 file changed, 5 insertions(+)DEVELOPERS +0
-0
DEVELOPERS F: package/ti-sgx-demos/ · line 1268
Quoted 7 lines
DEVELOPERS +4
-0@@ -1262,6 +1262,11 @@ F: package/ti-sgx-demos/ F: package/ti-sgx-km/ F: package/ti-sgx-um/ +N: Louis-Paul Cordier <[email protected]> +F: package/intel-gmmlib +F: package/intel-mediadriver +F: package/intel-mediasdk
Indentation is not correct, please follow the indentation style used in the rest of the file.
Also, the update to the DEVELOPERS file should be done within the patches adding the packages. So the patch adding intel-gmmlib should update the DEVELOPERS file for intel-gmmlib, and so on for intel-mediadriver and intel-mediasdk.
Final nit: don't put a final dot in commit titles.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH v2 6/6 Update DEVELOPERS.
Hello Thomas,
First of all, thank you for taking the time to review this serie of patches.
Quoted 28 lines
De : Thomas Petazzoni <[email protected]> ? : Louis-Paul Cordier <[email protected]>
Sujet : Re: [Buildroot] [PATCH v2 6/6] Update DEVELOPERS. Date : 02/02/2019 15:47:22 Europe/Paris
Copie ? : buildroot at buildroot.org;
Bernd Kuhls <[email protected]>; MahyarKoshkouei <[email protected]>Hello Louis-Paul,
Thanks for working on this topic. A few minor/silly comments below.
Quoted 13 lines · On Thu, 31 Jan 2019 13:15:26 +0100 Louis-Paul Cordier <[email protected]> wrote:
Signed-off-by Louis-Paul Cordier <[email protected]>---
DEVELOPERS | 5 +++++1 file changed, 5 insertions(+)DEVELOPERS +0
-0@@ -1262,6 +1262,11 @@ F: package/ti-sgx-demos/F: package/ti-sgx-km/
F: package/ti-sgx-um/
Quoted 7 lines
DEVELOPERS F: package/ti-sgx-demos/ · line 1268
Quoted 4 lines
DEVELOPERS +4
-0+N: Louis-Paul Cordier <[email protected]> +F: package/intel-gmmlib +F: package/intel-mediadriver +F: package/intel-mediasdkIndentation is not correct, please follow the indentation style used in the rest of the file.
My text editor trapped me on this.
Quoted 7 lines
Also, the update to the DEVELOPERS file should be done within the patches adding the packages. So the patch adding intel-gmmlib should update the DEVELOPERS file for intel-gmmlib, and so on for intel-mediadriver and intel-mediasdk.
Final nit: don't put a final dot in commit titles.
Copy that, thanks!
Quoted 8 lines
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH v2 6/6 Update DEVELOPERS.
Hello,
Quoted 1 line · On Mon, 4 Feb 2019 10:11:19 +0100 (CET) lpdev at cordier.org wrote:
First of all, thank you for taking the time to review this serie of patches.
I just applied your PATCH 1/6. For the rest, I'll mark as Changes Requested, so if you could repost a new iteration, it would be good.
I believe the most difficult issue to solve is fixing the gstreamer1/gst1-libav build issue with ffmpeg 4.x (see the discussion with Bernd on this).
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH v2 6/6 Update DEVELOPERS.
Quoted 13 lines
De : Thomas Petazzoni <[email protected]> ? : lpdev at cordier.org
Sujet : Re: [Buildroot] [PATCH v2 6/6] Update DEVELOPERS. Date : 04/02/2019 10:43:00 Europe/Paris
Copie ? : Bernd Kuhls <[email protected]>;
MahyarKoshkouei <[email protected]>; buildroot at buildroot.orgHello,
On Mon, 4 Feb 2019 10:11:19 +0100 (CET)
lpdev at cordier.org wrote:
Quoted 8 lines
Quoted 1 line
First of all, thank you for taking the time to review this serie of patches.
I just applied your PATCH 1/6. For the rest, I'll mark as Changes Requested, so if you could repost a new iteration, it would be good.
I believe the most difficult issue to solve is fixing the gstreamer1/gst1-libav build issue with ffmpeg 4.x (see the discussion with Bernd on this).
I am affraid that I don't know gstreamer enough to review/fix this patch... Still, we can merge the other patches after the next iteration, I will temporary fork buildroot for ffmpeg4 then :(
Quoted 8 lines
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com