Messages in this thread | | | From | Jernej Skrabec <> | Subject | [PATCH 0/7] media: cedrus: h265: Implement tiles support | Date | Mon, 20 Jun 2022 19:55:10 +0200 |
| |
Now that we have full and stable HEVC uAPI, let's implement last big missing piece of HEVC in Cedrus - tiles support. This is done in last patch. Before that, there are bug fixes (patch 1 & 2, previously submitted separately in [1]), error handling improvements (patch 3, 4) and added helper for dealing with dynamic arrays (patch 5).
These patches are based on top of [2].
Final fluster score with this series is 125/147. 11 bitstreams are MAIN10, which is not yet properly supported. 5 bitstreams need better memory management with auxiliary buffers (wip patches exists). 4 are too big and 2 probably fails due to ffmpeg implementation.
Used ffmpeg source is in [3].
Note - Cedrus driver currently supports only one slice per request since HW takes data for 1 slice only. This can be improved by loading data for next slice automatically after HW signalled end of decoding. Something for later.
Please take a look.
Best regards, Jernej
[1] https://patchwork.linuxtv.org/project/linux-media/list/?series=8187 [2] https://patchwork.linuxtv.org/project/linux-media/list/?series=8208 [3] https://github.com/jernejsk/FFmpeg/commits/hevc-mainline
Jernej Skrabec (7): media: cedrus: h265: Fix flag name media: cedrus: h265: Fix logic for not low delay flag media: cedrus: Improve error messages for controls media: cedrus: Add error handling for failed setup media: cedrus: h265: Add a couple of error checks media: cedrus: Add helper for determining number of elements media: cedrus: h265: Implement support for tiles
drivers/staging/media/sunxi/cedrus/cedrus.c | 28 +++- drivers/staging/media/sunxi/cedrus/cedrus.h | 7 +- .../staging/media/sunxi/cedrus/cedrus_dec.c | 25 ++- .../staging/media/sunxi/cedrus/cedrus_h264.c | 5 +- .../staging/media/sunxi/cedrus/cedrus_h265.c | 153 ++++++++++++++++-- .../staging/media/sunxi/cedrus/cedrus_mpeg2.c | 4 +- .../staging/media/sunxi/cedrus/cedrus_regs.h | 3 +- .../staging/media/sunxi/cedrus/cedrus_vp8.c | 5 +- 8 files changed, 204 insertions(+), 26 deletions(-)
-- 2.36.1
| |