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