This commit does the basic reorganisation of the code in order to implement multi-channel AGC. The main changes are: * The previous Agc class (in agc.cpp) has become the AgcChannel class in (agc_channel.cpp). * A new Agc class is introduced which is a wrapper round a number of AgcChannels. * The basic plumbing from ipa_base.cpp to Agc is updated to include a channel number. All the existing controls are hardwired to talk directly to channel 0. There are a couple of limitations which we expect to apply to multi-channel AGC. We're not allowing different frame durations to be applied to the channels, nor are we allowing separate metering modes. To be fair, supporting these things is not impossible, but there are reasons why it may be tricky so they remain "TBD" for now. This patch only includes the basic reorganisation and plumbing. It does not yet update the important methods (switchMode, prepare and process) to implement multi-channel AGC properly. This will appear in a subsequent commit. For now, these functions are hard-coded just to use channel 0, thereby preserving the existing behaviour. Signed-off-by: David Plowman <david.plowman@raspberrypi.com> Reviewed-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
30 lines
698 B
Meson
30 lines
698 B
Meson
# SPDX-License-Identifier: CC0-1.0
|
|
|
|
rpi_ipa_controller_sources = files([
|
|
'algorithm.cpp',
|
|
'controller.cpp',
|
|
'device_status.cpp',
|
|
'histogram.cpp',
|
|
'pwl.cpp',
|
|
'rpi/af.cpp',
|
|
'rpi/agc.cpp',
|
|
'rpi/agc_channel.cpp',
|
|
'rpi/alsc.cpp',
|
|
'rpi/awb.cpp',
|
|
'rpi/black_level.cpp',
|
|
'rpi/ccm.cpp',
|
|
'rpi/contrast.cpp',
|
|
'rpi/dpc.cpp',
|
|
'rpi/geq.cpp',
|
|
'rpi/lux.cpp',
|
|
'rpi/noise.cpp',
|
|
'rpi/sdn.cpp',
|
|
'rpi/sharpen.cpp',
|
|
])
|
|
|
|
rpi_ipa_controller_deps = [
|
|
libcamera_private,
|
|
]
|
|
|
|
rpi_ipa_controller_lib = static_library('rpi_ipa_controller', rpi_ipa_controller_sources,
|
|
dependencies : rpi_ipa_controller_deps)
|