@@ -1291,7 +1291,7 @@ int CameraCapabilities::initializeStaticMetadata()
{
std::vector<uint8_t> data;
data.reserve(5);
- const auto &infoMap = controlsInfo.find(&controls::draft::NoiseReductionMode);
+ const auto &infoMap = controlsInfo.find(&controls::NoiseReductionMode);
if (infoMap != controlsInfo.end()) {
for (const auto &value : infoMap->second.values())
data.push_back(value.get<int32_t>());
@@ -182,20 +182,20 @@ void Dpf::queueRequest(IPAContext &context,
auto &dpf = context.activeState.dpf;
bool update = false;
- const auto &denoise = controls.get(controls::draft::NoiseReductionMode);
+ const auto &denoise = controls.get(controls::NoiseReductionMode);
if (denoise) {
LOG(RkISP1Dpf, Debug) << "Set denoise to " << *denoise;
switch (*denoise) {
- case controls::draft::NoiseReductionModeOff:
+ case controls::NoiseReductionModeOff:
if (dpf.denoise) {
dpf.denoise = false;
update = true;
}
break;
- case controls::draft::NoiseReductionModeMinimal:
- case controls::draft::NoiseReductionModeHighQuality:
- case controls::draft::NoiseReductionModeFast:
+ case controls::NoiseReductionModeMinimal:
+ case controls::NoiseReductionModeHighQuality:
+ case controls::NoiseReductionModeFast:
if (!dpf.denoise) {
dpf.denoise = true;
update = true;
@@ -73,25 +73,25 @@ void Filter::queueRequest(IPAContext &context,
LOG(RkISP1Filter, Debug) << "Set sharpness to " << *sharpness;
}
- const auto &denoise = controls.get(controls::draft::NoiseReductionMode);
+ const auto &denoise = controls.get(controls::NoiseReductionMode);
if (denoise) {
LOG(RkISP1Filter, Debug) << "Set denoise to " << *denoise;
switch (*denoise) {
- case controls::draft::NoiseReductionModeOff:
+ case controls::NoiseReductionModeOff:
if (filter.denoise != 0) {
filter.denoise = 0;
update = true;
}
break;
- case controls::draft::NoiseReductionModeMinimal:
+ case controls::NoiseReductionModeMinimal:
if (filter.denoise != 1) {
filter.denoise = 1;
update = true;
}
break;
- case controls::draft::NoiseReductionModeHighQuality:
- case controls::draft::NoiseReductionModeFast:
+ case controls::NoiseReductionModeHighQuality:
+ case controls::NoiseReductionModeFast:
if (filter.denoise != 3) {
filter.denoise = 3;
update = true;
@@ -120,7 +120,7 @@ const IPAHwSettings ipaHwSettingsV12{
/* List of controls handled by the RkISP1 IPA */
const ControlInfoMap::Map rkisp1Controls{
{ &controls::DebugMetadataEnable, ControlInfo(false, true, false) },
- { &controls::draft::NoiseReductionMode, ControlInfo(controls::draft::NoiseReductionModeValues) },
+ { &controls::NoiseReductionMode, ControlInfo(controls::NoiseReductionModeValues) },
};
} /* namespace */
@@ -88,7 +88,7 @@ const ControlInfoMap::Map ipaControls{
static_cast<int64_t>(defaultMaxFrameDuration.get<std::micro>()),
Span<const int64_t, 2>{ { static_cast<int64_t>(defaultMinFrameDuration.get<std::micro>()),
static_cast<int64_t>(defaultMinFrameDuration.get<std::micro>()) } }) },
- { &controls::draft::NoiseReductionMode, ControlInfo(controls::draft::NoiseReductionModeValues) },
+ { &controls::NoiseReductionMode, ControlInfo(controls::NoiseReductionModeValues) },
{ &controls::rpi::StatsOutputEnable, ControlInfo(false, true, false) },
};
@@ -1290,9 +1290,9 @@ void IpaBase::applyControls(const ControlList &controls)
break;
}
- case controls::draft::NOISE_REDUCTION_MODE:
+ case controls::NOISE_REDUCTION_MODE:
/* Handled below in handleControls() */
- libcameraMetadata_.set(controls::draft::NoiseReductionMode,
+ libcameraMetadata_.set(controls::NoiseReductionMode,
ctrl.second.get<int32_t>());
break;
@@ -560,7 +560,7 @@ void IpaPiSP::handleControls(const ControlList &controls)
setHistogramWeights();
break;
- case controls::draft::NOISE_REDUCTION_MODE: {
+ case controls::NOISE_REDUCTION_MODE: {
RPiController::DenoiseAlgorithm *denoise = dynamic_cast<RPiController::DenoiseAlgorithm *>(
controller_.getAlgorithm("denoise"));
@@ -570,7 +570,7 @@ void IpaPiSP::handleControls(const ControlList &controls)
return;
}
- if (ctrl.second.get<int32_t>() == controls::draft::NoiseReductionModeOff)
+ if (ctrl.second.get<int32_t>() == controls::NoiseReductionModeOff)
denoise->setMode(RPiController::DenoiseMode::Off);
else
denoise->setMode(RPiController::DenoiseMode::ColourHighQuality);
@@ -293,16 +293,16 @@ RPiController::StatisticsPtr IpaVc4::platformProcessStats(Span<uint8_t> mem)
void IpaVc4::handleControls(const ControlList &controls)
{
static const std::map<int32_t, RPiController::DenoiseMode> DenoiseModeTable = {
- { controls::draft::NoiseReductionModeOff, RPiController::DenoiseMode::Off },
- { controls::draft::NoiseReductionModeFast, RPiController::DenoiseMode::ColourFast },
- { controls::draft::NoiseReductionModeHighQuality, RPiController::DenoiseMode::ColourHighQuality },
- { controls::draft::NoiseReductionModeMinimal, RPiController::DenoiseMode::ColourOff },
- { controls::draft::NoiseReductionModeZSL, RPiController::DenoiseMode::ColourHighQuality },
+ { controls::NoiseReductionModeOff, RPiController::DenoiseMode::Off },
+ { controls::NoiseReductionModeFast, RPiController::DenoiseMode::ColourFast },
+ { controls::NoiseReductionModeHighQuality, RPiController::DenoiseMode::ColourHighQuality },
+ { controls::NoiseReductionModeMinimal, RPiController::DenoiseMode::ColourOff },
+ { controls::NoiseReductionModeZSL, RPiController::DenoiseMode::ColourHighQuality },
};
for (auto const &ctrl : controls) {
switch (ctrl.first) {
- case controls::draft::NOISE_REDUCTION_MODE: {
+ case controls::NOISE_REDUCTION_MODE: {
RPiController::DenoiseAlgorithm *sdn = dynamic_cast<RPiController::DenoiseAlgorithm *>(
controller_.getAlgorithm("SDN"));
/* Some platforms may have a combined "denoise" algorithm instead. */
@@ -1361,4 +1361,33 @@ controls:
description: |
Enable or disable the lens shading correction.
-...
+ - NoiseReductionMode:
+ type: int32_t
+ direction: inout
+ description: |
+ Control to select the noise reduction algorithm mode. Currently
+ identical to ANDROID_NOISE_REDUCTION_MODE.
+
+ Mode of operation for the noise reduction algorithm.
+ enum:
+ - name: NoiseReductionModeOff
+ value: 0
+ description: No noise reduction is applied
+ - name: NoiseReductionModeFast
+ value: 1
+ description: |
+ Noise reduction is applied without reducing the frame rate.
+ - name: NoiseReductionModeHighQuality
+ value: 2
+ description: |
+ High quality noise reduction at the expense of frame rate.
+ - name: NoiseReductionModeMinimal
+ value: 3
+ description: |
+ Minimal noise reduction is applied without reducing the frame rate.
+ - name: NoiseReductionModeZSL
+ value: 4
+ description: |
+ Noise reduction is applied at different levels to different streams.
+
+...
\ No newline at end of file
@@ -30,35 +30,6 @@ controls:
The camera will cancel any active or completed metering sequence.
The AE algorithm is reset to its initial state.
- - NoiseReductionMode:
- type: int32_t
- direction: inout
- description: |
- Control to select the noise reduction algorithm mode. Currently
- identical to ANDROID_NOISE_REDUCTION_MODE.
-
- Mode of operation for the noise reduction algorithm.
- enum:
- - name: NoiseReductionModeOff
- value: 0
- description: No noise reduction is applied
- - name: NoiseReductionModeFast
- value: 1
- description: |
- Noise reduction is applied without reducing the frame rate.
- - name: NoiseReductionModeHighQuality
- value: 2
- description: |
- High quality noise reduction at the expense of frame rate.
- - name: NoiseReductionModeMinimal
- value: 3
- description: |
- Minimal noise reduction is applied without reducing the frame rate.
- - name: NoiseReductionModeZSL
- value: 4
- description: |
- Noise reduction is applied at different levels to different streams.
-
- ColorCorrectionAberrationMode:
type: int32_t
direction: inout
Promote the NoiseReductionMode control from the draft namespace to the core controls namespace. This change affects: - Core control definitions (control_ids_core.yaml) - Draft control definitions (control_ids_draft.yaml) - RkISP1 IPA algorithm implementations (dpf.cpp, filter.cpp, rkisp1.cpp) - Raspberry Pi IPA implementations (rpi/common/ipa_base.cpp, pisp.cpp, vc4.cpp) - Android camera capabilities (camera_capabilities.cpp) All references to controls::draft::NoiseReductionMode and its enum values are updated to use controls::NoiseReductionMode in the core namespace. Signed-off-by: Rui Wang <rui.wang@ideasonboard.com> --- src/android/camera_capabilities.cpp | 2 +- src/ipa/rkisp1/algorithms/dpf.cpp | 10 ++++----- src/ipa/rkisp1/algorithms/filter.cpp | 10 ++++----- src/ipa/rkisp1/rkisp1.cpp | 2 +- src/ipa/rpi/common/ipa_base.cpp | 6 +++--- src/ipa/rpi/pisp/pisp.cpp | 4 ++-- src/ipa/rpi/vc4/vc4.cpp | 12 +++++------ src/libcamera/control_ids_core.yaml | 31 +++++++++++++++++++++++++++- src/libcamera/control_ids_draft.yaml | 29 -------------------------- 9 files changed, 53 insertions(+), 53 deletions(-)