All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 0/6] *** Add Intel QuickSync support to ffmpeg ***
@ 2019-01-31 12:15 Louis-Paul Cordier
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 1/6] intel-gmmlib: new package Louis-Paul Cordier
                   ` (5 more replies)
  0 siblings, 6 replies; 22+ messages in thread
From: Louis-Paul Cordier @ 2019-01-31 12:15 UTC (permalink / raw)
  To: buildroot

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

-- 
2.20.1

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 1/6] intel-gmmlib: new package.
  2019-01-31 12:15 [Buildroot] [PATCH v2 0/6] *** Add Intel QuickSync support to ffmpeg *** Louis-Paul Cordier
@ 2019-01-31 12:15 ` Louis-Paul Cordier
  2019-02-02 14:51   ` Thomas Petazzoni
  2019-02-04  9:32   ` Thomas Petazzoni
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 2/6] intel-mediadriver: " Louis-Paul Cordier
                   ` (4 subsequent siblings)
  5 siblings, 2 replies; 22+ messages in thread
From: Louis-Paul Cordier @ 2019-01-31 12:15 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>
---
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

diff --git a/package/Config.in b/package/Config.in
index 5036421a73..9082ed9956 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/intel-gmmlib/Config.in b/package/intel-gmmlib/Config.in
new file mode 100644
index 0000000000..8d9fab7ce3
--- /dev/null
+++ b/package/intel-gmmlib/Config.in
@@ -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.
diff --git a/package/intel-gmmlib/intel-gmmlib.hash b/package/intel-gmmlib/intel-gmmlib.hash
new file mode 100644
index 0000000000..7e3b3dfd3f
--- /dev/null
+++ b/package/intel-gmmlib/intel-gmmlib.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 e3114d7ddd429f1b9aa43a1b1d0086d881fbf4d90e4a90ab8577c369d2e3a5e1  intel-gmmlib-18.3.0.tar.gz
diff --git a/package/intel-gmmlib/intel-gmmlib.mk b/package/intel-gmmlib/intel-gmmlib.mk
new file mode 100644
index 0000000000..e6ca3e5c5e
--- /dev/null
+++ b/package/intel-gmmlib/intel-gmmlib.mk
@@ -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))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 2/6] intel-mediadriver: new package.
  2019-01-31 12:15 [Buildroot] [PATCH v2 0/6] *** Add Intel QuickSync support to ffmpeg *** Louis-Paul Cordier
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 1/6] intel-gmmlib: new package Louis-Paul Cordier
@ 2019-01-31 12:15 ` Louis-Paul Cordier
  2019-02-02 16:03   ` Thomas Petazzoni
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 3/6] intel-mediasdk: " Louis-Paul Cordier
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 22+ messages in thread
From: Louis-Paul Cordier @ 2019-01-31 12:15 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>
---
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

diff --git a/package/Config.in b/package/Config.in
index 9082ed9956..f80d5b69d9 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/intel-mediadriver/Config.in b/package/intel-mediadriver/Config.in
new file mode 100644
index 0000000000..ab44a65b91
--- /dev/null
+++ b/package/intel-mediadriver/Config.in
@@ -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
diff --git a/package/intel-mediadriver/intel-mediadriver.hash b/package/intel-mediadriver/intel-mediadriver.hash
new file mode 100644
index 0000000000..9068b40e07
--- /dev/null
+++ b/package/intel-mediadriver/intel-mediadriver.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 df9af1cc796b4123508aacaf19d040cc5d8c5742c05199f45c9a3905ed8d1b52  intel-media-18.3.0.tar.gz
diff --git a/package/intel-mediadriver/intel-mediadriver.mk b/package/intel-mediadriver/intel-mediadriver.mk
new file mode 100644
index 0000000000..77a757f212
--- /dev/null
+++ b/package/intel-mediadriver/intel-mediadriver.mk
@@ -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))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 3/6] intel-mediasdk: new package.
  2019-01-31 12:15 [Buildroot] [PATCH v2 0/6] *** Add Intel QuickSync support to ffmpeg *** Louis-Paul Cordier
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 1/6] intel-gmmlib: new package Louis-Paul Cordier
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 2/6] intel-mediadriver: " Louis-Paul Cordier
@ 2019-01-31 12:15 ` Louis-Paul Cordier
  2019-02-04  9:41   ` Thomas Petazzoni
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 4/6] ffmpeg: bump to version 4.1. ffserver is not supported anymore Louis-Paul Cordier
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 22+ messages in thread
From: Louis-Paul Cordier @ 2019-01-31 12:15 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>
---
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

diff --git a/package/Config.in b/package/Config.in
index f80d5b69d9..51d272df55 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/intel-mediasdk/Config.in b/package/intel-mediasdk/Config.in
new file mode 100644
index 0000000000..aa68d10f3b
--- /dev/null
+++ b/package/intel-mediasdk/Config.in
@@ -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
diff --git a/package/intel-mediasdk/intel-mediasdk.hash b/package/intel-mediasdk/intel-mediasdk.hash
new file mode 100644
index 0000000000..e7081ae7d2
--- /dev/null
+++ b/package/intel-mediasdk/intel-mediasdk.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 46f54f22e5a9cf41f1a6ab55346a0513ed02b2e99d41f9d178c6820d378922e3  intel-mediasdk-18.3.1.tar.gz
diff --git a/package/intel-mediasdk/intel-mediasdk.mk b/package/intel-mediasdk/intel-mediasdk.mk
new file mode 100644
index 0000000000..f57088d64f
--- /dev/null
+++ b/package/intel-mediasdk/intel-mediasdk.mk
@@ -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))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 4/6] ffmpeg: bump to version 4.1. ffserver is not supported anymore.
  2019-01-31 12:15 [Buildroot] [PATCH v2 0/6] *** Add Intel QuickSync support to ffmpeg *** Louis-Paul Cordier
                   ` (2 preceding siblings ...)
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 3/6] intel-mediasdk: " Louis-Paul Cordier
@ 2019-01-31 12:15 ` Louis-Paul Cordier
  2019-02-02 14:54   ` Thomas Petazzoni
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 5/6] ffmpeg: enable Intel QuickSync support Louis-Paul Cordier
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 6/6] Update DEVELOPERS Louis-Paul Cordier
  5 siblings, 1 reply; 22+ messages in thread
