media: cedrus: Filter controls based on capability
authorJernej Skrabec <jernej.skrabec@gmail.com>
Wed, 2 Nov 2022 18:08:04 +0000 (19:08 +0100)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Fri, 4 Nov 2022 15:56:33 +0000 (16:56 +0100)
commit05d13e270e89f317b4606e08563479dc7638a700
tree1074a51c3fce3c9e9203fe2593dec12051a513a4
parente7efb377ea50adf4a3583dd048453cca5f803775
media: cedrus: Filter controls based on capability

Because not all Cedrus variants supports all codecs, controls should be
registered only if codec related to individual control is supported by
Cedrus.

Replace codec enum, which is not used at all, with capabilities flags
and register control only if capabilities are met. We have to be careful
though, controls have to be tightly packed in ctx->ctrls array.
Otherwise functions cedrus_find_control_data() and
cedrus_get_num_of_controls() won't work properly.

Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/staging/media/sunxi/cedrus/cedrus.c
drivers/staging/media/sunxi/cedrus/cedrus.h