[libcamera-devel] [PATCH v1 2/4] pipeline: raspberrypi: Update naming convention for tuning files
Jacopo Mondi
jacopo at jmondi.org
Wed Sep 28 09:21:50 CEST 2022
On Mon, Sep 26, 2022 at 01:29:09PM +0100, Naushir Patuck via libcamera-devel wrote:
> Append "_mono" to the sensor name when generating the tuning filename for
> monochrome sensor variants. So the new naming convention is as follows:
>
> <sensor_name>.json - Standard colour sensor variant
> <sensor_name>_mono.json - Monochrom sensor variant
>
> Rename the existing imx296.json file to imx296_mono.json as this tuning file
> is based on the monochrome variant of the IMX296.
>
> Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
> ---
> .../data/{imx296.json => imx296_mono.json} | 0
> src/ipa/raspberrypi/data/meson.build | 2 +-
> .../pipeline/raspberrypi/raspberrypi.cpp | 19 +++++++++++++++----
> 3 files changed, 16 insertions(+), 5 deletions(-)
> rename src/ipa/raspberrypi/data/{imx296.json => imx296_mono.json} (100%)
>
> diff --git a/src/ipa/raspberrypi/data/imx296.json b/src/ipa/raspberrypi/data/imx296_mono.json
> similarity index 100%
> rename from src/ipa/raspberrypi/data/imx296.json
> rename to src/ipa/raspberrypi/data/imx296_mono.json
> diff --git a/src/ipa/raspberrypi/data/meson.build b/src/ipa/raspberrypi/data/meson.build
> index 211811cfa915..465a7a17ce6f 100644
> --- a/src/ipa/raspberrypi/data/meson.build
> +++ b/src/ipa/raspberrypi/data/meson.build
> @@ -4,7 +4,7 @@ conf_files = files([
> 'imx219.json',
> 'imx219_noir.json',
> 'imx290.json',
> - 'imx296.json',
> + 'imx296_mono.json',
> 'imx378.json',
> 'imx477.json',
> 'imx477_noir.json',
> diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> index dcd81650c32d..c068b07b31fe 100644
> --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> @@ -67,6 +67,14 @@ SensorFormats populateSensorFormats(std::unique_ptr<CameraSensor> &sensor)
> return formats;
> }
>
> +bool isMonoSensor(std::unique_ptr<CameraSensor> &sensor)
> +{
> + unsigned int mbusCode = sensor->mbusCodes()[0];
> + BayerFormat bayer = BayerFormat::fromMbusCode(mbusCode);
const Bayerformat &bayer ?
> +
> + return bayer.order == BayerFormat::Order::MONO;
> +}
> +
> PixelFormat mbusCodeToPixelFormat(unsigned int mbus_code,
> BayerFormat::Packing packingReq)
> {
> @@ -1551,10 +1559,13 @@ int RPiCameraData::loadIPA(ipa::RPi::IPAInitResult *result)
> */
> std::string configurationFile;
> char const *configFromEnv = utils::secure_getenv("LIBCAMERA_RPI_TUNING_FILE");
> - if (!configFromEnv || *configFromEnv == '\0')
> - configurationFile = ipa_->configurationFile(sensor_->model() + ".json");
> - else
> - configurationFile = std::string(configFromEnv);
> + std::string sensorStr = sensor_->model();
const std::string &sensorStr =
and maybe s/sensorStr/model ?
> + if (!configFromEnv || *configFromEnv == '\0') {
> + if (isMonoSensor(sensor_))
> + configurationFile += "_mono";
> + configurationFile = ipa_->configurationFile(sensorStr + ".json");
> + } else
> + configurationFile = sensorStr;
Don't you need to append "_mono" in this case ?
Also the else branch needs braces too
>
> IPASettings settings(configurationFile, sensor_->model());
As you now get a reference to sensor_->model() you can avoid the
function call and reuse sensorStr (or 'model' if you like the rename).
Thanks
j
>
> --
> 2.25.1
>
More information about the libcamera-devel
mailing list