libcamera: control: Add vendor control id range reservation

Add a new control_ranges.yaml file that is used to reserve control id
ranges/offsets for libcamera and vendor specific controls. This file is
used by the gen-controls.py script to generate control id values for
each control.

Draft controls now have a separate range from core libcamera controls,
breaking the existing numbering behaviour.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
This commit is contained in:
Naushir Patuck 2023-11-09 11:31:31 +00:00
parent 0455bbbf51
commit d3365b358f
4 changed files with 35 additions and 5 deletions

View file

@ -74,12 +74,13 @@ foreach mode, entry : controls_map
endif
template_file = files(outfile + '.in')
ranges_file = files('../../src/libcamera/control_ranges.yaml')
control_headers += custom_target(header + '_h',
input : input_files,
output : outfile,
command : [gen_controls, '-o', '@OUTPUT@',
'--mode', mode, '-t', template_file,
'@INPUT@'],
'-r', ranges_file, '@INPUT@'],
install : true,
install_dir : libcamera_headers_install_dir)
endforeach