diff options
author | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2022-07-30 17:48:36 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@kernel.org> | 2022-08-29 15:32:13 +0200 |
commit | 6b1aaa689348fecba304911e6bc89f3f5b0a4825 (patch) | |
tree | a0c257c528e0d8a03a950dd002742797a65acfdc /include/media | |
parent | media: vivid: add pixel_array test control (diff) | |
download | linux-6b1aaa689348fecba304911e6bc89f3f5b0a4825.tar.xz linux-6b1aaa689348fecba304911e6bc89f3f5b0a4825.zip |
media: v4l2-ctrls: optimize type_ops for arrays
Initializing arrays and validating or checking for equality of arrays
is suboptimal since it does this per element.
Change the ops to operate on the whole payload to speed up array
operations.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Diffstat (limited to 'include/media')
-rw-r--r-- | include/media/v4l2-ctrls.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/media/v4l2-ctrls.h b/include/media/v4l2-ctrls.h index 607960309579..879bdde5131b 100644 --- a/include/media/v4l2-ctrls.h +++ b/include/media/v4l2-ctrls.h @@ -128,13 +128,13 @@ struct v4l2_ctrl_ops { * otherwise. */ struct v4l2_ctrl_type_ops { - bool (*equal)(const struct v4l2_ctrl *ctrl, u32 idx, + bool (*equal)(const struct v4l2_ctrl *ctrl, u32 elems, union v4l2_ctrl_ptr ptr1, union v4l2_ctrl_ptr ptr2); - void (*init)(const struct v4l2_ctrl *ctrl, u32 idx, + void (*init)(const struct v4l2_ctrl *ctrl, u32 from_idx, u32 tot_elems, union v4l2_ctrl_ptr ptr); void (*log)(const struct v4l2_ctrl *ctrl); - int (*validate)(const struct v4l2_ctrl *ctrl, u32 idx, + int (*validate)(const struct v4l2_ctrl *ctrl, u32 elems, union v4l2_ctrl_ptr ptr); }; |