From: Diederik de Haas <didi.debian@cknow.org>
To: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Hans Verkuil <hverkuil-cisco@xs4all.nl>,
linux-rockchip@lists.infradead.org,
Jonas Karlman <jonas@kwiboo.se>, Andy Yan <andyshrk@163.com>
Cc: Alex Bee <knaerzche@gmail.com>,
Nicolas Dufresne <nicolas.dufresne@collabora.com>,
Benjamin Gaignard <benjamin.gaignard@collabora.com>,
Sebastian Fricke <sebastian.fricke@collabora.com>,
Christopher Obbard <chris.obbard@collabora.com>,
linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
Jonas Karlman <jonas@kwiboo.se>
Subject: Re: [PATCH v4 00/11] media: rkvdec: Add H.264 High 10 and 4:2:2 profile support
Date: Sun, 16 Jun 2024 11:47:43 +0200 [thread overview]
Message-ID: <122755518.lCnTqr06ca@bagend> (raw)
In-Reply-To: <20231105165521.3592037-1-jonas@kwiboo.se>
[-- Attachment #1.1: Type: text/plain, Size: 3893 bytes --]
On Sunday, 5 November 2023 17:54:59 CEST Jonas Karlman wrote:
> This is a revival of a 3 year old series [1] now that NV15/NV20/NV30 support
> for display driver have landed in mainline tree.
>
> This series adds H.264 High 10 and 4:2:2 profile support to the Rockchip
> Video Decoder driver.
>
> Patch 1 adds helpers for calculating plane bytesperline and sizeimage.
> Patch 2 adds two new pixelformats for semi-planer 10-bit 4:2:0/4:2:2 YUV.
>
> Patch 3 change to use bytesperline and buffer height to configure strides.
> Patch 4 change to use values from SPS/PPS control to configure the HW.
> Patch 5 remove an unnecessary call to validate sps at streaming start.
>
> Patch 6-10 refactor code to support filtering of CAPUTRE formats based
> on the image format returned from a get_image_fmt ops.
>
> Patch 11 adds final bits to support H.264 High 10 and 4:2:2 profiles.
>
> Tested on a ROCK Pi 4 (RK3399) and Rock64 (RK3328):
>
> v4l2-compliance 1.24.1, 64 bits, 64-bit time_t
> ...
> Total for rkvdec device /dev/video1: 46, Succeeded: 46, Failed: 0,
> Warnings: 0
>
> Running test suite JVT-FR-EXT with decoder FFmpeg-H.264-V4L2-request
> ...
> Ran 65/69 tests successfully
>
> Running test suite JVT-AVC_V1 with decoder FFmpeg-H.264-V4L2-request
> ...
> Ran 127/135 tests successfully
>
> Before this series:
>
> Running test suite JVT-FR-EXT with decoder FFmpeg-H.264-V4L2-request
> ...
> Ran 44/69 tests successfully
>
> ...
>
> Following commits adds support for NV15/NV20/NV30 to VOP driver:
> 728c15b4b5f3 ("drm/fourcc: Add NV20 and NV30 YUV formats")
> d4b384228562 ("drm/rockchip: vop: Add NV15, NV20 and NV30 support")
>
> To fully runtime test this series you may need above drm commits and ffmpeg
> patches from [2], this series and drm patches is also available at [3].
>
> [1]
> https://lore.kernel.org/linux-media/20200706215430.22859-1-jonas@kwiboo.se/
> [2] https://github.com/Kwiboo/FFmpeg/commits/v4l2-request-n6.1-dev/ [3]
> https://github.com/Kwiboo/linux-rockchip/commits/linuxtv-rkvdec-high-10-v4/
> [4] https://gist.github.com/Kwiboo/f4ac15576b2c72887ae2bc5d58b5c865 [5]
> https://gist.github.com/Kwiboo/459a1c8f1dcb56e45dc7a7a29cc28adf
Reviving this old thread now that rkvdec2 'stuff' emerged.
I have (actually) done quite some tests with this (and "media: rkvdec: Add
HEVC backend" patch set) and they have been part of my kernel builds ever
since.
I _think_, but don't know, that is relevant for Andy's question:
On zondag 16 juni 2024 08:58:20 CEST Andy Yan <andyshrk@163.com> wrote:
> How can I test these patches? Do they require any additional userspace
> patches?
I have the same question and I think you'd need this and the HEVC patch set
and then also patch FFmpeg and then it should enable HW acceleration.
So my question boils down to: with the rkvdec2 patch set, should V4L2-requests
now also work with rkvdec, so not just Hantro anymore?
BTW: the libdrm commits have been merged upstream quite some time ago, so if
you have a recent version of that, you don't need to patch that.
If you use FFmpeg 7.0, then Jonas has a branch for that too (haven't tried it
yet though).
FWIW: my test results were a bit mixed. I didn't post them before as I don't
fully/really understand this 'video stuff', and I didn't want you all to suffer
from what was likely a PEBKAC issue.
On my PineTab2 (rk3566) I had some h.264 videos HW accelerated, but not all.
My guess is that it's related to the resolution. 1920x1080 worked, while it
didn't work with a 1280x640 video. The video still played, just not HW
accelerated. IOW: improvements in some and otherwise it was just rendered by
the CPU (I think), just like before.
On my Rock64 I got a pink tint with all videos, like described here:
https://github.com/mpv-player/mpv/issues/12968
IIUC, that's actually a problem in the lima driver?
Cheers,
Diederik
[-- Attachment #1.2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
[-- Attachment #2: Type: text/plain, Size: 170 bytes --]
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
WARNING: multiple messages have this Message-ID (diff)
From: Diederik de Haas <didi.debian@cknow.org>
To: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Hans Verkuil <hverkuil-cisco@xs4all.nl>,
linux-rockchip@lists.infradead.org,
Jonas Karlman <jonas@kwiboo.se>, Andy Yan <andyshrk@163.com>
Cc: Alex Bee <knaerzche@gmail.com>,
Nicolas Dufresne <nicolas.dufresne@collabora.com>,
Benjamin Gaignard <benjamin.gaignard@collabora.com>,
Sebastian Fricke <sebastian.fricke@collabora.com>,
Christopher Obbard <chris.obbard@collabora.com>,
linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
Jonas Karlman <jonas@kwiboo.se>
Subject: Re: [PATCH v4 00/11] media: rkvdec: Add H.264 High 10 and 4:2:2 profile support
Date: Sun, 16 Jun 2024 11:47:43 +0200 [thread overview]
Message-ID: <122755518.lCnTqr06ca@bagend> (raw)
In-Reply-To: <20231105165521.3592037-1-jonas@kwiboo.se>
[-- Attachment #1: Type: text/plain, Size: 3893 bytes --]
On Sunday, 5 November 2023 17:54:59 CEST Jonas Karlman wrote:
> This is a revival of a 3 year old series [1] now that NV15/NV20/NV30 support
> for display driver have landed in mainline tree.
>
> This series adds H.264 High 10 and 4:2:2 profile support to the Rockchip
> Video Decoder driver.
>
> Patch 1 adds helpers for calculating plane bytesperline and sizeimage.
> Patch 2 adds two new pixelformats for semi-planer 10-bit 4:2:0/4:2:2 YUV.
>
> Patch 3 change to use bytesperline and buffer height to configure strides.
> Patch 4 change to use values from SPS/PPS control to configure the HW.
> Patch 5 remove an unnecessary call to validate sps at streaming start.
>
> Patch 6-10 refactor code to support filtering of CAPUTRE formats based
> on the image format returned from a get_image_fmt ops.
>
> Patch 11 adds final bits to support H.264 High 10 and 4:2:2 profiles.
>
> Tested on a ROCK Pi 4 (RK3399) and Rock64 (RK3328):
>
> v4l2-compliance 1.24.1, 64 bits, 64-bit time_t
> ...
> Total for rkvdec device /dev/video1: 46, Succeeded: 46, Failed: 0,
> Warnings: 0
>
> Running test suite JVT-FR-EXT with decoder FFmpeg-H.264-V4L2-request
> ...
> Ran 65/69 tests successfully
>
> Running test suite JVT-AVC_V1 with decoder FFmpeg-H.264-V4L2-request
> ...
> Ran 127/135 tests successfully
>
> Before this series:
>
> Running test suite JVT-FR-EXT with decoder FFmpeg-H.264-V4L2-request
> ...
> Ran 44/69 tests successfully
>
> ...
>
> Following commits adds support for NV15/NV20/NV30 to VOP driver:
> 728c15b4b5f3 ("drm/fourcc: Add NV20 and NV30 YUV formats")
> d4b384228562 ("drm/rockchip: vop: Add NV15, NV20 and NV30 support")
>
> To fully runtime test this series you may need above drm commits and ffmpeg
> patches from [2], this series and drm patches is also available at [3].
>
> [1]
> https://lore.kernel.org/linux-media/20200706215430.22859-1-jonas@kwiboo.se/
> [2] https://github.com/Kwiboo/FFmpeg/commits/v4l2-request-n6.1-dev/ [3]
> https://github.com/Kwiboo/linux-rockchip/commits/linuxtv-rkvdec-high-10-v4/
> [4] https://gist.github.com/Kwiboo/f4ac15576b2c72887ae2bc5d58b5c865 [5]
> https://gist.github.com/Kwiboo/459a1c8f1dcb56e45dc7a7a29cc28adf
Reviving this old thread now that rkvdec2 'stuff' emerged.
I have (actually) done quite some tests with this (and "media: rkvdec: Add
HEVC backend" patch set) and they have been part of my kernel builds ever
since.
I _think_, but don't know, that is relevant for Andy's question:
On zondag 16 juni 2024 08:58:20 CEST Andy Yan <andyshrk@163.com> wrote:
> How can I test these patches? Do they require any additional userspace
> patches?
I have the same question and I think you'd need this and the HEVC patch set
and then also patch FFmpeg and then it should enable HW acceleration.
So my question boils down to: with the rkvdec2 patch set, should V4L2-requests
now also work with rkvdec, so not just Hantro anymore?
BTW: the libdrm commits have been merged upstream quite some time ago, so if
you have a recent version of that, you don't need to patch that.
If you use FFmpeg 7.0, then Jonas has a branch for that too (haven't tried it
yet though).
FWIW: my test results were a bit mixed. I didn't post them before as I don't
fully/really understand this 'video stuff', and I didn't want you all to suffer
from what was likely a PEBKAC issue.
On my PineTab2 (rk3566) I had some h.264 videos HW accelerated, but not all.
My guess is that it's related to the resolution. 1920x1080 worked, while it
didn't work with a 1280x640 video. The video still played, just not HW
accelerated. IOW: improvements in some and otherwise it was just rendered by
the CPU (I think), just like before.
On my Rock64 I got a pink tint with all videos, like described here:
https://github.com/mpv-player/mpv/issues/12968
IIUC, that's actually a problem in the lima driver?
Cheers,
Diederik
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2024-06-16 9:48 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-05 16:54 [PATCH v4 00/11] media: rkvdec: Add H.264 High 10 and 4:2:2 profile support Jonas Karlman
2023-11-05 16:54 ` Jonas Karlman
2023-11-05 16:55 ` [PATCH v4 01/11] media: v4l2-common: Add helpers to calculate bytesperline and sizeimage Jonas Karlman
2023-11-05 16:55 ` Jonas Karlman
2023-11-08 2:45 ` Nicolas Dufresne
2023-11-08 2:45 ` Nicolas Dufresne
2023-11-09 22:42 ` Jonas Karlman
2023-11-09 22:42 ` Jonas Karlman
2023-11-05 16:55 ` [PATCH v4 02/11] media: v4l2: Add NV15 and NV20 pixel formats Jonas Karlman
2023-11-05 16:55 ` Jonas Karlman
2023-11-08 2:52 ` Nicolas Dufresne
2023-11-08 2:52 ` Nicolas Dufresne
2023-11-09 22:47 ` Jonas Karlman
2023-11-09 22:47 ` Jonas Karlman
2023-11-05 16:55 ` [PATCH v4 03/11] media: rkvdec: h264: Use bytesperline and buffer height as virstride Jonas Karlman
2023-11-05 16:55 ` Jonas Karlman
2023-11-07 21:45 ` Nicolas Dufresne
2023-11-07 21:45 ` Nicolas Dufresne
2023-11-05 16:55 ` [PATCH v4 04/11] media: rkvdec: h264: Don't hardcode SPS/PPS parameters Jonas Karlman
2023-11-05 16:55 ` Jonas Karlman
2023-11-07 21:47 ` Nicolas Dufresne
2023-11-07 21:47 ` Nicolas Dufresne
2023-11-05 16:55 ` [PATCH v4 05/11] media: rkvdec: h264: Remove SPS validation at streaming start Jonas Karlman
2023-11-05 16:55 ` Jonas Karlman
2023-11-07 22:01 ` Nicolas Dufresne
2023-11-07 22:01 ` Nicolas Dufresne
2023-11-07 22:56 ` Jonas Karlman
2023-11-07 22:56 ` Jonas Karlman
2023-11-08 2:39 ` Nicolas Dufresne
2023-11-08 2:39 ` Nicolas Dufresne
2023-11-09 18:07 ` Jonas Karlman
2023-11-09 18:07 ` Jonas Karlman
2023-11-05 16:55 ` [PATCH v4 06/11] media: rkvdec: Extract rkvdec_fill_decoded_pixfmt into helper Jonas Karlman
2023-11-05 16:55 ` Jonas Karlman
2023-11-07 22:04 ` Nicolas Dufresne
2023-11-07 22:04 ` Nicolas Dufresne
2023-11-05 16:55 ` [PATCH v4 07/11] media: rkvdec: Move rkvdec_reset_decoded_fmt helper Jonas Karlman
2023-11-05 16:55 ` Jonas Karlman
2023-11-08 1:42 ` Nicolas Dufresne
2023-11-08 1:42 ` Nicolas Dufresne
2023-11-05 16:55 ` [PATCH v4 08/11] media: rkvdec: Extract decoded format enumeration into helper Jonas Karlman
2023-11-05 16:55 ` Jonas Karlman
2023-11-08 1:50 ` Nicolas Dufresne
2023-11-08 1:50 ` Nicolas Dufresne
2023-11-05 16:55 ` [PATCH v4 09/11] media: rkvdec: Add image format concept Jonas Karlman
2023-11-05 16:55 ` Jonas Karlman
2023-11-05 16:55 ` [PATCH v4 10/11] media: rkvdec: Add get_image_fmt ops Jonas Karlman
2023-11-05 16:55 ` Jonas Karlman
2023-11-05 16:55 ` [PATCH v4 11/11] media: rkvdec: h264: Support High 10 and 4:2:2 profiles Jonas Karlman
2023-11-05 16:55 ` Jonas Karlman
2023-11-08 2:20 ` Nicolas Dufresne
2023-11-08 2:20 ` Nicolas Dufresne
2023-11-09 18:25 ` Jonas Karlman
2023-11-09 18:25 ` Jonas Karlman
2023-11-07 21:43 ` [PATCH v4 00/11] media: rkvdec: Add H.264 High 10 and 4:2:2 profile support Nicolas Dufresne
2023-11-07 21:43 ` Nicolas Dufresne
2023-11-09 17:51 ` Jonas Karlman
2023-11-09 17:51 ` Jonas Karlman
2024-01-08 9:54 ` Christopher Obbard
2024-01-08 9:54 ` Christopher Obbard
2024-06-16 9:47 ` Diederik de Haas [this message]
2024-06-16 9:47 ` Diederik de Haas
2024-06-17 13:43 ` Nicolas Dufresne
2024-06-17 13:43 ` Nicolas Dufresne
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=122755518.lCnTqr06ca@bagend \
--to=didi.debian@cknow.org \
--cc=andyshrk@163.com \
--cc=benjamin.gaignard@collabora.com \
--cc=chris.obbard@collabora.com \
--cc=ezequiel@vanguardiasur.com.ar \
--cc=hverkuil-cisco@xs4all.nl \
--cc=jonas@kwiboo.se \
--cc=knaerzche@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-staging@lists.linux.dev \
--cc=mchehab@kernel.org \
--cc=nicolas.dufresne@collabora.com \
--cc=sebastian.fricke@collabora.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.