new file mode 100644
@@ -0,0 +1,26 @@
+From 676525a5cc0e5cc38ef59306413365811ee051ce Mon Sep 17 00:00:00 2001
+From: Peter Griffin <peter.griffin@linaro.org>
+Date: Fri, 15 Mar 2019 22:49:11 +0100
+Subject: [PATCH] generic_v4l2_device: allow NV12 & YVU420 on all ARM platforms
+
+Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
+---
+ media/gpu/v4l2/generic_v4l2_device.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/media/gpu/v4l2/generic_v4l2_device.cc b/media/gpu/v4l2/generic_v4l2_device.cc
+index a1294ae0b..2b587ca 100644
+--- a/media/gpu/v4l2/generic_v4l2_device.cc
++++ b/media/gpu/v4l2/generic_v4l2_device.cc
+@@ -200,7 +200,7 @@ std::vector<base::ScopedFD> GenericV4L2Device::GetDmabufsForV4L2Buffer(
+ bool GenericV4L2Device::CanCreateEGLImageFrom(uint32_t v4l2_pixfmt) {
+ static uint32_t kEGLImageDrmFmtsSupported[] = {
+ DRM_FORMAT_ARGB8888,
+-#if defined(ARCH_CPU_ARMEL)
++#if defined(ARCH_CPU_ARM_FAMILY)
+ DRM_FORMAT_NV12,
+ DRM_FORMAT_YVU420,
+ #endif
+--
+2.7.4
+
new file mode 100644
@@ -0,0 +1,51 @@
+From 527edf2f2240f33df3c5a946185a1db771430eed Mon Sep 17 00:00:00 2001
+From: Peter Griffin <peter.griffin@linaro.org>
+Date: Fri, 15 Mar 2019 15:44:06 +0100
+Subject: [PATCH 1/2] media: default_decoder_factory: create GpuVideoDecoder if
+ mojo disabled
+
+Despite chrome://gpu showing video acceleration is enabled, the
+GpuVideoDecoder never actually gets created without this change
+applied.
+
+With this patch applied, VDA is created and used when playing back
+video.
+
+Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
+---
+ media/renderers/default_decoder_factory.cc | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/media/renderers/default_decoder_factory.cc b/media/renderers/default_decoder_factory.cc
+index 1229941..a71efb7 100644
+--- a/media/renderers/default_decoder_factory.cc
++++ b/media/renderers/default_decoder_factory.cc
+@@ -86,7 +86,6 @@ void DefaultDecoderFactory::CreateVideoDecoders(
+ video_decoders->push_back(
+ std::make_unique<DecryptingVideoDecoder>(task_runner, media_log));
+ #endif
+-
+ // Perfer an external decoder since one will only exist if it is hardware
+ // accelerated.
+ // Remember that |gpu_factories| will be null if HW video decode is turned
+@@ -97,14 +96,12 @@ void DefaultDecoderFactory::CreateVideoDecoders(
+ // factories, require that their message loops are identical.
+ DCHECK_EQ(gpu_factories->GetTaskRunner(), task_runner);
+
+- if (external_decoder_factory_) {
++ // MojoVideoDecoder replaces any VDA for this platform when it's enabled.
++ if (external_decoder_factory_ && base::FeatureList::IsEnabled(media::kMojoVideoDecoder)) {
+ external_decoder_factory_->CreateVideoDecoders(
+ task_runner, gpu_factories, media_log, request_overlay_info_cb,
+ target_color_space, video_decoders);
+- }
+-
+- // MojoVideoDecoder replaces any VDA for this platform when it's enabled.
+- if (!base::FeatureList::IsEnabled(media::kMojoVideoDecoder)) {
++ } else {
+ video_decoders->push_back(std::make_unique<GpuVideoDecoder>(
+ gpu_factories, request_overlay_info_cb, target_color_space,
+ media_log));
+--
+2.7.4
+
@@ -38,6 +38,8 @@ SRC_URI += " \
file://0033-ozone-wayland-Fix-software-rendering.patch \
file://0034-ozone-wayland-Return-primary-display-on-null-window.patch \
file://0035-ozone-Implement-single-window-tab-dragging.patch \
+ file://0001-generic_v4l2_device-allow-NV12-YVU420-on-all-ARM-pla.patch \
+ file://0001-media-default_decoder_factory-create-GpuVideoDecoder.patch \
"
# Chromium can use v4l2 device for hardware accelerated video decoding. Make sure that
The first patch allows GpuVideoDecoder to actually get created. Without it chrome://gpu report hardware video acceleration is enabled, but actually ffmpegVideoDecoder is used for the decode. The second adds NV12 & YVU420 formats for all ARM platforms, otherwise V4L2 VDA on dragonboard will error with NV12 buffers. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> --- ...2_device-allow-NV12-YVU420-on-all-ARM-pla.patch | 26 +++++++++++ ...lt_decoder_factory-create-GpuVideoDecoder.patch | 51 ++++++++++++++++++++++ .../chromium-ozone-wayland_72.0.3626.121.bb | 2 + 3 files changed, 79 insertions(+) create mode 100644 recipes-browser/chromium/chromium-ozone-wayland/0001-generic_v4l2_device-allow-NV12-YVU420-on-all-ARM-pla.patch create mode 100644 recipes-browser/chromium/chromium-ozone-wayland/0001-media-default_decoder_factory-create-GpuVideoDecoder.patch -- 2.7.4 -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel