diff options
author | Lim Siew Hoon <siew.hoon.lim@intel.com> | 2020-12-24 19:42:04 +0800 |
---|---|---|
committer | Anuj Mittal <anuj.mittal@intel.com> | 2020-12-25 00:02:37 +0800 |
commit | 5c0965962d07da6bb4eed90cc788958e1cd84696 (patch) | |
tree | 9091aeafef0e97954236933aa67f72c073b0abdd /recipes-multimedia/libva | |
parent | e8e901aac795f23a985615e03b9194012b164542 (diff) | |
download | meta-intel-5c0965962d07da6bb4eed90cc788958e1cd84696.tar.gz |
intel-media-driver: backport fixes
Fixes dmabuf sharing with glimagesink failing with
certain color format between msdkvpp and glimagesink
from gst-plugins-bad master.
Backport patches:
* 0001-media_libva-export-packed-YUV-when-VA_EXPORT_SURFACE.patch
Submitted patches:
* 0002-media-libva-Add-export-AYUV-color-in-vaExportSurface.patch
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Diffstat (limited to 'recipes-multimedia/libva')
3 files changed, 97 insertions, 0 deletions
diff --git a/recipes-multimedia/libva/files/0001-media_libva-export-packed-YUV-when-VA_EXPORT_SURFACE.patch b/recipes-multimedia/libva/files/0001-media_libva-export-packed-YUV-when-VA_EXPORT_SURFACE.patch new file mode 100644 index 00000000..5260dc19 --- /dev/null +++ b/recipes-multimedia/libva/files/0001-media_libva-export-packed-YUV-when-VA_EXPORT_SURFACE.patch | |||
@@ -0,0 +1,62 @@ | |||
1 | From 8fc1d919fd33db698e5470602942ab6a2d6b7841 Mon Sep 17 00:00:00 2001 | ||
2 | From: Haihao Xiang <haihao.xiang@intel.com> | ||
3 | Date: Thu, 3 Dec 2020 10:52:15 +0800 | ||
4 | Subject: [PATCH 1/2] media_libva: export packed YUV when | ||
5 | VA_EXPORT_SURFACE_COMPOSED_LAYERS is not set | ||
6 | |||
7 | vaExportSurfaceHandle works for packed RGB w/wo | ||
8 | VA_EXPORT_SURFACE_COMPOSED_LAYERS, it should work for packed YUV too | ||
9 | w/wo VA_EXPORT_SURFACE_COMPOSED_LAYERS | ||
10 | |||
11 | Example: | ||
12 | gst-launch-1.0 videotestsrc ! msdkvpp ! \ | ||
13 | 'video/x-raw(memory:DMABuf)',format=YUY2 ! glimagesink | ||
14 | |||
15 | The patch was imported from the iHD media-driver git server | ||
16 | (https://github.com/intel/media-driver.git) as of commit id | ||
17 | 38e5f4ab95a5c4fb3fe55d3d132795ee804d9310. | ||
18 | |||
19 | Upstream-Status: Backport | ||
20 | |||
21 | Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com> | ||
22 | --- | ||
23 | media_driver/linux/common/ddi/media_libva.cpp | 22 +++++++++++++++++-- | ||
24 | 1 file changed, 20 insertions(+), 2 deletions(-) | ||
25 | |||
26 | diff --git a/media_driver/linux/common/ddi/media_libva.cpp b/media_driver/linux/common/ddi/media_libva.cpp | ||
27 | index 91c3ff14..778b7011 100755 | ||
28 | --- a/media_driver/linux/common/ddi/media_libva.cpp | ||
29 | +++ b/media_driver/linux/common/ddi/media_libva.cpp | ||
30 | @@ -6672,9 +6672,27 @@ static uint32_t DdiMedia_GetDrmFormatOfSeparatePlane(uint32_t fourcc, int plane) | ||
31 | return DRM_FORMAT_R16; | ||
32 | |||
33 | case VA_FOURCC_YUY2: | ||
34 | + return DRM_FORMAT_YUYV; | ||
35 | + case VA_FOURCC_YVYU: | ||
36 | + return DRM_FORMAT_YVYU; | ||
37 | + case VA_FOURCC_VYUY: | ||
38 | + return DRM_FORMAT_VYUY; | ||
39 | case VA_FOURCC_UYVY: | ||
40 | - // These are not representable as separate planes. | ||
41 | - return 0; | ||
42 | + return DRM_FORMAT_UYVY; | ||
43 | + case VA_FOURCC_Y210: | ||
44 | + return DRM_FORMAT_Y210; | ||
45 | + case VA_FOURCC_Y216: | ||
46 | + return DRM_FORMAT_Y216; | ||
47 | + case VA_FOURCC_Y410: | ||
48 | + return DRM_FORMAT_Y410; | ||
49 | + case VA_FOURCC_Y416: | ||
50 | + return DRM_FORMAT_Y416; | ||
51 | +#if VA_CHECK_VERSION(1, 9, 0) | ||
52 | + case VA_FOURCC_Y212: | ||
53 | + return DRM_FORMAT_Y216; | ||
54 | + case VA_FOURCC_Y412: | ||
55 | + return DRM_FORMAT_Y416; | ||
56 | +#endif | ||
57 | |||
58 | case VA_FOURCC_ARGB: | ||
59 | return DRM_FORMAT_ARGB8888; | ||
60 | -- | ||
61 | 2.17.1 | ||
62 | |||
diff --git a/recipes-multimedia/libva/files/0002-media-libva-Add-export-AYUV-color-in-vaExportSurface.patch b/recipes-multimedia/libva/files/0002-media-libva-Add-export-AYUV-color-in-vaExportSurface.patch new file mode 100644 index 00000000..a3fef964 --- /dev/null +++ b/recipes-multimedia/libva/files/0002-media-libva-Add-export-AYUV-color-in-vaExportSurface.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | From 979e90d7bc9ff6d9064e1f0378015abf40d86af2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Lim Siew Hoon <siew.hoon.lim@intel.com> | ||
3 | Date: Thu, 24 Dec 2020 18:47:56 +0800 | ||
4 | Subject: [PATCH 2/2] media-libva: Add export AYUV color in | ||
5 | vaExportSurfaceHandle when VA_EXPORT_SURFACE_COMPOSED_LAYERS is not set. | ||
6 | |||
7 | Example: | ||
8 | gst-launch-1.0 videotestsrc ! msdkvpp \ | ||
9 | 'video/x-raw(memory:DMABuf)',format=VUYA ! glimagesink | ||
10 | |||
11 | Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1115] | ||
12 | |||
13 | Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com> | ||
14 | --- | ||
15 | media_driver/linux/common/ddi/media_libva.cpp | 2 ++ | ||
16 | 1 file changed, 2 insertions(+) | ||
17 | |||
18 | diff --git a/media_driver/linux/common/ddi/media_libva.cpp b/media_driver/linux/common/ddi/media_libva.cpp | ||
19 | index 778b7011..0e9f07d3 100755 | ||
20 | --- a/media_driver/linux/common/ddi/media_libva.cpp | ||
21 | +++ b/media_driver/linux/common/ddi/media_libva.cpp | ||
22 | @@ -6679,6 +6679,8 @@ static uint32_t DdiMedia_GetDrmFormatOfSeparatePlane(uint32_t fourcc, int plane) | ||
23 | return DRM_FORMAT_VYUY; | ||
24 | case VA_FOURCC_UYVY: | ||
25 | return DRM_FORMAT_UYVY; | ||
26 | + case VA_FOURCC_AYUV: | ||
27 | + return DRM_FORMAT_AYUV; | ||
28 | case VA_FOURCC_Y210: | ||
29 | return DRM_FORMAT_Y210; | ||
30 | case VA_FOURCC_Y216: | ||
31 | -- | ||
32 | 2.17.1 | ||
33 | |||
diff --git a/recipes-multimedia/libva/intel-media-driver_20.3.0.bb b/recipes-multimedia/libva/intel-media-driver_20.3.0.bb index a53867bd..93ce6109 100644 --- a/recipes-multimedia/libva/intel-media-driver_20.3.0.bb +++ b/recipes-multimedia/libva/intel-media-driver_20.3.0.bb | |||
@@ -20,6 +20,8 @@ DEPENDS += "libva gmmlib" | |||
20 | 20 | ||
21 | SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;branch=intel-media-20.3 \ | 21 | SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;branch=intel-media-20.3 \ |
22 | file://0001-Encode-Fixed-VP9-444-frame-header.patch \ | 22 | file://0001-Encode-Fixed-VP9-444-frame-header.patch \ |
23 | file://0001-media_libva-export-packed-YUV-when-VA_EXPORT_SURFACE.patch \ | ||
24 | file://0002-media-libva-Add-export-AYUV-color-in-vaExportSurface.patch \ | ||
23 | " | 25 | " |
24 | 26 | ||
25 | SRCREV = "86ec0b6f61862806d8aed1803537728d1dfadf84" | 27 | SRCREV = "86ec0b6f61862806d8aed1803537728d1dfadf84" |