From: Louis-Paul Cordier @ 2019-01-31 12:15 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>
---
 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

diff --git a/package/ffmpeg/0001-ffmpeg-pthreads.patch b/package/ffmpeg/0001-ffmpeg-pthreads.patch
deleted file mode 100644
index c6d75d2297..0000000000
--- a/package/ffmpeg/0001-ffmpeg-pthreads.patch
+++ /dev/null
@@ -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 <sw@jkqxz.net>
-X-Patchwork-Id: 5688
-Message-Id: <27e5b360-1210-d550-c8de-a761f8e9f326@jkqxz.net>
-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
-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 <bernd.kuhls@t-online.de>
----
- 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"
diff --git a/package/ffmpeg/Config.in b/package/ffmpeg/Config.in
index 2d94c5712a..eec7ce0f6b 100644
--- a/package/ffmpeg/Config.in
+++ b/package/ffmpeg/Config.in
@@ -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
diff --git a/package/ffmpeg/ffmpeg.hash b/package/ffmpeg/ffmpeg.hash
index e00c4ec56c..c21561698f 100644
--- a/package/ffmpeg/ffmpeg.hash
+++ b/package/ffmpeg/ffmpeg.hash
@@ -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
diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
index b86d465df8..c42fa54cd1 100644
--- a/package/ffmpeg/ffmpeg.mk
+++ b/package/ffmpeg/ffmpeg.mk
@@ -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
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 5/6] ffmpeg: enable Intel QuickSync support.
  2019-01-31 12:15 [Buildroot] [PATCH v2 0/6] *** Add Intel QuickSync support to ffmpeg *** Louis-Paul Cordier
                   ` (3 preceding siblings ...)
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 4/6] ffmpeg: bump to version 4.1. ffserver is not supported anymore Louis-Paul Cordier
@ 2019-01-31 12:15 ` Louis-Paul Cordier
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 6/6] Update DEVELOPERS Louis-Paul Cordier
  5 siblings, 0 replies; 22+ messages in thread
