[v6,09/16] config: Look up RkISP1 tuning file in configuration file
diff mbox series

Message ID 20241206171148.1189292-10-mzamazal@redhat.com
State New
Headers show
Series
  • Add global configuration file
Related show

Commit Message

Milan Zamazal Dec. 6, 2024, 5:11 p.m. UTC
The configuration snippet:

  configuration:
    pipeline:
      rkisp1:
        tuning_file: FILE

This environment variable has not been documented.

Signed-off-by: Milan Zamazal <mzamazal@redhat.com>
---
 src/libcamera/pipeline/rkisp1/rkisp1.cpp | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

Patch
diff mbox series

diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
index 908724e2..92f6addd 100644
--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
@@ -39,6 +39,7 @@ 
 #include "libcamera/internal/delayed_controls.h"
 #include "libcamera/internal/device_enumerator.h"
 #include "libcamera/internal/framebuffer.h"
+#include "libcamera/internal/global_configuration.h"
 #include "libcamera/internal/ipa_manager.h"
 #include "libcamera/internal/media_device.h"
 #include "libcamera/internal/pipeline_handler.h"
@@ -376,13 +377,16 @@  int RkISP1CameraData::loadIPA(unsigned int hwRevision)
 	 * environment variable overrides it.
 	 */
 	std::string ipaTuningFile;
-	char const *configFromEnv = utils::secure_getenv("LIBCAMERA_RKISP1_TUNING_FILE");
-	if (!configFromEnv || *configFromEnv == '\0') {
-		ipaTuningFile =
-			ipa_->configurationFile(sensor_->model() + ".yaml", "uncalibrated.yaml");
-	} else {
-		ipaTuningFile = std::string(configFromEnv);
-	}
+	const std::string confPath =
+		std::string("pipelines.rkisp1.cameras.") + sensor_->id() + ".tuning_file";
+	const auto confTuningFile =
+		GlobalConfiguration::envOption(
+			"LIBCAMERA_RKISP1_TUNING_FILE", confPath.c_str());
+	if (!confTuningFile.has_value() || confTuningFile.value() == "")
+		ipaTuningFile = ipa_->configurationFile(sensor_->model() + ".yaml",
+							"uncalibrated.yaml");
+	else
+		ipaTuningFile = confTuningFile.value();
 
 	IPACameraSensorInfo sensorInfo{};
 	int ret = sensor_->sensorInfo(&sensorInfo);