Skip to content

Commit b4c92a6

Browse files
author
Barnabás Pőcze
committed
ipa: rpi: Initialize enum controls with a list of values
This is how uvcvideo and rkisp1 do it. See ee918b3 ("ipa: rkisp1: agc: Initialize enum controls with a list of values") for the motivation. In summary, having a list of values is used as a sign that the control is an enum in multiple places (e.g. `cam`, `camshark`). Signed-off-by: Barnabás Pőcze <[email protected]> Reviewed-by: Naushir Patuck <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]>
1 parent b3ff75d commit b4c92a6

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

src/ipa/rpi/common/ipa_base.cpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -58,23 +58,24 @@ const ControlInfoMap::Map ipaControls{
5858
/* \todo Move this to the Camera class */
5959
{ &controls::AeEnable, ControlInfo(false, true, true) },
6060
{ &controls::ExposureTimeMode,
61-
ControlInfo(static_cast<int32_t>(controls::ExposureTimeModeAuto),
62-
static_cast<int32_t>(controls::ExposureTimeModeManual),
63-
static_cast<int32_t>(controls::ExposureTimeModeAuto)) },
61+
ControlInfo({ { ControlValue(controls::ExposureTimeModeAuto),
62+
ControlValue(controls::ExposureTimeModeManual) } },
63+
ControlValue(controls::ExposureTimeModeAuto)) },
6464
{ &controls::ExposureTime,
6565
ControlInfo(1, 66666, static_cast<int32_t>(defaultExposureTime.get<std::micro>())) },
6666
{ &controls::AnalogueGainMode,
67-
ControlInfo(static_cast<int32_t>(controls::AnalogueGainModeAuto),
68-
static_cast<int32_t>(controls::AnalogueGainModeManual),
69-
static_cast<int32_t>(controls::AnalogueGainModeAuto)) },
67+
ControlInfo({ { ControlValue(controls::AnalogueGainModeAuto),
68+
ControlValue(controls::AnalogueGainModeManual) } },
69+
ControlValue(controls::AnalogueGainModeAuto)) },
7070
{ &controls::AnalogueGain, ControlInfo(1.0f, 16.0f, 1.0f) },
7171
{ &controls::AeMeteringMode, ControlInfo(controls::AeMeteringModeValues) },
7272
{ &controls::AeConstraintMode, ControlInfo(controls::AeConstraintModeValues) },
7373
{ &controls::AeExposureMode, ControlInfo(controls::AeExposureModeValues) },
7474
{ &controls::ExposureValue, ControlInfo(-8.0f, 8.0f, 0.0f) },
75-
{ &controls::AeFlickerMode, ControlInfo(static_cast<int>(controls::FlickerOff),
76-
static_cast<int>(controls::FlickerManual),
77-
static_cast<int>(controls::FlickerOff)) },
75+
{ &controls::AeFlickerMode,
76+
ControlInfo({ { ControlValue(controls::FlickerOff),
77+
ControlValue(controls::FlickerManual) } },
78+
ControlValue(controls::FlickerOff)) },
7879
{ &controls::AeFlickerPeriod, ControlInfo(100, 1000000) },
7980
{ &controls::Brightness, ControlInfo(-1.0f, 1.0f, 0.0f) },
8081
{ &controls::Contrast, ControlInfo(0.0f, 32.0f, 1.0f) },

0 commit comments

Comments
 (0)