From: Louis-Paul Cordier @ 2019-01-31 12:15 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>
---
v2:
- Fix typo.

 package/ffmpeg/ffmpeg.mk | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
index c42fa54cd1..673c79b4e9 100644
--- a/package/ffmpeg/ffmpeg.mk
+++ b/package/ffmpeg/ffmpeg.mk
@@ -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
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 6/6] Update DEVELOPERS.
  2019-01-31 12:15 [Buildroot] [PATCH v2 0/6] *** Add Intel QuickSync support to ffmpeg *** Louis-Paul Cordier
                   ` (4 preceding siblings ...)
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 5/6] ffmpeg: enable Intel QuickSync support Louis-Paul Cordier
@ 2019-01-31 12:15 ` Louis-Paul Cordier
  2019-02-02 14:47   ` Thomas Petazzoni
  5 siblings, 1 reply; 22+ messages in thread
From: Louis-Paul Cordier @ 2019-01-31 12:15 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>
---
 DEVELOPERS | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/DEVELOPERS b/DEVELOPERS
index c1950bb0f4..dfe7bd67c0 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1262,6 +1262,11 @@ F:	package/ti-sgx-demos/
 F:	package/ti-sgx-km/
 F:	package/ti-sgx-um/
 
+N:  Louis-Paul Cordier <lpdev@cordier.org>
+F:  package/intel-gmmlib
+F:  package/intel-mediadriver
+F:  package/intel-mediasdk
+
 N:	Luca Ceresoli <luca@lucaceresoli.net>
 F:	board/olimex/a20_olinuxino/
 F:	board/zynq/
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 6/6] Update DEVELOPERS.
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 6/6] Update DEVELOPERS Louis-Paul Cordier
@ 2019-02-02 14:47   ` Thomas Petazzoni
  2019-02-04  9:11     ` lpdev at cordier.org
  0 siblings, 1 reply; 22+ messages in thread
From: Thomas Petazzoni @ 2019-02-02 14:47 UTC (permalink / raw)
  To: buildroot

Hello Louis-Paul,

Thanks for working on this topic. A few minor/silly comments below.

On Thu, 31 Jan 2019 13:15:26 +0100
Louis-Paul Cordier <lpdev@cordier.org> wrote:

> Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>
> ---
>  DEVELOPERS | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/DEVELOPERS b/DEVELOPERS
> index c1950bb0f4..dfe7bd67c0 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -1262,6 +1262,11 @@ F:	package/ti-sgx-demos/
>  F:	package/ti-sgx-km/
>  F:	package/ti-sgx-um/
>  
> +N:  Louis-Paul Cordier <lpdev@cordier.org>
> +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
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 1/6] intel-gmmlib: new package.
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 1/6] intel-gmmlib: new package Louis-Paul Cordier
@ 2019-02-02 14:51   ` Thomas Petazzoni
  2019-02-04  9:32   ` Thomas Petazzoni
  1 sibling, 0 replies; 22+ messages in thread
From: Thomas Petazzoni @ 2019-02-02 14:51 UTC (permalink / raw)
  To: buildroot

Hello,

Nit: there shouldn't be a final dot at end of commit title.

On Thu, 31 Jan 2019 13:15:21 +0100
Louis-Paul Cordier <lpdev@cordier.org> 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

> +sha256 e3114d7ddd429f1b9aa43a1b1d0086d881fbf4d90e4a90ab8577c369d2e3a5e1  intel-gmmlib-18.3.0.tar.gz
> diff --git a/package/intel-gmmlib/intel-gmmlib.mk b/package/intel-gmmlib/intel-gmmlib.mk
> new file mode 100644
> index 0000000000..e6ca3e5c5e
> --- /dev/null
> +++ b/package/intel-gmmlib/intel-gmmlib.mk
> @@ -0,0 +1,17 @@
> +################################################################################
> +#
> +# intel-gmmlib
> +#
> +################################################################################
> +
> +INTEL_GMMLIB_VERSION = 18.3.0

There is an ewer 18.4.1 version available.

> +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
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 4/6] ffmpeg: bump to version 4.1. ffserver is not supported anymore.
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 4/6] ffmpeg: bump to version 4.1. ffserver is not supported anymore Louis-Paul Cordier
@ 2019-02-02 14:54   ` Thomas Petazzoni
  2019-02-03  8:48     ` Bernd Kuhls
  2019-02-04  9:30     ` lpdev at cordier.org
  0 siblings, 2 replies; 22+ messages in thread
