diff options
Diffstat (limited to 'recipes-multimedia/onevpl/onevpl')
7 files changed, 0 insertions, 618 deletions
diff --git a/recipes-multimedia/onevpl/onevpl/0001-Extends-errorTypes-to-support-JPEG-errors.patch b/recipes-multimedia/onevpl/onevpl/0001-Extends-errorTypes-to-support-JPEG-errors.patch deleted file mode 100644 index 063dd3fb..00000000 --- a/recipes-multimedia/onevpl/onevpl/0001-Extends-errorTypes-to-support-JPEG-errors.patch +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | From acdab0d47785f61aa06c1f0955450bf1574f202c Mon Sep 17 00:00:00 2001 | ||
2 | From: Vincent Cheah Beng Keat <vincent.beng.keat.cheah@intel.com> | ||
3 | Date: Tue, 28 Sep 2021 03:06:40 +0000 | ||
4 | Subject: [PATCH] Extends errorTypes to support JPEG errors | ||
5 | |||
6 | Upstream-Status: Submitted | ||
7 | innersource PR #251 | ||
8 | |||
9 | --- | ||
10 | api/vpl/mfxstructures.h | 33 +++++++++++++++++++++++++++------ | ||
11 | 1 file changed, 27 insertions(+), 6 deletions(-) | ||
12 | |||
13 | diff --git a/api/vpl/mfxstructures.h b/api/vpl/mfxstructures.h | ||
14 | index 9c8dd2b1..a9ccb4ae 100644 | ||
15 | --- a/api/vpl/mfxstructures.h | ||
16 | +++ b/api/vpl/mfxstructures.h | ||
17 | @@ -3546,12 +3546,33 @@ MFX_PACK_END() | ||
18 | |||
19 | /*! The ErrorTypes enumerator uses bit-ORed values to itemize bitstream error types. */ | ||
20 | enum { | ||
21 | - MFX_ERROR_NO = 0, /*!< No error in bitstream. */ | ||
22 | - MFX_ERROR_PPS = (1 << 0), /*!< Invalid/corrupted PPS. */ | ||
23 | - MFX_ERROR_SPS = (1 << 1), /*!< Invalid/corrupted SPS. */ | ||
24 | - MFX_ERROR_SLICEHEADER = (1 << 2), /*!< Invalid/corrupted slice header. */ | ||
25 | - MFX_ERROR_SLICEDATA = (1 << 3), /*!< Invalid/corrupted slice data. */ | ||
26 | - MFX_ERROR_FRAME_GAP = (1 << 4), /*!< Missed frames. */ | ||
27 | + MFX_ERROR_NO = 0, /*!< No error in bitstream. */ | ||
28 | + MFX_ERROR_PPS = (1 << 0), /*!< Invalid/corrupted PPS. */ | ||
29 | + MFX_ERROR_SPS = (1 << 1), /*!< Invalid/corrupted SPS. */ | ||
30 | + MFX_ERROR_SLICEHEADER = (1 << 2), /*!< Invalid/corrupted slice header. */ | ||
31 | + MFX_ERROR_SLICEDATA = (1 << 3), /*!< Invalid/corrupted slice data. */ | ||
32 | + MFX_ERROR_FRAME_GAP = (1 << 4), /*!< Missed frames. */ | ||
33 | + MFX_ERROR_JPEG_APP0_MARKER = (1 << 5), /*!< Invalid/corrupted APP0 marker. */ | ||
34 | + MFX_ERROR_JPEG_APP1_MARKER = (1 << 6), /*!< Invalid/corrupted APP1 marker. */ | ||
35 | + MFX_ERROR_JPEG_APP2_MARKER = (1 << 7), /*!< Invalid/corrupted APP2 marker. */ | ||
36 | + MFX_ERROR_JPEG_APP3_MARKER = (1 << 8), /*!< Invalid/corrupted APP3 marker. */ | ||
37 | + MFX_ERROR_JPEG_APP4_MARKER = (1 << 9), /*!< Invalid/corrupted APP4 marker. */ | ||
38 | + MFX_ERROR_JPEG_APP5_MARKER = (1 << 10), /*!< Invalid/corrupted APP5 marker. */ | ||
39 | + MFX_ERROR_JPEG_APP6_MARKER = (1 << 11), /*!< Invalid/corrupted APP6 marker. */ | ||
40 | + MFX_ERROR_JPEG_APP7_MARKER = (1 << 12), /*!< Invalid/corrupted APP7 marker. */ | ||
41 | + MFX_ERROR_JPEG_APP8_MARKER = (1 << 13), /*!< Invalid/corrupted APP8 marker. */ | ||
42 | + MFX_ERROR_JPEG_APP9_MARKER = (1 << 14), /*!< Invalid/corrupted APP9 marker. */ | ||
43 | + MFX_ERROR_JPEG_APP10_MARKER = (1 << 15), /*!< Invalid/corrupted APP10 marker. */ | ||
44 | + MFX_ERROR_JPEG_APP11_MARKER = (1 << 16), /*!< Invalid/corrupted APP11 marker. */ | ||
45 | + MFX_ERROR_JPEG_APP12_MARKER = (1 << 17), /*!< Invalid/corrupted APP12 marker. */ | ||
46 | + MFX_ERROR_JPEG_APP13_MARKER = (1 << 18), /*!< Invalid/corrupted APP13 marker. */ | ||
47 | + MFX_ERROR_JPEG_APP14_MARKER = (1 << 19), /*!< Invalid/corrupted APP14 marker. */ | ||
48 | + MFX_ERROR_JPEG_DQT_MARKER = (1 << 20), /*!< Invalid/corrupted DQT marker. */ | ||
49 | + MFX_ERROR_JPEG_SOF0_MARKER = (1 << 21), /*!< Invalid/corrupted SOF0 marker. */ | ||
50 | + MFX_ERROR_JPEG_DHT_MARKER = (1 << 22), /*!< Invalid/corrupted DHT marker. */ | ||
51 | + MFX_ERROR_JPEG_DRI_MARKER = (1 << 23), /*!< Invalid/corrupted DRI marker. */ | ||
52 | + MFX_ERROR_JPEG_SOS_MARKER = (1 << 24), /*!< Invalid/corrupted SOS marker. */ | ||
53 | + MFX_ERROR_JPEG_UNKNOWN_MARKER = (1 << 25), /*!< Unknown Marker. */ | ||
54 | }; | ||
55 | |||
56 | MFX_PACK_BEGIN_USUAL_STRUCT() | ||
57 | -- | ||
58 | 2.33.0 | ||
59 | |||
diff --git a/recipes-multimedia/onevpl/onevpl/0001-Fix-basename-build-issue-with-musl_libc.patch b/recipes-multimedia/onevpl/onevpl/0001-Fix-basename-build-issue-with-musl_libc.patch deleted file mode 100644 index 93e5ed0d..00000000 --- a/recipes-multimedia/onevpl/onevpl/0001-Fix-basename-build-issue-with-musl_libc.patch +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | From d16afe9f9302e4995f12d699019eba170bb6db21 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Yew, Chang Ching" <chang.ching.yew@intel.com> | ||
3 | Date: Fri, 8 Oct 2021 08:45:39 +0800 | ||
4 | Subject: [PATCH] Fix basename() build issue with musl_libc | ||
5 | |||
6 | Upstream-Status: Submitted | ||
7 | innersource PR #264 | ||
8 | |||
9 | Signed-off-by: Yew, Chang Ching <chang.ching.yew@intel.com> | ||
10 | --- | ||
11 | tools/legacy/sample_common/src/vaapi_utils.cpp | 3 ++- | ||
12 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
13 | |||
14 | diff --git a/tools/legacy/sample_common/src/vaapi_utils.cpp b/tools/legacy/sample_common/src/vaapi_utils.cpp | ||
15 | index b69dbe44..9382535a 100644 | ||
16 | --- a/tools/legacy/sample_common/src/vaapi_utils.cpp | ||
17 | +++ b/tools/legacy/sample_common/src/vaapi_utils.cpp | ||
18 | @@ -7,6 +7,7 @@ | ||
19 | #ifdef LIBVA_SUPPORT | ||
20 | |||
21 | #include "vaapi_utils.h" | ||
22 | + #include <libgen.h> | ||
23 | #include <dlfcn.h> | ||
24 | #include <stdexcept> | ||
25 | |||
26 | @@ -26,7 +27,7 @@ SimpleLoader::SimpleLoader(const char* name) { | ||
27 | dlerror(); | ||
28 | so_handle = dlopen(name, RTLD_GLOBAL | RTLD_NOW); | ||
29 | if (NULL == so_handle) { | ||
30 | - so_handle = dlopen(basename(name), RTLD_GLOBAL | RTLD_NOW); | ||
31 | + so_handle = dlopen(basename((char *)name), RTLD_GLOBAL | RTLD_NOW); | ||
32 | if (NULL == so_handle) { | ||
33 | std::cerr << dlerror() << std::endl; | ||
34 | throw std::runtime_error("Can't load library"); | ||
35 | -- | ||
36 | 2.33.0 | ||
37 | |||
diff --git a/recipes-multimedia/onevpl/onevpl/0001-sample_decode-Add-VDSFC-CSC-for-AVC-HEVC.patch b/recipes-multimedia/onevpl/onevpl/0001-sample_decode-Add-VDSFC-CSC-for-AVC-HEVC.patch deleted file mode 100644 index db8baa3e..00000000 --- a/recipes-multimedia/onevpl/onevpl/0001-sample_decode-Add-VDSFC-CSC-for-AVC-HEVC.patch +++ /dev/null | |||
@@ -1,132 +0,0 @@ | |||
1 | From f8d87fc857d5bfd69247c985ed82ba88e167ef30 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Yew, Chang Ching" <chang.ching.yew@intel.com> | ||
3 | Date: Fri, 9 Jul 2021 13:59:33 +0000 | ||
4 | Subject: [PATCH] sample_decode: Add VDSFC CSC for AVC/HEVC | ||
5 | |||
6 | Upstream-Status: Submitted | ||
7 | innersource PR #289 | ||
8 | |||
9 | Signed-off-by: Yew, Chang Ching <chang.ching.yew@intel.com> | ||
10 | --- | ||
11 | .../sample_decode/src/pipeline_decode.cpp | 84 +++++++++++++++++-- | ||
12 | 1 file changed, 77 insertions(+), 7 deletions(-) | ||
13 | |||
14 | diff --git a/tools/legacy/sample_decode/src/pipeline_decode.cpp b/tools/legacy/sample_decode/src/pipeline_decode.cpp | ||
15 | index 4dc811c5..d817ff2a 100644 | ||
16 | --- a/tools/legacy/sample_decode/src/pipeline_decode.cpp | ||
17 | +++ b/tools/legacy/sample_decode/src/pipeline_decode.cpp | ||
18 | @@ -765,6 +765,14 @@ bool CDecodingPipeline::IsVppRequired(sInputParams* pParams) { | ||
19 | if (pParams->eDeinterlace) { | ||
20 | bVppIsUsed = true; | ||
21 | } | ||
22 | + | ||
23 | + if ((MODE_DECODER_POSTPROC_AUTO == pParams->nDecoderPostProcessing) || | ||
24 | + (MODE_DECODER_POSTPROC_FORCE == pParams->nDecoderPostProcessing)) { | ||
25 | + /* Decoder will make decision about internal post-processing usage slightly later */ | ||
26 | + if ((pParams->videoType == MFX_CODEC_AVC) || (pParams->videoType == MFX_CODEC_HEVC)) | ||
27 | + bVppIsUsed = false; | ||
28 | + } | ||
29 | + | ||
30 | return bVppIsUsed; | ||
31 | } | ||
32 | |||
33 | @@ -1014,6 +1022,8 @@ mfxStatus CDecodingPipeline::InitMfxParams(sInputParams* pParams) { | ||
34 | if (!m_bVppIsUsed) { | ||
35 | if ((m_mfxVideoParams.mfx.FrameInfo.CropW != pParams->Width && pParams->Width) || | ||
36 | (m_mfxVideoParams.mfx.FrameInfo.CropH != pParams->Height && pParams->Height) || | ||
37 | + (pParams->nDecoderPostProcessing && pParams->videoType == MFX_CODEC_AVC) || | ||
38 | + (pParams->nDecoderPostProcessing && pParams->videoType == MFX_CODEC_HEVC) || | ||
39 | (pParams->nDecoderPostProcessing && pParams->videoType == MFX_CODEC_JPEG && | ||
40 | pParams->fourcc == MFX_FOURCC_RGB4 && | ||
41 | // No need to use decoder's post processing for decoding of JPEG with RGB 4:4:4 | ||
42 | @@ -1027,7 +1037,10 @@ mfxStatus CDecodingPipeline::InitMfxParams(sInputParams* pParams) { | ||
43 | if (((MODE_DECODER_POSTPROC_AUTO == pParams->nDecoderPostProcessing) || | ||
44 | (MODE_DECODER_POSTPROC_FORCE == pParams->nDecoderPostProcessing)) && | ||
45 | (MFX_CODEC_AVC == m_mfxVideoParams.mfx.CodecId || | ||
46 | - MFX_CODEC_JPEG == m_mfxVideoParams.mfx.CodecId) && /* Only for AVC and JPEG */ | ||
47 | + MFX_CODEC_JPEG == m_mfxVideoParams.mfx.CodecId || | ||
48 | + MFX_CODEC_HEVC == m_mfxVideoParams.mfx.CodecId || | ||
49 | + MFX_CODEC_VP9 == m_mfxVideoParams.mfx.CodecId || | ||
50 | + MFX_CODEC_AV1 == m_mfxVideoParams.mfx.CodecId) && | ||
51 | (MFX_PICSTRUCT_PROGRESSIVE == | ||
52 | m_mfxVideoParams.mfx.FrameInfo.PicStruct)) /* ...And only for progressive!*/ | ||
53 | { /* it is possible to use decoder's post-processing */ | ||
54 | @@ -1050,12 +1063,69 @@ mfxStatus CDecodingPipeline::InitMfxParams(sInputParams* pParams) { | ||
55 | |||
56 | decPostProcessing->Out.FourCC = m_mfxVideoParams.mfx.FrameInfo.FourCC; | ||
57 | decPostProcessing->Out.ChromaFormat = m_mfxVideoParams.mfx.FrameInfo.ChromaFormat; | ||
58 | - decPostProcessing->Out.Width = MSDK_ALIGN16(pParams->Width); | ||
59 | - decPostProcessing->Out.Height = MSDK_ALIGN16(pParams->Height); | ||
60 | - decPostProcessing->Out.CropX = 0; | ||
61 | - decPostProcessing->Out.CropY = 0; | ||
62 | - decPostProcessing->Out.CropW = pParams->Width; | ||
63 | - decPostProcessing->Out.CropH = pParams->Height; | ||
64 | + | ||
65 | + if (pParams->videoType == MFX_CODEC_AVC || pParams->videoType == MFX_CODEC_HEVC) { | ||
66 | + switch (pParams->fourcc) { | ||
67 | + case MFX_FOURCC_RGB4: | ||
68 | + decPostProcessing->Out.FourCC = MFX_FOURCC_RGB4; | ||
69 | + decPostProcessing->Out.ChromaFormat = MFX_CHROMAFORMAT_YUV444; | ||
70 | + break; | ||
71 | + | ||
72 | + case MFX_FOURCC_NV12: | ||
73 | + decPostProcessing->Out.FourCC = MFX_FOURCC_NV12; | ||
74 | + decPostProcessing->Out.ChromaFormat = MFX_CHROMAFORMAT_YUV420; | ||
75 | + break; | ||
76 | + | ||
77 | + case MFX_FOURCC_P010: | ||
78 | + decPostProcessing->Out.FourCC = MFX_FOURCC_P010; | ||
79 | + decPostProcessing->Out.ChromaFormat = MFX_CHROMAFORMAT_YUV420; | ||
80 | + break; | ||
81 | + | ||
82 | + case MFX_FOURCC_P016: | ||
83 | + decPostProcessing->Out.FourCC = MFX_FOURCC_P016; | ||
84 | + decPostProcessing->Out.ChromaFormat = MFX_CHROMAFORMAT_YUV420; | ||
85 | + break; | ||
86 | + | ||
87 | + case MFX_FOURCC_YUY2: | ||
88 | + decPostProcessing->Out.FourCC = MFX_FOURCC_YUY2; | ||
89 | + decPostProcessing->Out.ChromaFormat = MFX_CHROMAFORMAT_YUV422; | ||
90 | + break; | ||
91 | + | ||
92 | + case MFX_FOURCC_Y210: | ||
93 | + decPostProcessing->Out.FourCC = MFX_FOURCC_Y210; | ||
94 | + decPostProcessing->Out.ChromaFormat = MFX_CHROMAFORMAT_YUV422; | ||
95 | + break; | ||
96 | + | ||
97 | + case MFX_FOURCC_Y216: | ||
98 | + decPostProcessing->Out.FourCC = MFX_FOURCC_Y216; | ||
99 | + decPostProcessing->Out.ChromaFormat = MFX_CHROMAFORMAT_YUV422; | ||
100 | + break; | ||
101 | + | ||
102 | + case MFX_FOURCC_AYUV: | ||
103 | + decPostProcessing->Out.FourCC = MFX_FOURCC_AYUV; | ||
104 | + decPostProcessing->Out.ChromaFormat = MFX_CHROMAFORMAT_YUV444; | ||
105 | + break; | ||
106 | + | ||
107 | + case MFX_FOURCC_Y410: | ||
108 | + decPostProcessing->Out.FourCC = MFX_FOURCC_Y410; | ||
109 | + decPostProcessing->Out.ChromaFormat = MFX_CHROMAFORMAT_YUV444; | ||
110 | + break; | ||
111 | + | ||
112 | + case MFX_FOURCC_Y416: | ||
113 | + decPostProcessing->Out.FourCC = MFX_FOURCC_Y416; | ||
114 | + decPostProcessing->Out.ChromaFormat = MFX_CHROMAFORMAT_YUV444; | ||
115 | + break; | ||
116 | + | ||
117 | + default: | ||
118 | + break; | ||
119 | + } | ||
120 | + } | ||
121 | + decPostProcessing->Out.Width = MSDK_ALIGN16(pParams->Width); | ||
122 | + decPostProcessing->Out.Height = MSDK_ALIGN16(pParams->Height); | ||
123 | + decPostProcessing->Out.CropX = 0; | ||
124 | + decPostProcessing->Out.CropY = 0; | ||
125 | + decPostProcessing->Out.CropW = pParams->Width; | ||
126 | + decPostProcessing->Out.CropH = pParams->Height; | ||
127 | |||
128 | msdk_printf(MSDK_STRING("Decoder's post-processing is used for resizing\n")); | ||
129 | } | ||
130 | -- | ||
131 | 2.33.1 | ||
132 | |||
diff --git a/recipes-multimedia/onevpl/onevpl/0001-sample_misc-Addin-basic-wayland-dmabuf-support.patch b/recipes-multimedia/onevpl/onevpl/0001-sample_misc-Addin-basic-wayland-dmabuf-support.patch deleted file mode 100644 index 96110ef8..00000000 --- a/recipes-multimedia/onevpl/onevpl/0001-sample_misc-Addin-basic-wayland-dmabuf-support.patch +++ /dev/null | |||
@@ -1,90 +0,0 @@ | |||
1 | From 2e2bcb1817f2dc91adf85f5255a4792a6213a74e Mon Sep 17 00:00:00 2001 | ||
2 | From: "Ung, Teng En" <teng.en.ung@intel.com> | ||
3 | Date: Fri, 8 Oct 2021 14:19:40 +0000 | ||
4 | Subject: [PATCH 2/3] sample_misc: Addin basic wayland dmabuf support. | ||
5 | |||
6 | Upstream-Status: Submitted | ||
7 | innersource PR #269 | ||
8 | |||
9 | --- | ||
10 | .../sample_misc/wayland/include/class_wayland.h | 16 ++++++++++++++++ | ||
11 | .../sample_misc/wayland/src/class_wayland.cpp | 8 ++++++++ | ||
12 | 2 files changed, 24 insertions(+) | ||
13 | |||
14 | diff --git a/tools/legacy/sample_misc/wayland/include/class_wayland.h b/tools/legacy/sample_misc/wayland/include/class_wayland.h | ||
15 | index 564b9b8b..e5267ec2 100644 | ||
16 | --- a/tools/legacy/sample_misc/wayland/include/class_wayland.h | ||
17 | +++ b/tools/legacy/sample_misc/wayland/include/class_wayland.h | ||
18 | @@ -32,6 +32,9 @@ extern "C" { | ||
19 | #include "sample_defs.h" | ||
20 | #include "vpl/mfxstructures.h" | ||
21 | #include "wayland-drm-client-protocol.h" | ||
22 | +#if defined(WAYLAND_LINUX_DMABUF_SUPPORT) | ||
23 | + #include "linux-dmabuf-unstable-v1.h" | ||
24 | +#endif | ||
25 | |||
26 | typedef struct buffer wld_buffer; | ||
27 | |||
28 | @@ -93,6 +96,11 @@ public: | ||
29 | struct wl_drm* GetDrm() { | ||
30 | return m_drm; | ||
31 | } | ||
32 | +#if defined(WAYLAND_LINUX_DMABUF_SUPPORT) | ||
33 | + struct zwp_linux_dmabuf_v1* GetDMABuf() { | ||
34 | + return m_dmabuf; | ||
35 | + } | ||
36 | +#endif | ||
37 | struct wl_shm* GetShm() { | ||
38 | return m_shm; | ||
39 | }; | ||
40 | @@ -120,6 +128,11 @@ public: | ||
41 | void SetDrm(struct wl_drm* drm) { | ||
42 | m_drm = drm; | ||
43 | } | ||
44 | +#if defined(WAYLAND_LINUX_DMABUF_SUPPORT) | ||
45 | + void SetDMABuf(struct zwp_linux_dmabuf_v1* dmabuf) { | ||
46 | + m_dmabuf = dmabuf; | ||
47 | + } | ||
48 | +#endif | ||
49 | void DrmHandleDevice(const char* device); | ||
50 | void DrmHandleAuthenticated(); | ||
51 | void RegistryGlobal(struct wl_registry* registry, | ||
52 | @@ -147,6 +160,9 @@ private: | ||
53 | struct wl_compositor* m_compositor; | ||
54 | struct wl_shell* m_shell; | ||
55 | struct wl_drm* m_drm; | ||
56 | +#if defined(WAYLAND_LINUX_DMABUF_SUPPORT) | ||
57 | + struct zwp_linux_dmabuf_v1* m_dmabuf; | ||
58 | +#endif | ||
59 | struct wl_shm* m_shm; | ||
60 | struct wl_shm_pool* m_pool; | ||
61 | struct wl_surface* m_surface; | ||
62 | diff --git a/tools/legacy/sample_misc/wayland/src/class_wayland.cpp b/tools/legacy/sample_misc/wayland/src/class_wayland.cpp | ||
63 | index 65147973..dc2fc718 100644 | ||
64 | --- a/tools/legacy/sample_misc/wayland/src/class_wayland.cpp | ||
65 | +++ b/tools/legacy/sample_misc/wayland/src/class_wayland.cpp | ||
66 | @@ -50,6 +50,9 @@ Wayland::Wayland() | ||
67 | m_compositor(NULL), | ||
68 | m_shell(NULL), | ||
69 | m_drm(NULL), | ||
70 | +#if defined(WAYLAND_LINUX_DMABUF_SUPPORT) | ||
71 | + m_dmabuf(NULL), | ||
72 | +#endif | ||
73 | m_shm(NULL), | ||
74 | m_pool(NULL), | ||
75 | m_surface(NULL), | ||
76 | @@ -360,6 +363,11 @@ void Wayland::RegistryGlobal(struct wl_registry* registry, | ||
77 | m_drm = static_cast<wl_drm*>(wl_registry_bind(registry, name, &wl_drm_interface, 2)); | ||
78 | wl_drm_add_listener(m_drm, &drm_listener, this); | ||
79 | } | ||
80 | +#if defined(WAYLAND_LINUX_DMABUF_SUPPORT) | ||
81 | + else if(0 == strcmp(interface, "zwp_linux_dmabuf_v1")) | ||
82 | + m_dmabuf = static_cast<zwp_linux_dmabuf_v1*>( | ||
83 | + wl_registry_bind(registry, name, &zwp_linux_dmabuf_v1_interface, version)); | ||
84 | +#endif | ||
85 | } | ||
86 | |||
87 | void Wayland::DrmHandleDevice(const char* name) { | ||
88 | -- | ||
89 | 2.31.1 | ||
90 | |||
diff --git a/recipes-multimedia/onevpl/onevpl/0001-sample_misc-use-wayland-dmabuf-to-render-nv12.patch b/recipes-multimedia/onevpl/onevpl/0001-sample_misc-use-wayland-dmabuf-to-render-nv12.patch deleted file mode 100644 index d061e3ef..00000000 --- a/recipes-multimedia/onevpl/onevpl/0001-sample_misc-use-wayland-dmabuf-to-render-nv12.patch +++ /dev/null | |||
@@ -1,94 +0,0 @@ | |||
1 | From 0091d3fea76e64ffbd537b2ae47b8912c89c09d7 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Ung, Teng En" <teng.en.ung@intel.com> | ||
3 | Date: Fri, 8 Oct 2021 14:38:45 +0000 | ||
4 | Subject: [PATCH 3/3] sample_misc: use wayland dmabuf to render nv12 | ||
5 | |||
6 | Upstream-Status: Submitted | ||
7 | innersource PR #269 | ||
8 | |||
9 | --- | ||
10 | .../sample_misc/wayland/src/class_wayland.cpp | 60 +++++++++++++++---- | ||
11 | 1 file changed, 47 insertions(+), 13 deletions(-) | ||
12 | |||
13 | diff --git a/tools/legacy/sample_misc/wayland/src/class_wayland.cpp b/tools/legacy/sample_misc/wayland/src/class_wayland.cpp | ||
14 | index dc2fc718..d2e7e4e2 100644 | ||
15 | --- a/tools/legacy/sample_misc/wayland/src/class_wayland.cpp | ||
16 | +++ b/tools/legacy/sample_misc/wayland/src/class_wayland.cpp | ||
17 | @@ -26,6 +26,7 @@ or https://software.intel.com/en-us/media-client-solutions-support. | ||
18 | #include <iostream> | ||
19 | extern "C" { | ||
20 | #include <drm.h> | ||
21 | +#include <drm_fourcc.h> | ||
22 | #include <intel_bufmgr.h> | ||
23 | #include <xf86drm.h> | ||
24 | } | ||
25 | @@ -305,20 +306,53 @@ struct wl_buffer* Wayland::CreatePrimeBuffer(uint32_t name, | ||
26 | int32_t offsets[3], | ||
27 | int32_t pitches[3]) { | ||
28 | struct wl_buffer* buffer = NULL; | ||
29 | - if (NULL == m_drm) | ||
30 | - return NULL; | ||
31 | |||
32 | - buffer = wl_drm_create_prime_buffer(m_drm, | ||
33 | - name, | ||
34 | - width, | ||
35 | - height, | ||
36 | - format, | ||
37 | - offsets[0], | ||
38 | - pitches[0], | ||
39 | - offsets[1], | ||
40 | - pitches[1], | ||
41 | - offsets[2], | ||
42 | - pitches[2]); | ||
43 | +#if defined(WAYLAND_LINUX_DMABUF_SUPPORT) | ||
44 | + if (format == WL_DRM_FORMAT_NV12) { | ||
45 | + if(NULL == m_dmabuf) | ||
46 | + return NULL; | ||
47 | + | ||
48 | + struct zwp_linux_buffer_params_v1 *dmabuf_params = NULL; | ||
49 | + int i = 0; | ||
50 | + uint64_t modifier = I915_FORMAT_MOD_Y_TILED; | ||
51 | + | ||
52 | + dmabuf_params = zwp_linux_dmabuf_v1_create_params(m_dmabuf); | ||
53 | + for(i = 0; i < 2; i++) { | ||
54 | + zwp_linux_buffer_params_v1_add(dmabuf_params, | ||
55 | + name, | ||
56 | + i, | ||
57 | + offsets[i], | ||
58 | + pitches[i], | ||
59 | + modifier >> 32, | ||
60 | + modifier & 0xffffffff); | ||
61 | + } | ||
62 | + | ||
63 | + buffer = zwp_linux_buffer_params_v1_create_immed(dmabuf_params, | ||
64 | + width, | ||
65 | + height, | ||
66 | + format, | ||
67 | + 0); | ||
68 | + | ||
69 | + zwp_linux_buffer_params_v1_destroy(dmabuf_params); | ||
70 | + } else | ||
71 | +#endif | ||
72 | + { | ||
73 | + if(NULL == m_drm) | ||
74 | + return NULL; | ||
75 | + | ||
76 | + buffer = wl_drm_create_prime_buffer(m_drm, | ||
77 | + name, | ||
78 | + width, | ||
79 | + height, | ||
80 | + format, | ||
81 | + offsets[0], | ||
82 | + pitches[0], | ||
83 | + offsets[1], | ||
84 | + pitches[1], | ||
85 | + offsets[2], | ||
86 | + pitches[2]); | ||
87 | + } | ||
88 | + | ||
89 | return buffer; | ||
90 | } | ||
91 | |||
92 | -- | ||
93 | 2.31.1 | ||
94 | |||
diff --git a/recipes-multimedia/onevpl/onevpl/0001-samples-Addin-wayland-scanner-auto-generate-on-cmake.patch b/recipes-multimedia/onevpl/onevpl/0001-samples-Addin-wayland-scanner-auto-generate-on-cmake.patch deleted file mode 100644 index 6fab79e5..00000000 --- a/recipes-multimedia/onevpl/onevpl/0001-samples-Addin-wayland-scanner-auto-generate-on-cmake.patch +++ /dev/null | |||
@@ -1,98 +0,0 @@ | |||
1 | From 6ef9dd02e297ae20da422f2f3f4f298061efd6e9 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Ung, Teng En" <teng.en.ung@intel.com> | ||
3 | Date: Fri, 15 Oct 2021 11:55:13 +0000 | ||
4 | Subject: [PATCH 1/3] samples: Addin wayland-scanner auto generate on cmake. | ||
5 | |||
6 | Upstream-Status: Submitted | ||
7 | innersource PR #269 | ||
8 | |||
9 | --- | ||
10 | tools/legacy/sample_common/CMakeLists.txt | 21 ++++++++++ | ||
11 | .../legacy/sample_misc/wayland/CMakeLists.txt | 39 +++++++++++++++++++ | ||
12 | 2 files changed, 60 insertions(+) | ||
13 | |||
14 | diff --git a/tools/legacy/sample_common/CMakeLists.txt b/tools/legacy/sample_common/CMakeLists.txt | ||
15 | index 0ff83aa4..0ed8b390 100644 | ||
16 | --- a/tools/legacy/sample_common/CMakeLists.txt | ||
17 | +++ b/tools/legacy/sample_common/CMakeLists.txt | ||
18 | @@ -92,6 +92,27 @@ if(UNIX) | ||
19 | target_include_directories( | ||
20 | ${TARGET} | ||
21 | PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../sample_misc/wayland/include) | ||
22 | + | ||
23 | + pkg_check_modules(PKG_WAYLAND_SCANNER "wayland-scanner>=1.15") | ||
24 | + pkg_check_modules(PKG_WAYLAND_PROTCOLS "wayland-protocols>=1.15") | ||
25 | + | ||
26 | + if(PKG_WAYLAND_SCANNER_FOUND AND PKG_WAYLAND_PROTCOLS_FOUND) | ||
27 | + pkg_get_variable(WAYLAND_PROTOCOLS_PATH wayland-protocols pkgdatadir) | ||
28 | + if(WAYLAND_PROTOCOLS_PATH) | ||
29 | + find_file( | ||
30 | + WAYLAND_LINUX_DMABUF_XML_PATH linux-dmabuf-unstable-v1.xml | ||
31 | + PATHS ${WAYLAND_PROTOCOLS_PATH}/unstable/linux-dmabuf | ||
32 | + NO_DEFAULT_PATH) | ||
33 | + endif() | ||
34 | + endif() | ||
35 | + | ||
36 | + if(WAYLAND_LINUX_DMABUF_XML_PATH) | ||
37 | + target_compile_definitions( | ||
38 | + ${TARGET} PUBLIC -DWAYLAND_LINUX_DMABUF_SUPPORT) | ||
39 | + target_include_directories( | ||
40 | + ${TARGET} | ||
41 | + PUBLIC ${CMAKE_BINARY_DIR}/tools/legacy/sample_misc/wayland) | ||
42 | + endif() | ||
43 | else() | ||
44 | message( | ||
45 | WARNING | ||
46 | diff --git a/tools/legacy/sample_misc/wayland/CMakeLists.txt b/tools/legacy/sample_misc/wayland/CMakeLists.txt | ||
47 | index 1fe98da4..01e6029b 100644 | ||
48 | --- a/tools/legacy/sample_misc/wayland/CMakeLists.txt | ||
49 | +++ b/tools/legacy/sample_misc/wayland/CMakeLists.txt | ||
50 | @@ -29,6 +29,45 @@ target_sources( | ||
51 | ${CMAKE_CURRENT_SOURCE_DIR}/src/listener_wayland.cpp | ||
52 | ${CMAKE_CURRENT_SOURCE_DIR}/src/wayland-drm-protocol.c) | ||
53 | |||
54 | +if(PKG_WAYLAND_SCANNER_FOUND AND PKG_WAYLAND_PROTCOLS_FOUND AND WAYLAND_LINUX_DMABUF_XML_PATH) | ||
55 | + pkg_get_variable(WAYLAND_SCANNER_BIN_PATH wayland-scanner bindir) | ||
56 | + pkg_get_variable(WAYLAND_SCANNER_BIN wayland-scanner wayland_scanner) | ||
57 | + | ||
58 | + if(WAYLAND_SCANNER_BIN_PATH AND WAYLAND_SCANNER_BIN) | ||
59 | + execute_process( | ||
60 | + COMMAND "${WAYLAND_SCANNER_BIN_PATH}\/${WAYLAND_SCANNER_BIN}" | ||
61 | + "client-header" "${WAYLAND_LINUX_DMABUF_XML_PATH}" | ||
62 | + "tools/legacy/sample_misc/wayland/linux-dmabuf-unstable-v1.h" | ||
63 | + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" | ||
64 | + RESULT_VARIABLE WAYLAND_SCANNER_RESULT) | ||
65 | + if (WAYLAND_SCANNER_RESULT) | ||
66 | + message(ERROR "Failed to generate linux-dmabuf-unstable-v1.h") | ||
67 | + return() | ||
68 | + endif() | ||
69 | + | ||
70 | + execute_process( | ||
71 | + COMMAND "${WAYLAND_SCANNER_BIN_PATH}\/${WAYLAND_SCANNER_BIN}" | ||
72 | + "private-code" "${WAYLAND_LINUX_DMABUF_XML_PATH}" | ||
73 | + "tools/legacy/sample_misc/wayland/linux-dmabuf-unstable-v1.c" | ||
74 | + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" | ||
75 | + RESULT_VARIABLE WAYLAND_SCANNER_RESULT) | ||
76 | + if (WAYLAND_SCANNER_RESULT) | ||
77 | + message(ERROR "Failed to generate linux-dmabuf-unstable-v1.c") | ||
78 | + return() | ||
79 | + endif() | ||
80 | + | ||
81 | + include_directories( | ||
82 | + ${CMAKE_BINARY_DIR}/tools/legacy/sample_misc/wayland) | ||
83 | + add_definitions(-DWAYLAND_LINUX_DMABUF_SUPPORT) | ||
84 | + target_sources( | ||
85 | + ${TARGET} | ||
86 | + PRIVATE ${CMAKE_BINARY_DIR}/tools/legacy/sample_misc/wayland/linux-dmabuf-unstable-v1.c) | ||
87 | + else() | ||
88 | + message(ERROR "Don't know how to execute wayland-scanner.") | ||
89 | + return() | ||
90 | + endif() | ||
91 | +endif() | ||
92 | + | ||
93 | target_link_libraries(${TARGET} sample_common wayland-client va drm drm_intel) | ||
94 | |||
95 | install(TARGETS ${TARGET} LIBRARY DESTINATION ${_TOOLS_LIB_PATH}) | ||
96 | -- | ||
97 | 2.31.1 | ||
98 | |||
diff --git a/recipes-multimedia/onevpl/onevpl/0001-samples-use-find_program-to-detect-wayland-scanner-i.patch b/recipes-multimedia/onevpl/onevpl/0001-samples-use-find_program-to-detect-wayland-scanner-i.patch deleted file mode 100644 index 6f1ad93e..00000000 --- a/recipes-multimedia/onevpl/onevpl/0001-samples-use-find_program-to-detect-wayland-scanner-i.patch +++ /dev/null | |||
@@ -1,108 +0,0 @@ | |||
1 | From c69500c88058358bdc6c0a036d90b000d63f2a41 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Ung, Teng En" <teng.en.ung@intel.com> | ||
3 | Date: Wed, 3 Nov 2021 14:23:15 +0000 | ||
4 | Subject: [PATCH 4/4] samples: use find_program to detect wayland-scanner in | ||
5 | cmake | ||
6 | |||
7 | Upstream-Status: Submitted | ||
8 | innersource PR #269 | ||
9 | |||
10 | --- | ||
11 | tools/legacy/sample_common/CMakeLists.txt | 4 +- | ||
12 | tools/legacy/sample_misc/wayland/CMakeLists.txt | 59 +++++++++++-------------- | ||
13 | 2 files changed, 28 insertions(+), 35 deletions(-) | ||
14 | |||
15 | diff --git a/tools/legacy/sample_common/CMakeLists.txt b/tools/legacy/sample_common/CMakeLists.txt | ||
16 | index 0ed8b39..658d44d 100644 | ||
17 | --- a/tools/legacy/sample_common/CMakeLists.txt | ||
18 | +++ b/tools/legacy/sample_common/CMakeLists.txt | ||
19 | @@ -93,10 +93,10 @@ if(UNIX) | ||
20 | ${TARGET} | ||
21 | PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../sample_misc/wayland/include) | ||
22 | |||
23 | - pkg_check_modules(PKG_WAYLAND_SCANNER "wayland-scanner>=1.15") | ||
24 | + find_program(WAYLAND_SCANNER_BIN "wayland-scanner") | ||
25 | pkg_check_modules(PKG_WAYLAND_PROTCOLS "wayland-protocols>=1.15") | ||
26 | |||
27 | - if(PKG_WAYLAND_SCANNER_FOUND AND PKG_WAYLAND_PROTCOLS_FOUND) | ||
28 | + if(WAYLAND_SCANNER_BIN AND PKG_WAYLAND_PROTCOLS_FOUND) | ||
29 | pkg_get_variable(WAYLAND_PROTOCOLS_PATH wayland-protocols pkgdatadir) | ||
30 | if(WAYLAND_PROTOCOLS_PATH) | ||
31 | find_file( | ||
32 | diff --git a/tools/legacy/sample_misc/wayland/CMakeLists.txt b/tools/legacy/sample_misc/wayland/CMakeLists.txt | ||
33 | index 01e6029..7625bc5 100644 | ||
34 | --- a/tools/legacy/sample_misc/wayland/CMakeLists.txt | ||
35 | +++ b/tools/legacy/sample_misc/wayland/CMakeLists.txt | ||
36 | @@ -29,43 +29,36 @@ target_sources( | ||
37 | ${CMAKE_CURRENT_SOURCE_DIR}/src/listener_wayland.cpp | ||
38 | ${CMAKE_CURRENT_SOURCE_DIR}/src/wayland-drm-protocol.c) | ||
39 | |||
40 | -if(PKG_WAYLAND_SCANNER_FOUND AND PKG_WAYLAND_PROTCOLS_FOUND AND WAYLAND_LINUX_DMABUF_XML_PATH) | ||
41 | - pkg_get_variable(WAYLAND_SCANNER_BIN_PATH wayland-scanner bindir) | ||
42 | - pkg_get_variable(WAYLAND_SCANNER_BIN wayland-scanner wayland_scanner) | ||
43 | + if(WAYLAND_SCANNER_BIN AND PKG_WAYLAND_PROTCOLS_FOUND AND WAYLAND_LINUX_DMABUF_XML_PATH) | ||
44 | |||
45 | - if(WAYLAND_SCANNER_BIN_PATH AND WAYLAND_SCANNER_BIN) | ||
46 | - execute_process( | ||
47 | - COMMAND "${WAYLAND_SCANNER_BIN_PATH}\/${WAYLAND_SCANNER_BIN}" | ||
48 | - "client-header" "${WAYLAND_LINUX_DMABUF_XML_PATH}" | ||
49 | - "tools/legacy/sample_misc/wayland/linux-dmabuf-unstable-v1.h" | ||
50 | - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" | ||
51 | - RESULT_VARIABLE WAYLAND_SCANNER_RESULT) | ||
52 | - if (WAYLAND_SCANNER_RESULT) | ||
53 | - message(ERROR "Failed to generate linux-dmabuf-unstable-v1.h") | ||
54 | - return() | ||
55 | - endif() | ||
56 | - | ||
57 | - execute_process( | ||
58 | - COMMAND "${WAYLAND_SCANNER_BIN_PATH}\/${WAYLAND_SCANNER_BIN}" | ||
59 | - "private-code" "${WAYLAND_LINUX_DMABUF_XML_PATH}" | ||
60 | - "tools/legacy/sample_misc/wayland/linux-dmabuf-unstable-v1.c" | ||
61 | - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" | ||
62 | - RESULT_VARIABLE WAYLAND_SCANNER_RESULT) | ||
63 | - if (WAYLAND_SCANNER_RESULT) | ||
64 | - message(ERROR "Failed to generate linux-dmabuf-unstable-v1.c") | ||
65 | - return() | ||
66 | - endif() | ||
67 | + execute_process( | ||
68 | + COMMAND "${WAYLAND_SCANNER_BIN}" | ||
69 | + "client-header" "${WAYLAND_LINUX_DMABUF_XML_PATH}" | ||
70 | + "tools/legacy/sample_misc/wayland/linux-dmabuf-unstable-v1.h" | ||
71 | + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" | ||
72 | + RESULT_VARIABLE WAYLAND_SCANNER_RESULT) | ||
73 | + if (WAYLAND_SCANNER_RESULT) | ||
74 | + message(ERROR "Failed to generate linux-dmabuf-unstable-v1.h") | ||
75 | + return() | ||
76 | + endif() | ||
77 | |||
78 | - include_directories( | ||
79 | - ${CMAKE_BINARY_DIR}/tools/legacy/sample_misc/wayland) | ||
80 | - add_definitions(-DWAYLAND_LINUX_DMABUF_SUPPORT) | ||
81 | - target_sources( | ||
82 | - ${TARGET} | ||
83 | - PRIVATE ${CMAKE_BINARY_DIR}/tools/legacy/sample_misc/wayland/linux-dmabuf-unstable-v1.c) | ||
84 | - else() | ||
85 | - message(ERROR "Don't know how to execute wayland-scanner.") | ||
86 | + execute_process( | ||
87 | + COMMAND "${WAYLAND_SCANNER_BIN}" | ||
88 | + "private-code" "${WAYLAND_LINUX_DMABUF_XML_PATH}" | ||
89 | + "tools/legacy/sample_misc/wayland/linux-dmabuf-unstable-v1.c" | ||
90 | + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" | ||
91 | + RESULT_VARIABLE WAYLAND_SCANNER_RESULT) | ||
92 | + if (WAYLAND_SCANNER_RESULT) | ||
93 | + message(ERROR "Failed to generate linux-dmabuf-unstable-v1.c") | ||
94 | return() | ||
95 | endif() | ||
96 | + | ||
97 | + include_directories( | ||
98 | + ${CMAKE_BINARY_DIR}/tools/legacy/sample_misc/wayland) | ||
99 | + add_definitions(-DWAYLAND_LINUX_DMABUF_SUPPORT) | ||
100 | + target_sources( | ||
101 | + ${TARGET} | ||
102 | + PRIVATE ${CMAKE_BINARY_DIR}/tools/legacy/sample_misc/wayland/linux-dmabuf-unstable-v1.c) | ||
103 | endif() | ||
104 | |||
105 | target_link_libraries(${TARGET} sample_common wayland-client va drm drm_intel) | ||
106 | -- | ||
107 | 2.7.4 | ||
108 | |||