[PATCH v2 00/11] media: cedrus: Format handling improvements and 10-bit HEVC support
Hans Verkuil
hverkuil-cisco at xs4all.nl
Fri Nov 4 08:31:09 PDT 2022
Hi Jernej,
On 02/11/2022 19:07, Jernej Skrabec wrote:
> While my first intention was to just add 10-bit HEVC handling, I noticed
> a few format handling issues and a bit of redundancy in some cases. Final
> result is that driver now sticks to stateless decoder rules better.
>
> Format handling improvements:
> 1. Default format selection is now based on HW capabilities. Before, MPEG2
> was hardcoded but some Cedrus variants don't actually support it.
> 2. Controls are registered only if related codec is supported by HW.
> 3. Untiled output format is preferred, if supported, over tiled one. All
> display engine cores support untiled format, but only first generation
> supports tiled one.
>
> I hope this makes Cedrus eligible for destaging.
>
> Best regards,
> Jernej
>
> Changes from v1:
> - collected acks, except for patch 5, which was changed
> - use cedrus_is_capable() for cedrus_find_format() too (patch 4)
> - tightly pack control pointers in ctx->ctrls[] (patch 5)
>
> Jernej Skrabec (11):
> media: cedrus: remove superfluous call
> media: cedrus: Add format reset helpers
> media: cedrus: use helper to set default formats
> media: cedrus: Add helper for checking capabilities
> media: cedrus: Filter controls based on capability
> media: cedrus: set codec ops immediately
> media: cedrus: Remove cedrus_codec enum
> media: cedrus: prefer untiled capture format
> media: cedrus: initialize controls a bit later
I'm going to merge the first 9 patches, but leave out the last
two. It's weird what happens there, and I think those two need a
bit more work.
Regards,
Hans
> media: cedrus: Adjust buffer size based on control values
> media: cedrus: h265: Support decoding 10-bit frames
>
> drivers/staging/media/sunxi/cedrus/cedrus.c | 102 +++++----
> drivers/staging/media/sunxi/cedrus/cedrus.h | 22 +-
> .../staging/media/sunxi/cedrus/cedrus_dec.c | 4 +-
> .../staging/media/sunxi/cedrus/cedrus_h264.c | 2 +-
> .../staging/media/sunxi/cedrus/cedrus_h265.c | 37 +++-
> .../staging/media/sunxi/cedrus/cedrus_hw.c | 18 +-
> .../staging/media/sunxi/cedrus/cedrus_hw.h | 2 +-
> .../staging/media/sunxi/cedrus/cedrus_mpeg2.c | 2 +-
> .../staging/media/sunxi/cedrus/cedrus_regs.h | 16 ++
> .../staging/media/sunxi/cedrus/cedrus_video.c | 200 ++++++++++--------
> .../staging/media/sunxi/cedrus/cedrus_video.h | 2 +
> .../staging/media/sunxi/cedrus/cedrus_vp8.c | 2 +-
> 12 files changed, 244 insertions(+), 165 deletions(-)
>
> --
> 2.38.1
>
More information about the linux-arm-kernel
mailing list