From: Thomas Petazzoni @ 2019-02-02 14:54 UTC (permalink / raw)
  To: buildroot

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.

On Thu, 31 Jan 2019 13:15:24 +0100
Louis-Paul Cordier <lpdev@cordier.org> wrote:

> Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>

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 ?

>  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 ?)


> -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
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 2/6] intel-mediadriver: new package.
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 2/6] intel-mediadriver: " Louis-Paul Cordier
@ 2019-02-02 16:03   ` Thomas Petazzoni
  2019-02-04  9:23     ` lpdev at cordier.org
  0 siblings, 1 reply; 22+ messages in thread
From: Thomas Petazzoni @ 2019-02-02 16:03 UTC (permalink / raw)
  To: buildroot

Hello,

Commit tite should be:

	package/intel-mediadriver: new package

On Thu, 31 Jan 2019 13:15:22 +0100
Louis-Paul Cordier <lpdev@cordier.org> 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.

> diff --git a/package/intel-mediadriver/Config.in b/package/intel-mediadriver/Config.in
> new file mode 100644
> index 0000000000..ab44a65b91
> --- /dev/null
> +++ b/package/intel-mediadriver/Config.in
> @@ -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

> +

Unneeded blank line.

> +	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.

> +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.

> diff --git a/package/intel-mediadriver/intel-mediadriver.hash b/package/intel-mediadriver/intel-mediadriver.hash
> new file mode 100644
> index 0000000000..9068b40e07
> --- /dev/null
> +++ b/package/intel-mediadriver/intel-mediadriver.hash
> @@ -0,0 +1,2 @@
> +# Locally computed
> +sha256 df9af1cc796b4123508aacaf19d040cc5d8c5742c05199f45c9a3905ed8d1b52  intel-media-18.3.0.tar.gz

Please add a hash for the license file.

> diff --git a/package/intel-mediadriver/intel-mediadriver.mk b/package/intel-mediadriver/intel-mediadriver.mk
> new file mode 100644
> index 0000000000..77a757f212
> --- /dev/null
> +++ b/package/intel-mediadriver/intel-mediadriver.mk
> @@ -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.

> +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.

> +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

> +
> +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.

> +	-DBUILD_ALONG_WITH_CMRTLIB=1 \
> +	-DINSTALL_DRIVERS_SYSCONF=OFF \
> +	-DMEDIA_RUN_TEST_SUITE=OFF \
> +	-DRUN_TEST_SUITE=OFF
> +
> +$(eval $(cmake-package))

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 4/6] ffmpeg: bump to version 4.1. ffserver is not supported anymore.
  2019-02-02 14:54   ` Thomas Petazzoni
@ 2019-02-03  8:48     ` Bernd Kuhls
  2019-02-03 14:40       ` Peter Korsgaard
  2019-02-04  9:39       ` Thomas Petazzoni
  2019-02-04  9:30     ` lpdev at cordier.org
  1 sibling, 2 replies; 22+ messages in thread
From: Bernd Kuhls @ 2019-02-03  8:48 UTC (permalink / raw)
  To: buildroot

Am Sat, 02 Feb 2019 15:54:00 +0100 schrieb Thomas Petazzoni:

> 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

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 4/6] ffmpeg: bump to version 4.1. ffserver is not supported anymore.
  2019-02-03  8:48     ` Bernd Kuhls
@ 2019-02-03 14:40       ` Peter Korsgaard
  2019-02-04  9:39       ` Thomas Petazzoni
  1 sibling, 0 replies; 22+ messages in thread
From: Peter Korsgaard @ 2019-02-03 14:40 UTC (permalink / raw)
  To: buildroot

