Skip to content

Commit 4c29a92

Browse files
Marek Vasutotavio
authored andcommitted
chromium: Add v4l2 m2m stateless decode configuration options
Add configuration options to enable hardware video decoding using stateless V4L2 M2M device. This allows offloading e.g. h264 video playback to Hantro VPU on i.MX8MP where this was tested. To make that work, enable 'use-v4l2' and 'proprietary-codecs' PACKAGECONFIG. This commit was implemented with much great help from Jianfeng Liu . Signed-off-by: Marek Vasut <[email protected]>
1 parent 979d747 commit 4c29a92

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

meta-chromium/recipes-browser/chromium/chromium-gn.inc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ BUILD_CC:toolchain-clang = "clang"
124124
BUILD_CXX:toolchain-clang = "clang++"
125125
BUILD_LD:toolchain-clang = "clang"
126126

127-
PACKAGECONFIG ??= "upower use-egl"
127+
PACKAGECONFIG ??= "upower use-egl use-v4l2"
128128

129129
# this makes sure the dependencies for the EGL mode are present; otherwise, the configure scripts
130130
# automatically and silently fall back to GLX
@@ -158,6 +158,10 @@ PACKAGECONFIG[upower] = ",,,upower"
158158
# but remember to also use proprietary codecs so that H.264 is supported. Also note
159159
# that not all the hardware configs might be supported.
160160
PACKAGECONFIG[use-vaapi] = "use_vaapi=true use_libgav1_parser=true,use_vaapi=false,libva"
161+
# Enable stateless V4L2 M2M video decoding support.
162+
# This requires 'proprietary-codecs' PACKAGECONFIG
163+
# to decode h264 streams on the V4L2 M2M device.
164+
PACKAGECONFIG[use-v4l2] = "use_v4l2_codec=true,use_v4l2_codec=false"
161165

162166
# Base GN arguments, mostly related to features we want to enable or disable.
163167
GN_ARGS = " \
@@ -375,6 +379,7 @@ CHROMIUM_EXTRA_ARGS ?= " \
375379
${@bb.utils.contains('PACKAGECONFIG', 'use-egl', '--use-angle=gles-egl', '', d)} \
376380
${@bb.utils.contains('PACKAGECONFIG', 'kiosk-mode', '--kiosk --no-first-run --incognito', '', d)} \
377381
${@bb.utils.contains('PACKAGECONFIG', 'gtk4', '--gtk-version=4', '', d)} \
382+
${@bb.utils.contains('PACKAGECONFIG', 'use-v4l2', '--ozone-platform-hint=wayland --enable-features=AcceleratedVideoDecoder,AcceleratedVideoDecodeLinuxGL,AcceleratedVideoDecodeLinuxZeroCopyGL', '', d)} \
378383
"
379384

380385
# V8's JIT infrastructure requires binaries such as mksnapshot and

0 commit comments

Comments
 (0)