diff options
author | Jussi Kukkonen <jussi.kukkonen@intel.com> | 2017-07-06 10:54:36 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-07-08 13:34:46 +0100 |
commit | 4a51d254cfb35a54ddf2dfc7e8114b351b46f9d6 (patch) | |
tree | 0e24ca92d062660780042d4122165a9d529ffd71 /meta/recipes-multimedia/gstreamer | |
parent | 5e4845d15e6e14a1812853615aa7b65bee806c03 (diff) | |
download | poky-4a51d254cfb35a54ddf2dfc7e8114b351b46f9d6.tar.gz |
gstreamer1.0-plugins-bad: Add vulkan PACKAGECONFIG
This adds a Vulkan video sink (using xcb and/or wayland).
Add a few patches to fix the build.
(From OE-Core rev: a80a0b3981d129a945ddd775690963cefa15376a)
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-multimedia/gstreamer')
4 files changed, 105 insertions, 2 deletions
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc index 0ccfc89a2e..4f6bc854d2 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc | |||
@@ -66,6 +66,7 @@ PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp" | |||
66 | PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev" | 66 | PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev" |
67 | PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc" | 67 | PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc" |
68 | PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc" | 68 | PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc" |
69 | PACKAGECONFIG[vulkan] = "--enable-vulkan,--disable-vulkan,vulkan" | ||
69 | PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols" | 70 | PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols" |
70 | PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" | 71 | PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" |
71 | 72 | ||
@@ -78,7 +79,7 @@ PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" | |||
78 | # openni2 winks direct3d directsound winscreencap acm apple_media | 79 | # openni2 winks direct3d directsound winscreencap acm apple_media |
79 | # android_media avc bs2b chromaprint daala dts fdkaac gme gsm kate ladspa libde265 | 80 | # android_media avc bs2b chromaprint daala dts fdkaac gme gsm kate ladspa libde265 |
80 | # lv2 mimic mpeg2enc mplex musepack nvenc ofa openh264 opensles pvr soundtouch spandsp | 81 | # lv2 mimic mpeg2enc mplex musepack nvenc ofa openh264 opensles pvr soundtouch spandsp |
81 | # spc teletextdec tinyalsa vdpau vulkan wasapi x265 zbar | 82 | # spc teletextdec tinyalsa vdpau wasapi x265 zbar |
82 | 83 | ||
83 | # qt5 support is disabled, because it is not present in OE core, and requires more work than | 84 | # qt5 support is disabled, because it is not present in OE core, and requires more work than |
84 | # just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths). | 85 | # just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths). |
@@ -136,7 +137,6 @@ EXTRA_OECONF += " \ | |||
136 | --disable-timidity \ | 137 | --disable-timidity \ |
137 | --disable-tinyalsa \ | 138 | --disable-tinyalsa \ |
138 | --disable-vdpau \ | 139 | --disable-vdpau \ |
139 | --disable-vulkan \ | ||
140 | --disable-wasapi \ | 140 | --disable-wasapi \ |
141 | --disable-wildmidi \ | 141 | --disable-wildmidi \ |
142 | --disable-wininet \ | 142 | --disable-wininet \ |
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch new file mode 100644 index 0000000000..caaa62d48a --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch | |||
@@ -0,0 +1,37 @@ | |||
1 | From 1523ab462c1bf19055960ced255f4872b6cf9f5c Mon Sep 17 00:00:00 2001 | ||
2 | From: Jussi Kukkonen <jussi.kukkonen@intel.com> | ||
3 | Date: Wed, 5 Jul 2017 11:00:42 +0300 | ||
4 | Subject: [PATCH 1/2] vkdisplay: Use ifdef for platform specific defines | ||
5 | |||
6 | VK_KHR_*_SURFACE_EXTENSION_NAME are only available when corresponding | ||
7 | WSI is enabled. | ||
8 | |||
9 | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> | ||
10 | Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=784539] | ||
11 | --- | ||
12 | ext/vulkan/vkdisplay.c | 4 ++++ | ||
13 | 1 file changed, 4 insertions(+) | ||
14 | |||
15 | diff --git a/ext/vulkan/vkdisplay.c b/ext/vulkan/vkdisplay.c | ||
16 | index 550134cd8..ade5d4583 100644 | ||
17 | --- a/ext/vulkan/vkdisplay.c | ||
18 | +++ b/ext/vulkan/vkdisplay.c | ||
19 | @@ -448,11 +448,15 @@ gst_vulkan_display_type_to_extension_string (GstVulkanDisplayType type) | ||
20 | if (type == GST_VULKAN_DISPLAY_TYPE_NONE) | ||
21 | return NULL; | ||
22 | |||
23 | +#if GST_VULKAN_HAVE_WINDOW_XCB | ||
24 | if (type & GST_VULKAN_DISPLAY_TYPE_XCB) | ||
25 | return VK_KHR_XCB_SURFACE_EXTENSION_NAME; | ||
26 | +#endif | ||
27 | |||
28 | +#if GST_VULKAN_HAVE_WINDOW_WAYLAND | ||
29 | if (type & GST_VULKAN_DISPLAY_TYPE_WAYLAND) | ||
30 | return VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME; | ||
31 | +#endif | ||
32 | |||
33 | return NULL; | ||
34 | } | ||
35 | -- | ||
36 | 2.13.2 | ||
37 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch new file mode 100644 index 0000000000..0df145dd25 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch | |||
@@ -0,0 +1,64 @@ | |||
1 | From c23e1dc22deb495561cffb877edb2746b740a1fa Mon Sep 17 00:00:00 2001 | ||
2 | From: Jussi Kukkonen <jussi.kukkonen@intel.com> | ||
3 | Date: Wed, 5 Jul 2017 11:07:05 +0300 | ||
4 | Subject: [PATCH 2/2] vulkan: Use the generated version of vkconfig.h | ||
5 | |||
6 | Build fails in ext/vulkan/xcb and ext/vulkan/wayland when: | ||
7 | * building from tarball | ||
8 | * building out-of-tree | ||
9 | * Only one WSI integration (xcb or wayland) is enabled by configure.ac | ||
10 | This is because vkconfig.h from source directory gets used instead | ||
11 | of the generated one. | ||
12 | |||
13 | Add the correct build directory to "-I". Use angle bracket | ||
14 | include in vkapi.h so that it actually looks in the include search | ||
15 | path instead of defaulting to the same (source tree) directory. | ||
16 | |||
17 | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> | ||
18 | Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=784539] | ||
19 | --- | ||
20 | ext/vulkan/vkapi.h | 2 +- | ||
21 | ext/vulkan/wayland/Makefile.am | 1 + | ||
22 | ext/vulkan/xcb/Makefile.am | 1 + | ||
23 | 3 files changed, 3 insertions(+), 1 deletion(-) | ||
24 | |||
25 | diff --git a/ext/vulkan/vkapi.h b/ext/vulkan/vkapi.h | ||
26 | index e9c23aa92..a37c29d0f 100644 | ||
27 | --- a/ext/vulkan/vkapi.h | ||
28 | +++ b/ext/vulkan/vkapi.h | ||
29 | @@ -23,7 +23,7 @@ | ||
30 | |||
31 | #define VK_PROTOTYPES | ||
32 | |||
33 | -#include "vkconfig.h" | ||
34 | +#include <vkconfig.h> | ||
35 | #include "vk_fwd.h" | ||
36 | #include "vkmacros.h" | ||
37 | |||
38 | diff --git a/ext/vulkan/wayland/Makefile.am b/ext/vulkan/wayland/Makefile.am | ||
39 | index f92d85e2c..10cfb70e6 100644 | ||
40 | --- a/ext/vulkan/wayland/Makefile.am | ||
41 | +++ b/ext/vulkan/wayland/Makefile.am | ||
42 | @@ -14,6 +14,7 @@ noinst_HEADERS = \ | ||
43 | |||
44 | libgstvulkan_wayland_la_CFLAGS = \ | ||
45 | -I$(top_srcdir)/gst-libs \ | ||
46 | + -I$(top_builddir)/ext/vulkan \ | ||
47 | -I$(top_srcdir)/ext/vulkan \ | ||
48 | -I$(top_builddir)/gst-libs \ | ||
49 | $(GST_PLUGINS_BASE_CFLAGS) \ | ||
50 | diff --git a/ext/vulkan/xcb/Makefile.am b/ext/vulkan/xcb/Makefile.am | ||
51 | index 7debcff9e..b5103551b 100644 | ||
52 | --- a/ext/vulkan/xcb/Makefile.am | ||
53 | +++ b/ext/vulkan/xcb/Makefile.am | ||
54 | @@ -14,6 +14,7 @@ noinst_HEADERS = \ | ||
55 | |||
56 | libgstvulkan_xcb_la_CFLAGS = \ | ||
57 | -I$(top_srcdir)/gst-libs \ | ||
58 | + -I$(top_builddir)/ext/vulkan \ | ||
59 | -I$(top_srcdir)/ext/vulkan \ | ||
60 | -I$(top_builddir)/gst-libs \ | ||
61 | $(GST_PLUGINS_BASE_CFLAGS) \ | ||
62 | -- | ||
63 | 2.13.2 | ||
64 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb index def03a9b81..a7692304d8 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb | |||
@@ -19,6 +19,8 @@ SRC_URI = " \ | |||
19 | file://0001-smoothstreaming-use-the-duration-from-the-list-of-fr.patch \ | 19 | file://0001-smoothstreaming-use-the-duration-from-the-list-of-fr.patch \ |
20 | file://0001-mssdemux-improved-live-playback-support.patch \ | 20 | file://0001-mssdemux-improved-live-playback-support.patch \ |
21 | file://link-with-libvchostif.patch \ | 21 | file://link-with-libvchostif.patch \ |
22 | file://0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch \ | ||
23 | file://0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch \ | ||
22 | " | 24 | " |
23 | SRC_URI[md5sum] = "2757103e57a096a1a05b3ab85b8381af" | 25 | SRC_URI[md5sum] = "2757103e57a096a1a05b3ab85b8381af" |
24 | SRC_URI[sha256sum] = "23ddae506b3a223b94869a0d3eea3e9a12e847f94d2d0e0b97102ce13ecd6966" | 26 | SRC_URI[sha256sum] = "23ddae506b3a223b94869a0d3eea3e9a12e847f94d2d0e0b97102ce13ecd6966" |