>>>>> "Bernd" == Bernd Kuhls <bernd.kuhls@t-online.de> writes:

 > Am Sat, 02 Feb 2019 15:54:00 +0100 schrieb Thomas Petazzoni:
 >> 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.

I would prefer to stick with the stable versions if possible.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 6/6] Update DEVELOPERS.
  2019-02-02 14:47   ` Thomas Petazzoni
@ 2019-02-04  9:11     ` lpdev at cordier.org
  2019-02-04  9:43       ` Thomas Petazzoni
  0 siblings, 1 reply; 22+ messages in thread
From: lpdev at cordier.org @ 2019-02-04  9:11 UTC (permalink / raw)
  To: buildroot

Hello Thomas,

First of all, thank you for taking the time to review this serie of patches.

>De : Thomas Petazzoni <thomas.petazzoni@bootlin.com>
>? : Louis-Paul Cordier <lpdev@cordier.org>
>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 <bernd.kuhls@t-online.de>;
>   MahyarKoshkouei <mahyar.koshkouei@gmail.com>
>
>Hello Louis-Paul,
>
>Thanks for working on this topic. A few minor/silly comments below.
>
>On Thu, 31 Jan 2019 13:15:26 +0100
>Louis-Paul Cordier <lpdev@cordier.org> wrote:
>
>> Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>
>> ---
>> DEVELOPERS | 5 +++++
>> 1 file changed, 5 insertions(+)
>> 
>> diff --git a/DEVELOPERS b/DEVELOPERS
>> index c1950bb0f4..dfe7bd67c0 100644
>> --- a/DEVELOPERS
>> +++ b/DEVELOPERS
>> @@ -1262,6 +1262,11 @@ F: package/ti-sgx-demos/
>> F: package/ti-sgx-km/
>> F: package/ti-sgx-um/
>> 
>> +N: Louis-Paul Cordier <lpdev@cordier.org>
>> +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.

My text editor trapped me on this.

>
>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!

>
>Thanks!
>
>Thomas
>-- 
>Thomas Petazzoni, CTO, Bootlin
>Embedded Linux and Kernel engineering
>https://bootlin.com

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 2/6] intel-mediadriver: new package.
  2019-02-02 16:03   ` Thomas Petazzoni
