[libcamera-devel] [PATCH 5/9] android: Add pipeline_config_file parameter for camera_hal.yaml

Han-Lin Chen hanlinchen at chromium.org
Wed Feb 9 08:19:13 CET 2022


Add pipeline_config_file parameter for camera_hal.yaml for the ipu3
devices of ChromeOS, which specify a path to a pipeline configuration
file for a camera, and could be empty if no configuration is provided.

The configuration files for soraka [1] and nautilus [2] are added, which
are copied and converted to yaml format from the ChromeOS repos. See:

[1] https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/master/baseboard-poppy/media-libs/cros-camera-hal-configs-poppy/files/gcss
[2] https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/refs/heads/main/overlay-nautilus/media-libs/cros-camera-hal-configs-nautilus/files/gcss/

Signed-off-by: Han-Lin Chen <hanlinchen at chromium.org>
---
 src/android/camera_hal_config.cpp         |  17 ++
 src/android/camera_hal_config.h           |   1 +
 src/android/data/nautilus/camera_hal.yaml |   2 +
 src/android/data/nautilus/imx258.yaml     | 248 ++++++++++++++++++++++
 src/android/data/soraka/camera_hal.yaml   |   2 +
 src/android/data/soraka/ov13858.yaml      | 236 ++++++++++++++++++++
 src/android/data/soraka/ov5670.yaml       | 242 +++++++++++++++++++++
 7 files changed, 748 insertions(+)
 create mode 100644 src/android/data/nautilus/imx258.yaml
 create mode 100644 src/android/data/soraka/ov13858.yaml
 create mode 100644 src/android/data/soraka/ov5670.yaml

diff --git a/src/android/camera_hal_config.cpp b/src/android/camera_hal_config.cpp
index 54611956..f378df9d 100644
--- a/src/android/camera_hal_config.cpp
+++ b/src/android/camera_hal_config.cpp
@@ -40,6 +40,7 @@ private:
 	int parseCameraConfigData(const std::string &cameraId, const YamlObject &);
 	int parseLocation(const YamlObject &, CameraConfigData &cameraConfigData);
 	int parseRotation(const YamlObject &, CameraConfigData &cameraConfigData);
+	int parsePipelineConf(const YamlObject &, CameraConfigData &cameraConfigData);
 
 	std::map<std::string, CameraConfigData> *cameras_;
 	YamlParser yamlParser_;
