From 481b7f0468b3f5928f8f0fc6aa21e4836fb3f3c5 Mon Sep 17 00:00:00 2001 From: Chris Dimich Date: Mon, 9 Jan 2023 10:52:50 -0800 Subject: chromium-ozone-wayland: add bbappend and patches as per NXP 5.15.71_2.2.0 rel Changes include: - support on i.MX 8 series platform. - 8MM/8MP/8MQ support h264/hevc/vp8/vp9 hardware decoding. - 8QM/8QXP support h264/hevc/vp8 hardware decoding. - support seek, playrate change and resolution change. - support video acceleration for online media platform such as Youtube, bilibili. Signed-off-by: Chris Dimich (cherry picked from commit 23bdb51b7858db363e56f7748f5523d44f78ac98) --- ...2VDA-dlopen-libg2d.so.2-to-avoid-segfault.patch | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0119-V4L2VDA-dlopen-libg2d.so.2-to-avoid-segfault.patch (limited to 'dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0119-V4L2VDA-dlopen-libg2d.so.2-to-avoid-segfault.patch') diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0119-V4L2VDA-dlopen-libg2d.so.2-to-avoid-segfault.patch b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0119-V4L2VDA-dlopen-libg2d.so.2-to-avoid-segfault.patch new file mode 100644 index 00000000..df6c6fe4 --- /dev/null +++ b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0119-V4L2VDA-dlopen-libg2d.so.2-to-avoid-segfault.patch @@ -0,0 +1,40 @@ +From 4e33abf0778eba9b6bf5bf4fc01e021775b7d2c7 Mon Sep 17 00:00:00 2001 +From: Hou Qi +Date: Thu, 29 Sep 2022 11:12:12 +0800 +Subject: [PATCH] V4L2VDA: dlopen libg2d.so.2 to avoid segfault + +For rootfs that have no libg2d.so, dlopen libg2d.so.2 instead. + +Upstream-Status: Inappropriate [NXP specific] +--- + media/gpu/v4l2/v4l2_device.cc | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/media/gpu/v4l2/v4l2_device.cc b/media/gpu/v4l2/v4l2_device.cc +index af71f54d141aa..139d32d3a788f 100644 +--- a/media/gpu/v4l2/v4l2_device.cc ++++ b/media/gpu/v4l2/v4l2_device.cc +@@ -286,6 +286,7 @@ typedef struct g2d_buf* (*g2d_api_alloc)(int size, int cacheable); + typedef int (*g2d_api_buf_export_fd)(struct g2d_buf *); + typedef int (*g2d_api_blitEx)(void *handle, struct g2d_surfaceEx *srcEx, struct g2d_surfaceEx *dstEx); + ++#define G2D_LIB_NAME "/usr/lib/libg2d.so.2" + #define G2D_API_SYM(name) g2d_api_##name g2d_##name = nullptr + G2D_API_SYM(open); + G2D_API_SYM(close); +@@ -1908,10 +1909,10 @@ scoped_refptr V4L2Device::Create() { + + device = new GenericV4L2Device(); + if (device->Initialize()) { +- dl_handle = dlopen("/usr/lib/libg2d.so", ++ dl_handle = dlopen(G2D_LIB_NAME, + RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE | RTLD_LAZY); + if (!dl_handle) { +- VLOGF(1) << "Has no libg2d.so"; ++ VLOGF(1) << "Failed to dlopen " << G2D_LIB_NAME; + return device; + } + +-- +2.17.1 + -- cgit v1.2.3-54-g00ecf