@ 2019-02-04  9:23     ` lpdev at cordier.org
  0 siblings, 0 replies; 22+ messages in thread
From: lpdev at cordier.org @ 2019-02-04  9:23 UTC (permalink / raw)
  To: buildroot

> De : Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ? : Louis-Paul Cordier <lpdev@cordier.org>
> Sujet : Re: [Buildroot] [PATCH v2 2/6] intel-mediadriver: new package.
> Date : 02/02/2019 17:03:30 Europe/Paris
> Copie ? : buildroot at buildroot.org;
>    Bernd Kuhls <bernd.kuhls@t-online.de>;
>    MahyarKoshkouei <mahyar.koshkouei@gmail.com>
>
> Hello,
>
> Commit tite should be:
>
> package/intel-mediadriver: new package
>
> On Thu, 31 Jan 2019 13:15:22 +0100
> Louis-Paul Cordier <lpdev@cordier.org> 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.
>
> > diff --git a/package/intel-mediadriver/Config.in b/package/intel-mediadriver/Config.in
> > new file mode 100644
> > index 0000000000..ab44a65b91
> > --- /dev/null
> > +++ b/package/intel-mediadriver/Config.in
> > @@ -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
>
> > +
>
> Unneeded blank line.
>
> > + 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.
>
> > +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.
>

Should I create 1 comment per dependency? 

> > diff --git a/package/intel-mediadriver/intel-mediadriver.hash b/package/intel-mediadriver/intel-mediadriver.hash
> > new file mode 100644
> > index 0000000000..9068b40e07
> > --- /dev/null
> > +++ b/package/intel-mediadriver/intel-mediadriver.hash
> > @@ -0,0 +1,2 @@
> > +# Locally computed
> > +sha256 df9af1cc796b4123508aacaf19d040cc5d8c5742c05199f45c9a3905ed8d1b52 intel-media-18.3.0.tar.gz
>
> Please add a hash for the license file.
>
> > diff --git a/package/intel-mediadriver/intel-mediadriver.mk b/package/intel-mediadriver/intel-mediadriver.mk
> > new file mode 100644
> > index 0000000000..77a757f212
> > --- /dev/null
> > +++ b/package/intel-mediadriver/intel-mediadriver.mk
> > @@ -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.
>

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.

> > +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.
>
> > +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
>
> > +
> > +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.
>
> > + -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?

> Thanks!
>
> Thomas
> -- 
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 4/6] ffmpeg: bump to version 4.1. ffserver is not supported anymore.
  2019-02-02 14:54   ` Thomas Petazzoni
  2019-02-03  8:48     ` Bernd Kuhls
@ 2019-02-04  9:30     ` lpdev at cordier.org
  2019-02-04 10:20       ` Thomas Petazzoni
  1 sibling, 1 reply; 22+ messages in thread
From: lpdev at cordier.org @ 2019-02-04  9:30 UTC (permalink / raw)
  To: buildroot




> De : Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ? : Louis-Paul Cordier <lpdev@cordier.org>
> 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/Paris
> Copie ? : buildroot at buildroot.org;
>    Bernd Kuhls <bernd.kuhls@t-online.de>;
>    MahyarKoshkouei <mahyar.koshkouei@gmail.com>
>
> 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.

> On Thu, 31 Jan 2019 13:15:24 +0100
> Louis-Paul Cordier <lpdev@cordier.org> wrote:
>
> > Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>
>
> 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?

> Have you verified that other Buildroot packages that use ffmpeg do not
> break after this ffmpeg version bump ?
>
> > 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.

>
> > -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.
>

This does not appear in the official documentation. Would it be possible to add it?

> Thanks!
>
> Thomas
> -- 
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 1/6] intel-gmmlib: new package.
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 1/6] intel-gmmlib: new package Louis-Paul Cordier
  2019-02-02 14:51   ` Thomas Petazzoni
@ 2019-02-04  9:32   ` Thomas Petazzoni
  1 sibling, 0 replies; 22+ messages in thread
From: Thomas Petazzoni @ 2019-02-04  9:32 UTC (permalink / raw)
  To: buildroot

On Thu, 31 Jan 2019 13:15:21 +0100
Louis-Paul Cordier <lpdev@cordier.org> wrote:

> Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>
> ---
> 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
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 4/6] ffmpeg: bump to version 4.1. ffserver is not supported anymore.
  2019-02-03  8:48     ` Bernd Kuhls
  2019-02-03 14:40       ` Peter Korsgaard
@ 2019-02-04  9:39       ` Thomas Petazzoni
  1 sibling, 0 replies; 22+ messages in thread
From: Thomas Petazzoni @ 2019-02-04  9:39 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun, 03 Feb 2019 09:48:22 +0100
Bernd Kuhls <bernd.kuhls@t-online.de> 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
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 3/6] intel-mediasdk: new package.
  2019-01-31 12:15 ` [Buildroot] [PATCH v2 3/6] intel-mediasdk: " Louis-Paul Cordier
@ 2019-02-04  9:41   ` Thomas Petazzoni
  0 siblings, 0 replies; 22+ messages in thread
From: Thomas Petazzoni @ 2019-02-04  9:41 UTC (permalink / raw)
  To: buildroot

Hello,

Title should be:

	package/intel-mediasdk: new package

On Thu, 31 Jan 2019 13:15:23 +0100
Louis-Paul Cordier <lpdev@cordier.org> wrote:

> Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>
> ---
> 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(+)

Update to the DEVELOPERS file missing.

> diff --git a/package/intel-mediasdk/Config.in b/package/intel-mediasdk/Config.in
> new file mode 100644
> index 0000000000..aa68d10f3b
> --- /dev/null
> +++ b/package/intel-mediasdk/Config.in
> @@ -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

Please add a blank line here, following by the upstream URL of the
project.