@@ -63,11 +64,13 @@ int CameraHalConfig::Private::parseConfigFile(FILE *fh,
 	 *   "camera0 id":
 	 *     location: value
 	 *     rotation: value
+	 *     pipeline_config_file: path
 	 *     ...
 	 *
 	 *   "camera1 id":
 	 *     location: value
 	 *     rotation: value
+	 *     pipeline_config_file: path
 	 *     ...
 	 */
 
@@ -116,6 +119,10 @@ int CameraHalConfig::Private::parseCameraConfigData(const std::string &cameraId,
 	if (parseRotation(cameraObject, cameraConfigData))
 		return -EINVAL;
 
+	/* Parse property "pipeline_config_file" */
+	if (parsePipelineConf(cameraObject, cameraConfigData))
+		return -EINVAL;
+
 	(*cameras_)[cameraId] = cameraConfigData;
 
 	return 0;
@@ -157,6 +164,16 @@ int CameraHalConfig::Private::parseRotation(const YamlObject &cameraObject,
 	return 0;
 }
 
+int CameraHalConfig::Private::parsePipelineConf(const YamlObject &cameraObject,
+						CameraConfigData &cameraConfigData)
+{
+	if (!cameraObject.isMember("pipeline_config_file"))
+		return -EINVAL;
+
+	cameraConfigData.pipelineConfigFile = cameraObject.get("pipeline_config_file").asString();
+	return 0;
+}
+
 CameraHalConfig::CameraHalConfig()
 	: Extensible(std::make_unique<Private>()), exists_(false), valid_(false)
 {
diff --git a/src/android/camera_hal_config.h b/src/android/camera_hal_config.h
index 9df554f9..3a905c92 100644
--- a/src/android/camera_hal_config.h
+++ b/src/android/camera_hal_config.h
@@ -15,6 +15,7 @@
 struct CameraConfigData {
 	int facing = -1;
 	int rotation = -1;
+	std::string pipelineConfigFile;
 };
 
 class CameraHalConfig final : public libcamera::Extensible
diff --git a/src/android/data/nautilus/camera_hal.yaml b/src/android/data/nautilus/camera_hal.yaml
index faddd29e..18a2b7a9 100644
--- a/src/android/data/nautilus/camera_hal.yaml
+++ b/src/android/data/nautilus/camera_hal.yaml
@@ -2,7 +2,9 @@ cameras:
   "\\_SB_.PCI0.I2C2.CAM0":
     location: back
     rotation: 0
+    pipeline_config_file: "/etc/camera/libcamera/imx258.yaml"
 
   "\\_SB_.PCI0.XHCI.RHUB.HS09-9:1.0-04f2:b647":
     location: front
     rotation: 0
+    pipeline_config_file: ""
diff --git a/src/android/data/nautilus/imx258.yaml b/src/android/data/nautilus/imx258.yaml
new file mode 100644
index 00000000..be52e752
--- /dev/null
+++ b/src/android/data/nautilus/imx258.yaml
@@ -0,0 +1,248 @@
+still_mode:
+- bds: [4208, 3116]
+  cio2: [4208, 3118]
+  gdc: [4096, 3072]
+  iff: [4208, 3116]
+  main: [4096, 3072]
+  viewfinder: [0, 0]
+- bds: [1968, 1184]
+  cio2: [4208, 3118]
+  gdc: [1920, 1080]
+  iff: [4182, 2516]
+  main: [1920, 1080]
+  viewfinder: [0, 0]
+- bds: [1632, 1216]
+  cio2: [4208, 3118]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [1600, 1200]
+  viewfinder: [0, 0]
+- bds: [1632, 1216]
+  cio2: [4208, 3118]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [1280, 960]
+  viewfinder: [0, 0]
+- bds: [1968, 1184]
+  cio2: [4208, 3118]
+  gdc: [1920, 1080]
+  iff: [4182, 2516]
+  main: [1280, 720]
+  viewfinder: [0, 0]
+- bds: [1632, 1216]
+  cio2: [4208, 3118]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [640, 480]
+  viewfinder: [0, 0]
+- bds: [1632, 1216]
+  cio2: [4208, 3118]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [320, 240]
+  viewfinder: [0, 0]
+video_mode:
+- bds: [4208, 3116]
+  cio2: [4208, 3118]
+  gdc: [4096, 3072]
+  iff: [4208, 3116]
+  main: [4096, 3072]
+  viewfinder: [0, 0]
+- bds: [1968, 1184]
+  cio2: [4208, 3118]
+  gdc: [1920, 1080]
+  iff: [4182, 2516]
+  main: [1920, 1080]
+  viewfinder: [0, 0]
+- bds: [1632, 1216]
+  cio2: [4208, 3118]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [1600, 1200]
+  viewfinder: [0, 0]
+- bds: [1632, 1216]
+  cio2: [4208, 3118]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [1280, 960]
+  viewfinder: [0, 0]
+- bds: [1968, 1184]
+  cio2: [4208, 3118]
+  gdc: [1920, 1080]
+  iff: [4182, 2516]
+  main: [1280, 720]
+  viewfinder: [0, 0]
+- bds: [1632, 1216]
+  cio2: [4208, 3118]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [640, 480]
+  viewfinder: [0, 0]
+- bds: [1632, 1216]
+  cio2: [4208, 3118]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [320, 240]
+  viewfinder: [0, 0]
+- bds: [4208, 3116]
+  cio2: [4208, 3118]
+  gdc: [4160, 3072]
+  iff: [4208, 3116]
+  main: [4096, 3072]
+  viewfinder: [4096, 3072]
+- bds: [4208, 3116]
+  cio2: [4208, 3118]
+  gdc: [4160, 3072]
+  iff: [4208, 3116]
+  main: [4096, 3072]
+  viewfinder: [1920, 1080]
+- bds: [4208, 3116]
+  cio2: [4208, 3118]
+  gdc: [4096, 3072]
+  iff: [4208, 3116]
+  main: [4096, 3072]
+  viewfinder: [1600, 1200]
+- bds: [4208, 3116]
+  cio2: [4208, 3118]
+  gdc: [4096, 3072]
+  iff: [4208, 3116]
+  main: [4096, 3072]
+  viewfinder: [1280, 960]
+- bds: [4208, 3116]
+  cio2: [4208, 3118]
+  gdc: [4160, 3072]
+  iff: [4208, 3116]
+  main: [4096, 3072]
+  viewfinder: [1280, 720]
+- bds: [4208, 3116]
+  cio2: [4208, 3118]
+  gdc: [4096, 3072]
+  iff: [4208, 3116]
+  main: [4096, 3072]
+  viewfinder: [640, 480]
+- bds: [4208, 3116]
+  cio2: [4208, 3118]
+  gdc: [4096, 3072]
+  iff: [4208, 3116]
+  main: [4096, 3072]
+  viewfinder: [320, 240]
+- bds: [1968, 1184]
+  cio2: [4208, 3118]
+  gdc: [1920, 1080]
+  iff: [4182, 2516]
+  main: [1920, 1080]
+  viewfinder: [1920, 1080]
+- bds: [1968, 1440]
+  cio2: [4208, 3118]
+  gdc: [1920, 1424]
+  iff: [4182, 3060]
+  main: [1920, 1080]
+  viewfinder: [1600, 1200]
+- bds: [1968, 1440]
+  cio2: [4208, 3118]
+  gdc: [1920, 1424]
+  iff: [4182, 3060]
+  main: [1920, 1080]
+  viewfinder: [1280, 960]
+- bds: [1968, 1184]
+  cio2: [4208, 3118]
+  gdc: [1920, 1080]
+  iff: [4182, 2516]
+  main: [1920, 1080]
+  viewfinder: [1280, 720]
+- bds: [1968, 1440]
+  cio2: [4208, 3118]
+  gdc: [1920, 1424]
+  iff: [4182, 3060]
+  main: [1920, 1080]
+  viewfinder: [640, 480]
+- bds: [1968, 1440]
+  cio2: [4208, 3118]
+  gdc: [1920, 1424]
+  iff: [4182, 3060]
+  main: [1920, 1080]
+  viewfinder: [320, 240]
+- bds: [1632, 1216]
+  cio2: [4208, 3118]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [1600, 1200]
+  viewfinder: [1600, 1200]
+- bds: [1632, 1216]
+  cio2: [4208, 3118]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [1600, 1200]
+  viewfinder: [1280, 960]
+- bds: [1680, 1240]
+  cio2: [4208, 3118]
+  gdc: [1664, 1200]
+  iff: [4200, 3100]
+  main: [1600, 1200]
+  viewfinder: [1280, 720]
+- bds: [1632, 1216]
+  cio2: [4208, 3118]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [1600, 1200]
+  viewfinder: [640, 480]
+- bds: [1632, 1216]
+  cio2: [4208, 3118]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [1600, 1200]
+  viewfinder: [320, 240]
+- bds: [1344, 992]
+  cio2: [4208, 3118]
+  gdc: [1280, 960]
+  iff: [4200, 3100]
+  main: [1280, 960]
+  viewfinder: [1280, 960]
+- bds: [1400, 1036]
+  cio2: [4208, 3118]
+  gdc: [1344, 960]
+  iff: [4200, 3108]
+  main: [1280, 960]
+  viewfinder: [1280, 720]
+- bds: [1344, 992]
+  cio2: [4208, 3118]
+  gdc: [1280, 960]
+  iff: [4200, 3100]
+  main: [1280, 960]
+  viewfinder: [640, 480]
+- bds: [1344, 992]
+  cio2: [4208, 3118]
+  gdc: [1280, 960]
+  iff: [4200, 3100]
+  main: [1280, 960]
+  viewfinder: [320, 240]
+- bds: [1288, 800]
+  cio2: [4208, 3118]
+  gdc: [1280, 720]
+  iff: [4186, 2600]
+  main: [1280, 720]
+  viewfinder: [1280, 720]
+- bds: [1312, 960]
+  cio2: [4208, 3118]
+  gdc: [1280, 952]
+  iff: [4182, 3060]
+  main: [1280, 720]
+  viewfinder: [640, 480]
+- bds: [1312, 960]
+  cio2: [4208, 3118]
+  gdc: [1280, 952]
+  iff: [4182, 3060]
+  main: [1280, 720]
+  viewfinder: [320, 240]
+- bds: [700, 520]
+  cio2: [2104, 1560]
+  gdc: [640, 480]
+  iff: [2100, 1560]
+  main: [640, 480]
+  viewfinder: [320, 240]
+- bds: [364, 276]
+  cio2: [4208, 3118]
+  gdc: [320, 240]
+  iff: [1456, 1104]
+  main: [320, 240]
+  viewfinder: [320, 240]
diff --git a/src/android/data/soraka/camera_hal.yaml b/src/android/data/soraka/camera_hal.yaml
index 2e996403..6f0062e9 100644
--- a/src/android/data/soraka/camera_hal.yaml
+++ b/src/android/data/soraka/camera_hal.yaml
@@ -2,7 +2,9 @@ cameras:
   "\\_SB_.PCI0.I2C4.CAM1":
     location: front
     rotation: 0
+    pipeline_config_file: "/etc/camera/libcamera/ov5670.yaml"
 
   "\\_SB_.PCI0.I2C2.CAM0":
     location: back
     rotation: 0
+    pipeline_config_file: "/etc/camera/libcamera/ov13858.yaml"
diff --git a/src/android/data/soraka/ov13858.yaml b/src/android/data/soraka/ov13858.yaml
new file mode 100644
index 00000000..c6f4d091
--- /dev/null
+++ b/src/android/data/soraka/ov13858.yaml
@@ -0,0 +1,236 @@
+still_mode:
+- bds: [4224, 3136]
+  cio2: [4224, 3136]
+  gdc: [4096, 3072]
+  iff: [4224, 3136]
+  main: [640, 480]
+  viewfinder: [0, 0]
+- bds: [4224, 3136]
+  cio2: [4224, 3136]
+  gdc: [4096, 3072]
+  iff: [4224, 3136]
+  main: [320, 240]
+  viewfinder: [0, 0]
+- bds: [4216, 2386]
+  cio2: [4224, 3136]
+  gdc: [4128, 2322]
+  iff: [4216, 2386]
+  main: [1920, 1080]
+  viewfinder: [0, 0]
+- bds: [4216, 2386]
+  cio2: [4224, 3136]
+  gdc: [4128, 2322]
+  iff: [4216, 2386]
+  main: [1280, 720]
+  viewfinder: [0, 0]
+- bds: [4224, 3136]
+  cio2: [4224, 3136]
+  gdc: [4096, 3072]
+  iff: [4224, 3136]
+  main: [1280, 960]
+  viewfinder: [0, 0]
+- bds: [4224, 3136]
+  cio2: [4224, 3136]
+  gdc: [4096, 3072]
+  iff: [4224, 3136]
+  main: [1600, 1200]
+  viewfinder: [0, 0]
+- bds: [4224, 3136]
+  cio2: [4224, 3136]
+  gdc: [4096, 3072]
+  iff: [4224, 3136]
+  main: [4096, 3072]
+  viewfinder: [0, 0]
+video_mode:
+- bds: [4224, 3136]
+  cio2: [4224, 3136]
+  gdc: [4096, 3072]
+  iff: [4224, 3136]
+  main: [4096, 3072]
+  viewfinder: [1920, 1080]
+- bds: [1984, 1184]
+  cio2: [4224, 3136]
+  gdc: [1920, 1080]
+  iff: [4216, 2516]
+  main: [1920, 1080]
+  viewfinder: [0, 0]
+- bds: [4224, 3136]
+  cio2: [4224, 3136]
+  gdc: [4096, 3072]
+  iff: [4224, 3136]
+  main: [4096, 3072]
+  viewfinder: [1280, 720]
+- bds: [1984, 1184]
+  cio2: [4224, 3136]
+  gdc: [1920, 1080]
+  iff: [4216, 2516]
+  main: [1280, 720]
+  viewfinder: [0, 0]
+- bds: [4224, 3136]
+  cio2: [4224, 3136]
+  gdc: [4096, 3072]
+  iff: [4224, 3136]
+  main: [4096, 3072]
+  viewfinder: [640, 480]
+- bds: [4224, 3136]
+  cio2: [4224, 3136]
+  gdc: [4096, 3072]
+  iff: [4224, 3136]
+  main: [4096, 3072]
+  viewfinder: [1280, 960]
+- bds: [1632, 1216]
+  cio2: [4224, 3136]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [1280, 960]
+  viewfinder: [0, 0]
+- bds: [4224, 3136]
+  cio2: [4224, 3136]
+  gdc: [4096, 3072]
+  iff: [4224, 3136]
+  main: [4096, 3072]
+  viewfinder: [1600, 1200]
+- bds: [4224, 3136]
+  cio2: [4224, 3136]
+  gdc: [4096, 3072]
+  iff: [4224, 3136]
+  main: [4096, 3072]
+  viewfinder: [320, 240]
+- bds: [1296, 800]
+  cio2: [4224, 3136]
+  gdc: [1280, 720]
+  iff: [4212, 2600]
+  main: [1280, 720]
+  viewfinder: [1280, 720]
+- bds: [1296, 960]
+  cio2: [4224, 3136]
+  gdc: [1280, 952]
+  iff: [4212, 3120]
+  main: [1280, 720]
+  viewfinder: [640, 480]
+- bds: [4224, 3136]
+  cio2: [4224, 3136]
+  gdc: [4160, 3120]
+  iff: [4224, 3136]
+  main: [1920, 1080]
+  viewfinder: [1600, 1200]
+- bds: [1984, 1472]
+  cio2: [4224, 3136]
+  gdc: [1920, 1432]
+  iff: [4216, 3128]
+  main: [1920, 1080]
+  viewfinder: [1600, 1200]
+- bds: [1296, 960]
+  cio2: [4224, 3136]
+  gdc: [1280, 952]
+  iff: [4212, 3120]
+  main: [1280, 720]
+  viewfinder: [320, 240]
+- bds: [1984, 1184]
+  cio2: [4224, 3136]
+  gdc: [1920, 1080]
+  iff: [4216, 2516]
+  main: [1920, 1080]
+  viewfinder: [1920, 1080]
+- bds: [1984, 1184]
+  cio2: [4224, 3136]
+  gdc: [1920, 1080]
+  iff: [4216, 2516]
+  main: [1920, 1080]
+  viewfinder: [1280, 720]
+- bds: [1984, 1472]
+  cio2: [4224, 3136]
+  gdc: [1920, 1432]
+  iff: [4216, 3128]
+  main: [1920, 1080]
+  viewfinder: [640, 480]
+- bds: [1984, 1472]
+  cio2: [4224, 3136]
+  gdc: [1920, 1432]
+  iff: [4216, 3128]
+  main: [1920, 1080]
+  viewfinder: [1280, 960]
+- bds: [1984, 1472]
+  cio2: [4224, 3136]
+  gdc: [1920, 1432]
+  iff: [4216, 3128]
+  main: [1920, 1080]
+  viewfinder: [320, 240]
+- bds: [1688, 1248]
+  cio2: [4224, 3136]
+  gdc: [1664, 1200]
+  iff: [4220, 3120]
+  main: [1600, 1200]
+  viewfinder: [1280, 720]
+- bds: [1632, 1216]
+  cio2: [4224, 3136]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [1600, 1200]
+  viewfinder: [640, 480]
+- bds: [1632, 1216]
+  cio2: [4224, 3136]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [1600, 1200]
+  viewfinder: [1280, 960]
+- bds: [1632, 1216]
+  cio2: [4224, 3136]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [1600, 1200]
+  viewfinder: [1600, 1200]
+- bds: [1632, 1216]
+  cio2: [4224, 3136]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [1600, 1200]
+  viewfinder: [320, 240]
+- bds: [1376, 1024]
+  cio2: [4224, 3136]
+  gdc: [1344, 960]
+  iff: [4214, 3136]
+  main: [1280, 960]
+  viewfinder: [1280, 720]
+- bds: [1344, 992]
+  cio2: [4224, 3136]
+  gdc: [1280, 960]
+  iff: [4200, 3100]
+  main: [1280, 960]
+  viewfinder: [640, 480]
+- bds: [1344, 992]
+  cio2: [4224, 3136]
+  gdc: [1280, 960]
+  iff: [4200, 3100]
+  main: [1280, 960]
+  viewfinder: [1280, 960]
+- bds: [1344, 992]
+  cio2: [4224, 3136]
+  gdc: [1280, 960]
+  iff: [4200, 3100]
+  main: [1280, 960]
+  viewfinder: [320, 240]
+- bds: [1632, 1216]
+  cio2: [4224, 3136]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [640, 480]
+  viewfinder: [0, 0]
+- bds: [1632, 1216]
+  cio2: [4224, 3136]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [320, 240]
+  viewfinder: [0, 0]
+- bds: [1632, 1216]
+  cio2: [4224, 3136]
+  gdc: [1600, 1200]
+  iff: [4182, 3116]
+  main: [1600, 1200]
+  viewfinder: [0, 0]
+- bds: [4224, 3136]
+  cio2: [4224, 3136]
+  gdc: [4096, 3072]
+  iff: [4224, 3136]
+  main: [4096, 3072]
+  viewfinder: [0, 0]
diff --git a/src/android/data/soraka/ov5670.yaml b/src/android/data/soraka/ov5670.yaml
new file mode 100644
index 00000000..35ad8684
--- /dev/null
+++ b/src/android/data/soraka/ov5670.yaml
@@ -0,0 +1,242 @@
+still_mode:
+- bds: [2592, 1944]
+  cio2: [2592, 1944]
+  gdc: [2560, 1920]
+  iff: [2592, 1944]
+  main: [1600, 1200]
+  viewfinder: [0, 0]
+- bds: [2592, 1944]
+  cio2: [2592, 1944]
+  gdc: [2560, 1920]
+  iff: [2592, 1944]
+  main: [1280, 960]
+  viewfinder: [0, 0]
+- bds: [2592, 1944]
+  cio2: [2592, 1944]
+  gdc: [2560, 1920]
+  iff: [2592, 1944]
+  main: [2560, 1920]
+  viewfinder: [0, 0]
+- bds: [2592, 1944]
+  cio2: [2592, 1944]
+  gdc: [2560, 1920]
+  iff: [2592, 1944]
+  main: [1920, 1080]
+  viewfinder: [0, 0]
+- bds: [2592, 1944]
+  cio2: [2592, 1944]
+  gdc: [2560, 1920]
+  iff: [2592, 1944]
+  main: [1280, 720]
+  viewfinder: [0, 0]
+- bds: [2592, 1944]
+  cio2: [2592, 1944]
+  gdc: [2560, 1920]
+  iff: [2592, 1944]
+  main: [640, 480]
+  viewfinder: [0, 0]
+- bds: [2592, 1944]
+  cio2: [2592, 1944]
+  gdc: [2560, 1920]
+  iff: [2592, 1944]
+  main: [320, 240]
+  viewfinder: [0, 0]
+video_mode:
+- bds: [1952, 1152]
+  cio2: [2592, 1944]
+  gdc: [1920, 1080]
+  iff: [2562, 1512]
+  main: [1920, 1080]
+  viewfinder: [1920, 1080]
+- bds: [2592, 1944]
+  cio2: [2592, 1944]
+  gdc: [2560, 1920]
+  iff: [2592, 1944]
+  main: [2560, 1920]
+  viewfinder: [1920, 1080]
+- bds: [1952, 1152]
+  cio2: [2592, 1944]
+  gdc: [1920, 1080]
+  iff: [2562, 1512]
+  main: [1920, 1080]
+  viewfinder: [0, 0]
+- bds: [1952, 1152]
+  cio2: [2592, 1944]
+  gdc: [1920, 1080]
+  iff: [2562, 1512]
+  main: [1920, 1080]
+  viewfinder: [1280, 720]
+- bds: [1296, 972]
+  cio2: [2592, 1944]
+  gdc: [1280, 960]
+  iff: [2592, 1944]
+  main: [1280, 960]
+  viewfinder: [1280, 720]
+- bds: [1296, 804]
+  cio2: [2592, 1944]
+  gdc: [1280, 720]
+  iff: [2592, 1608]
+  main: [1280, 720]
+  viewfinder: [1280, 720]
+- bds: [1632, 1216]
+  cio2: [2592, 1944]
+  gdc: [1600, 1200]
+  iff: [2550, 1900]
+  main: [1600, 1200]
+  viewfinder: [1280, 720]
+- bds: [2592, 1944]
+  cio2: [2592, 1944]
+  gdc: [2560, 1920]
+  iff: [2592, 1944]
+  main: [2560, 1920]
+  viewfinder: [1280, 720]
+- bds: [1952, 1152]
+  cio2: [2592, 1944]
+  gdc: [1920, 1080]
+  iff: [2562, 1512]
+  main: [1280, 720]
+  viewfinder: [0, 0]
+- bds: [1952, 1472]
+  cio2: [2592, 1944]
+  gdc: [1920, 1440]
+  iff: [2562, 1932]
+  main: [1920, 1080]
+  viewfinder: [640, 480]
+- bds: [1296, 972]
+  cio2: [2592, 1944]
+  gdc: [1280, 960]
+  iff: [2592, 1944]
+  main: [1280, 960]
+  viewfinder: [640, 480]
+- bds: [1296, 972]
+  cio2: [2592, 1944]
+  gdc: [1280, 960]
+  iff: [2592, 1944]
+  main: [1280, 720]
+  viewfinder: [640, 480]
+- bds: [1632, 1216]
+  cio2: [2592, 1944]
+  gdc: [1600, 1200]
+  iff: [2550, 1900]
+  main: [1600, 1200]
+  viewfinder: [640, 480]
+- bds: [2592, 1944]
+  cio2: [2592, 1944]
+  gdc: [2560, 1920]
+  iff: [2592, 1944]
+  main: [2560, 1920]
+  viewfinder: [640, 480]
+- bds: [1632, 1216]
+  cio2: [2592, 1944]
+  gdc: [1600, 1200]
+  iff: [2550, 1900]
+  main: [1600, 1200]
+  viewfinder: [1600, 1200]
+- bds: [2592, 1944]
+  cio2: [2592, 1944]
+  gdc: [2560, 1920]
+  iff: [2592, 1944]
+  main: [2560, 1920]
+  viewfinder: [1600, 1200]
+- bds: [2592, 1944]
+  cio2: [2592, 1944]
+  gdc: [2560, 1920]
+  iff: [2592, 1944]
+  main: [1600, 1200]
+  viewfinder: [0, 0]
+- bds: [1952, 1472]
+  cio2: [2592, 1944]
+  gdc: [1920, 1440]
+  iff: [2562, 1932]
+  main: [1920, 1080]
+  viewfinder: [1280, 960]
+- bds: [1296, 972]
+  cio2: [2592, 1944]
+  gdc: [1280, 960]
+  iff: [2592, 1944]
+  main: [1280, 960]
+  viewfinder: [1280, 960]
+- bds: [1632, 1216]
+  cio2: [2592, 1944]
+  gdc: [1600, 1200]
+  iff: [2550, 1900]
+  main: [1600, 1200]
+  viewfinder: [1280, 960]
+- bds: [2592, 1944]
+  cio2: [2592, 1944]
+  gdc: [2560, 1920]
+  iff: [2592, 1944]
+  main: [2560, 1920]
+  viewfinder: [1280, 960]
+- bds: [2592, 1944]
+  cio2: [2592, 1944]
+  gdc: [2560, 1920]
+  iff: [2592, 1944]
+  main: [1280, 960]
+  viewfinder: [0, 0]
+- bds: [1952, 1472]
+  cio2: [2592, 1944]
+  gdc: [1920, 1440]
+  iff: [2562, 1932]
+  main: [1920, 1080]
+  viewfinder: [320, 240]
+- bds: [1296, 972]
+  cio2: [2592, 1944]
+  gdc: [1280, 960]
+  iff: [2592, 1944]
+  main: [1280, 960]
+  viewfinder: [320, 240]
+- bds: [1296, 972]
+  cio2: [2592, 1944]
+  gdc: [1280, 960]
+  iff: [2592, 1944]
+  main: [1280, 720]
+  viewfinder: [320, 240]
+- bds: [1632, 1216]
+  cio2: [2592, 1944]
+  gdc: [1600, 1200]
+  iff: [2550, 1900]
+  main: [1600, 1200]
+  viewfinder: [320, 240]
+- bds: [2592, 1944]
+  cio2: [2592, 1944]
+  gdc: [2560, 1920]
+  iff: [2592, 1944]
+  main: [2560, 1920]
+  viewfinder: [2560, 1920]
+- bds: [2592, 1944]
+  cio2: [2592, 1944]
+  gdc: [2560, 1920]
+  iff: [2592, 1944]
+  main: [2560, 1920]
+  viewfinder: [0, 0]
+- bds: [1296, 972]
+  cio2: [2592, 1944]
+  gdc: [1280, 960]
+  iff: [2592, 1944]
+  main: [640, 480]
+  viewfinder: [0, 0]
+- bds: [1296, 972]
+  cio2: [2592, 1944]
+  gdc: [1280, 960]
+  iff: [2592, 1944]
+  main: [320, 240]
+  viewfinder: [0, 0]
+- bds: [976, 736]
+  cio2: [2576, 1936]
+  gdc: [960, 720]
+  iff: [2562, 1932]
+  main: [960, 720]
+  viewfinder: [320, 240]
+- bds: [2572, 1936]
+  cio2: [2576, 1936]
+  gdc: [2560, 1920]
+  iff: [2572, 1936]
+  main: [2560, 1920]
+  viewfinder: [320, 240]
+- bds: [2592, 1944]
+  cio2: [2592, 1944]
+  gdc: [2560, 1920]
+  iff: [2592, 1944]
+  main: [1920, 1080]
+  viewfinder: [1600, 1200]
-- 
2.35.0.263.gb82422642f-goog



More information about the libcamera-devel mailing list