[PATCH] drivers: meson: vdec: add VP9 support to GXM

From: Christian Hewitt
Date: Wed Feb 09 2022 - 10:32:01 EST


VP9 support for GXM appears to have been missed from the original
codec submission [0] but it works well, so let's add support.

[0] https://github.com/torvalds/linux/commit/00c43088aa680989407b6afbda295f67b3f123f1

Signed-off-by: Christian Hewitt <christianshewitt@xxxxxxxxx>
---
Tested with LibreELEC 11 nightly 'AMLGX' dev images for Khadas VIM2
and WeTek Core2 GXM devices which can be found here [1]. The images
combine Linux 5.16.y [2] with Kodi v20 [3] and FFmpeg 4.4 [4] which
notably includes many V4L2 refinements for stability and usability.

[1] https://test.libreelec.tv/
[2] https://github.com/chewitt/linux/commits/amlogic-5.16.y
[3] https://github.com/xbmc/xbmc/
[4] https://github.com/jc-kynesim/rpi-ffmpeg/commits/dev/4.4/rpi_import_1

drivers/staging/media/meson/vdec/vdec_platform.c | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/drivers/staging/media/meson/vdec/vdec_platform.c b/drivers/staging/media/meson/vdec/vdec_platform.c
index eabbebab2da2..88c9d72e1c83 100644
--- a/drivers/staging/media/meson/vdec/vdec_platform.c
+++ b/drivers/staging/media/meson/vdec/vdec_platform.c
@@ -103,6 +103,18 @@ static const struct amvdec_format vdec_formats_gxl[] = {

static const struct amvdec_format vdec_formats_gxm[] = {
{
+ .pixfmt = V4L2_PIX_FMT_VP9,
+ .min_buffers = 16,
+ .max_buffers = 24,
+ .max_width = 3840,
+ .max_height = 2160,
+ .vdec_ops = &vdec_hevc_ops,
+ .codec_ops = &codec_vp9_ops,
+ .firmware_path = "meson/vdec/gxl_vp9.bin",
+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 },
+ .flags = V4L2_FMT_FLAG_COMPRESSED |
+ V4L2_FMT_FLAG_DYN_RESOLUTION,
+ }, {
.pixfmt = V4L2_PIX_FMT_H264,
.min_buffers = 2,
.max_buffers = 24,
--
2.17.1