ipa: raspberrypi: Add support for the Sony IMX708 sensor
Add support for Raspberry Pi Camera 3 modules (Sony IMX708 camera sensor) to the Raspberry Pi IPA. These modules are available in either normal or wide angle lens, both with IR or no IR cut options, giving a total for 4 variants. Provide IQ tuning files for all four variants. The IMX708 camera helper additionally parses PDAF and HDR histogram data that is provided in the embedded data stream from Unicam. Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com> Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
committed by
Kieran Bingham
parent
2fb0f25019
commit
952ef94ed7
350
src/ipa/raspberrypi/cam_helper_imx708.cpp
Normal file
350
src/ipa/raspberrypi/cam_helper_imx708.cpp
Normal file
@@ -0,0 +1,350 @@
|
||||
/* SPDX-License-Identifier: BSD-2-Clause */
|
||||
/*
|
||||
* Copyright (C) 2022, Raspberry Pi Ltd
|
||||
*
|
||||
* cam_helper_imx708.cpp - camera helper for imx708 sensor
|
||||
*/
|
||||
|
||||
#include <cmath>
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <libcamera/base/log.h>
|
||||
|
||||
#include "controller/pdaf_data.h"
|
||||
|
||||
#include "cam_helper.h"
|
||||
#include "md_parser.h"
|
||||
|
||||
using namespace RPiController;
|
||||
using namespace libcamera;
|
||||
using libcamera::utils::Duration;
|
||||
|
||||
namespace libcamera {
|
||||
LOG_DECLARE_CATEGORY(IPARPI)
|
||||
}
|
||||
|
||||
/*
|
||||
* We care about two gain registers and a pair of exposure registers. Their
|
||||
* I2C addresses from the Sony imx708 datasheet:
|
||||
*/
|
||||
constexpr uint32_t expHiReg = 0x0202;
|
||||
constexpr uint32_t expLoReg = 0x0203;
|
||||
constexpr uint32_t gainHiReg = 0x0204;
|
||||
constexpr uint32_t gainLoReg = 0x0205;
|
||||
constexpr uint32_t frameLengthHiReg = 0x0340;
|
||||
constexpr uint32_t frameLengthLoReg = 0x0341;
|
||||
constexpr uint32_t lineLengthHiReg = 0x0342;
|
||||
constexpr uint32_t lineLengthLoReg = 0x0343;
|
||||
constexpr uint32_t temperatureReg = 0x013a;
|
||||
constexpr std::initializer_list<uint32_t> registerList =
|
||||
{ expHiReg, expLoReg, gainHiReg, gainLoReg, lineLengthHiReg,
|
||||
lineLengthLoReg, frameLengthHiReg, frameLengthLoReg, temperatureReg };
|
||||
|
||||
class CamHelperImx708 : public CamHelper
|
||||
{
|
||||
public:
|
||||
CamHelperImx708();
|
||||
uint32_t gainCode(double gain) const override;
|
||||
double gain(uint32_t gain_code) const override;
|
||||
void prepare(libcamera::Span<const uint8_t> buffer, Metadata &metadata) override;
|
||||
void process(StatisticsPtr &stats, Metadata &metadata) override;
|
||||
std::pair<uint32_t, uint32_t> getBlanking(Duration &exposure, Duration minFrameDuration,
|
||||
Duration maxFrameDuration) const override;
|
||||
void getDelays(int &exposureDelay, int &gainDelay,
|
||||
int &vblankDelay, int &hblankDelay) const override;
|
||||
bool sensorEmbeddedDataPresent() const override;
|
||||
double getModeSensitivity(const CameraMode &mode) const override;
|
||||
unsigned int hideFramesModeSwitch() const override { return 1; } // seems to be required for HDR
|
||||
|
||||
private:
|
||||
/*
|
||||
* Smallest difference between the frame length and integration time,
|
||||
* in units of lines.
|
||||
*/
|
||||
static constexpr int frameIntegrationDiff = 22;
|
||||
/* Maximum frame length allowable for long exposure calculations. */
|
||||
static constexpr int frameLengthMax = 0xffdc;
|
||||
/* Largest long exposure scale factor given as a left shift on the frame length. */
|
||||
static constexpr int longExposureShiftMax = 7;
|
||||
|
||||
void populateMetadata(const MdParser::RegisterMap ®isters,
|
||||
Metadata &metadata) const override;
|
||||
|
||||
static bool parsePdafData(const uint8_t *ptr, size_t len, unsigned bpp,
|
||||
PdafData &pdaf);
|
||||
|
||||
bool parseAEHist(const uint8_t *ptr, size_t len, unsigned bpp);
|
||||
void putAGCStatistics(StatisticsPtr stats);
|
||||
|
||||
uint32_t aeHistLinear_[128];
|
||||
uint32_t aeHistAverage_;
|
||||
bool aeHistValid_;
|
||||
};
|
||||
|
||||
CamHelperImx708::CamHelperImx708()
|
||||
: CamHelper(std::make_unique<MdParserSmia>(registerList), frameIntegrationDiff),
|
||||
aeHistLinear_{ 0 }, aeHistAverage_(0), aeHistValid_(false)
|
||||
{
|
||||
}
|
||||
|
||||
uint32_t CamHelperImx708::gainCode(double gain) const
|
||||
{
|
||||
return static_cast<uint32_t>(1024 - 1024 / gain);
|
||||
}
|
||||
|
||||
double CamHelperImx708::gain(uint32_t gain_code) const
|
||||
{
|
||||
return 1024.0 / (1024 - gain_code);
|
||||
}
|
||||
|
||||
void CamHelperImx708::prepare(libcamera::Span<const uint8_t> buffer, Metadata &metadata)
|
||||
{
|
||||
MdParser::RegisterMap registers;
|
||||
DeviceStatus deviceStatus;
|
||||
|
||||
LOG(IPARPI, Debug) << "Embedded buffer size: " << buffer.size();
|
||||
|
||||
if (metadata.get("device.status", deviceStatus)) {
|
||||
LOG(IPARPI, Error) << "DeviceStatus not found from DelayedControls";
|
||||
return;
|
||||
}
|
||||
|
||||
parseEmbeddedData(buffer, metadata);
|
||||
|
||||
/*
|
||||
* Parse PDAF data, which we expect to occupy the third scanline
|
||||
* of embedded data. As PDAF is quite sensor-specific, it's parsed here.
|
||||
*/
|
||||
size_t bytesPerLine = (mode_.width * mode_.bitdepth) >> 3;
|
||||
|
||||
if (buffer.size() > 2 * bytesPerLine) {
|
||||
PdafData pdaf;
|
||||
if (parsePdafData(&buffer[2 * bytesPerLine],
|
||||
buffer.size() - 2 * bytesPerLine,
|
||||
mode_.bitdepth, pdaf))
|
||||
metadata.set("pdaf.data", pdaf);
|
||||
}
|
||||
|
||||
/* Parse AE-HIST data where present */
|
||||
if (buffer.size() > 3 * bytesPerLine) {
|
||||
aeHistValid_ = parseAEHist(&buffer[3 * bytesPerLine],
|
||||
buffer.size() - 3 * bytesPerLine,
|
||||
mode_.bitdepth);
|
||||
}
|
||||
|
||||
/*
|
||||
* The DeviceStatus struct is first populated with values obtained from
|
||||
* DelayedControls. If this reports frame length is > frameLengthMax,
|
||||
* it means we are using a long exposure mode. Since the long exposure
|
||||
* scale factor is not returned back through embedded data, we must rely
|
||||
* on the existing exposure lines and frame length values returned by
|
||||
* DelayedControls.
|
||||
*
|
||||
* Otherwise, all values are updated with what is reported in the
|
||||
* embedded data.
|
||||
*/
|
||||
if (deviceStatus.frameLength > frameLengthMax) {
|
||||
DeviceStatus parsedDeviceStatus;
|
||||
|
||||
metadata.get("device.status", parsedDeviceStatus);
|
||||
parsedDeviceStatus.shutterSpeed = deviceStatus.shutterSpeed;
|
||||
parsedDeviceStatus.frameLength = deviceStatus.frameLength;
|
||||
metadata.set("device.status", parsedDeviceStatus);
|
||||
|
||||
LOG(IPARPI, Debug) << "Metadata updated for long exposure: "
|
||||
<< parsedDeviceStatus;
|
||||
}
|
||||
}
|
||||
|
||||
void CamHelperImx708::process(StatisticsPtr &stats, [[maybe_unused]] Metadata &metadata)
|
||||
{
|
||||
if (aeHistValid_)
|
||||
putAGCStatistics(stats);
|
||||
}
|
||||
|
||||
std::pair<uint32_t, uint32_t> CamHelperImx708::getBlanking(Duration &exposure,
|
||||
Duration minFrameDuration,
|
||||
Duration maxFrameDuration) const
|
||||
{
|
||||
uint32_t frameLength, exposureLines;
|
||||
unsigned int shift = 0;
|
||||
|
||||
auto [vblank, hblank] = CamHelper::getBlanking(exposure, minFrameDuration,
|
||||
maxFrameDuration);
|
||||
|
||||
frameLength = mode_.height + vblank;
|
||||
Duration lineLength = hblankToLineLength(hblank);
|
||||
|
||||
/*
|
||||
* Check if the frame length calculated needs to be setup for long
|
||||
* exposure mode. This will require us to use a long exposure scale
|
||||
* factor provided by a shift operation in the sensor.
|
||||
*/
|
||||
while (frameLength > frameLengthMax) {
|
||||
if (++shift > longExposureShiftMax) {
|
||||
shift = longExposureShiftMax;
|
||||
frameLength = frameLengthMax;
|
||||
break;
|
||||
}
|
||||
frameLength >>= 1;
|
||||
}
|
||||
|
||||
if (shift) {
|
||||
/* Account for any rounding in the scaled frame length value. */
|
||||
frameLength <<= shift;
|
||||
exposureLines = CamHelper::exposureLines(exposure, lineLength);
|
||||
exposureLines = std::min(exposureLines, frameLength - frameIntegrationDiff);
|
||||
exposure = CamHelper::exposure(exposureLines, lineLength);
|
||||
}
|
||||
|
||||
return { frameLength - mode_.height, hblank };
|
||||
}
|
||||
|
||||
void CamHelperImx708::getDelays(int &exposureDelay, int &gainDelay,
|
||||
int &vblankDelay, int &hblankDelay) const
|
||||
{
|
||||
exposureDelay = 2;
|
||||
gainDelay = 2;
|
||||
vblankDelay = 3;
|
||||
hblankDelay = 3;
|
||||
}
|
||||
|
||||
bool CamHelperImx708::sensorEmbeddedDataPresent() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
double CamHelperImx708::getModeSensitivity(const CameraMode &mode) const
|
||||
{
|
||||
/* In binned modes, sensitivity increases by a factor of 2 */
|
||||
return (mode.width > 2304) ? 1.0 : 2.0;
|
||||
}
|
||||
|
||||
void CamHelperImx708::populateMetadata(const MdParser::RegisterMap ®isters,
|
||||
Metadata &metadata) const
|
||||
{
|
||||
DeviceStatus deviceStatus;
|
||||
|
||||
deviceStatus.lineLength = lineLengthPckToDuration(registers.at(lineLengthHiReg) * 256 +
|
||||
registers.at(lineLengthLoReg));
|
||||
deviceStatus.shutterSpeed = exposure(registers.at(expHiReg) * 256 + registers.at(expLoReg),
|
||||
deviceStatus.lineLength);
|
||||
deviceStatus.analogueGain = gain(registers.at(gainHiReg) * 256 + registers.at(gainLoReg));
|
||||
deviceStatus.frameLength = registers.at(frameLengthHiReg) * 256 + registers.at(frameLengthLoReg);
|
||||
deviceStatus.sensorTemperature = std::clamp<int8_t>(registers.at(temperatureReg), -20, 80);
|
||||
|
||||
metadata.set("device.status", deviceStatus);
|
||||
}
|
||||
|
||||
bool CamHelperImx708::parsePdafData(const uint8_t *ptr, size_t len,
|
||||
unsigned bpp, PdafData &pdaf)
|
||||
{
|
||||
size_t step = bpp >> 1; /* bytes per PDAF grid entry */
|
||||
|
||||
if (bpp < 10 || bpp > 12 || len < 194 * step || ptr[0] != 0 || ptr[1] >= 0x40) {
|
||||
LOG(IPARPI, Error) << "PDAF data in unsupported format";
|
||||
return false;
|
||||
}
|
||||
|
||||
ptr += 2 * step;
|
||||
for (unsigned i = 0; i < PDAF_DATA_ROWS; ++i) {
|
||||
for (unsigned j = 0; j < PDAF_DATA_COLS; ++j) {
|
||||
unsigned c = (ptr[0] << 3) | (ptr[1] >> 5);
|
||||
int p = (((ptr[1] & 0x0F) - (ptr[1] & 0x10)) << 6) | (ptr[2] >> 2);
|
||||
pdaf.conf[i][j] = c;
|
||||
pdaf.phase[i][j] = c ? p : 0;
|
||||
ptr += step;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CamHelperImx708::parseAEHist(const uint8_t *ptr, size_t len, unsigned bpp)
|
||||
{
|
||||
static const uint32_t ISP_PIPELINE_BITS = 13;
|
||||
uint64_t count = 0, sum = 0;
|
||||
size_t step = bpp >> 1; /* bytes per histogram bin */
|
||||
|
||||
if (len < 144 * step)
|
||||
return false;
|
||||
|
||||
/*
|
||||
* Read the 128 bin linear histogram, which by default covers
|
||||
* the full range of the HDR shortest exposure (small values are
|
||||
* expected to dominate, so pixel-value resolution will be poor).
|
||||
*/
|
||||
for (unsigned i = 0; i < 128; ++i) {
|
||||
if (ptr[3] != 0x55)
|
||||
return false;
|
||||
uint32_t c = (ptr[0] << 14) + (ptr[1] << 6) + (ptr[2] >> 2);
|
||||
aeHistLinear_[i] = c >> 2; /* pixels to quads */
|
||||
if (i != 0) {
|
||||
count += c;
|
||||
sum += c *
|
||||
(i * (1u << (ISP_PIPELINE_BITS - 7)) +
|
||||
(1u << (ISP_PIPELINE_BITS - 8)));
|
||||
}
|
||||
ptr += step;
|
||||
}
|
||||
|
||||
/*
|
||||
* Now use the first 9 bins of the log histogram (these should be
|
||||
* subdivisions of the smallest linear bin), to get a more accurate
|
||||
* average value. Don't assume that AEHIST1_AVERAGE is present.
|
||||
*/
|
||||
for (unsigned i = 0; i < 9; ++i) {
|
||||
if (ptr[3] != 0x55)
|
||||
return false;
|
||||
uint32_t c = (ptr[0] << 14) + (ptr[1] << 6) + (ptr[2] >> 2);
|
||||
count += c;
|
||||
sum += c *
|
||||
((3u << ISP_PIPELINE_BITS) >> (17 - i));
|
||||
ptr += step;
|
||||
}
|
||||
if ((unsigned)((ptr[0] << 12) + (ptr[1] << 4) + (ptr[2] >> 4)) !=
|
||||
aeHistLinear_[1]) {
|
||||
LOG(IPARPI, Error) << "Lin/Log histogram mismatch";
|
||||
return false;
|
||||
}
|
||||
|
||||
aeHistAverage_ = count ? (sum / count) : 0;
|
||||
|
||||
return count != 0;
|
||||
}
|
||||
|
||||
void CamHelperImx708::putAGCStatistics(StatisticsPtr stats)
|
||||
{
|
||||
/*
|
||||
* For HDR mode, copy sensor's AE/AGC statistics over ISP's, so the
|
||||
* AGC algorithm sees a linear response to exposure and gain changes.
|
||||
*
|
||||
* Histogram: Just copy the "raw" histogram over the tone-mapped one,
|
||||
* although they have different distributions (raw values are lower).
|
||||
* Tuning should either ignore it, or constrain for highlights only.
|
||||
*
|
||||
* Average: Overwrite all regional averages with a global raw average,
|
||||
* scaled by a fiddle-factor so that a conventional (non-HDR) y_target
|
||||
* of e.g. 0.17 will map to a suitable level for HDR.
|
||||
*/
|
||||
memcpy(stats->hist[0].g_hist, aeHistLinear_, sizeof(stats->hist[0].g_hist));
|
||||
|
||||
constexpr unsigned int HdrHeadroomFactor = 4;
|
||||
uint64_t v = HdrHeadroomFactor * aeHistAverage_;
|
||||
for (int i = 0; i < AGC_REGIONS; i++) {
|
||||
struct bcm2835_isp_stats_region &r = stats->agc_stats[i];
|
||||
r.r_sum = r.b_sum = r.g_sum = r.counted * v;
|
||||
}
|
||||
}
|
||||
|
||||
static CamHelper *create()
|
||||
{
|
||||
return new CamHelperImx708();
|
||||
}
|
||||
|
||||
static RegisterCamHelper reg("imx708", &create);
|
||||
static RegisterCamHelper regWide("imx708_wide", &create);
|
||||
static RegisterCamHelper regNoIr("imx708_noir", &create);
|
||||
static RegisterCamHelper regWideNoIr("imx708_wide_noir", &create);
|
||||
559
src/ipa/raspberrypi/data/imx708.json
Normal file
559
src/ipa/raspberrypi/data/imx708.json
Normal file
@@ -0,0 +1,559 @@
|
||||
{
|
||||
"version": 2.0,
|
||||
"target": "bcm2835",
|
||||
"algorithms": [
|
||||
{
|
||||
"rpi.black_level":
|
||||
{
|
||||
"black_level": 4096
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.dpc": { }
|
||||
},
|
||||
{
|
||||
"rpi.lux":
|
||||
{
|
||||
"reference_shutter_speed": 10672,
|
||||
"reference_gain": 1.12,
|
||||
"reference_aperture": 1.0,
|
||||
"reference_lux": 977,
|
||||
"reference_Y": 8627
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.noise":
|
||||
{
|
||||
"reference_constant": 16.0,
|
||||
"reference_slope": 4.0
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.geq":
|
||||
{
|
||||
"offset": 215,
|
||||
"slope": 0.00287
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.sdn": { }
|
||||
},
|
||||
{
|
||||
"rpi.awb":
|
||||
{
|
||||
"priors": [
|
||||
{
|
||||
"lux": 0,
|
||||
"prior":
|
||||
[
|
||||
2000, 1.0,
|
||||
3000, 0.0,
|
||||
13000, 0.0
|
||||
]
|
||||
},
|
||||
{
|
||||
"lux": 800,
|
||||
"prior":
|
||||
[
|
||||
2000, 0.0,
|
||||
6000, 2.0,
|
||||
13000, 2.0
|
||||
]
|
||||
},
|
||||
{
|
||||
"lux": 1500,
|
||||
"prior":
|
||||
[
|
||||
2000, 0.0,
|
||||
4000, 1.0,
|
||||
6000, 6.0,
|
||||
6500, 7.0,
|
||||
7000, 1.0,
|
||||
13000, 1.0
|
||||
]
|
||||
}
|
||||
],
|
||||
"modes":
|
||||
{
|
||||
"auto":
|
||||
{
|
||||
"lo": 2500,
|
||||
"hi": 8000
|
||||
},
|
||||
"incandescent":
|
||||
{
|
||||
"lo": 2500,
|
||||
"hi": 3000
|
||||
},
|
||||
"tungsten":
|
||||
{
|
||||
"lo": 3000,
|
||||
"hi": 3500
|
||||
},
|
||||
"fluorescent":
|
||||
{
|
||||
"lo": 4000,
|
||||
"hi": 4700
|
||||
},
|
||||
"indoor":
|
||||
{
|
||||
"lo": 3000,
|
||||
"hi": 5000
|
||||
},
|
||||
"daylight":
|
||||
{
|
||||
"lo": 5500,
|
||||
"hi": 6500
|
||||
},
|
||||
"cloudy":
|
||||
{
|
||||
"lo": 7000,
|
||||
"hi": 8600
|
||||
}
|
||||
},
|
||||
"bayes": 1,
|
||||
"ct_curve":
|
||||
[
|
||||
2498.0, 0.8733, 0.2606,
|
||||
2821.0, 0.7707, 0.3245,
|
||||
2925.0, 0.7338, 0.3499,
|
||||
2926.0, 0.7193, 0.3603,
|
||||
2951.0, 0.7144, 0.3639,
|
||||
2954.0, 0.7111, 0.3663,
|
||||
3578.0, 0.6038, 0.4516,
|
||||
3717.0, 0.5861, 0.4669,
|
||||
3784.0, 0.5786, 0.4737,
|
||||
4485.0, 0.5113, 0.5368,
|
||||
4615.0, 0.4994, 0.5486,
|
||||
4671.0, 0.4927, 0.5554,
|
||||
5753.0, 0.4274, 0.6246,
|
||||
5773.0, 0.4265, 0.6256,
|
||||
7433.0, 0.3723, 0.6881
|
||||
],
|
||||
"sensitivity_r": 1.05,
|
||||
"sensitivity_b": 1.05,
|
||||
"transverse_pos": 0.03148,
|
||||
"transverse_neg": 0.03061
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.agc":
|
||||
{
|
||||
"metering_modes":
|
||||
{
|
||||
"centre-weighted":
|
||||
{
|
||||
"weights": [ 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0 ]
|
||||
},
|
||||
"spot":
|
||||
{
|
||||
"weights": [ 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
|
||||
},
|
||||
"matrix":
|
||||
{
|
||||
"weights": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
|
||||
}
|
||||
},
|
||||
"exposure_modes":
|
||||
{
|
||||
"normal":
|
||||
{
|
||||
"shutter": [ 100, 15000, 30000, 60000, 120000 ],
|
||||
"gain": [ 1.0, 1.0, 2.0, 4.0, 6.0 ]
|
||||
},
|
||||
"short":
|
||||
{
|
||||
"shutter": [ 100, 5000, 10000, 20000, 120000 ],
|
||||
"gain": [ 1.0, 2.0, 4.0, 6.0, 6.0 ]
|
||||
}
|
||||
},
|
||||
"constraint_modes":
|
||||
{
|
||||
"normal": [
|
||||
{
|
||||
"bound": "LOWER",
|
||||
"q_lo": 0.98,
|
||||
"q_hi": 1.0,
|
||||
"y_target":
|
||||
[
|
||||
0, 0.2,
|
||||
1000, 0.2
|
||||
]
|
||||
}
|
||||
],
|
||||
"highlight": [
|
||||
{
|
||||
"bound": "LOWER",
|
||||
"q_lo": 0.98,
|
||||
"q_hi": 1.0,
|
||||
"y_target":
|
||||
[
|
||||
0, 0.2,
|
||||
1000, 0.2
|
||||
]
|
||||
},
|
||||
{
|
||||
"bound": "UPPER",
|
||||
"q_lo": 0.98,
|
||||
"q_hi": 1.0,
|
||||
"y_target":
|
||||
[
|
||||
0, 0.8,
|
||||
1000, 0.8
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"y_target":
|
||||
[
|
||||
0, 0.16,
|
||||
1000, 0.165,
|
||||
10000, 0.17
|
||||
],
|
||||
"startup_frames": 5,
|
||||
"convergence_frames": 6,
|
||||
"speed": 0.15
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.alsc":
|
||||
{
|
||||
"omega": 1.3,
|
||||
"n_iter": 100,
|
||||
"luminance_strength": 0.5,
|
||||
"calibrations_Cr": [
|
||||
{
|
||||
"ct": 3000,
|
||||
"table":
|
||||
[
|
||||
1.562, 1.566, 1.566, 1.556, 1.533, 1.506, 1.475, 1.475, 1.475, 1.475, 1.506, 1.533, 1.555, 1.563, 1.562, 1.555,
|
||||
1.563, 1.564, 1.561, 1.538, 1.508, 1.482, 1.449, 1.436, 1.436, 1.449, 1.481, 1.508, 1.537, 1.557, 1.558, 1.557,
|
||||
1.564, 1.563, 1.554, 1.522, 1.482, 1.449, 1.421, 1.403, 1.403, 1.419, 1.449, 1.481, 1.519, 1.549, 1.557, 1.559,
|
||||
1.564, 1.563, 1.545, 1.506, 1.462, 1.421, 1.403, 1.378, 1.378, 1.402, 1.419, 1.459, 1.503, 1.541, 1.557, 1.559,
|
||||
1.564, 1.562, 1.537, 1.494, 1.447, 1.404, 1.378, 1.364, 1.364, 1.377, 1.402, 1.444, 1.491, 1.532, 1.556, 1.559,
|
||||
1.564, 1.559, 1.532, 1.487, 1.438, 1.395, 1.365, 1.359, 1.359, 1.364, 1.393, 1.436, 1.484, 1.527, 1.555, 1.558,
|
||||
1.564, 1.559, 1.532, 1.487, 1.438, 1.395, 1.365, 1.356, 1.356, 1.364, 1.393, 1.436, 1.484, 1.527, 1.554, 1.557,
|
||||
1.564, 1.561, 1.536, 1.492, 1.444, 1.402, 1.374, 1.364, 1.363, 1.373, 1.401, 1.442, 1.489, 1.531, 1.554, 1.557,
|
||||
1.564, 1.563, 1.544, 1.504, 1.458, 1.418, 1.397, 1.374, 1.374, 1.395, 1.416, 1.456, 1.501, 1.538, 1.556, 1.557,
|
||||
1.564, 1.562, 1.551, 1.518, 1.477, 1.441, 1.418, 1.397, 1.397, 1.416, 1.438, 1.474, 1.514, 1.546, 1.556, 1.556,
|
||||
1.562, 1.562, 1.558, 1.534, 1.499, 1.476, 1.441, 1.426, 1.426, 1.438, 1.473, 1.496, 1.531, 1.552, 1.556, 1.555,
|
||||
1.561, 1.564, 1.564, 1.552, 1.525, 1.497, 1.466, 1.461, 1.461, 1.464, 1.495, 1.523, 1.548, 1.556, 1.556, 1.552
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 5000,
|
||||
"table":
|
||||
[
|
||||
2.609, 2.616, 2.617, 2.607, 2.573, 2.527, 2.483, 2.481, 2.481, 2.483, 2.529, 2.573, 2.604, 2.613, 2.613, 2.604,
|
||||
2.609, 2.615, 2.608, 2.576, 2.533, 2.489, 2.439, 2.418, 2.418, 2.439, 2.491, 2.532, 2.577, 2.605, 2.609, 2.607,
|
||||
2.611, 2.611, 2.597, 2.551, 2.489, 2.439, 2.391, 2.364, 2.364, 2.391, 2.439, 2.491, 2.551, 2.592, 2.607, 2.609,
|
||||
2.612, 2.608, 2.583, 2.526, 2.457, 2.391, 2.362, 2.318, 2.318, 2.362, 2.391, 2.458, 2.526, 2.581, 2.607, 2.611,
|
||||
2.612, 2.604, 2.571, 2.507, 2.435, 2.362, 2.317, 2.293, 2.294, 2.318, 2.363, 2.434, 2.508, 2.568, 2.604, 2.612,
|
||||
2.611, 2.602, 2.564, 2.496, 2.419, 2.349, 2.293, 2.284, 2.284, 2.294, 2.347, 2.421, 2.497, 2.562, 2.603, 2.611,
|
||||
2.609, 2.601, 2.564, 2.496, 2.419, 2.349, 2.293, 2.278, 2.278, 2.294, 2.347, 2.421, 2.497, 2.562, 2.602, 2.609,
|
||||
2.609, 2.602, 2.568, 2.503, 2.429, 2.361, 2.311, 2.292, 2.292, 2.309, 2.357, 2.429, 2.504, 2.567, 2.602, 2.609,
|
||||
2.606, 2.604, 2.579, 2.519, 2.449, 2.384, 2.348, 2.311, 2.311, 2.346, 2.383, 2.449, 2.521, 2.577, 2.604, 2.608,
|
||||
2.604, 2.603, 2.586, 2.537, 2.474, 2.418, 2.384, 2.348, 2.348, 2.383, 2.417, 2.476, 2.538, 2.586, 2.601, 2.603,
|
||||
2.603, 2.605, 2.596, 2.561, 2.508, 2.474, 2.418, 2.396, 2.396, 2.417, 2.474, 2.511, 2.562, 2.596, 2.603, 2.602,
|
||||
2.601, 2.607, 2.606, 2.589, 2.549, 2.507, 2.456, 2.454, 2.454, 2.458, 2.508, 2.554, 2.594, 2.605, 2.605, 2.602
|
||||
]
|
||||
}
|
||||
],
|
||||
"calibrations_Cb": [
|
||||
{
|
||||
"ct": 3000,
|
||||
"table":
|
||||
[
|
||||
3.221, 3.226, 3.231, 3.236, 3.239, 3.243, 3.245, 3.247, 3.249, 3.253, 3.255, 3.254, 3.253, 3.242, 3.235, 3.226,
|
||||
3.225, 3.231, 3.235, 3.238, 3.241, 3.244, 3.246, 3.247, 3.249, 3.254, 3.256, 3.255, 3.252, 3.248, 3.241, 3.232,
|
||||
3.226, 3.234, 3.239, 3.243, 3.243, 3.245, 3.247, 3.248, 3.251, 3.255, 3.256, 3.256, 3.254, 3.249, 3.244, 3.236,
|
||||
3.232, 3.238, 3.245, 3.245, 3.246, 3.247, 3.248, 3.251, 3.251, 3.256, 3.257, 3.257, 3.256, 3.254, 3.249, 3.239,
|
||||
3.232, 3.243, 3.246, 3.246, 3.246, 3.247, 3.248, 3.251, 3.253, 3.257, 3.258, 3.258, 3.257, 3.256, 3.254, 3.239,
|
||||
3.232, 3.242, 3.246, 3.247, 3.246, 3.246, 3.248, 3.251, 3.252, 3.253, 3.256, 3.255, 3.255, 3.254, 3.251, 3.239,
|
||||
3.233, 3.241, 3.244, 3.245, 3.244, 3.245, 3.246, 3.249, 3.251, 3.252, 3.253, 3.252, 3.252, 3.252, 3.249, 3.238,
|
||||
3.238, 3.241, 3.246, 3.246, 3.245, 3.245, 3.247, 3.249, 3.251, 3.252, 3.253, 3.253, 3.252, 3.252, 3.249, 3.239,
|
||||
3.235, 3.241, 3.245, 3.245, 3.245, 3.245, 3.246, 3.247, 3.251, 3.254, 3.253, 3.255, 3.256, 3.255, 3.251, 3.241,
|
||||
3.226, 3.235, 3.241, 3.241, 3.241, 3.241, 3.243, 3.245, 3.246, 3.252, 3.253, 3.254, 3.256, 3.254, 3.241, 3.237,
|
||||
3.205, 3.213, 3.213, 3.214, 3.214, 3.214, 3.214, 3.213, 3.213, 3.216, 3.218, 3.216, 3.214, 3.213, 3.211, 3.208,
|
||||
3.205, 3.205, 3.212, 3.212, 3.212, 3.213, 3.211, 3.211, 3.211, 3.213, 3.216, 3.214, 3.213, 3.211, 3.208, 3.196
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 5000,
|
||||
"table":
|
||||
[
|
||||
1.645, 1.646, 1.649, 1.653, 1.654, 1.657, 1.659, 1.661, 1.663, 1.662, 1.661, 1.659, 1.656, 1.651, 1.645, 1.642,
|
||||
1.646, 1.649, 1.652, 1.654, 1.656, 1.659, 1.662, 1.663, 1.664, 1.664, 1.662, 1.661, 1.657, 1.653, 1.649, 1.644,
|
||||
1.648, 1.652, 1.654, 1.656, 1.658, 1.662, 1.665, 1.668, 1.668, 1.668, 1.665, 1.662, 1.658, 1.655, 1.652, 1.646,
|
||||
1.649, 1.653, 1.656, 1.658, 1.661, 1.665, 1.667, 1.671, 1.673, 1.671, 1.668, 1.663, 1.659, 1.656, 1.654, 1.647,
|
||||
1.649, 1.655, 1.657, 1.659, 1.661, 1.666, 1.671, 1.674, 1.675, 1.673, 1.671, 1.664, 1.659, 1.656, 1.654, 1.648,
|
||||
1.649, 1.654, 1.656, 1.659, 1.661, 1.666, 1.673, 1.676, 1.676, 1.675, 1.671, 1.664, 1.659, 1.656, 1.654, 1.648,
|
||||
1.649, 1.654, 1.656, 1.658, 1.659, 1.665, 1.672, 1.675, 1.675, 1.674, 1.668, 1.662, 1.658, 1.655, 1.654, 1.646,
|
||||
1.652, 1.655, 1.657, 1.659, 1.661, 1.665, 1.671, 1.673, 1.673, 1.672, 1.668, 1.662, 1.658, 1.655, 1.654, 1.647,
|
||||
1.652, 1.655, 1.657, 1.659, 1.661, 1.664, 1.667, 1.671, 1.672, 1.668, 1.666, 1.662, 1.659, 1.656, 1.654, 1.647,
|
||||
1.647, 1.652, 1.655, 1.656, 1.657, 1.661, 1.664, 1.665, 1.665, 1.665, 1.663, 1.661, 1.657, 1.655, 1.647, 1.647,
|
||||
1.639, 1.642, 1.644, 1.645, 1.646, 1.648, 1.648, 1.648, 1.649, 1.649, 1.649, 1.646, 1.645, 1.642, 1.639, 1.636,
|
||||
1.639, 1.641, 1.642, 1.644, 1.645, 1.646, 1.647, 1.647, 1.648, 1.648, 1.647, 1.645, 1.642, 1.639, 1.636, 1.633
|
||||
]
|
||||
}
|
||||
],
|
||||
"luminance_lut":
|
||||
[
|
||||
2.644, 2.396, 2.077, 1.863, 1.682, 1.535, 1.392, 1.382, 1.382, 1.382, 1.515, 1.657, 1.826, 2.035, 2.351, 2.604,
|
||||
2.497, 2.229, 1.947, 1.733, 1.539, 1.424, 1.296, 1.249, 1.249, 1.285, 1.401, 1.519, 1.699, 1.908, 2.183, 2.456,
|
||||
2.389, 2.109, 1.848, 1.622, 1.424, 1.296, 1.201, 1.146, 1.146, 1.188, 1.285, 1.401, 1.591, 1.811, 2.065, 2.347,
|
||||
2.317, 2.026, 1.771, 1.535, 1.339, 1.201, 1.145, 1.069, 1.069, 1.134, 1.188, 1.318, 1.505, 1.734, 1.983, 2.273,
|
||||
2.276, 1.972, 1.715, 1.474, 1.281, 1.148, 1.069, 1.033, 1.024, 1.065, 1.134, 1.262, 1.446, 1.679, 1.929, 2.233,
|
||||
2.268, 1.941, 1.682, 1.441, 1.251, 1.119, 1.033, 1.013, 1.013, 1.024, 1.105, 1.231, 1.415, 1.649, 1.898, 2.227,
|
||||
2.268, 1.941, 1.682, 1.441, 1.251, 1.119, 1.033, 1.001, 1.001, 1.024, 1.105, 1.231, 1.415, 1.649, 1.898, 2.227,
|
||||
2.268, 1.951, 1.694, 1.456, 1.265, 1.131, 1.044, 1.026, 1.019, 1.039, 1.118, 1.246, 1.429, 1.663, 1.912, 2.227,
|
||||
2.291, 1.992, 1.738, 1.505, 1.311, 1.175, 1.108, 1.044, 1.041, 1.106, 1.161, 1.292, 1.478, 1.707, 1.955, 2.252,
|
||||
2.347, 2.058, 1.803, 1.581, 1.384, 1.245, 1.175, 1.108, 1.108, 1.161, 1.239, 1.364, 1.551, 1.773, 2.023, 2.311,
|
||||
2.438, 2.156, 1.884, 1.674, 1.484, 1.373, 1.245, 1.199, 1.199, 1.239, 1.363, 1.463, 1.647, 1.858, 2.123, 2.406,
|
||||
2.563, 2.305, 1.998, 1.792, 1.615, 1.472, 1.339, 1.322, 1.322, 1.326, 1.456, 1.593, 1.767, 1.973, 2.273, 2.532
|
||||
],
|
||||
"sigma": 0.00178,
|
||||
"sigma_Cb": 0.00217
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.contrast":
|
||||
{
|
||||
"ce_enable": 1,
|
||||
"gamma_curve":
|
||||
[
|
||||
0, 0,
|
||||
1024, 5040,
|
||||
2048, 9338,
|
||||
3072, 12356,
|
||||
4096, 15312,
|
||||
5120, 18051,
|
||||
6144, 20790,
|
||||
7168, 23193,
|
||||
8192, 25744,
|
||||
9216, 27942,
|
||||
10240, 30035,
|
||||
11264, 32005,
|
||||
12288, 33975,
|
||||
13312, 35815,
|
||||
14336, 37600,
|
||||
15360, 39168,
|
||||
16384, 40642,
|
||||
18432, 43379,
|
||||
20480, 45749,
|
||||
22528, 47753,
|
||||
24576, 49621,
|
||||
26624, 51253,
|
||||
28672, 52698,
|
||||
30720, 53796,
|
||||
32768, 54876,
|
||||
36864, 57012,
|
||||
40960, 58656,
|
||||
45056, 59954,
|
||||
49152, 61183,
|
||||
53248, 62355,
|
||||
57344, 63419,
|
||||
61440, 64476,
|
||||
65535, 65535
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.ccm":
|
||||
{
|
||||
"ccms": [
|
||||
{
|
||||
"ct": 2498,
|
||||
"ccm":
|
||||
[
|
||||
1.14912, 0.28638, -0.43551,
|
||||
-0.49691, 1.60391, -0.10701,
|
||||
-0.10513, -1.09534, 2.20047
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 2821,
|
||||
"ccm":
|
||||
[
|
||||
1.18251, 0.15501, -0.33752,
|
||||
-0.44304, 1.58495, -0.14191,
|
||||
-0.05077, -0.96422, 2.01498
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 2925,
|
||||
"ccm":
|
||||
[
|
||||
1.18668, 0.00195, -0.18864,
|
||||
-0.41617, 1.50514, -0.08897,
|
||||
-0.02675, -0.91143, 1.93818
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 2926,
|
||||
"ccm":
|
||||
[
|
||||
1.50948, -0.44421, -0.06527,
|
||||
-0.37241, 1.41726, -0.04486,
|
||||
0.07098, -0.84694, 1.77596
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 2951,
|
||||
"ccm":
|
||||
[
|
||||
1.52743, -0.47333, -0.05411,
|
||||
-0.36485, 1.40764, -0.04279,
|
||||
0.08672, -0.90479, 1.81807
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 2954,
|
||||
"ccm":
|
||||
[
|
||||
1.51683, -0.46841, -0.04841,
|
||||
-0.36288, 1.39914, -0.03625,
|
||||
0.06421, -0.82034, 1.75613
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 3578,
|
||||
"ccm":
|
||||
[
|
||||
1.59888, -0.59105, -0.00784,
|
||||
-0.29366, 1.32037, -0.02671,
|
||||
0.06627, -0.76465, 1.69838
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 3717,
|
||||
"ccm":
|
||||
[
|
||||
1.59063, -0.58059, -0.01003,
|
||||
-0.29583, 1.32715, -0.03132,
|
||||
0.03613, -0.67431, 1.63817
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 3784,
|
||||
"ccm":
|
||||
[
|
||||
1.59379, -0.58861, -0.00517,
|
||||
-0.29178, 1.33292, -0.04115,
|
||||
0.03541, -0.66162, 1.62622
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 4485,
|
||||
"ccm":
|
||||
[
|
||||
1.40761, -0.34561, -0.06201,
|
||||
-0.32388, 1.57221, -0.24832,
|
||||
-0.01014, -0.63427, 1.64441
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 4615,
|
||||
"ccm":
|
||||
[
|
||||
1.41537, -0.35832, -0.05705,
|
||||
-0.31429, 1.56019, -0.24591,
|
||||
-0.01761, -0.61859, 1.63621
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 4671,
|
||||
"ccm":
|
||||
[
|
||||
1.42941, -0.38178, -0.04764,
|
||||
-0.31421, 1.55925, -0.24504,
|
||||
-0.01141, -0.62987, 1.64129
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 5753,
|
||||
"ccm":
|
||||
[
|
||||
1.64549, -0.63329, -0.01221,
|
||||
-0.22431, 1.36423, -0.13992,
|
||||
-0.00831, -0.55373, 1.56204
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 5773,
|
||||
"ccm":
|
||||
[
|
||||
1.63668, -0.63557, -0.00111,
|
||||
-0.21919, 1.36234, -0.14315,
|
||||
-0.00399, -0.57428, 1.57827
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 7433,
|
||||
"ccm":
|
||||
[
|
||||
1.36007, -0.09277, -0.26729,
|
||||
-0.36886, 2.09249, -0.72363,
|
||||
-0.12573, -0.76761, 1.89334
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 55792,
|
||||
"ccm":
|
||||
[
|
||||
1.65091, -0.63689, -0.01401,
|
||||
-0.22277, 1.35752, -0.13475,
|
||||
-0.00943, -0.55091, 1.56033
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.sharpen": { }
|
||||
},
|
||||
{
|
||||
"rpi.focus": { }
|
||||
},
|
||||
{
|
||||
"rpi.af":
|
||||
{
|
||||
"ranges":
|
||||
{
|
||||
"normal":
|
||||
{
|
||||
"min": 0.0,
|
||||
"max": 12.0,
|
||||
"default": 1.0
|
||||
},
|
||||
"macro":
|
||||
{
|
||||
"min": 3.0,
|
||||
"max": 15.0,
|
||||
"default": 4.0
|
||||
}
|
||||
},
|
||||
"speeds":
|
||||
{
|
||||
"normal":
|
||||
{
|
||||
"step_coarse": 1.0,
|
||||
"step_fine": 0.25,
|
||||
"contrast_ratio": 0.75,
|
||||
"pdaf_gain": -0.02,
|
||||
"pdaf_squelch": 0.125,
|
||||
"max_slew": 2.0,
|
||||
"pdaf_frames": 20,
|
||||
"dropout_frames": 6,
|
||||
"step_frames": 4
|
||||
}
|
||||
},
|
||||
"conf_epsilon": 8,
|
||||
"conf_thresh": 16,
|
||||
"conf_clip": 512,
|
||||
"skip_frames": 5,
|
||||
"map": [ 0.0, 445, 15.0, 925 ]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
559
src/ipa/raspberrypi/data/imx708_noir.json
Normal file
559
src/ipa/raspberrypi/data/imx708_noir.json
Normal file
@@ -0,0 +1,559 @@
|
||||
{
|
||||
"version": 2.0,
|
||||
"target": "bcm2835",
|
||||
"algorithms": [
|
||||
{
|
||||
"rpi.black_level":
|
||||
{
|
||||
"black_level": 4096
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.dpc": { }
|
||||
},
|
||||
{
|
||||
"rpi.lux":
|
||||
{
|
||||
"reference_shutter_speed": 10672,
|
||||
"reference_gain": 1.12,
|
||||
"reference_aperture": 1.0,
|
||||
"reference_lux": 977,
|
||||
"reference_Y": 8627
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.noise":
|
||||
{
|
||||
"reference_constant": 16.0,
|
||||
"reference_slope": 4.0
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.geq":
|
||||
{
|
||||
"offset": 215,
|
||||
"slope": 0.00287
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.sdn": { }
|
||||
},
|
||||
{
|
||||
"rpi.awb":
|
||||
{
|
||||
"priors": [
|
||||
{
|
||||
"lux": 0,
|
||||
"prior":
|
||||
[
|
||||
2000, 1.0,
|
||||
3000, 0.0,
|
||||
13000, 0.0
|
||||
]
|
||||
},
|
||||
{
|
||||
"lux": 800,
|
||||
"prior":
|
||||
[
|
||||
2000, 0.0,
|
||||
6000, 2.0,
|
||||
13000, 2.0
|
||||
]
|
||||
},
|
||||
{
|
||||
"lux": 1500,
|
||||
"prior":
|
||||
[
|
||||
2000, 0.0,
|
||||
4000, 1.0,
|
||||
6000, 6.0,
|
||||
6500, 7.0,
|
||||
7000, 1.0,
|
||||
13000, 1.0
|
||||
]
|
||||
}
|
||||
],
|
||||
"modes":
|
||||
{
|
||||
"auto":
|
||||
{
|
||||
"lo": 2500,
|
||||
"hi": 8000
|
||||
},
|
||||
"incandescent":
|
||||
{
|
||||
"lo": 2500,
|
||||
"hi": 3000
|
||||
},
|
||||
"tungsten":
|
||||
{
|
||||
"lo": 3000,
|
||||
"hi": 3500
|
||||
},
|
||||
"fluorescent":
|
||||
{
|
||||
"lo": 4000,
|
||||
"hi": 4700
|
||||
},
|
||||
"indoor":
|
||||
{
|
||||
"lo": 3000,
|
||||
"hi": 5000
|
||||
},
|
||||
"daylight":
|
||||
{
|
||||
"lo": 5500,
|
||||
"hi": 6500
|
||||
},
|
||||
"cloudy":
|
||||
{
|
||||
"lo": 7000,
|
||||
"hi": 8600
|
||||
}
|
||||
},
|
||||
"bayes": 0,
|
||||
"ct_curve":
|
||||
[
|
||||
2498.0, 0.8733, 0.2606,
|
||||
2821.0, 0.7707, 0.3245,
|
||||
2925.0, 0.7338, 0.3499,
|
||||
2926.0, 0.7193, 0.3603,
|
||||
2951.0, 0.7144, 0.3639,
|
||||
2954.0, 0.7111, 0.3663,
|
||||
3578.0, 0.6038, 0.4516,
|
||||
3717.0, 0.5861, 0.4669,
|
||||
3784.0, 0.5786, 0.4737,
|
||||
4485.0, 0.5113, 0.5368,
|
||||
4615.0, 0.4994, 0.5486,
|
||||
4671.0, 0.4927, 0.5554,
|
||||
5753.0, 0.4274, 0.6246,
|
||||
5773.0, 0.4265, 0.6256,
|
||||
7433.0, 0.3723, 0.6881
|
||||
],
|
||||
"sensitivity_r": 1.05,
|
||||
"sensitivity_b": 1.05,
|
||||
"transverse_pos": 0.03148,
|
||||
"transverse_neg": 0.03061
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.agc":
|
||||
{
|
||||
"metering_modes":
|
||||
{
|
||||
"centre-weighted":
|
||||
{
|
||||
"weights": [ 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0 ]
|
||||
},
|
||||
"spot":
|
||||
{
|
||||
"weights": [ 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
|
||||
},
|
||||
"matrix":
|
||||
{
|
||||
"weights": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
|
||||
}
|
||||
},
|
||||
"exposure_modes":
|
||||
{
|
||||
"normal":
|
||||
{
|
||||
"shutter": [ 100, 15000, 30000, 60000, 120000 ],
|
||||
"gain": [ 1.0, 1.0, 2.0, 4.0, 6.0 ]
|
||||
},
|
||||
"short":
|
||||
{
|
||||
"shutter": [ 100, 5000, 10000, 20000, 120000 ],
|
||||
"gain": [ 1.0, 2.0, 4.0, 6.0, 6.0 ]
|
||||
}
|
||||
},
|
||||
"constraint_modes":
|
||||
{
|
||||
"normal": [
|
||||
{
|
||||
"bound": "LOWER",
|
||||
"q_lo": 0.98,
|
||||
"q_hi": 1.0,
|
||||
"y_target":
|
||||
[
|
||||
0, 0.2,
|
||||
1000, 0.2
|
||||
]
|
||||
}
|
||||
],
|
||||
"highlight": [
|
||||
{
|
||||
"bound": "LOWER",
|
||||
"q_lo": 0.98,
|
||||
"q_hi": 1.0,
|
||||
"y_target":
|
||||
[
|
||||
0, 0.2,
|
||||
1000, 0.2
|
||||
]
|
||||
},
|
||||
{
|
||||
"bound": "UPPER",
|
||||
"q_lo": 0.98,
|
||||
"q_hi": 1.0,
|
||||
"y_target":
|
||||
[
|
||||
0, 0.8,
|
||||
1000, 0.8
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"y_target":
|
||||
[
|
||||
0, 0.16,
|
||||
1000, 0.165,
|
||||
10000, 0.17
|
||||
],
|
||||
"startup_frames": 5,
|
||||
"convergence_frames": 6,
|
||||
"speed": 0.15
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.alsc":
|
||||
{
|
||||
"omega": 1.3,
|
||||
"n_iter": 100,
|
||||
"luminance_strength": 0.5,
|
||||
"calibrations_Cr": [
|
||||
{
|
||||
"ct": 3000,
|
||||
"table":
|
||||
[
|
||||
1.562, 1.566, 1.566, 1.556, 1.533, 1.506, 1.475, 1.475, 1.475, 1.475, 1.506, 1.533, 1.555, 1.563, 1.562, 1.555,
|
||||
1.563, 1.564, 1.561, 1.538, 1.508, 1.482, 1.449, 1.436, 1.436, 1.449, 1.481, 1.508, 1.537, 1.557, 1.558, 1.557,
|
||||
1.564, 1.563, 1.554, 1.522, 1.482, 1.449, 1.421, 1.403, 1.403, 1.419, 1.449, 1.481, 1.519, 1.549, 1.557, 1.559,
|
||||
1.564, 1.563, 1.545, 1.506, 1.462, 1.421, 1.403, 1.378, 1.378, 1.402, 1.419, 1.459, 1.503, 1.541, 1.557, 1.559,
|
||||
1.564, 1.562, 1.537, 1.494, 1.447, 1.404, 1.378, 1.364, 1.364, 1.377, 1.402, 1.444, 1.491, 1.532, 1.556, 1.559,
|
||||
1.564, 1.559, 1.532, 1.487, 1.438, 1.395, 1.365, 1.359, 1.359, 1.364, 1.393, 1.436, 1.484, 1.527, 1.555, 1.558,
|
||||
1.564, 1.559, 1.532, 1.487, 1.438, 1.395, 1.365, 1.356, 1.356, 1.364, 1.393, 1.436, 1.484, 1.527, 1.554, 1.557,
|
||||
1.564, 1.561, 1.536, 1.492, 1.444, 1.402, 1.374, 1.364, 1.363, 1.373, 1.401, 1.442, 1.489, 1.531, 1.554, 1.557,
|
||||
1.564, 1.563, 1.544, 1.504, 1.458, 1.418, 1.397, 1.374, 1.374, 1.395, 1.416, 1.456, 1.501, 1.538, 1.556, 1.557,
|
||||
1.564, 1.562, 1.551, 1.518, 1.477, 1.441, 1.418, 1.397, 1.397, 1.416, 1.438, 1.474, 1.514, 1.546, 1.556, 1.556,
|
||||
1.562, 1.562, 1.558, 1.534, 1.499, 1.476, 1.441, 1.426, 1.426, 1.438, 1.473, 1.496, 1.531, 1.552, 1.556, 1.555,
|
||||
1.561, 1.564, 1.564, 1.552, 1.525, 1.497, 1.466, 1.461, 1.461, 1.464, 1.495, 1.523, 1.548, 1.556, 1.556, 1.552
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 5000,
|
||||
"table":
|
||||
[
|
||||
2.609, 2.616, 2.617, 2.607, 2.573, 2.527, 2.483, 2.481, 2.481, 2.483, 2.529, 2.573, 2.604, 2.613, 2.613, 2.604,
|
||||
2.609, 2.615, 2.608, 2.576, 2.533, 2.489, 2.439, 2.418, 2.418, 2.439, 2.491, 2.532, 2.577, 2.605, 2.609, 2.607,
|
||||
2.611, 2.611, 2.597, 2.551, 2.489, 2.439, 2.391, 2.364, 2.364, 2.391, 2.439, 2.491, 2.551, 2.592, 2.607, 2.609,
|
||||
2.612, 2.608, 2.583, 2.526, 2.457, 2.391, 2.362, 2.318, 2.318, 2.362, 2.391, 2.458, 2.526, 2.581, 2.607, 2.611,
|
||||
2.612, 2.604, 2.571, 2.507, 2.435, 2.362, 2.317, 2.293, 2.294, 2.318, 2.363, 2.434, 2.508, 2.568, 2.604, 2.612,
|
||||
2.611, 2.602, 2.564, 2.496, 2.419, 2.349, 2.293, 2.284, 2.284, 2.294, 2.347, 2.421, 2.497, 2.562, 2.603, 2.611,
|
||||
2.609, 2.601, 2.564, 2.496, 2.419, 2.349, 2.293, 2.278, 2.278, 2.294, 2.347, 2.421, 2.497, 2.562, 2.602, 2.609,
|
||||
2.609, 2.602, 2.568, 2.503, 2.429, 2.361, 2.311, 2.292, 2.292, 2.309, 2.357, 2.429, 2.504, 2.567, 2.602, 2.609,
|
||||
2.606, 2.604, 2.579, 2.519, 2.449, 2.384, 2.348, 2.311, 2.311, 2.346, 2.383, 2.449, 2.521, 2.577, 2.604, 2.608,
|
||||
2.604, 2.603, 2.586, 2.537, 2.474, 2.418, 2.384, 2.348, 2.348, 2.383, 2.417, 2.476, 2.538, 2.586, 2.601, 2.603,
|
||||
2.603, 2.605, 2.596, 2.561, 2.508, 2.474, 2.418, 2.396, 2.396, 2.417, 2.474, 2.511, 2.562, 2.596, 2.603, 2.602,
|
||||
2.601, 2.607, 2.606, 2.589, 2.549, 2.507, 2.456, 2.454, 2.454, 2.458, 2.508, 2.554, 2.594, 2.605, 2.605, 2.602
|
||||
]
|
||||
}
|
||||
],
|
||||
"calibrations_Cb": [
|
||||
{
|
||||
"ct": 3000,
|
||||
"table":
|
||||
[
|
||||
3.221, 3.226, 3.231, 3.236, 3.239, 3.243, 3.245, 3.247, 3.249, 3.253, 3.255, 3.254, 3.253, 3.242, 3.235, 3.226,
|
||||
3.225, 3.231, 3.235, 3.238, 3.241, 3.244, 3.246, 3.247, 3.249, 3.254, 3.256, 3.255, 3.252, 3.248, 3.241, 3.232,
|
||||
3.226, 3.234, 3.239, 3.243, 3.243, 3.245, 3.247, 3.248, 3.251, 3.255, 3.256, 3.256, 3.254, 3.249, 3.244, 3.236,
|
||||
3.232, 3.238, 3.245, 3.245, 3.246, 3.247, 3.248, 3.251, 3.251, 3.256, 3.257, 3.257, 3.256, 3.254, 3.249, 3.239,
|
||||
3.232, 3.243, 3.246, 3.246, 3.246, 3.247, 3.248, 3.251, 3.253, 3.257, 3.258, 3.258, 3.257, 3.256, 3.254, 3.239,
|
||||
3.232, 3.242, 3.246, 3.247, 3.246, 3.246, 3.248, 3.251, 3.252, 3.253, 3.256, 3.255, 3.255, 3.254, 3.251, 3.239,
|
||||
3.233, 3.241, 3.244, 3.245, 3.244, 3.245, 3.246, 3.249, 3.251, 3.252, 3.253, 3.252, 3.252, 3.252, 3.249, 3.238,
|
||||
3.238, 3.241, 3.246, 3.246, 3.245, 3.245, 3.247, 3.249, 3.251, 3.252, 3.253, 3.253, 3.252, 3.252, 3.249, 3.239,
|
||||
3.235, 3.241, 3.245, 3.245, 3.245, 3.245, 3.246, 3.247, 3.251, 3.254, 3.253, 3.255, 3.256, 3.255, 3.251, 3.241,
|
||||
3.226, 3.235, 3.241, 3.241, 3.241, 3.241, 3.243, 3.245, 3.246, 3.252, 3.253, 3.254, 3.256, 3.254, 3.241, 3.237,
|
||||
3.205, 3.213, 3.213, 3.214, 3.214, 3.214, 3.214, 3.213, 3.213, 3.216, 3.218, 3.216, 3.214, 3.213, 3.211, 3.208,
|
||||
3.205, 3.205, 3.212, 3.212, 3.212, 3.213, 3.211, 3.211, 3.211, 3.213, 3.216, 3.214, 3.213, 3.211, 3.208, 3.196
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 5000,
|
||||
"table":
|
||||
[
|
||||
1.645, 1.646, 1.649, 1.653, 1.654, 1.657, 1.659, 1.661, 1.663, 1.662, 1.661, 1.659, 1.656, 1.651, 1.645, 1.642,
|
||||
1.646, 1.649, 1.652, 1.654, 1.656, 1.659, 1.662, 1.663, 1.664, 1.664, 1.662, 1.661, 1.657, 1.653, 1.649, 1.644,
|
||||
1.648, 1.652, 1.654, 1.656, 1.658, 1.662, 1.665, 1.668, 1.668, 1.668, 1.665, 1.662, 1.658, 1.655, 1.652, 1.646,
|
||||
1.649, 1.653, 1.656, 1.658, 1.661, 1.665, 1.667, 1.671, 1.673, 1.671, 1.668, 1.663, 1.659, 1.656, 1.654, 1.647,
|
||||
1.649, 1.655, 1.657, 1.659, 1.661, 1.666, 1.671, 1.674, 1.675, 1.673, 1.671, 1.664, 1.659, 1.656, 1.654, 1.648,
|
||||
1.649, 1.654, 1.656, 1.659, 1.661, 1.666, 1.673, 1.676, 1.676, 1.675, 1.671, 1.664, 1.659, 1.656, 1.654, 1.648,
|
||||
1.649, 1.654, 1.656, 1.658, 1.659, 1.665, 1.672, 1.675, 1.675, 1.674, 1.668, 1.662, 1.658, 1.655, 1.654, 1.646,
|
||||
1.652, 1.655, 1.657, 1.659, 1.661, 1.665, 1.671, 1.673, 1.673, 1.672, 1.668, 1.662, 1.658, 1.655, 1.654, 1.647,
|
||||
1.652, 1.655, 1.657, 1.659, 1.661, 1.664, 1.667, 1.671, 1.672, 1.668, 1.666, 1.662, 1.659, 1.656, 1.654, 1.647,
|
||||
1.647, 1.652, 1.655, 1.656, 1.657, 1.661, 1.664, 1.665, 1.665, 1.665, 1.663, 1.661, 1.657, 1.655, 1.647, 1.647,
|
||||
1.639, 1.642, 1.644, 1.645, 1.646, 1.648, 1.648, 1.648, 1.649, 1.649, 1.649, 1.646, 1.645, 1.642, 1.639, 1.636,
|
||||
1.639, 1.641, 1.642, 1.644, 1.645, 1.646, 1.647, 1.647, 1.648, 1.648, 1.647, 1.645, 1.642, 1.639, 1.636, 1.633
|
||||
]
|
||||
}
|
||||
],
|
||||
"luminance_lut":
|
||||
[
|
||||
2.644, 2.396, 2.077, 1.863, 1.682, 1.535, 1.392, 1.382, 1.382, 1.382, 1.515, 1.657, 1.826, 2.035, 2.351, 2.604,
|
||||
2.497, 2.229, 1.947, 1.733, 1.539, 1.424, 1.296, 1.249, 1.249, 1.285, 1.401, 1.519, 1.699, 1.908, 2.183, 2.456,
|
||||
2.389, 2.109, 1.848, 1.622, 1.424, 1.296, 1.201, 1.146, 1.146, 1.188, 1.285, 1.401, 1.591, 1.811, 2.065, 2.347,
|
||||
2.317, 2.026, 1.771, 1.535, 1.339, 1.201, 1.145, 1.069, 1.069, 1.134, 1.188, 1.318, 1.505, 1.734, 1.983, 2.273,
|
||||
2.276, 1.972, 1.715, 1.474, 1.281, 1.148, 1.069, 1.033, 1.024, 1.065, 1.134, 1.262, 1.446, 1.679, 1.929, 2.233,
|
||||
2.268, 1.941, 1.682, 1.441, 1.251, 1.119, 1.033, 1.013, 1.013, 1.024, 1.105, 1.231, 1.415, 1.649, 1.898, 2.227,
|
||||
2.268, 1.941, 1.682, 1.441, 1.251, 1.119, 1.033, 1.001, 1.001, 1.024, 1.105, 1.231, 1.415, 1.649, 1.898, 2.227,
|
||||
2.268, 1.951, 1.694, 1.456, 1.265, 1.131, 1.044, 1.026, 1.019, 1.039, 1.118, 1.246, 1.429, 1.663, 1.912, 2.227,
|
||||
2.291, 1.992, 1.738, 1.505, 1.311, 1.175, 1.108, 1.044, 1.041, 1.106, 1.161, 1.292, 1.478, 1.707, 1.955, 2.252,
|
||||
2.347, 2.058, 1.803, 1.581, 1.384, 1.245, 1.175, 1.108, 1.108, 1.161, 1.239, 1.364, 1.551, 1.773, 2.023, 2.311,
|
||||
2.438, 2.156, 1.884, 1.674, 1.484, 1.373, 1.245, 1.199, 1.199, 1.239, 1.363, 1.463, 1.647, 1.858, 2.123, 2.406,
|
||||
2.563, 2.305, 1.998, 1.792, 1.615, 1.472, 1.339, 1.322, 1.322, 1.326, 1.456, 1.593, 1.767, 1.973, 2.273, 2.532
|
||||
],
|
||||
"sigma": 0.00178,
|
||||
"sigma_Cb": 0.00217
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.contrast":
|
||||
{
|
||||
"ce_enable": 1,
|
||||
"gamma_curve":
|
||||
[
|
||||
0, 0,
|
||||
1024, 5040,
|
||||
2048, 9338,
|
||||
3072, 12356,
|
||||
4096, 15312,
|
||||
5120, 18051,
|
||||
6144, 20790,
|
||||
7168, 23193,
|
||||
8192, 25744,
|
||||
9216, 27942,
|
||||
10240, 30035,
|
||||
11264, 32005,
|
||||
12288, 33975,
|
||||
13312, 35815,
|
||||
14336, 37600,
|
||||
15360, 39168,
|
||||
16384, 40642,
|
||||
18432, 43379,
|
||||
20480, 45749,
|
||||
22528, 47753,
|
||||
24576, 49621,
|
||||
26624, 51253,
|
||||
28672, 52698,
|
||||
30720, 53796,
|
||||
32768, 54876,
|
||||
36864, 57012,
|
||||
40960, 58656,
|
||||
45056, 59954,
|
||||
49152, 61183,
|
||||
53248, 62355,
|
||||
57344, 63419,
|
||||
61440, 64476,
|
||||
65535, 65535
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.ccm":
|
||||
{
|
||||
"ccms": [
|
||||
{
|
||||
"ct": 2498,
|
||||
"ccm":
|
||||
[
|
||||
1.14912, 0.28638, -0.43551,
|
||||
-0.49691, 1.60391, -0.10701,
|
||||
-0.10513, -1.09534, 2.20047
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 2821,
|
||||
"ccm":
|
||||
[
|
||||
1.18251, 0.15501, -0.33752,
|
||||
-0.44304, 1.58495, -0.14191,
|
||||
-0.05077, -0.96422, 2.01498
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 2925,
|
||||
"ccm":
|
||||
[
|
||||
1.18668, 0.00195, -0.18864,
|
||||
-0.41617, 1.50514, -0.08897,
|
||||
-0.02675, -0.91143, 1.93818
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 2926,
|
||||
"ccm":
|
||||
[
|
||||
1.50948, -0.44421, -0.06527,
|
||||
-0.37241, 1.41726, -0.04486,
|
||||
0.07098, -0.84694, 1.77596
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 2951,
|
||||
"ccm":
|
||||
[
|
||||
1.52743, -0.47333, -0.05411,
|
||||
-0.36485, 1.40764, -0.04279,
|
||||
0.08672, -0.90479, 1.81807
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 2954,
|
||||
"ccm":
|
||||
[
|
||||
1.51683, -0.46841, -0.04841,
|
||||
-0.36288, 1.39914, -0.03625,
|
||||
0.06421, -0.82034, 1.75613
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 3578,
|
||||
"ccm":
|
||||
[
|
||||
1.59888, -0.59105, -0.00784,
|
||||
-0.29366, 1.32037, -0.02671,
|
||||
0.06627, -0.76465, 1.69838
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 3717,
|
||||
"ccm":
|
||||
[
|
||||
1.59063, -0.58059, -0.01003,
|
||||
-0.29583, 1.32715, -0.03132,
|
||||
0.03613, -0.67431, 1.63817
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 3784,
|
||||
"ccm":
|
||||
[
|
||||
1.59379, -0.58861, -0.00517,
|
||||
-0.29178, 1.33292, -0.04115,
|
||||
0.03541, -0.66162, 1.62622
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 4485,
|
||||
"ccm":
|
||||
[
|
||||
1.40761, -0.34561, -0.06201,
|
||||
-0.32388, 1.57221, -0.24832,
|
||||
-0.01014, -0.63427, 1.64441
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 4615,
|
||||
"ccm":
|
||||
[
|
||||
1.41537, -0.35832, -0.05705,
|
||||
-0.31429, 1.56019, -0.24591,
|
||||
-0.01761, -0.61859, 1.63621
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 4671,
|
||||
"ccm":
|
||||
[
|
||||
1.42941, -0.38178, -0.04764,
|
||||
-0.31421, 1.55925, -0.24504,
|
||||
-0.01141, -0.62987, 1.64129
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 5753,
|
||||
"ccm":
|
||||
[
|
||||
1.64549, -0.63329, -0.01221,
|
||||
-0.22431, 1.36423, -0.13992,
|
||||
-0.00831, -0.55373, 1.56204
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 5773,
|
||||
"ccm":
|
||||
[
|
||||
1.63668, -0.63557, -0.00111,
|
||||
-0.21919, 1.36234, -0.14315,
|
||||
-0.00399, -0.57428, 1.57827
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 7433,
|
||||
"ccm":
|
||||
[
|
||||
1.36007, -0.09277, -0.26729,
|
||||
-0.36886, 2.09249, -0.72363,
|
||||
-0.12573, -0.76761, 1.89334
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 55792,
|
||||
"ccm":
|
||||
[
|
||||
1.65091, -0.63689, -0.01401,
|
||||
-0.22277, 1.35752, -0.13475,
|
||||
-0.00943, -0.55091, 1.56033
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.sharpen": { }
|
||||
},
|
||||
{
|
||||
"rpi.focus": { }
|
||||
},
|
||||
{
|
||||
"rpi.af":
|
||||
{
|
||||
"ranges":
|
||||
{
|
||||
"normal":
|
||||
{
|
||||
"min": 0.0,
|
||||
"max": 12.0,
|
||||
"default": 1.0
|
||||
},
|
||||
"macro":
|
||||
{
|
||||
"min": 3.0,
|
||||
"max": 15.0,
|
||||
"default": 4.0
|
||||
}
|
||||
},
|
||||
"speeds":
|
||||
{
|
||||
"normal":
|
||||
{
|
||||
"step_coarse": 1.0,
|
||||
"step_fine": 0.25,
|
||||
"contrast_ratio": 0.75,
|
||||
"pdaf_gain": -0.02,
|
||||
"pdaf_squelch": 0.125,
|
||||
"max_slew": 2.0,
|
||||
"pdaf_frames": 20,
|
||||
"dropout_frames": 6,
|
||||
"step_frames": 4
|
||||
}
|
||||
},
|
||||
"conf_epsilon": 8,
|
||||
"conf_thresh": 16,
|
||||
"conf_clip": 512,
|
||||
"skip_frames": 5,
|
||||
"map": [ 0.0, 445, 15.0, 925 ]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
462
src/ipa/raspberrypi/data/imx708_wide.json
Normal file
462
src/ipa/raspberrypi/data/imx708_wide.json
Normal file
@@ -0,0 +1,462 @@
|
||||
{
|
||||
"version": 2.0,
|
||||
"target": "bcm2835",
|
||||
"algorithms": [
|
||||
{
|
||||
"rpi.black_level":
|
||||
{
|
||||
"black_level": 4096
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.dpc": { }
|
||||
},
|
||||
{
|
||||
"rpi.lux":
|
||||
{
|
||||
"reference_shutter_speed": 9989,
|
||||
"reference_gain": 1.23,
|
||||
"reference_aperture": 1.0,
|
||||
"reference_lux": 980,
|
||||
"reference_Y": 8345
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.noise":
|
||||
{
|
||||
"reference_constant": 16.0,
|
||||
"reference_slope": 4.0
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.geq":
|
||||
{
|
||||
"offset": 215,
|
||||
"slope": 0.00287
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.sdn": { }
|
||||
},
|
||||
{
|
||||
"rpi.awb":
|
||||
{
|
||||
"priors": [
|
||||
{
|
||||
"lux": 0,
|
||||
"prior":
|
||||
[
|
||||
2000, 1.0,
|
||||
3000, 0.0,
|
||||
13000, 0.0
|
||||
]
|
||||
},
|
||||
{
|
||||
"lux": 800,
|
||||
"prior":
|
||||
[
|
||||
2000, 0.0,
|
||||
6000, 2.0,
|
||||
13000, 2.0
|
||||
]
|
||||
},
|
||||
{
|
||||
"lux": 1500,
|
||||
"prior":
|
||||
[
|
||||
2000, 0.0,
|
||||
4000, 1.0,
|
||||
6000, 6.0,
|
||||
6500, 7.0,
|
||||
7000, 1.0,
|
||||
13000, 1.0
|
||||
]
|
||||
}
|
||||
],
|
||||
"modes":
|
||||
{
|
||||
"auto":
|
||||
{
|
||||
"lo": 2500,
|
||||
"hi": 8000
|
||||
},
|
||||
"incandescent":
|
||||
{
|
||||
"lo": 2500,
|
||||
"hi": 3000
|
||||
},
|
||||
"tungsten":
|
||||
{
|
||||
"lo": 3000,
|
||||
"hi": 3500
|
||||
},
|
||||
"fluorescent":
|
||||
{
|
||||
"lo": 4000,
|
||||
"hi": 4700
|
||||
},
|
||||
"indoor":
|
||||
{
|
||||
"lo": 3000,
|
||||
"hi": 5000
|
||||
},
|
||||
"daylight":
|
||||
{
|
||||
"lo": 5500,
|
||||
"hi": 6500
|
||||
},
|
||||
"cloudy":
|
||||
{
|
||||
"lo": 7000,
|
||||
"hi": 8600
|
||||
}
|
||||
},
|
||||
"bayes": 1,
|
||||
"ct_curve":
|
||||
[
|
||||
2750.0, 0.7881, 0.2849,
|
||||
2940.0, 0.7559, 0.3103,
|
||||
3650.0, 0.6291, 0.4206,
|
||||
4625.0, 0.5336, 0.5161,
|
||||
5715.0, 0.4668, 0.5898
|
||||
],
|
||||
"sensitivity_r": 1.05,
|
||||
"sensitivity_b": 1.05,
|
||||
"transverse_pos": 0.01165,
|
||||
"transverse_neg": 0.01601
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.agc":
|
||||
{
|
||||
"metering_modes":
|
||||
{
|
||||
"centre-weighted":
|
||||
{
|
||||
"weights": [ 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0 ]
|
||||
},
|
||||
"spot":
|
||||
{
|
||||
"weights": [ 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
|
||||
},
|
||||
"matrix":
|
||||
{
|
||||
"weights": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
|
||||
}
|
||||
},
|
||||
"exposure_modes":
|
||||
{
|
||||
"normal":
|
||||
{
|
||||
"shutter": [ 100, 15000, 30000, 60000, 120000 ],
|
||||
"gain": [ 1.0, 1.0, 2.0, 4.0, 6.0 ]
|
||||
},
|
||||
"short":
|
||||
{
|
||||
"shutter": [ 100, 5000, 10000, 20000, 120000 ],
|
||||
"gain": [ 1.0, 2.0, 4.0, 6.0, 6.0 ]
|
||||
}
|
||||
},
|
||||
"constraint_modes":
|
||||
{
|
||||
"normal": [
|
||||
{
|
||||
"bound": "LOWER",
|
||||
"q_lo": 0.98,
|
||||
"q_hi": 1.0,
|
||||
"y_target":
|
||||
[
|
||||
0, 0.2,
|
||||
1000, 0.2
|
||||
]
|
||||
}
|
||||
],
|
||||
"highlight": [
|
||||
{
|
||||
"bound": "LOWER",
|
||||
"q_lo": 0.98,
|
||||
"q_hi": 1.0,
|
||||
"y_target":
|
||||
[
|
||||
0, 0.2,
|
||||
1000, 0.2
|
||||
]
|
||||
},
|
||||
{
|
||||
"bound": "UPPER",
|
||||
"q_lo": 0.98,
|
||||
"q_hi": 1.0,
|
||||
"y_target":
|
||||
[
|
||||
0, 0.8,
|
||||
1000, 0.8
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"y_target":
|
||||
[
|
||||
0, 0.16,
|
||||
1000, 0.165,
|
||||
10000, 0.17
|
||||
],
|
||||
"startup_frames": 5,
|
||||
"convergence_frames": 6,
|
||||
"speed": 0.15
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.alsc":
|
||||
{
|
||||
"omega": 1.3,
|
||||
"n_iter": 100,
|
||||
"luminance_strength": 0.5,
|
||||
"calibrations_Cr": [
|
||||
{
|
||||
"ct": 3000,
|
||||
"table":
|
||||
[
|
||||
1.529, 1.526, 1.522, 1.506, 1.489, 1.473, 1.458, 1.456, 1.456, 1.458, 1.474, 1.493, 1.513, 1.531, 1.541, 1.544,
|
||||
1.527, 1.523, 1.511, 1.491, 1.474, 1.459, 1.445, 1.441, 1.441, 1.446, 1.461, 1.479, 1.499, 1.521, 1.536, 1.541,
|
||||
1.524, 1.515, 1.498, 1.477, 1.459, 1.444, 1.431, 1.426, 1.426, 1.435, 1.446, 1.466, 1.487, 1.507, 1.528, 1.538,
|
||||
1.522, 1.512, 1.491, 1.468, 1.447, 1.431, 1.423, 1.417, 1.418, 1.425, 1.435, 1.455, 1.479, 1.499, 1.523, 1.537,
|
||||
1.522, 1.509, 1.485, 1.463, 1.441, 1.423, 1.416, 1.413, 1.415, 1.418, 1.429, 1.449, 1.473, 1.495, 1.521, 1.538,
|
||||
1.522, 1.508, 1.483, 1.461, 1.438, 1.421, 1.413, 1.412, 1.412, 1.415, 1.428, 1.447, 1.471, 1.493, 1.519, 1.538,
|
||||
1.522, 1.509, 1.484, 1.462, 1.439, 1.421, 1.414, 1.411, 1.412, 1.416, 1.428, 1.447, 1.471, 1.493, 1.519, 1.537,
|
||||
1.523, 1.511, 1.487, 1.465, 1.443, 1.424, 1.417, 1.413, 1.415, 1.419, 1.429, 1.451, 1.473, 1.494, 1.519, 1.536,
|
||||
1.524, 1.514, 1.493, 1.471, 1.451, 1.434, 1.424, 1.419, 1.419, 1.428, 1.437, 1.457, 1.477, 1.498, 1.521, 1.538,
|
||||
1.527, 1.521, 1.503, 1.481, 1.462, 1.449, 1.434, 1.429, 1.429, 1.437, 1.451, 1.469, 1.488, 1.508, 1.527, 1.539,
|
||||
1.529, 1.527, 1.515, 1.495, 1.477, 1.462, 1.449, 1.444, 1.444, 1.451, 1.467, 1.481, 1.499, 1.519, 1.535, 1.543,
|
||||
1.534, 1.531, 1.527, 1.512, 1.492, 1.476, 1.463, 1.461, 1.461, 1.464, 1.479, 1.495, 1.515, 1.533, 1.543, 1.546
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 5000,
|
||||
"table":
|
||||
[
|
||||
2.603, 2.599, 2.591, 2.567, 2.539, 2.515, 2.489, 2.489, 2.489, 2.491, 2.516, 2.543, 2.574, 2.597, 2.614, 2.617,
|
||||
2.596, 2.591, 2.571, 2.542, 2.516, 2.489, 2.464, 2.458, 2.458, 2.469, 2.492, 2.518, 2.547, 2.576, 2.602, 2.614,
|
||||
2.591, 2.576, 2.546, 2.519, 2.489, 2.464, 2.437, 2.427, 2.427, 2.441, 2.467, 2.492, 2.525, 2.553, 2.586, 2.605,
|
||||
2.588, 2.568, 2.534, 2.503, 2.472, 2.437, 2.423, 2.409, 2.411, 2.425, 2.441, 2.475, 2.513, 2.541, 2.577, 2.602,
|
||||
2.588, 2.565, 2.527, 2.494, 2.461, 2.425, 2.409, 2.399, 2.403, 2.409, 2.431, 2.466, 2.503, 2.534, 2.571, 2.601,
|
||||
2.586, 2.561, 2.525, 2.491, 2.454, 2.418, 2.399, 2.396, 2.395, 2.402, 2.424, 2.461, 2.501, 2.531, 2.567, 2.599,
|
||||
2.583, 2.559, 2.525, 2.491, 2.454, 2.418, 2.398, 2.393, 2.393, 2.401, 2.423, 2.459, 2.498, 2.531, 2.566, 2.597,
|
||||
2.583, 2.559, 2.526, 2.494, 2.458, 2.421, 2.404, 2.397, 2.399, 2.404, 2.426, 2.461, 2.501, 2.531, 2.566, 2.596,
|
||||
2.583, 2.563, 2.531, 2.501, 2.469, 2.435, 2.419, 2.405, 2.404, 2.422, 2.435, 2.471, 2.505, 2.537, 2.572, 2.596,
|
||||
2.585, 2.571, 2.539, 2.516, 2.486, 2.458, 2.435, 2.424, 2.424, 2.435, 2.459, 2.489, 2.521, 2.546, 2.579, 2.601,
|
||||
2.589, 2.578, 2.557, 2.532, 2.506, 2.483, 2.458, 2.449, 2.449, 2.459, 2.485, 2.507, 2.535, 2.563, 2.591, 2.605,
|
||||
2.589, 2.586, 2.575, 2.551, 2.525, 2.503, 2.481, 2.476, 2.476, 2.481, 2.504, 2.526, 2.555, 2.583, 2.604, 2.611
|
||||
]
|
||||
}
|
||||
],
|
||||
"calibrations_Cb": [
|
||||
{
|
||||
"ct": 3000,
|
||||
"table":
|
||||
[
|
||||
3.311, 3.339, 3.369, 3.374, 3.371, 3.363, 3.356, 3.353, 3.353, 3.353, 3.357, 3.362, 3.362, 3.356, 3.328, 3.311,
|
||||
3.321, 3.354, 3.374, 3.374, 3.368, 3.359, 3.352, 3.349, 3.347, 3.347, 3.349, 3.357, 3.361, 3.359, 3.343, 3.324,
|
||||
3.334, 3.368, 3.375, 3.374, 3.365, 3.356, 3.349, 3.347, 3.346, 3.346, 3.347, 3.349, 3.358, 3.361, 3.357, 3.336,
|
||||
3.346, 3.378, 3.378, 3.369, 3.363, 3.358, 3.351, 3.348, 3.347, 3.346, 3.347, 3.348, 3.354, 3.364, 3.363, 3.345,
|
||||
3.351, 3.381, 3.381, 3.368, 3.361, 3.357, 3.349, 3.347, 3.347, 3.345, 3.345, 3.347, 3.353, 3.364, 3.364, 3.347,
|
||||
3.353, 3.379, 3.379, 3.366, 3.359, 3.351, 3.348, 3.343, 3.342, 3.342, 3.343, 3.345, 3.351, 3.363, 3.363, 3.347,
|
||||
3.353, 3.376, 3.376, 3.363, 3.351, 3.347, 3.343, 3.338, 3.336, 3.338, 3.339, 3.343, 3.351, 3.361, 3.361, 3.347,
|
||||
3.351, 3.374, 3.374, 3.359, 3.351, 3.345, 3.338, 3.334, 3.333, 3.334, 3.336, 3.339, 3.347, 3.358, 3.358, 3.345,
|
||||
3.346, 3.368, 3.368, 3.359, 3.349, 3.343, 3.336, 3.332, 3.327, 3.331, 3.333, 3.337, 3.346, 3.356, 3.356, 3.341,
|
||||
3.336, 3.362, 3.364, 3.359, 3.351, 3.342, 3.334, 3.324, 3.324, 3.325, 3.329, 3.336, 3.346, 3.351, 3.351, 3.333,
|
||||
3.324, 3.349, 3.359, 3.358, 3.352, 3.341, 3.329, 3.323, 3.321, 3.322, 3.326, 3.336, 3.346, 3.347, 3.339, 3.319,
|
||||
3.311, 3.328, 3.352, 3.354, 3.352, 3.341, 3.329, 3.321, 3.319, 3.321, 3.324, 3.338, 3.343, 3.343, 3.319, 3.312
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 5000,
|
||||
"table":
|
||||
[
|
||||
1.634, 1.647, 1.665, 1.668, 1.668, 1.664, 1.662, 1.662, 1.661, 1.661, 1.661, 1.663, 1.663, 1.659, 1.643, 1.636,
|
||||
1.639, 1.656, 1.668, 1.669, 1.668, 1.666, 1.664, 1.663, 1.663, 1.661, 1.661, 1.662, 1.663, 1.662, 1.654, 1.642,
|
||||
1.645, 1.663, 1.669, 1.668, 1.667, 1.667, 1.667, 1.668, 1.668, 1.665, 1.662, 1.661, 1.662, 1.664, 1.661, 1.649,
|
||||
1.651, 1.669, 1.669, 1.667, 1.666, 1.668, 1.669, 1.672, 1.672, 1.668, 1.665, 1.661, 1.661, 1.665, 1.665, 1.655,
|
||||
1.654, 1.669, 1.669, 1.666, 1.666, 1.669, 1.672, 1.673, 1.673, 1.671, 1.666, 1.661, 1.661, 1.665, 1.665, 1.659,
|
||||
1.654, 1.669, 1.669, 1.666, 1.666, 1.669, 1.671, 1.673, 1.672, 1.669, 1.667, 1.661, 1.661, 1.665, 1.665, 1.659,
|
||||
1.654, 1.668, 1.668, 1.664, 1.663, 1.667, 1.669, 1.671, 1.669, 1.668, 1.665, 1.661, 1.661, 1.663, 1.663, 1.659,
|
||||
1.653, 1.665, 1.665, 1.661, 1.661, 1.664, 1.667, 1.668, 1.668, 1.665, 1.661, 1.658, 1.659, 1.662, 1.662, 1.657,
|
||||
1.651, 1.664, 1.664, 1.659, 1.659, 1.661, 1.663, 1.663, 1.662, 1.661, 1.658, 1.656, 1.657, 1.662, 1.662, 1.655,
|
||||
1.645, 1.661, 1.663, 1.661, 1.659, 1.659, 1.659, 1.657, 1.657, 1.656, 1.654, 1.655, 1.656, 1.661, 1.661, 1.649,
|
||||
1.641, 1.654, 1.661, 1.661, 1.659, 1.657, 1.655, 1.653, 1.652, 1.651, 1.652, 1.653, 1.657, 1.658, 1.655, 1.644,
|
||||
1.635, 1.645, 1.661, 1.661, 1.661, 1.655, 1.653, 1.649, 1.648, 1.647, 1.651, 1.653, 1.657, 1.657, 1.646, 1.638
|
||||
]
|
||||
}
|
||||
],
|
||||
"luminance_lut":
|
||||
[
|
||||
3.535, 3.279, 3.049, 2.722, 2.305, 1.958, 1.657, 1.647, 1.647, 1.656, 1.953, 2.289, 2.707, 3.058, 3.325, 3.589,
|
||||
3.379, 3.157, 2.874, 2.421, 1.973, 1.735, 1.472, 1.388, 1.388, 1.471, 1.724, 1.963, 2.409, 2.877, 3.185, 3.416,
|
||||
3.288, 3.075, 2.696, 2.169, 1.735, 1.472, 1.311, 1.208, 1.208, 1.306, 1.471, 1.724, 2.159, 2.695, 3.092, 3.321,
|
||||
3.238, 3.001, 2.534, 1.981, 1.572, 1.311, 1.207, 1.082, 1.082, 1.204, 1.306, 1.563, 1.973, 2.529, 3.008, 3.259,
|
||||
3.211, 2.938, 2.414, 1.859, 1.468, 1.221, 1.082, 1.036, 1.031, 1.079, 1.217, 1.463, 1.851, 2.403, 2.931, 3.229,
|
||||
3.206, 2.904, 2.356, 1.802, 1.421, 1.181, 1.037, 1.002, 1.002, 1.032, 1.175, 1.414, 1.793, 2.343, 2.899, 3.223,
|
||||
3.206, 2.904, 2.356, 1.802, 1.421, 1.181, 1.037, 1.005, 1.005, 1.032, 1.175, 1.414, 1.793, 2.343, 2.899, 3.223,
|
||||
3.211, 2.936, 2.417, 1.858, 1.468, 1.222, 1.083, 1.037, 1.032, 1.083, 1.218, 1.463, 1.848, 2.403, 2.932, 3.226,
|
||||
3.234, 2.997, 2.536, 1.979, 1.569, 1.311, 1.206, 1.084, 1.084, 1.204, 1.305, 1.565, 1.966, 2.524, 2.996, 3.251,
|
||||
3.282, 3.069, 2.697, 2.166, 1.731, 1.471, 1.311, 1.207, 1.207, 1.305, 1.466, 1.729, 2.158, 2.689, 3.077, 3.304,
|
||||
3.369, 3.146, 2.873, 2.415, 1.964, 1.722, 1.471, 1.382, 1.382, 1.466, 1.722, 1.964, 2.408, 2.871, 3.167, 3.401,
|
||||
3.524, 3.253, 3.025, 2.691, 2.275, 1.939, 1.657, 1.628, 1.628, 1.654, 1.936, 2.275, 2.687, 3.029, 3.284, 3.574
|
||||
],
|
||||
"sigma": 0.00195,
|
||||
"sigma_Cb": 0.00241
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.contrast":
|
||||
{
|
||||
"ce_enable": 1,
|
||||
"gamma_curve":
|
||||
[
|
||||
0, 0,
|
||||
1024, 5040,
|
||||
2048, 9338,
|
||||
3072, 12356,
|
||||
4096, 15312,
|
||||
5120, 18051,
|
||||
6144, 20790,
|
||||
7168, 23193,
|
||||
8192, 25744,
|
||||
9216, 27942,
|
||||
10240, 30035,
|
||||
11264, 32005,
|
||||
12288, 33975,
|
||||
13312, 35815,
|
||||
14336, 37600,
|
||||
15360, 39168,
|
||||
16384, 40642,
|
||||
18432, 43379,
|
||||
20480, 45749,
|
||||
22528, 47753,
|
||||
24576, 49621,
|
||||
26624, 51253,
|
||||
28672, 52698,
|
||||
30720, 53796,
|
||||
32768, 54876,
|
||||
36864, 57012,
|
||||
40960, 58656,
|
||||
45056, 59954,
|
||||
49152, 61183,
|
||||
53248, 62355,
|
||||
57344, 63419,
|
||||
61440, 64476,
|
||||
65535, 65535
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.ccm":
|
||||
{
|
||||
"ccms": [
|
||||
{
|
||||
"ct": 2750,
|
||||
"ccm":
|
||||
[
|
||||
1.13004, 0.36392, -0.49396,
|
||||
-0.45885, 1.68171, -0.22286,
|
||||
-0.06473, -0.86962, 1.93435
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 2940,
|
||||
"ccm":
|
||||
[
|
||||
1.29876, 0.09627, -0.39503,
|
||||
-0.43085, 1.60258, -0.17172,
|
||||
-0.02638, -0.92581, 1.95218
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 3650,
|
||||
"ccm":
|
||||
[
|
||||
1.57729, -0.29734, -0.27995,
|
||||
-0.42965, 1.66231, -0.23265,
|
||||
-0.02183, -0.62331, 1.64514
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 4625,
|
||||
"ccm":
|
||||
[
|
||||
1.52145, -0.22382, -0.29763,
|
||||
-0.40445, 1.82186, -0.41742,
|
||||
-0.05732, -0.56222, 1.61954
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 5715,
|
||||
"ccm":
|
||||
[
|
||||
1.67851, -0.39193, -0.28658,
|
||||
-0.37169, 1.72949, -0.35781,
|
||||
-0.09556, -0.41951, 1.51508
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.sharpen": { }
|
||||
},
|
||||
{
|
||||
"rpi.focus": { }
|
||||
},
|
||||
{
|
||||
"rpi.af":
|
||||
{
|
||||
"ranges":
|
||||
{
|
||||
"normal":
|
||||
{
|
||||
"min": 0.0,
|
||||
"max": 12.0,
|
||||
"default": 1.0
|
||||
},
|
||||
"macro":
|
||||
{
|
||||
"min": 4.0,
|
||||
"max": 32.0,
|
||||
"default": 6.0
|
||||
}
|
||||
},
|
||||
"speeds":
|
||||
{
|
||||
"normal":
|
||||
{
|
||||
"step_coarse": 2.0,
|
||||
"step_fine": 0.5,
|
||||
"contrast_ratio": 0.75,
|
||||
"pdaf_gain": -0.03,
|
||||
"pdaf_squelch": 0.2,
|
||||
"max_slew": 4.0,
|
||||
"pdaf_frames": 20,
|
||||
"dropout_frames": 6,
|
||||
"step_frames": 4
|
||||
},
|
||||
"fast":
|
||||
{
|
||||
"step_coarse": 2.0,
|
||||
"step_fine": 0.5,
|
||||
"contrast_ratio": 0.75,
|
||||
"pdaf_gain": -0.05,
|
||||
"pdaf_squelch": 0.2,
|
||||
"max_slew": 5.0,
|
||||
"pdaf_frames": 16,
|
||||
"dropout_frames": 6,
|
||||
"step_frames": 4
|
||||
}
|
||||
},
|
||||
"conf_epsilon": 8,
|
||||
"conf_thresh": 12,
|
||||
"conf_clip": 512,
|
||||
"skip_frames": 5,
|
||||
"map": [ 0.0, 420, 35.0, 920 ]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
462
src/ipa/raspberrypi/data/imx708_wide_noir.json
Normal file
462
src/ipa/raspberrypi/data/imx708_wide_noir.json
Normal file
@@ -0,0 +1,462 @@
|
||||
{
|
||||
"version": 2.0,
|
||||
"target": "bcm2835",
|
||||
"algorithms": [
|
||||
{
|
||||
"rpi.black_level":
|
||||
{
|
||||
"black_level": 4096
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.dpc": { }
|
||||
},
|
||||
{
|
||||
"rpi.lux":
|
||||
{
|
||||
"reference_shutter_speed": 9989,
|
||||
"reference_gain": 1.23,
|
||||
"reference_aperture": 1.0,
|
||||
"reference_lux": 980,
|
||||
"reference_Y": 8345
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.noise":
|
||||
{
|
||||
"reference_constant": 16.0,
|
||||
"reference_slope": 4.0
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.geq":
|
||||
{
|
||||
"offset": 215,
|
||||
"slope": 0.00287
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.sdn": { }
|
||||
},
|
||||
{
|
||||
"rpi.awb":
|
||||
{
|
||||
"priors": [
|
||||
{
|
||||
"lux": 0,
|
||||
"prior":
|
||||
[
|
||||
2000, 1.0,
|
||||
3000, 0.0,
|
||||
13000, 0.0
|
||||
]
|
||||
},
|
||||
{
|
||||
"lux": 800,
|
||||
"prior":
|
||||
[
|
||||
2000, 0.0,
|
||||
6000, 2.0,
|
||||
13000, 2.0
|
||||
]
|
||||
},
|
||||
{
|
||||
"lux": 1500,
|
||||
"prior":
|
||||
[
|
||||
2000, 0.0,
|
||||
4000, 1.0,
|
||||
6000, 6.0,
|
||||
6500, 7.0,
|
||||
7000, 1.0,
|
||||
13000, 1.0
|
||||
]
|
||||
}
|
||||
],
|
||||
"modes":
|
||||
{
|
||||
"auto":
|
||||
{
|
||||
"lo": 2500,
|
||||
"hi": 8000
|
||||
},
|
||||
"incandescent":
|
||||
{
|
||||
"lo": 2500,
|
||||
"hi": 3000
|
||||
},
|
||||
"tungsten":
|
||||
{
|
||||
"lo": 3000,
|
||||
"hi": 3500
|
||||
},
|
||||
"fluorescent":
|
||||
{
|
||||
"lo": 4000,
|
||||
"hi": 4700
|
||||
},
|
||||
"indoor":
|
||||
{
|
||||
"lo": 3000,
|
||||
"hi": 5000
|
||||
},
|
||||
"daylight":
|
||||
{
|
||||
"lo": 5500,
|
||||
"hi": 6500
|
||||
},
|
||||
"cloudy":
|
||||
{
|
||||
"lo": 7000,
|
||||
"hi": 8600
|
||||
}
|
||||
},
|
||||
"bayes": 0,
|
||||
"ct_curve":
|
||||
[
|
||||
2750.0, 0.7881, 0.2849,
|
||||
2940.0, 0.7559, 0.3103,
|
||||
3650.0, 0.6291, 0.4206,
|
||||
4625.0, 0.5336, 0.5161,
|
||||
5715.0, 0.4668, 0.5898
|
||||
],
|
||||
"sensitivity_r": 1.05,
|
||||
"sensitivity_b": 1.05,
|
||||
"transverse_pos": 0.01165,
|
||||
"transverse_neg": 0.01601
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.agc":
|
||||
{
|
||||
"metering_modes":
|
||||
{
|
||||
"centre-weighted":
|
||||
{
|
||||
"weights": [ 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0 ]
|
||||
},
|
||||
"spot":
|
||||
{
|
||||
"weights": [ 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
|
||||
},
|
||||
"matrix":
|
||||
{
|
||||
"weights": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
|
||||
}
|
||||
},
|
||||
"exposure_modes":
|
||||
{
|
||||
"normal":
|
||||
{
|
||||
"shutter": [ 100, 15000, 30000, 60000, 120000 ],
|
||||
"gain": [ 1.0, 1.0, 2.0, 4.0, 6.0 ]
|
||||
},
|
||||
"short":
|
||||
{
|
||||
"shutter": [ 100, 5000, 10000, 20000, 120000 ],
|
||||
"gain": [ 1.0, 2.0, 4.0, 6.0, 6.0 ]
|
||||
}
|
||||
},
|
||||
"constraint_modes":
|
||||
{
|
||||
"normal": [
|
||||
{
|
||||
"bound": "LOWER",
|
||||
"q_lo": 0.98,
|
||||
"q_hi": 1.0,
|
||||
"y_target":
|
||||
[
|
||||
0, 0.2,
|
||||
1000, 0.2
|
||||
]
|
||||
}
|
||||
],
|
||||
"highlight": [
|
||||
{
|
||||
"bound": "LOWER",
|
||||
"q_lo": 0.98,
|
||||
"q_hi": 1.0,
|
||||
"y_target":
|
||||
[
|
||||
0, 0.2,
|
||||
1000, 0.2
|
||||
]
|
||||
},
|
||||
{
|
||||
"bound": "UPPER",
|
||||
"q_lo": 0.98,
|
||||
"q_hi": 1.0,
|
||||
"y_target":
|
||||
[
|
||||
0, 0.8,
|
||||
1000, 0.8
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"y_target":
|
||||
[
|
||||
0, 0.16,
|
||||
1000, 0.165,
|
||||
10000, 0.17
|
||||
],
|
||||
"startup_frames": 5,
|
||||
"convergence_frames": 6,
|
||||
"speed": 0.15
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.alsc":
|
||||
{
|
||||
"omega": 1.3,
|
||||
"n_iter": 100,
|
||||
"luminance_strength": 0.5,
|
||||
"calibrations_Cr": [
|
||||
{
|
||||
"ct": 3000,
|
||||
"table":
|
||||
[
|
||||
1.529, 1.526, 1.522, 1.506, 1.489, 1.473, 1.458, 1.456, 1.456, 1.458, 1.474, 1.493, 1.513, 1.531, 1.541, 1.544,
|
||||
1.527, 1.523, 1.511, 1.491, 1.474, 1.459, 1.445, 1.441, 1.441, 1.446, 1.461, 1.479, 1.499, 1.521, 1.536, 1.541,
|
||||
1.524, 1.515, 1.498, 1.477, 1.459, 1.444, 1.431, 1.426, 1.426, 1.435, 1.446, 1.466, 1.487, 1.507, 1.528, 1.538,
|
||||
1.522, 1.512, 1.491, 1.468, 1.447, 1.431, 1.423, 1.417, 1.418, 1.425, 1.435, 1.455, 1.479, 1.499, 1.523, 1.537,
|
||||
1.522, 1.509, 1.485, 1.463, 1.441, 1.423, 1.416, 1.413, 1.415, 1.418, 1.429, 1.449, 1.473, 1.495, 1.521, 1.538,
|
||||
1.522, 1.508, 1.483, 1.461, 1.438, 1.421, 1.413, 1.412, 1.412, 1.415, 1.428, 1.447, 1.471, 1.493, 1.519, 1.538,
|
||||
1.522, 1.509, 1.484, 1.462, 1.439, 1.421, 1.414, 1.411, 1.412, 1.416, 1.428, 1.447, 1.471, 1.493, 1.519, 1.537,
|
||||
1.523, 1.511, 1.487, 1.465, 1.443, 1.424, 1.417, 1.413, 1.415, 1.419, 1.429, 1.451, 1.473, 1.494, 1.519, 1.536,
|
||||
1.524, 1.514, 1.493, 1.471, 1.451, 1.434, 1.424, 1.419, 1.419, 1.428, 1.437, 1.457, 1.477, 1.498, 1.521, 1.538,
|
||||
1.527, 1.521, 1.503, 1.481, 1.462, 1.449, 1.434, 1.429, 1.429, 1.437, 1.451, 1.469, 1.488, 1.508, 1.527, 1.539,
|
||||
1.529, 1.527, 1.515, 1.495, 1.477, 1.462, 1.449, 1.444, 1.444, 1.451, 1.467, 1.481, 1.499, 1.519, 1.535, 1.543,
|
||||
1.534, 1.531, 1.527, 1.512, 1.492, 1.476, 1.463, 1.461, 1.461, 1.464, 1.479, 1.495, 1.515, 1.533, 1.543, 1.546
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 5000,
|
||||
"table":
|
||||
[
|
||||
2.603, 2.599, 2.591, 2.567, 2.539, 2.515, 2.489, 2.489, 2.489, 2.491, 2.516, 2.543, 2.574, 2.597, 2.614, 2.617,
|
||||
2.596, 2.591, 2.571, 2.542, 2.516, 2.489, 2.464, 2.458, 2.458, 2.469, 2.492, 2.518, 2.547, 2.576, 2.602, 2.614,
|
||||
2.591, 2.576, 2.546, 2.519, 2.489, 2.464, 2.437, 2.427, 2.427, 2.441, 2.467, 2.492, 2.525, 2.553, 2.586, 2.605,
|
||||
2.588, 2.568, 2.534, 2.503, 2.472, 2.437, 2.423, 2.409, 2.411, 2.425, 2.441, 2.475, 2.513, 2.541, 2.577, 2.602,
|
||||
2.588, 2.565, 2.527, 2.494, 2.461, 2.425, 2.409, 2.399, 2.403, 2.409, 2.431, 2.466, 2.503, 2.534, 2.571, 2.601,
|
||||
2.586, 2.561, 2.525, 2.491, 2.454, 2.418, 2.399, 2.396, 2.395, 2.402, 2.424, 2.461, 2.501, 2.531, 2.567, 2.599,
|
||||
2.583, 2.559, 2.525, 2.491, 2.454, 2.418, 2.398, 2.393, 2.393, 2.401, 2.423, 2.459, 2.498, 2.531, 2.566, 2.597,
|
||||
2.583, 2.559, 2.526, 2.494, 2.458, 2.421, 2.404, 2.397, 2.399, 2.404, 2.426, 2.461, 2.501, 2.531, 2.566, 2.596,
|
||||
2.583, 2.563, 2.531, 2.501, 2.469, 2.435, 2.419, 2.405, 2.404, 2.422, 2.435, 2.471, 2.505, 2.537, 2.572, 2.596,
|
||||
2.585, 2.571, 2.539, 2.516, 2.486, 2.458, 2.435, 2.424, 2.424, 2.435, 2.459, 2.489, 2.521, 2.546, 2.579, 2.601,
|
||||
2.589, 2.578, 2.557, 2.532, 2.506, 2.483, 2.458, 2.449, 2.449, 2.459, 2.485, 2.507, 2.535, 2.563, 2.591, 2.605,
|
||||
2.589, 2.586, 2.575, 2.551, 2.525, 2.503, 2.481, 2.476, 2.476, 2.481, 2.504, 2.526, 2.555, 2.583, 2.604, 2.611
|
||||
]
|
||||
}
|
||||
],
|
||||
"calibrations_Cb": [
|
||||
{
|
||||
"ct": 3000,
|
||||
"table":
|
||||
[
|
||||
3.311, 3.339, 3.369, 3.374, 3.371, 3.363, 3.356, 3.353, 3.353, 3.353, 3.357, 3.362, 3.362, 3.356, 3.328, 3.311,
|
||||
3.321, 3.354, 3.374, 3.374, 3.368, 3.359, 3.352, 3.349, 3.347, 3.347, 3.349, 3.357, 3.361, 3.359, 3.343, 3.324,
|
||||
3.334, 3.368, 3.375, 3.374, 3.365, 3.356, 3.349, 3.347, 3.346, 3.346, 3.347, 3.349, 3.358, 3.361, 3.357, 3.336,
|
||||
3.346, 3.378, 3.378, 3.369, 3.363, 3.358, 3.351, 3.348, 3.347, 3.346, 3.347, 3.348, 3.354, 3.364, 3.363, 3.345,
|
||||
3.351, 3.381, 3.381, 3.368, 3.361, 3.357, 3.349, 3.347, 3.347, 3.345, 3.345, 3.347, 3.353, 3.364, 3.364, 3.347,
|
||||
3.353, 3.379, 3.379, 3.366, 3.359, 3.351, 3.348, 3.343, 3.342, 3.342, 3.343, 3.345, 3.351, 3.363, 3.363, 3.347,
|
||||
3.353, 3.376, 3.376, 3.363, 3.351, 3.347, 3.343, 3.338, 3.336, 3.338, 3.339, 3.343, 3.351, 3.361, 3.361, 3.347,
|
||||
3.351, 3.374, 3.374, 3.359, 3.351, 3.345, 3.338, 3.334, 3.333, 3.334, 3.336, 3.339, 3.347, 3.358, 3.358, 3.345,
|
||||
3.346, 3.368, 3.368, 3.359, 3.349, 3.343, 3.336, 3.332, 3.327, 3.331, 3.333, 3.337, 3.346, 3.356, 3.356, 3.341,
|
||||
3.336, 3.362, 3.364, 3.359, 3.351, 3.342, 3.334, 3.324, 3.324, 3.325, 3.329, 3.336, 3.346, 3.351, 3.351, 3.333,
|
||||
3.324, 3.349, 3.359, 3.358, 3.352, 3.341, 3.329, 3.323, 3.321, 3.322, 3.326, 3.336, 3.346, 3.347, 3.339, 3.319,
|
||||
3.311, 3.328, 3.352, 3.354, 3.352, 3.341, 3.329, 3.321, 3.319, 3.321, 3.324, 3.338, 3.343, 3.343, 3.319, 3.312
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 5000,
|
||||
"table":
|
||||
[
|
||||
1.634, 1.647, 1.665, 1.668, 1.668, 1.664, 1.662, 1.662, 1.661, 1.661, 1.661, 1.663, 1.663, 1.659, 1.643, 1.636,
|
||||
1.639, 1.656, 1.668, 1.669, 1.668, 1.666, 1.664, 1.663, 1.663, 1.661, 1.661, 1.662, 1.663, 1.662, 1.654, 1.642,
|
||||
1.645, 1.663, 1.669, 1.668, 1.667, 1.667, 1.667, 1.668, 1.668, 1.665, 1.662, 1.661, 1.662, 1.664, 1.661, 1.649,
|
||||
1.651, 1.669, 1.669, 1.667, 1.666, 1.668, 1.669, 1.672, 1.672, 1.668, 1.665, 1.661, 1.661, 1.665, 1.665, 1.655,
|
||||
1.654, 1.669, 1.669, 1.666, 1.666, 1.669, 1.672, 1.673, 1.673, 1.671, 1.666, 1.661, 1.661, 1.665, 1.665, 1.659,
|
||||
1.654, 1.669, 1.669, 1.666, 1.666, 1.669, 1.671, 1.673, 1.672, 1.669, 1.667, 1.661, 1.661, 1.665, 1.665, 1.659,
|
||||
1.654, 1.668, 1.668, 1.664, 1.663, 1.667, 1.669, 1.671, 1.669, 1.668, 1.665, 1.661, 1.661, 1.663, 1.663, 1.659,
|
||||
1.653, 1.665, 1.665, 1.661, 1.661, 1.664, 1.667, 1.668, 1.668, 1.665, 1.661, 1.658, 1.659, 1.662, 1.662, 1.657,
|
||||
1.651, 1.664, 1.664, 1.659, 1.659, 1.661, 1.663, 1.663, 1.662, 1.661, 1.658, 1.656, 1.657, 1.662, 1.662, 1.655,
|
||||
1.645, 1.661, 1.663, 1.661, 1.659, 1.659, 1.659, 1.657, 1.657, 1.656, 1.654, 1.655, 1.656, 1.661, 1.661, 1.649,
|
||||
1.641, 1.654, 1.661, 1.661, 1.659, 1.657, 1.655, 1.653, 1.652, 1.651, 1.652, 1.653, 1.657, 1.658, 1.655, 1.644,
|
||||
1.635, 1.645, 1.661, 1.661, 1.661, 1.655, 1.653, 1.649, 1.648, 1.647, 1.651, 1.653, 1.657, 1.657, 1.646, 1.638
|
||||
]
|
||||
}
|
||||
],
|
||||
"luminance_lut":
|
||||
[
|
||||
3.535, 3.279, 3.049, 2.722, 2.305, 1.958, 1.657, 1.647, 1.647, 1.656, 1.953, 2.289, 2.707, 3.058, 3.325, 3.589,
|
||||
3.379, 3.157, 2.874, 2.421, 1.973, 1.735, 1.472, 1.388, 1.388, 1.471, 1.724, 1.963, 2.409, 2.877, 3.185, 3.416,
|
||||
3.288, 3.075, 2.696, 2.169, 1.735, 1.472, 1.311, 1.208, 1.208, 1.306, 1.471, 1.724, 2.159, 2.695, 3.092, 3.321,
|
||||
3.238, 3.001, 2.534, 1.981, 1.572, 1.311, 1.207, 1.082, 1.082, 1.204, 1.306, 1.563, 1.973, 2.529, 3.008, 3.259,
|
||||
3.211, 2.938, 2.414, 1.859, 1.468, 1.221, 1.082, 1.036, 1.031, 1.079, 1.217, 1.463, 1.851, 2.403, 2.931, 3.229,
|
||||
3.206, 2.904, 2.356, 1.802, 1.421, 1.181, 1.037, 1.002, 1.002, 1.032, 1.175, 1.414, 1.793, 2.343, 2.899, 3.223,
|
||||
3.206, 2.904, 2.356, 1.802, 1.421, 1.181, 1.037, 1.005, 1.005, 1.032, 1.175, 1.414, 1.793, 2.343, 2.899, 3.223,
|
||||
3.211, 2.936, 2.417, 1.858, 1.468, 1.222, 1.083, 1.037, 1.032, 1.083, 1.218, 1.463, 1.848, 2.403, 2.932, 3.226,
|
||||
3.234, 2.997, 2.536, 1.979, 1.569, 1.311, 1.206, 1.084, 1.084, 1.204, 1.305, 1.565, 1.966, 2.524, 2.996, 3.251,
|
||||
3.282, 3.069, 2.697, 2.166, 1.731, 1.471, 1.311, 1.207, 1.207, 1.305, 1.466, 1.729, 2.158, 2.689, 3.077, 3.304,
|
||||
3.369, 3.146, 2.873, 2.415, 1.964, 1.722, 1.471, 1.382, 1.382, 1.466, 1.722, 1.964, 2.408, 2.871, 3.167, 3.401,
|
||||
3.524, 3.253, 3.025, 2.691, 2.275, 1.939, 1.657, 1.628, 1.628, 1.654, 1.936, 2.275, 2.687, 3.029, 3.284, 3.574
|
||||
],
|
||||
"sigma": 0.00195,
|
||||
"sigma_Cb": 0.00241
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.contrast":
|
||||
{
|
||||
"ce_enable": 1,
|
||||
"gamma_curve":
|
||||
[
|
||||
0, 0,
|
||||
1024, 5040,
|
||||
2048, 9338,
|
||||
3072, 12356,
|
||||
4096, 15312,
|
||||
5120, 18051,
|
||||
6144, 20790,
|
||||
7168, 23193,
|
||||
8192, 25744,
|
||||
9216, 27942,
|
||||
10240, 30035,
|
||||
11264, 32005,
|
||||
12288, 33975,
|
||||
13312, 35815,
|
||||
14336, 37600,
|
||||
15360, 39168,
|
||||
16384, 40642,
|
||||
18432, 43379,
|
||||
20480, 45749,
|
||||
22528, 47753,
|
||||
24576, 49621,
|
||||
26624, 51253,
|
||||
28672, 52698,
|
||||
30720, 53796,
|
||||
32768, 54876,
|
||||
36864, 57012,
|
||||
40960, 58656,
|
||||
45056, 59954,
|
||||
49152, 61183,
|
||||
53248, 62355,
|
||||
57344, 63419,
|
||||
61440, 64476,
|
||||
65535, 65535
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.ccm":
|
||||
{
|
||||
"ccms": [
|
||||
{
|
||||
"ct": 2750,
|
||||
"ccm":
|
||||
[
|
||||
1.13004, 0.36392, -0.49396,
|
||||
-0.45885, 1.68171, -0.22286,
|
||||
-0.06473, -0.86962, 1.93435
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 2940,
|
||||
"ccm":
|
||||
[
|
||||
1.29876, 0.09627, -0.39503,
|
||||
-0.43085, 1.60258, -0.17172,
|
||||
-0.02638, -0.92581, 1.95218
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 3650,
|
||||
"ccm":
|
||||
[
|
||||
1.57729, -0.29734, -0.27995,
|
||||
-0.42965, 1.66231, -0.23265,
|
||||
-0.02183, -0.62331, 1.64514
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 4625,
|
||||
"ccm":
|
||||
[
|
||||
1.52145, -0.22382, -0.29763,
|
||||
-0.40445, 1.82186, -0.41742,
|
||||
-0.05732, -0.56222, 1.61954
|
||||
]
|
||||
},
|
||||
{
|
||||
"ct": 5715,
|
||||
"ccm":
|
||||
[
|
||||
1.67851, -0.39193, -0.28658,
|
||||
-0.37169, 1.72949, -0.35781,
|
||||
-0.09556, -0.41951, 1.51508
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"rpi.sharpen": { }
|
||||
},
|
||||
{
|
||||
"rpi.focus": { }
|
||||
},
|
||||
{
|
||||
"rpi.af":
|
||||
{
|
||||
"ranges":
|
||||
{
|
||||
"normal":
|
||||
{
|
||||
"min": 0.0,
|
||||
"max": 12.0,
|
||||
"default": 1.0
|
||||
},
|
||||
"macro":
|
||||
{
|
||||
"min": 4.0,
|
||||
"max": 32.0,
|
||||
"default": 6.0
|
||||
}
|
||||
},
|
||||
"speeds":
|
||||
{
|
||||
"normal":
|
||||
{
|
||||
"step_coarse": 2.0,
|
||||
"step_fine": 0.5,
|
||||
"contrast_ratio": 0.75,
|
||||
"pdaf_gain": -0.03,
|
||||
"pdaf_squelch": 0.2,
|
||||
"max_slew": 4.0,
|
||||
"pdaf_frames": 20,
|
||||
"dropout_frames": 6,
|
||||
"step_frames": 4
|
||||
},
|
||||
"fast":
|
||||
{
|
||||
"step_coarse": 2.0,
|
||||
"step_fine": 0.5,
|
||||
"contrast_ratio": 0.75,
|
||||
"pdaf_gain": -0.05,
|
||||
"pdaf_squelch": 0.2,
|
||||
"max_slew": 5.0,
|
||||
"pdaf_frames": 16,
|
||||
"dropout_frames": 6,
|
||||
"step_frames": 4
|
||||
}
|
||||
},
|
||||
"conf_epsilon": 8,
|
||||
"conf_thresh": 12,
|
||||
"conf_clip": 512,
|
||||
"skip_frames": 5,
|
||||
"map": [ 0.0, 420, 35.0, 920 ]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -11,6 +11,10 @@ conf_files = files([
|
||||
'imx477_noir.json',
|
||||
'imx477_scientific.json',
|
||||
'imx519.json',
|
||||
'imx708.json',
|
||||
'imx708_noir.json',
|
||||
'imx708_wide.json',
|
||||
'imx708_wide_noir.json',
|
||||
'ov5647.json',
|
||||
'ov5647_noir.json',
|
||||
'ov9281_mono.json',
|
||||
|
||||
@@ -23,6 +23,7 @@ rpi_ipa_sources = files([
|
||||
'cam_helper_imx296.cpp',
|
||||
'cam_helper_imx477.cpp',
|
||||
'cam_helper_imx519.cpp',
|
||||
'cam_helper_imx708.cpp',
|
||||
'cam_helper_ov9281.cpp',
|
||||
'controller/controller.cpp',
|
||||
'controller/histogram.cpp',
|
||||
|
||||
Reference in New Issue
Block a user