> diff --git a/package/intel-mediasdk/intel-mediasdk.mk b/package/intel-mediasdk/intel-mediasdk.mk
> new file mode 100644
> index 0000000000..f57088d64f
> --- /dev/null
> +++ b/package/intel-mediasdk/intel-mediasdk.mk
> @@ -0,0 +1,17 @@
> +################################################################################
> +#
> +# intel-mediasdk
> +#
> +################################################################################
> +
> +INTEL_MEDIASDK_VERSION = 18.3.1

There's a newer of 18.4.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 =

> +INTEL_MEDIASDK_CONF_OPTS += -DMFX_INCLUDE="$(@D)/api/include"

Just =

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 6/6] Update DEVELOPERS.
  2019-02-04  9:11     ` lpdev at cordier.org
@ 2019-02-04  9:43       ` Thomas Petazzoni
  2019-02-04  9:48         ` lpdev at cordier.org
  0 siblings, 1 reply; 22+ messages in thread
From: Thomas Petazzoni @ 2019-02-04  9:43 UTC (permalink / raw)
  To: buildroot

Hello,

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
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 6/6] Update DEVELOPERS.
  2019-02-04  9:43       ` Thomas Petazzoni
@ 2019-02-04  9:48         ` lpdev at cordier.org
  0 siblings, 0 replies; 22+ messages in thread
From: lpdev at cordier.org @ 2019-02-04  9:48 UTC (permalink / raw)
  To: buildroot

> De : Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ? : 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 <bernd.kuhls@t-online.de>;
>    MahyarKoshkouei <mahyar.koshkouei@gmail.com>;
>    buildroot at buildroot.org
>
> Hello,
>
> 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).

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 :(

>
> Thanks!
>
> Thomas
> -- 
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH v2 4/6] ffmpeg: bump to version 4.1. ffserver is not supported anymore.
  2019-02-04  9:30     ` lpdev at cordier.org
@ 2019-02-04 10:20       ` Thomas Petazzoni
  0 siblings, 0 replies; 22+ messages in thread
From: Thomas Petazzoni @ 2019-02-04 10:20 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon,  4 Feb 2019 10:30:54 +0100 (CET)
lpdev at cordier.org wrote:

> > 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.

> 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/

> > 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
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2019-02-04 10:20 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-31 12:15 [Buildroot] [PATCH v2 0/6] *** Add Intel QuickSync support to ffmpeg *** Louis-Paul Cordier
2019-01-31 12:15 ` [Buildroot] [PATCH v2 1/6] intel-gmmlib: new package Louis-Paul Cordier
2019-02-02 14:51   ` Thomas Petazzoni
2019-02-04  9:32   ` Thomas Petazzoni
2019-01-31 12:15 ` [Buildroot] [PATCH v2 2/6] intel-mediadriver: " Louis-Paul Cordier
2019-02-02 16:03   ` Thomas Petazzoni
2019-02-04  9:23     ` lpdev at cordier.org
2019-01-31 12:15 ` [Buildroot] [PATCH v2 3/6] intel-mediasdk: " Louis-Paul Cordier
2019-02-04  9:41   ` Thomas Petazzoni
2019-01-31 12:15 ` [Buildroot] [PATCH v2 4/6] ffmpeg: bump to version 4.1. ffserver is not supported anymore Louis-Paul Cordier
2019-02-02 14:54   ` Thomas Petazzoni
2019-02-03  8:48     ` Bernd Kuhls
2019-02-03 14:40       ` Peter Korsgaard
2019-02-04  9:39       ` Thomas Petazzoni
2019-02-04  9:30     ` lpdev at cordier.org
2019-02-04 10:20       ` Thomas Petazzoni
2019-01-31 12:15 ` [Buildroot] [PATCH v2 5/6] ffmpeg: enable Intel QuickSync support Louis-Paul Cordier
2019-01-31 12:15 ` [Buildroot] [PATCH v2 6/6] Update DEVELOPERS Louis-Paul Cordier
2019-02-02 14:47   ` Thomas Petazzoni
2019-02-04  9:11     ` lpdev at cordier.org
2019-02-04  9:43       ` Thomas Petazzoni
2019-02-04  9:48         ` lpdev at cordier.org

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.