Giter Club home page Giter Club logo

camera_ros's Introduction

ROS 2 node for libcamera

This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.

Install

Binary

Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros). If it's available, you can install the DEB or RPM packages via:

# source ROS distribution
source /opt/ros/humble/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros

Source

libcamera dependency

The camera_ros node depends on libcamera version 0.1 or later.

Some Linux and ROS distributions provide binary libcamera packages. Check your package manager for libcamera and rosdep resolve libcamera to see if binary packages are available.

If your distribution does not provide a binary libcamera package, you have to compile libcamera from source either independent of the colcon workspace according to the official build instructions or as part of the colcon workspace. Either way, you have to install libcamera's build dependencies manually:

# DEB
sudo apt install pkg-config python3-yaml python3-ply python3-jinja2 openssl libyaml-dev libssl-dev libudev-dev libatomic1 meson
# RPM
sudo dnf install pkgconfig python3-yaml python3-ply python3-jinja2 openssl libyaml-devel openssl-devel libudev-devel libatomic meson

build camera_ros

The camera_ros package is built in a colcon workspace. The following instructions assume that you are building libcamera from source in the colcon workspace.

# create workspace with camera_ros package
mkdir -p ~/camera_ws/
cd ~/camera_ws/
git clone https://github.com/christianrauch/camera_ros.git src/camera_ros

# optional: build libcamera in colcon workspace
pip install colcon-meson
git clone https://git.libcamera.org/libcamera/libcamera.git src/libcamera

# resolve binary dependencies and build workspace
source /opt/ros/humble/setup.bash
rosdep install --from-paths src --ignore-src --skip-keys=libcamera
colcon build

If you installed libcamera externally, you can omit the colcon-meson and libcamera steps. Additionally, if there is a binary package and a rosdep entry for libcamera (check with rosdep resolve libcamera) you can also omit --skip-keys=libcamera and have this binary dependency resolved automatically.

Launching the Node

The package provides a standalone node executable:

ros2 run camera_ros camera_node

a composable node (camera::CameraNode):

ros2 component standalone camera_ros camera::CameraNode

and an example launch file for the composable node:

ros2 launch camera_ros camera.launch.py

Parameters

The node provides two sets of parameters:

  1. static read-only parameters to configure the camera stream once at the beginning
  2. dynamic parameters which are generated from the camera controls to change per-frame settings and which can be changed at runtime

Those parameters can be set on the command line:

# standalone executable
ros2 run camera_ros camera_node --ros-args -p param1:=arg1 -p param2:=arg2
# composable node
ros2 component standalone camera_ros camera::CameraNode -p param1:=arg1 -p param2:=arg2

or dynamically via the ROS parameter API.

Static Camera Stream Configuration

The camera stream is configured once when the node starts via the following static read-only parameters:

name type description
camera integer or string selects the camera by index (e.g. 0) or by name (e.g. /base/soc/i2c0mux/i2c@1/ov5647@36) [default: 0]
role string configures the camera with a StreamRole (possible choices: raw, still, video, viewfinder) [default: video]
format string a PixelFormat that is supported by the camera [default: auto]
width, height integer desired image resolution [default: auto]

The configuration is done in the following order:

  1. select camera via camera
  2. configure camera stream via role
  3. set the pixel format for the stream via format
  4. set the image resolution for the stream via width and height

Each stream role only supports a discrete set of data stream configurations as a combination of the image resolution and pixel format. The selected stream configuration is validated at the end of this sequence and adjusted to the closest valid stream configuration.

By default, the node will select the first available camera and configures it with the default pixel format and image resolution. If a parameter has not been set, the node will print the available options and inform the user about the default choice.

The node avoids memory copies of the image data by directly mapping from a camera pixel format to a ROS image format, with the exception of converting between "raw" and "compressed" image formats when requested by the user. As an effect, not all pixel formats that are supported by the camera may be supported by the ROS image message. Hence, the options for format are limited to pixel formats that are supported by the camera and the raw ROS image message.

Dynamic Frame Configuration (controls)

The dynamic parameters are created at runtime by inspecting the controls that are exposed by the camera. The set of exposed controls is camera-dependent. The ROS parameters are directly formatted from the exposed controls, hence the parameter names match the control names.

libcamera does not expose the framerate directly as a parameter. Instead, the framerate range has to be converted to a duration: $$\text{duration} = \frac{1}{\text{framerate}} \cdot 10^6 \ µs$$ and then set via the control FrameDurationLimits, if it is exposed by the camera:

# set fixed framerate of 20 Hz (50 ms)
ros2 run camera_ros camera_node --ros-args -p FrameDurationLimits:="[50000,50000]"

camera_ros's People

Contributors

christian-nils avatar christianrauch avatar emrekuru97 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

camera_ros's Issues

colcon build camera_ros end with error

Hi,
ubuntu 22.04 aarch64
on raspberrypi 4B 8Go

pi@pi-desktop:~/ros2_ws$ colcon build --packages-select camera_ros
Starting >>> camera_ros
--- stderr: camera_ros                             
In file included from /usr/include/c++/11/bits/move.h:57,
                 from /usr/include/c++/11/bits/stl_pair.h:59,
                 from /usr/include/c++/11/utility:70,
                 from /usr/include/c++/11/optional:36,
                 from /usr/local/include/libcamera/libcamera/controls.h:11,
                 from /home/pi/ros2_ws/src/camera_ros-main/src/clamp.hpp:2,
                 from /home/pi/ros2_ws/src/camera_ros-main/src/CameraNode.cpp:1:
/usr/include/c++/11/type_traits:2364:32: internal compiler error: Erreur de segmentation
 2364 |     auto declval() noexcept -> decltype(__declval<_Tp>(0))
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
0xffff806b73fb __libc_start_call_main
	../sysdeps/nptl/libc_start_call_main.h:58
0xffff806b74cb __libc_start_main_impl
	../csu/libc-start.c:392
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-11/README.Bugs> for instructions.
gmake[2]: *** [CMakeFiles/camera_component.dir/build.make:76 : CMakeFiles/camera_component.dir/src/CameraNode.cpp.o] Erreur 1
gmake[1]: *** [CMakeFiles/Makefile2:248 : CMakeFiles/camera_component.dir/all] Erreur 2
gmake: *** [Makefile:146 : all] Erreur 2
---
Failed   <<< camera_ros [8.36s, exited with code 2]

Summary: 0 packages finished [9.16s]
  1 package failed: camera_ros
  1 package had stderr output: camera_ros
pi@pi-desktop:~/ros2_ws$ 

On humble, RPI 4 ARM64, Rasperry pi Cam2 -probably not your issue, but thought you'd like to know.

I am guessing this has to do with a kernel /libcamera mismatch. Same erro in libcamera-hello, so I don't know if a bug report to libcamera would help.

uname -a
Linux ubiq22-desktop 5.15.0-1012-raspi #14-Ubuntu SMP PREEMPT Fri Jun 24 13:10:28 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
ros2 run camera_ros camera_node 
[0:02:06.816653196] [1983]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3777-69ae75b0
[0:02:06.872656969] [1994]  WARN RPI raspberrypi.cpp:1252 Mismatch between Unicam and CamHelper for embedded data usage!
[0:02:06.873502243] [1994]  INFO RPI raspberrypi.cpp:1368 Registered camera /base/soc/i2c0mux/i2c@1/imx219@10 to Unicam device /dev/media1 and ISP device /dev/media0

[0:02:06.884896475] [1983]  INFO Camera camera.cpp:1029 configuring streams: (0) 1920x1080-YUYV
[0:02:06.885520356] [1994]  INFO RPI raspberrypi.cpp:759 Sensor: /base/soc/i2c0mux/i2c@1/imx219@10 - Selected sensor format: 1920x1080-SBGGR10_1X10 - Selected unicam format: 1920x1080-pBAA
camera "/base/soc/i2c0mux/i2c@1/imx219@10" configured with 1920x1080-YUYV stream
[0:02:07.934102503] [1994] ERROR V4L2 v4l2_videodevice.cpp:1867 /dev/video0[29:cap]: Failed to start streaming: Input/output error
terminate called after throwing an instance of 'std::runtime_error'
  what():  failed to start camera
[ros2run]: Aborted

/usr/include/camera_info_manager/camera_info_manager.h

hi,
Linux pi-desktop 5.15.0-1015-raspi #17-Ubuntu SMP PREEMPT Mon Sep 12 13:14:51 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
ubuntu 22.04
ros2 humble
In CameraNode.ccp, I have to add :
#include <sensor_msgs/msg/camera_info.hpp>,
the header is in source /opt/ros/humble/include otherwise th header /usr/include/sensor_msgs is used and CameraInfo is not member of sensor_msgs/msg but sensor_msg.
But, I still have errors with colcon build

Starting >>> camera_ros
[Processing: camera_ros]                             
--- stderr: camera_ros                               
/home/pi/mes_ros2/src/camera_ros/src/CameraNode.cpp: In constructor ‘camera::CameraNode::CameraNode(const rclcpp::NodeOptions&)’:
/home/pi/mes_ros2/src/camera_ros/src/CameraNode.cpp:176:87: error: no matching function for call to ‘camera_info_manager::CameraInfoManager::CameraInfoManager(camera::CameraNode*)’
  176 | onst rclcpp::NodeOptions &options) : Node("camera", options), cim(this)
      |                                                               ^~~~~~~~~
In file included from /home/pi/mes_ros2/src/camera_ros/src/CameraNode.cpp:6:
/usr/include/camera_info_manager/camera_info_manager.h:192:3: note: candidate: ‘camera_info_manager::CameraInfoManager::CameraInfoManager(ros::NodeHandle, const string&, const string&)’
  192 |   CameraInfoManager(ros::NodeHandle nh,
      |   ^~~~~~~~~~~~~~~~~
/usr/include/camera_info_manager/camera_info_manager.h:192:37: note:   no known conversion for argument 1 from ‘camera::CameraNode*’ to ‘ros::NodeHandle’
  192 |   CameraInfoManager(ros::NodeHandle nh,
      |                     ~~~~~~~~~~~~~~~~^~
/home/pi/mes_ros2/src/camera_ros/src/CameraNode.cpp: In member function ‘void camera::CameraNode::requestComplete(libcamera::Request*)’:
/home/pi/mes_ros2/src/camera_ros/src/CameraNode.cpp:530:56: error: conversion from ‘sensor_msgs::CameraInfo’ {aka ‘sensor_msgs::CameraInfo_<std::allocator<void> >’} to non-scalar type ‘sensor_msgs::msg::CameraInfo’ {aka ‘sensor_msgs::msg::CameraInfo_<std::allocator<void> >’} requested
  530 |     sensor_msgs::msg::CameraInfo ci = cim.getCameraInfo();
      |                                       ~~~~~~~~~~~~~~~~~^~
gmake[2]: *** [CMakeFiles/camera_component.dir/build.make:76 : CMakeFiles/camera_component.dir/src/CameraNode.cpp.o] Erreur 1
gmake[1]: *** [CMakeFiles/Makefile2:248 : CMakeFiles/camera_component.dir/all] Erreur 2
gmake: *** [Makefile:146 : all] Erreur 2
---
Failed   <<< camera_ros [33.2s, exited with code 2]

Summary: 0 packages finished [34.0s]
  1 package failed: camera_ros
  1 package had stderr output: camera_ros

`

colcon build error, camera-info-manager not found.

Hello, I am trying to run camera_ros on a raspberry pi 4 with the new rtos kernel. I had i running under humble on the standard kernel, but now I am getting this during colcon build:

/home/ubuntu/ros2_ws/src/camera_ros/src/CameraNode.cpp:6:10: fatal error: camera_info_manager/camera_info_manager.hpp: No such file or directory
    6 | #include <camera_info_manager/camera_info_manager.hpp>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

next I installed:

sudo apt install ros-humble-camera-info-manager
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
  kpartx liburcu8 sg3-utils-udev

I still get the error.

Any suggestions? Perhaps it is looking for camera_info_manager in the wrong location?

Last set of commits don't compile in Humble:-(

Hello, I tried to compile your sources in stock Humble and it seems, the latest set of commits does not work:-( src/CameraNode.cpp @ 6ae5548 works but everything else runs into compile errors:-(

  • I have only a camera_info_manager.h (not a *.hpp)
  • sensor_msgs/image_encodings.hpp seems to clash with the cv_bridge.h ... :-(

Any idea?
Thanks,
-- Marco

Error "what(): cannot create std::vector larger than max_size() [ros2run]: Aborted" when run camera_node

Hi, i try to run camera_node in Raspberry Pi 4 by command: ros2 run camera_ros camera_node --ros-args -p width:=640 -p height:=480
And I have an error:

[1:16:46.295450271] [14117] INFO Camera camera_manager.cpp:284 libcamera v0.2.0+31-5e4dc46a
[1:16:46.406360344] [14128] WARN RPiSdn sdn.cpp:39 Using legacy SDN tuning - please consider moving SDN inside rpi.denoise
[1:16:46.420912211] [14128] INFO RPI vc4.cpp:401 Registered camera /base/soc/i2c0mux/i2c@1/imx708@1a to Unicam device /dev/media4 and ISP device /dev/media0
[INFO] [1708395316.185715280] [camera]:

cameras:
0: imx708 (/base/soc/i2c0mux/i2c@1/imx708@1a)
[WARN] [1708395316.186056480] [camera]: no camera selected, using default: "/base/soc/i2c0mux/i2c@1/imx708@1a"
[INFO] [1708395316.188579951] [camera]:
stream formats:

  • Pixelformat: NV21 (64x64 - 4608x2592)
  • Pixelformat: YUV420 (64x64 - 4608x2592)
  • Pixelformat: NV12 (64x64 - 4608x2592)
  • Pixelformat: YVU420 (64x64 - 4608x2592)
  • Pixelformat: XBGR8888 (64x64 - 4608x2592)
  • Pixelformat: BGR888 (64x64 - 4608x2592)
  • Pixelformat: RGB888 (64x64 - 4608x2592)
  • Pixelformat: XRGB8888 (64x64 - 4608x2592)
  • Pixelformat: RGB565 (64x64 - 4608x2592)
  • Pixelformat: YVYU (64x64 - 4608x2592)
  • Pixelformat: YUYV (64x64 - 4608x2592)
  • Pixelformat: VYUY (64x64 - 4608x2592)
  • Pixelformat: UYVY (64x64 - 4608x2592)
    [WARN] [1708395316.189108444] [camera]: no pixel format selected, using default: "XBGR8888"
    [WARN] [1708395316.189741122] [camera]: stream configuration adjusted from "640x480-XBGR8888" to "640x480-XBGR8888"
    [1:16:46.426388739] [14117] INFO Camera camera.cpp:1183 configuring streams: (0) 640x480-XBGR8888
    [1:16:46.428186181] [14128] INFO RPI vc4.cpp:559 Sensor: /base/soc/i2c0mux/i2c@1/imx708@1a - Selected sensor format: 1536x864-SBGGR10_1X10 - Selected unicam format: 1536x864-pBAA
    [INFO] [1708395316.197436143] [camera]: camera "/base/soc/i2c0mux/i2c@1/imx708@1a" configured with 640x480-XBGR8888 stream
    terminate called after throwing an instance of 'std::length_error'
    what(): cannot create std::vector larger than max_size()
    [ros2run]: Aborted

Is it necessary to have a camera.yaml file somewhere to specify parameters? Thank you.

raspbian bullseye, humble, error on node startup with arducam-pivariety camera

I have arducam-pivariety B0353 (AR0234) running on bullseye (verified with libcamera-raw).

Tried to run camera_ros (73f7ced), but getting a runtime_error:

ros2 run camera_ros camera_node --ros-args -p width:=1920 -p height:=1200 -p format:=RGB888
[65:43:51.897428496] [30680]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3875-5eb7be6a
[65:43:51.942223710] [30693]  WARN CameraSensorProperties camera_sensor_properties.cpp:174 No static properties available for 'arducam-pivariety'
[65:43:51.942315135] [30693]  WARN CameraSensorProperties camera_sensor_properties.cpp:176 Please consider updating the camera sensor properties database
[65:43:51.952599892] [30693] ERROR IPAProxy ipa_proxy.cpp:149 Configuration file 'arducam-pivariety.json' not found for IPA module 'raspberrypi'
[65:43:52.397740961] [30693]  INFO RPI raspberrypi.cpp:1374 Registered camera /base/soc/i2c0mux/i2c@1/arducam_pivariety@c to Unicam device /dev/media2 and ISP device /dev/media3
>> cameras:
0: arducam-pivariety (/base/soc/i2c0mux/i2c@1/arducam_pivariety@c)
>> stream configurations:

[... long list of configurations, including   "- Pixelformat: RGB888 (64x64 - 1920x1200)" ...]

[65:43:52.417725543] [30680]  INFO Camera camera.cpp:1035 configuring streams: (0) 1920x1200-RGB888
[65:43:52.506216179] [30693]  INFO RPI raspberrypi.cpp:761 Sensor: /base/soc/i2c0mux/i2c@1/arducam_pivariety@c - Selected sensor format: 1920x1200-SGRBG10_1X10 - Selected unicam format: 1920x1200-pgAA
camera "/base/soc/i2c0mux/i2c@1/arducam_pivariety@c" configured with 1920x1200-RGB888 stream
[WARN] [1662366193.047733808] [camera]: control NoiseReductionMode (39) not handled
terminate called after throwing an instance of 'std::runtime_error'
  what():  unsupported ControlValue cast
[ros2run]: Aborted

(Probably unrelated: The arducam wiki says not to worry about the missing .json file. Not sure if that is the right approach, but it didn't seem to bother libcamera-raw...)

Is there an example launch file?

Hi @christianrauch
Thank you very much for this great package.

Could you please provide an example launch file to run the camera node and set its parameters?

Also, can the camera node be containerized with another ros2 node?

Thanks.

error building in Ubuntu 22.04 raspberry pi ARM64

o suppress this warning ignore these packages in the workspace:
--packages-ignore camera_calibration_parsers camera_info_manager
--- stderr: camera_ros
CMake Error at /usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:603 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:825 (_pkg_check_modules_internal)
CMakeLists.txt:19 (pkg_check_modules)

I am not sure what wasn't found everything seems to be in the CMakeLists - but although libcamera is installed, it appears not to work.

No cameras available on Ubuntu 22.04 with ROS humble

Hi, I would like to use your camera_ros package for my ROS humble project on Raspberry Pi 4B with Ubuntu 22.04 (Jammy Jellyfish) and Camera Module 3. I was able to build my ros workspace but when I tried to run
ros2 run camera_ros camera_node
libcamera cannot find any cameras available. Did I miss something in my setup?

Support for Image Transport (Idea)

Hello,
Why aren't the advantages provided by the image_transport used when broadcasting images to the system? Is there a special reason for this? Or would it be useful to implement this when brodcarstin images?

FPS and resolution

Is it possible to change fps rate resolution of libcamera. how to do this

Could not find a package configuration file provided by "cv_bridge"

Hello! I am tringing to build your node with colcon build but i get this error:
Could not find a package configuration file provided by cv_bridge with any of the following names: cv_bridgeConfig.cmake cv_bridge-config.cmake
I tried to install cv bridge using sudo apt-get install ros-humble-cv-bridge but it was unable to locate the package.
How can i solve this? Thank you!

Raspberry Pi 5 with IMX477

Hello,

Thanks for this great ROS2 package!

I have a RPi 5 with 2 Raspberry Pi HQ cameras (IMX477). The host OS is Raspberry Pi OS (bookworm) Lite 64bits. The docker image is based on ubuntu:22.04.

When installing ros-humble-camera-ros, I do not have any camera available when executing ros2 run camera_ros camera_node. I built the Raspberry Pi's libcamera (https://github.com/raspberrypi/libcamera) adapting your repo (https://github.com/christian-nils/libcamera_cmake/) and now the cameras are detected, but when I execute ros2 run camera_ros camera_node --ros-args -p camera:=0 -p width:=2028 -p height:=1520 -p role:=video -p format:=RGGB_PISP_COMP1 I have an error, see the debug log below:

camera_ros logs
root@microvision:~/ws# ros2 run  camera_ros camera_node --ros-args -p camera:=0 -p width:=2028 -p height:=1520 -p role:=video -p format:=RGGB_PISP_COMP1
[2:47:12.122992721] [9845] DEBUG IPAModule ipa_module.cpp:334 ipa_rpi_pisp.so: IPA module /root/ws/install/libcamera/lib/libcamera/ipa_rpi_pisp.so is signed
[2:47:12.123509383] [9845] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/root/ws/install/libcamera/lib/libcamera/ipa_rpi_pisp.so'
[2:47:12.123999195] [9845] DEBUG IPAModule ipa_module.cpp:334 ipa_rpi_vc4.so: IPA module /root/ws/install/libcamera/lib/libcamera/ipa_rpi_vc4.so is signed
[2:47:12.124153453] [9845] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/root/ws/install/libcamera/lib/libcamera/ipa_rpi_vc4.so'
[2:47:12.131916377] [9845]  INFO Camera camera_manager.cpp:284 libcamera v0.0.0+1-eb00c13d
[2:47:12.132112597] [9855] DEBUG Camera camera_manager.cpp:69 Starting camera manager
[2:47:12.132325170] [9855] DEBUG DeviceEnumerator device_enumerator.cpp:230 New media device "rpivid" created from /dev/media4
[2:47:12.132483169] [9855] DEBUG DeviceEnumerator device_enumerator.cpp:258 Added device /dev/media4: rpivid
[2:47:12.132561335] [9855] DEBUG DeviceEnumerator device_enumerator.cpp:230 New media device "pispbe" created from /dev/media2
[2:47:12.132741222] [9855] DEBUG DeviceEnumerator device_enumerator.cpp:258 Added device /dev/media2: pispbe
[2:47:12.132816240] [9855] DEBUG DeviceEnumerator device_enumerator.cpp:230 New media device "rp1-cfe" created from /dev/media0
[2:47:12.132983924] [9855] DEBUG DeviceEnumerator device_enumerator.cpp:258 Added device /dev/media0: rp1-cfe
[2:47:12.133038572] [9855] DEBUG DeviceEnumerator device_enumerator.cpp:230 New media device "pispbe" created from /dev/media3
[2:47:12.133167553] [9855] DEBUG DeviceEnumerator device_enumerator.cpp:258 Added device /dev/media3: pispbe
[2:47:12.133219108] [9855] DEBUG DeviceEnumerator device_enumerator.cpp:230 New media device "rp1-cfe" created from /dev/media1
[2:47:12.133375014] [9855] DEBUG DeviceEnumerator device_enumerator.cpp:258 Added device /dev/media1: rp1-cfe
[2:47:12.133405884] [9855] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerISI'
[2:47:12.133454995] [9855] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerIPU3'
[2:47:12.133488735] [9855] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerMaliC55'
[2:47:12.133514550] [9855] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerRkISP1'
[2:47:12.133539328] [9855] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerPiSP'
[2:47:12.133560364] [9855] DEBUG DeviceEnumerator device_enumerator.cpp:318 Successful match for media device "rp1-cfe"
[2:47:12.133592586] [9855] DEBUG DeviceEnumerator device_enumerator.cpp:318 Successful match for media device "pispbe"
[2:47:12.133669327] [9855]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 23-04-2024 (19:55:26)
[2:47:12.134363488] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Exposure (0x00980911)
[2:47:12.134407729] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Horizontal Flip (0x00980914)
[2:47:12.134422191] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Vertical Flip (0x00980915)
[2:47:12.134433691] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Camera Orientation (0x009a0922)
[2:47:12.134472006] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Camera Sensor Rotation (0x009a0923)
[2:47:12.134488487] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Vertical Blanking (0x009e0901)
[2:47:12.134507135] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Horizontal Blanking (0x009e0902)
[2:47:12.134519876] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Analogue Gain (0x009e0903)
[2:47:12.134546746] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Red Pixel Value (0x009e0904)
[2:47:12.134568579] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Green (Red) Pixel Value (0x009e0905)
[2:47:12.134590949] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Blue Pixel Value (0x009e0906)
[2:47:12.134612375] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Green (Blue) Pixel Value (0x009e0907)
[2:47:12.134637708] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Link Frequency (0x009f0901)
[2:47:12.134664301] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Pixel Rate (0x009f0902)
[2:47:12.134688430] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Test Pattern (0x009f0903)
[2:47:12.134717263] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Digital Gain (0x009f0905)
[2:47:12.135116075] [9855] DEBUG CameraSensor camera_sensor.cpp:410 'imx477 6-001a': No static test pattern map for 'imx477'
[2:47:12.135959921] [9855] DEBUG IPAManager ipa_manager.cpp:316 IPA module /root/ws/install/libcamera/lib/libcamera/ipa_rpi_pisp.so signature is valid
[2:47:12.136032587] [9855] DEBUG IPAProxy raspberrypi_ipa_proxy.cpp:45 initializing raspberrypi proxy: loading IPA from /root/ws/install/libcamera/lib/libcamera/ipa_rpi_pisp.so
[2:47:12.141757600] [9855] DEBUG RPiBlackLevel black_level.cpp:41  Read black levels red 4096 green 4096 blue 4096
[2:47:12.142041487] [9855] DEBUG RPiAgc agc.cpp:49 Read AGC channel
[2:47:12.142082764] [9855] DEBUG RPiAgc agc_channel.cpp:218 AgcConfig
[2:47:12.142244578] [9855] DEBUG RPiAgc agc.cpp:49 Read AGC channel
[2:47:12.142258374] [9855] DEBUG RPiAgc agc_channel.cpp:218 AgcConfig
[2:47:12.142350855] [9855] DEBUG RPiAgc agc.cpp:49 Read AGC channel
[2:47:12.142378077] [9855] DEBUG RPiAgc agc_channel.cpp:218 AgcConfig
[2:47:12.142469335] [9855] DEBUG RPiAgc agc.cpp:49 Read AGC channel
[2:47:12.142477632] [9855] DEBUG RPiAgc agc_channel.cpp:218 AgcConfig
[2:47:12.142548946] [9855] DEBUG RPiAgc agc.cpp:56 Read 4 channel(s)
[2:47:12.142870962] [9855] DEBUG RPiAlsc alsc.cpp:139 Read calibrations_Cr calibration for ct 3000
[2:47:12.143011609] [9855] DEBUG RPiAlsc alsc.cpp:139 Read calibrations_Cr calibration for ct 5000
[2:47:12.143146775] [9855] DEBUG RPiAlsc alsc.cpp:139 Read calibrations_Cb calibration for ct 3000
[2:47:12.143286903] [9855] DEBUG RPiAlsc alsc.cpp:139 Read calibrations_Cb calibration for ct 5000
[2:47:12.143333496] [9855] DEBUG RPiSharpen sharpen.cpp:45 Read threshold 0.25 strength 1 limit 1
[2:47:12.143965195] [9855] DEBUG RPiDelayedControls delayed_controls.cpp:103 Set a delay of 3 and priority write flag 1 for Vertical Blanking
[2:47:12.143980935] [9855] DEBUG RPiDelayedControls delayed_controls.cpp:103 Set a delay of 3 and priority write flag 0 for Horizontal Blanking
[2:47:12.143986435] [9855] DEBUG RPiDelayedControls delayed_controls.cpp:103 Set a delay of 2 and priority write flag 0 for Exposure
[2:47:12.143990472] [9855] DEBUG RPiDelayedControls delayed_controls.cpp:103 Set a delay of 2 and priority write flag 0 for Analogue Gain
[2:47:12.144186841] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video12[28:cap]: Opened device platform:1f00110000.csi: rp1-cfe: rp1-cfe
[2:47:12.144238396] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video15[29:out]: Opened device platform:1f00110000.csi: rp1-cfe: rp1-cfe
[2:47:12.144254192] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video14[30:cap]: Opened device platform:1f00110000.csi: rp1-cfe: rp1-cfe
[2:47:12.144268100] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video9[31:cap]: Opened device platform:1f00110000.csi: rp1-cfe: rp1-cfe
[2:47:12.144283174] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video20[32:out]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:47:12.144328210] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video24[33:cap]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:47:12.144362784] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video25[34:cap]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:47:12.144397173] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video28[35:out]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:47:12.144410006] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video21[36:out]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:47:12.144444247] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video26[37:cap]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:47:12.144478098] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video22[38:out]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:47:12.144511765] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video27[39:cap]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:47:12.144566468] [9855]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx477@1a to CFE device /dev/media0 and ISP device /dev/media2 using PiSP variant BCM2712_C0
[2:47:12.144584431] [9855] DEBUG Camera camera_manager.cpp:125 Pipeline handler "PipelineHandlerPiSP" matched
[2:47:12.144593727] [9855] DEBUG DeviceEnumerator device_enumerator.cpp:318 Successful match for media device "rp1-cfe"
[2:47:12.144607227] [9855] DEBUG DeviceEnumerator device_enumerator.cpp:318 Successful match for media device "pispbe"
[2:47:12.144623690] [9855]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 23-04-2024 (19:55:26)
[2:47:12.145094427] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Exposure (0x00980911)
[2:47:12.145108464] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Horizontal Flip (0x00980914)
[2:47:12.145115779] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Vertical Flip (0x00980915)
[2:47:12.145122593] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Camera Orientation (0x009a0922)
[2:47:12.145131760] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Camera Sensor Rotation (0x009a0923)
[2:47:12.145138353] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Vertical Blanking (0x009e0901)
[2:47:12.145144093] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Horizontal Blanking (0x009e0902)
[2:47:12.145149741] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Analogue Gain (0x009e0903)
[2:47:12.145155519] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Red Pixel Value (0x009e0904)
[2:47:12.145161241] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Green (Red) Pixel Value (0x009e0905)
[2:47:12.145166815] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Blue Pixel Value (0x009e0906)
[2:47:12.145172223] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Green (Blue) Pixel Value (0x009e0907)
[2:47:12.145178704] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Link Frequency (0x009f0901)
[2:47:12.145184982] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Pixel Rate (0x009f0902)
[2:47:12.145191815] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Test Pattern (0x009f0903)
[2:47:12.145200463] [9855] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Digital Gain (0x009f0905)
[2:47:12.145423628] [9855] DEBUG CameraSensor camera_sensor.cpp:410 'imx477 4-001a': No static test pattern map for 'imx477'
[2:47:12.146141493] [9855] DEBUG IPAManager ipa_manager.cpp:316 IPA module /root/ws/install/libcamera/lib/libcamera/ipa_rpi_pisp.so signature is valid
[2:47:12.146174919] [9855] DEBUG IPAProxy raspberrypi_ipa_proxy.cpp:45 initializing raspberrypi proxy: loading IPA from /root/ws/install/libcamera/lib/libcamera/ipa_rpi_pisp.so
[2:47:12.151266881] [9855] DEBUG RPiBlackLevel black_level.cpp:41  Read black levels red 4096 green 4096 blue 4096
[2:47:12.151475361] [9855] DEBUG RPiAgc agc.cpp:49 Read AGC channel
[2:47:12.151487120] [9855] DEBUG RPiAgc agc_channel.cpp:218 AgcConfig
[2:47:12.151562749] [9855] DEBUG RPiAgc agc.cpp:49 Read AGC channel
[2:47:12.151568471] [9855] DEBUG RPiAgc agc_channel.cpp:218 AgcConfig
[2:47:12.151647286] [9855] DEBUG RPiAgc agc.cpp:49 Read AGC channel
[2:47:12.151652138] [9855] DEBUG RPiAgc agc_channel.cpp:218 AgcConfig
[2:47:12.151710452] [9855] DEBUG RPiAgc agc.cpp:49 Read AGC channel
[2:47:12.151714600] [9855] DEBUG RPiAgc agc_channel.cpp:218 AgcConfig
[2:47:12.151778600] [9855] DEBUG RPiAgc agc.cpp:56 Read 4 channel(s)
[2:47:12.152101819] [9855] DEBUG RPiAlsc alsc.cpp:139 Read calibrations_Cr calibration for ct 3000
[2:47:12.152256096] [9855] DEBUG RPiAlsc alsc.cpp:139 Read calibrations_Cr calibration for ct 5000
[2:47:12.152404336] [9855] DEBUG RPiAlsc alsc.cpp:139 Read calibrations_Cb calibration for ct 3000
[2:47:12.152537168] [9855] DEBUG RPiAlsc alsc.cpp:139 Read calibrations_Cb calibration for ct 5000
[2:47:12.152569075] [9855] DEBUG RPiSharpen sharpen.cpp:45 Read threshold 0.25 strength 1 limit 1
[2:47:12.153141608] [9855] DEBUG RPiDelayedControls delayed_controls.cpp:103 Set a delay of 3 and priority write flag 1 for Vertical Blanking
[2:47:12.153160367] [9855] DEBUG RPiDelayedControls delayed_controls.cpp:103 Set a delay of 3 and priority write flag 0 for Horizontal Blanking
[2:47:12.153165386] [9855] DEBUG RPiDelayedControls delayed_controls.cpp:103 Set a delay of 2 and priority write flag 0 for Exposure
[2:47:12.153169348] [9855] DEBUG RPiDelayedControls delayed_controls.cpp:103 Set a delay of 2 and priority write flag 0 for Analogue Gain
[2:47:12.153276274] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video4[47:cap]: Opened device platform:1f00128000.csi: rp1-cfe: rp1-cfe
[2:47:12.153308959] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video7[48:out]: Opened device platform:1f00128000.csi: rp1-cfe: rp1-cfe
[2:47:12.153323681] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video6[49:cap]: Opened device platform:1f00128000.csi: rp1-cfe: rp1-cfe
[2:47:12.153349458] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video1[50:cap]: Opened device platform:1f00128000.csi: rp1-cfe: rp1-cfe
[2:47:12.153365791] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video29[51:out]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:47:12.153406587] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video33[52:cap]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:47:12.153440495] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video34[53:cap]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:47:12.153473531] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video37[54:out]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:47:12.153486772] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video30[55:out]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:47:12.153519624] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video35[56:cap]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:47:12.153551272] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video31[57:out]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:47:12.153584438] [9855] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video36[58:cap]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:47:12.153631419] [9855]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@80000/imx477@1a to CFE device /dev/media1 and ISP device /dev/media3 using PiSP variant BCM2712_C0
[2:47:12.153646067] [9855] DEBUG Camera camera_manager.cpp:125 Pipeline handler "PipelineHandlerPiSP" matched
[2:47:12.153654012] [9855] DEBUG RPI pisp.cpp:865 Unable to acquire a CFE instance
[2:47:12.153659512] [9855] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerVc4'
[2:47:12.153670641] [9855] DEBUG RPI vc4.cpp:188 Unable to acquire a Unicam instance
[2:47:12.153674789] [9855] DEBUG RPI vc4.cpp:188 Unable to acquire a Unicam instance
[2:47:12.153678474] [9855] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'SimplePipelineHandler'
[2:47:12.153689530] [9855] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerUVC'
[2:47:12.153697826] [9855] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerVimc'
[2:47:12.154046435] [9845]  WARN V4L2 v4l2_pixelformat.cpp:344 Unsupported V4L2 pixel format RPBP
[2:47:12.154266766] [9845] DEBUG RPI pipeline_base.cpp:955 Format: 1332x990 fmt SRGGB10 Score: 3652.97 (best 3652.97)
[2:47:12.154313581] [9845] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1080 fmt SRGGB12 Score: 64.5 (best 64.5)
[2:47:12.154378395] [9845] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1520 fmt SRGGB12 Score: 1467.7 (best 64.5)
[2:47:12.154412599] [9845] DEBUG RPI pipeline_base.cpp:955 Format: 4056x3040 fmt SRGGB12 Score: 2354.7 (best 64.5)
[2:47:12.154442821] [9845] DEBUG RPI pisp.cpp:1251 minSize: width 30 height 18
[2:47:12.154562134] [9845] DEBUG RPI pisp.cpp:1295 For stream 1920x1080-YU12 swDownscale is 1
[2:47:12.154590245] [9845] DEBUG RPI pipeline_base.cpp:284 Try color space Rec709
[2:47:12.154716356] [9845] DEBUG Camera camera.cpp:1118 streams configuration: (0) 1920x1080-YUV420
[2:47:12.154883225] [9845] DEBUG Stream stream.cpp:254 Building range from discrete sizes
[2:47:12.154910502] [9845] DEBUG Stream stream.cpp:254 Building range from discrete sizes
[2:47:12.154974946] [9845] DEBUG Stream stream.cpp:254 Building range from discrete sizes
[2:47:12.154997668] [9845] DEBUG Stream stream.cpp:254 Building range from discrete sizes
[2:47:12.155053890] [9845] DEBUG Stream stream.cpp:254 Building range from discrete sizes
[2:47:12.155114667] [9845] DEBUG Stream stream.cpp:254 Building range from discrete sizes
[2:47:12.155134815] [9845] DEBUG Stream stream.cpp:254 Building range from discrete sizes
[2:47:12.155154000] [9845] DEBUG Stream stream.cpp:254 Building range from discrete sizes
[2:47:12.155382906] [9845] DEBUG RPI pipeline_base.cpp:955 Format: 1332x990 fmt SRGGB10 Score: 5456.22 (best 5456.22)
[2:47:12.155414091] [9845] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1080 fmt SRGGB12 Score: 3083.84 (best 3083.84)
[2:47:12.155438221] [9845] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1520 fmt SRGGB12 Score: 2000 (best 2000)
[2:47:12.155530961] [9845] DEBUG RPI pipeline_base.cpp:955 Format: 4056x3040 fmt SRGGB12 Score: 2887 (best 2000)
[WARN] [1713909734.779262208] [camera]: stream configuration adjusted from "2028x1520-RGGB_PISP_COMP1" to "2028x1520-RGGB_PISP_COMP1"
[2:47:12.155868606] [9845] DEBUG RPI pipeline_base.cpp:955 Format: 1332x990 fmt SRGGB10 Score: 5456.22 (best 5456.22)
[2:47:12.155899884] [9845] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1080 fmt SRGGB12 Score: 3083.84 (best 3083.84)
[2:47:12.155921939] [9845] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1520 fmt SRGGB12 Score: 2000 (best 2000)
[2:47:12.155988883] [9845] DEBUG RPI pipeline_base.cpp:955 Format: 4056x3040 fmt SRGGB12 Score: 2887 (best 2000)
[2:47:12.156130956] [9845] ERROR Camera camera.cpp:1171 Can't configure camera with invalid configuration
terminate called after throwing an instance of 'std::runtime_error'
  what():  failed to configure streams
[ros2run]: Aborted

It seems that the configuration I used is not supported. When using rpicam-vid with the same parameters (I guess), I can get the video frames:

rpicam-vid logs
root@microvision:~/ws# rpicam-vid --camera 1 -n --height 1520 --width 2028
[2:57:11.849473269] [9929] DEBUG IPAModule ipa_module.cpp:334 ipa_rpi_pisp.so: IPA module /root/ws/install/libcamera/lib/libcamera/ipa_rpi_pisp.so is signed
[2:57:11.849561194] [9929] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/root/ws/install/libcamera/lib/libcamera/ipa_rpi_pisp.so'
[2:57:11.849637286] [9929] DEBUG IPAModule ipa_module.cpp:334 ipa_rpi_vc4.so: IPA module /root/ws/install/libcamera/lib/libcamera/ipa_rpi_vc4.so is signed
[2:57:11.849653731] [9929] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/root/ws/install/libcamera/lib/libcamera/ipa_rpi_vc4.so'
[2:57:11.849691656] [9929]  INFO Camera camera_manager.cpp:284 libcamera v0.0.0+1-eb00c13d
[2:57:11.849837803] [9930] DEBUG Camera camera_manager.cpp:69 Starting camera manager
[2:57:11.849994395] [9930] DEBUG DeviceEnumerator device_enumerator.cpp:230 New media device "rpivid" created from /dev/media4
[2:57:11.850244486] [9930] DEBUG DeviceEnumerator device_enumerator.cpp:258 Added device /dev/media4: rpivid
[2:57:11.850442188] [9930] DEBUG DeviceEnumerator device_enumerator.cpp:230 New media device "pispbe" created from /dev/media2
[2:57:11.850733648] [9930] DEBUG DeviceEnumerator device_enumerator.cpp:258 Added device /dev/media2: pispbe
[2:57:11.850882388] [9930] DEBUG DeviceEnumerator device_enumerator.cpp:230 New media device "rp1-cfe" created from /dev/media0
[2:57:11.851241645] [9930] DEBUG DeviceEnumerator device_enumerator.cpp:258 Added device /dev/media0: rp1-cfe
[2:57:11.851347385] [9930] DEBUG DeviceEnumerator device_enumerator.cpp:230 New media device "pispbe" created from /dev/media3
[2:57:11.851677160] [9930] DEBUG DeviceEnumerator device_enumerator.cpp:258 Added device /dev/media3: pispbe
[2:57:11.851792548] [9930] DEBUG DeviceEnumerator device_enumerator.cpp:230 New media device "rp1-cfe" created from /dev/media1
[2:57:11.852037954] [9930] DEBUG DeviceEnumerator device_enumerator.cpp:258 Added device /dev/media1: rp1-cfe
[2:57:11.852056620] [9930] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerISI'
[2:57:11.852081990] [9930] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerIPU3'
[2:57:11.852095842] [9930] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerMaliC55'
[2:57:11.852109509] [9930] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerRkISP1'
[2:57:11.852124045] [9930] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerPiSP'
[2:57:11.852131694] [9930] DEBUG DeviceEnumerator device_enumerator.cpp:318 Successful match for media device "rp1-cfe"
[2:57:11.852147064] [9930] DEBUG DeviceEnumerator device_enumerator.cpp:318 Successful match for media device "pispbe"
[2:57:11.852194563] [9930]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 23-04-2024 (19:55:26)
[2:57:11.852966539] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Exposure (0x00980911)
[2:57:11.852994909] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Horizontal Flip (0x00980914)
[2:57:11.853003724] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Vertical Flip (0x00980915)
[2:57:11.853012761] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Camera Orientation (0x009a0922)
[2:57:11.853028650] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Camera Sensor Rotation (0x009a0923)
[2:57:11.853037224] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Vertical Blanking (0x009e0901)
[2:57:11.853044446] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Horizontal Blanking (0x009e0902)
[2:57:11.853052261] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Analogue Gain (0x009e0903)
[2:57:11.853059557] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Red Pixel Value (0x009e0904)
[2:57:11.853066909] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Green (Red) Pixel Value (0x009e0905)
[2:57:11.853074872] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Blue Pixel Value (0x009e0906)
[2:57:11.853082131] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Green (Blue) Pixel Value (0x009e0907)
[2:57:11.853090575] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Link Frequency (0x009f0901)
[2:57:11.853099520] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Pixel Rate (0x009f0902)
[2:57:11.853108094] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Test Pattern (0x009f0903)
[2:57:11.853119816] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 6-001a': Control: Digital Gain (0x009f0905)
[2:57:11.853508942] [9930] DEBUG CameraSensor camera_sensor.cpp:410 'imx477 6-001a': No static test pattern map for 'imx477'
[2:57:11.854567712] [9930] DEBUG IPAManager ipa_manager.cpp:316 IPA module /root/ws/install/libcamera/lib/libcamera/ipa_rpi_pisp.so signature is valid
[2:57:11.854611860] [9930] DEBUG IPAProxy raspberrypi_ipa_proxy.cpp:45 initializing raspberrypi proxy: loading IPA from /root/ws/install/libcamera/lib/libcamera/ipa_rpi_pisp.so
[2:57:11.866266328] [9930] DEBUG RPiBlackLevel black_level.cpp:41  Read black levels red 4096 green 4096 blue 4096
[2:57:11.866910509] [9930] DEBUG RPiAgc agc.cpp:49 Read AGC channel
[2:57:11.867038174] [9930] DEBUG RPiAgc agc_channel.cpp:218 AgcConfig
[2:57:11.867335135] [9930] DEBUG RPiAgc agc.cpp:49 Read AGC channel
[2:57:11.867363542] [9930] DEBUG RPiAgc agc_channel.cpp:218 AgcConfig
[2:57:11.867487115] [9930] DEBUG RPiAgc agc.cpp:49 Read AGC channel
[2:57:11.867521578] [9930] DEBUG RPiAgc agc_channel.cpp:218 AgcConfig
[2:57:11.867677318] [9930] DEBUG RPiAgc agc.cpp:49 Read AGC channel
[2:57:11.867699892] [9930] DEBUG RPiAgc agc_channel.cpp:218 AgcConfig
[2:57:11.867813502] [9930] DEBUG RPiAgc agc.cpp:56 Read 4 channel(s)
[2:57:11.868371349] [9930] DEBUG RPiAlsc alsc.cpp:139 Read calibrations_Cr calibration for ct 3000
[2:57:11.868611366] [9930] DEBUG RPiAlsc alsc.cpp:139 Read calibrations_Cr calibration for ct 5000
[2:57:11.868833476] [9930] DEBUG RPiAlsc alsc.cpp:139 Read calibrations_Cb calibration for ct 3000
[2:57:11.869076029] [9930] DEBUG RPiAlsc alsc.cpp:139 Read calibrations_Cb calibration for ct 5000
[2:57:11.869267306] [9930] DEBUG RPiSharpen sharpen.cpp:45 Read threshold 0.25 strength 1 limit 1
[2:57:11.870321242] [9930] DEBUG RPiDelayedControls delayed_controls.cpp:103 Set a delay of 3 and priority write flag 1 for Vertical Blanking
[2:57:11.870366557] [9930] DEBUG RPiDelayedControls delayed_controls.cpp:103 Set a delay of 3 and priority write flag 0 for Horizontal Blanking
[2:57:11.870378483] [9930] DEBUG RPiDelayedControls delayed_controls.cpp:103 Set a delay of 2 and priority write flag 0 for Exposure
[2:57:11.870388723] [9930] DEBUG RPiDelayedControls delayed_controls.cpp:103 Set a delay of 2 and priority write flag 0 for Analogue Gain
[2:57:11.870541981] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video12[15:cap]: Opened device platform:1f00110000.csi: rp1-cfe: rp1-cfe
[2:57:11.870605648] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video15[16:out]: Opened device platform:1f00110000.csi: rp1-cfe: rp1-cfe
[2:57:11.870637981] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video14[17:cap]: Opened device platform:1f00110000.csi: rp1-cfe: rp1-cfe
[2:57:11.870666925] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video9[18:cap]: Opened device platform:1f00110000.csi: rp1-cfe: rp1-cfe
[2:57:11.870698091] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video20[19:out]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:57:11.870792424] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video24[20:cap]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:57:11.870875627] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video25[21:cap]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:57:11.870965200] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video28[22:out]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:57:11.871009848] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video21[23:out]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:57:11.871069070] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video26[24:cap]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:57:11.871145181] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video22[25:out]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:57:11.871219606] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video27[26:cap]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:57:11.871317161] [9930]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx477@1a to CFE device /dev/media0 and ISP device /dev/media2 using PiSP variant BCM2712_C0
[2:57:11.871358994] [9930] DEBUG Camera camera_manager.cpp:125 Pipeline handler "PipelineHandlerPiSP" matched
[2:57:11.871381123] [9930] DEBUG DeviceEnumerator device_enumerator.cpp:318 Successful match for media device "rp1-cfe"
[2:57:11.871404734] [9930] DEBUG DeviceEnumerator device_enumerator.cpp:318 Successful match for media device "pispbe"
[2:57:11.871446400] [9930]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 23-04-2024 (19:55:26)
[2:57:11.872120470] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Exposure (0x00980911)
[2:57:11.872151321] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Horizontal Flip (0x00980914)
[2:57:11.872166895] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Vertical Flip (0x00980915)
[2:57:11.872181858] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Camera Orientation (0x009a0922)
[2:57:11.872199062] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Camera Sensor Rotation (0x009a0923)
[2:57:11.872213339] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Vertical Blanking (0x009e0901)
[2:57:11.872242709] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Horizontal Blanking (0x009e0902)
[2:57:11.872259709] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Analogue Gain (0x009e0903)
[2:57:11.872274505] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Red Pixel Value (0x009e0904)
[2:57:11.872287857] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Green (Red) Pixel Value (0x009e0905)
[2:57:11.872325246] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Blue Pixel Value (0x009e0906)
[2:57:11.872345560] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Green (Blue) Pixel Value (0x009e0907)
[2:57:11.872360968] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Link Frequency (0x009f0901)
[2:57:11.872376301] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Pixel Rate (0x009f0902)
[2:57:11.872404190] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Test Pattern (0x009f0903)
[2:57:11.872428301] [9930] DEBUG V4L2 v4l2_device.cpp:636 'imx477 4-001a': Control: Digital Gain (0x009f0905)
[2:57:11.872752539] [9930] DEBUG CameraSensor camera_sensor.cpp:410 'imx477 4-001a': No static test pattern map for 'imx477'
[2:57:11.873773902] [9930] DEBUG IPAManager ipa_manager.cpp:316 IPA module /root/ws/install/libcamera/lib/libcamera/ipa_rpi_pisp.so signature is valid
[2:57:11.873831012] [9930] DEBUG IPAProxy raspberrypi_ipa_proxy.cpp:45 initializing raspberrypi proxy: loading IPA from /root/ws/install/libcamera/lib/libcamera/ipa_rpi_pisp.so
[2:57:11.880710461] [9930] DEBUG RPiBlackLevel black_level.cpp:41  Read black levels red 4096 green 4096 blue 4096
[2:57:11.880956144] [9930] DEBUG RPiAgc agc.cpp:49 Read AGC channel
[2:57:11.880979496] [9930] DEBUG RPiAgc agc_channel.cpp:218 AgcConfig
[2:57:11.881092458] [9930] DEBUG RPiAgc agc.cpp:49 Read AGC channel
[2:57:11.881111069] [9930] DEBUG RPiAgc agc_channel.cpp:218 AgcConfig
[2:57:11.881247512] [9930] DEBUG RPiAgc agc.cpp:49 Read AGC channel
[2:57:11.881266919] [9930] DEBUG RPiAgc agc_channel.cpp:218 AgcConfig
[2:57:11.881367752] [9930] DEBUG RPiAgc agc.cpp:49 Read AGC channel
[2:57:11.881385067] [9930] DEBUG RPiAgc agc_channel.cpp:218 AgcConfig
[2:57:11.881505973] [9930] DEBUG RPiAgc agc.cpp:56 Read 4 channel(s)
[2:57:11.881972636] [9930] DEBUG RPiAlsc alsc.cpp:139 Read calibrations_Cr calibration for ct 3000
[2:57:11.882180487] [9930] DEBUG RPiAlsc alsc.cpp:139 Read calibrations_Cr calibration for ct 5000
[2:57:11.882436448] [9930] DEBUG RPiAlsc alsc.cpp:139 Read calibrations_Cb calibration for ct 3000
[2:57:11.882665372] [9930] DEBUG RPiAlsc alsc.cpp:139 Read calibrations_Cb calibration for ct 5000
[2:57:11.882726427] [9930] DEBUG RPiSharpen sharpen.cpp:45 Read threshold 0.25 strength 1 limit 1
[2:57:11.883504384] [9930] DEBUG RPiDelayedControls delayed_controls.cpp:103 Set a delay of 3 and priority write flag 1 for Vertical Blanking
[2:57:11.883536032] [9930] DEBUG RPiDelayedControls delayed_controls.cpp:103 Set a delay of 3 and priority write flag 0 for Horizontal Blanking
[2:57:11.883547125] [9930] DEBUG RPiDelayedControls delayed_controls.cpp:103 Set a delay of 2 and priority write flag 0 for Exposure
[2:57:11.883558291] [9930] DEBUG RPiDelayedControls delayed_controls.cpp:103 Set a delay of 2 and priority write flag 0 for Analogue Gain
[2:57:11.883728531] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video4[34:cap]: Opened device platform:1f00128000.csi: rp1-cfe: rp1-cfe
[2:57:11.883782493] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video7[35:out]: Opened device platform:1f00128000.csi: rp1-cfe: rp1-cfe
[2:57:11.883813974] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video6[36:cap]: Opened device platform:1f00128000.csi: rp1-cfe: rp1-cfe
[2:57:11.883866881] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video1[37:cap]: Opened device platform:1f00128000.csi: rp1-cfe: rp1-cfe
[2:57:11.883915640] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video29[38:out]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:57:11.884025028] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video33[39:cap]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:57:11.884091028] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video34[40:cap]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:57:11.884147101] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video37[41:out]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:57:11.884175138] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video30[42:out]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:57:11.884232249] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video35[43:cap]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:57:11.884308267] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video31[44:out]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:57:11.884383081] [9930] DEBUG V4L2 v4l2_videodevice.cpp:632 /dev/video36[45:cap]: Opened device platform:1000880000.pisp_be: pispbe: pispbe
[2:57:11.884473469] [9930]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@80000/imx477@1a to CFE device /dev/media1 and ISP device /dev/media3 using PiSP variant BCM2712_C0
[2:57:11.884504914] [9930] DEBUG Camera camera_manager.cpp:125 Pipeline handler "PipelineHandlerPiSP" matched
[2:57:11.884522117] [9930] DEBUG RPI pisp.cpp:865 Unable to acquire a CFE instance
[2:57:11.884555987] [9930] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerVc4'
[2:57:11.884583950] [9930] DEBUG RPI vc4.cpp:188 Unable to acquire a Unicam instance
[2:57:11.884597487] [9930] DEBUG RPI vc4.cpp:188 Unable to acquire a Unicam instance
[2:57:11.884609024] [9930] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'SimplePipelineHandler'
[2:57:11.884637283] [9930] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerUVC'
[2:57:11.884657487] [9930] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerVimc'
Overriding H.264 level 4.2
[2:57:11.884908337] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 1332x990 fmt SRGGB10 Score: 10552.2 (best 10552.2)
[2:57:11.884941484] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1080 fmt SRGGB12 Score: 8179.84 (best 8179.84)
[2:57:11.884949873] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1520 fmt SRGGB12 Score: 7096 (best 7096)
[2:57:11.884957318] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 4056x3040 fmt SRGGB12 Score: 0 (best 0)
[2:57:11.884993410] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 1332x990 fmt SRGGB10 Score: 10552.2 (best 10552.2)
[2:57:11.885003410] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1080 fmt SRGGB12 Score: 8179.84 (best 8179.84)
[2:57:11.885012225] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1520 fmt SRGGB12 Score: 7096 (best 7096)
[2:57:11.885021336] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 4056x3040 fmt SRGGB12 Score: 0 (best 0)
[2:57:11.885074724] [9929] DEBUG Camera camera.cpp:1118 streams configuration: (0) 4056x3040-RGGB_PISP_COMP1
[2:57:11.885222556] [9929]  WARN V4L2 v4l2_pixelformat.cpp:344 Unsupported V4L2 pixel format RPBP
[2:57:11.885264797] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 1332x990 fmt SRGGB10 Score: 10552.2 (best 10552.2)
[2:57:11.885276112] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1080 fmt SRGGB12 Score: 8179.84 (best 8179.84)
[2:57:11.885283167] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1520 fmt SRGGB12 Score: 7096 (best 7096)
[2:57:11.885289815] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 4056x3040 fmt SRGGB12 Score: 0 (best 0)
[2:57:11.885320556] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 1332x990 fmt SRGGB10 Score: 10552.2 (best 10552.2)
[2:57:11.885328741] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1080 fmt SRGGB12 Score: 8179.84 (best 8179.84)
[2:57:11.885336259] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1520 fmt SRGGB12 Score: 7096 (best 7096)
[2:57:11.885344907] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 4056x3040 fmt SRGGB12 Score: 0 (best 0)
[2:57:11.885356185] [9929] DEBUG RPI pisp.cpp:1251 minSize: width 64 height 36
[2:57:11.885368000] [9929] DEBUG RPI pisp.cpp:1295 For stream 1920x1080-YU12 swDownscale is 1
[2:57:11.885378481] [9929] DEBUG RPI pipeline_base.cpp:284 Try color space Rec709
[2:57:11.885401648] [9929] DEBUG Camera camera.cpp:1118 streams configuration: (0) 1920x1080-YUV420 (1) 4056x3040-RGGB_PISP_COMP1
Mode selection for 2028:1520:12:P
    SRGGB10_CSI2P,1332x990/0 - Score: 3456.22
    SRGGB12_CSI2P,2028x1080/0 - Score: 1083.84
    SRGGB12_CSI2P,2028x1520/0 - Score: 0
    SRGGB12_CSI2P,4056x3040/0 - Score: 887
[2:57:11.885555128] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 1332x990 fmt SRGGB10 Score: 3456.22 (best 3456.22)
[2:57:11.885565517] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1080 fmt SRGGB12 Score: 1083.84 (best 1083.84)
[2:57:11.885572757] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1520 fmt SRGGB12 Score: 0 (best 0)
[2:57:11.885579498] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 4056x3040 fmt SRGGB12 Score: 887 (best 0)
[2:57:11.885589831] [9929] DEBUG RPI pisp.cpp:1251 minSize: width 32 height 24
[2:57:11.885596646] [9929] DEBUG RPI pisp.cpp:1295 For stream 2028x1520-YU12 swDownscale is 1
[2:57:11.885605035] [9929] DEBUG RPI pipeline_base.cpp:284 Try color space Rec709
Stream configuration adjusted
[2:57:11.885641924] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 1332x990 fmt SRGGB10 Score: 3456.22 (best 3456.22)
[2:57:11.885650590] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1080 fmt SRGGB12 Score: 1083.84 (best 1083.84)
[2:57:11.885657572] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 2028x1520 fmt SRGGB12 Score: 0 (best 0)
[2:57:11.885663831] [9929] DEBUG RPI pipeline_base.cpp:955 Format: 4056x3040 fmt SRGGB12 Score: 887 (best 0)
[2:57:11.885673127] [9929] DEBUG RPI pisp.cpp:1251 minSize: width 32 height 24
[2:57:11.885678868] [9929] DEBUG RPI pisp.cpp:1295 For stream 2028x1520-YU12 swDownscale is 1
[2:57:11.885685479] [9929] DEBUG RPI pipeline_base.cpp:284 Try color space Rec709
[2:57:11.885694738] [9929]  INFO Camera camera.cpp:1183 configuring streams: (0) 2028x1520-YUV420 (1) 2028x1520-RGGB_PISP_COMP1
[2:57:11.885831441] [9930]  INFO RPI pisp.cpp:1450 Sensor: /base/axi/pcie@120000/rp1/i2c@80000/imx477@1a - Selected sensor format: 2028x1520-SRGGB12_1X12 - Selected CFE format: 2028x1520-PC1R
[2:57:11.885849941] [9930] DEBUG RPI pisp.cpp:1504 Setting ISP Output1 to 2028x1520-YU12 (sw downscale 1)
[2:57:11.885860181] [9930] DEBUG RPI pisp.cpp:1510 After setFormat, stride 2048
[2:57:11.885865237] [9930] DEBUG RPI pisp.cpp:1520 Stream ISP Output1 has color space Rec709
[2:57:11.885884533] [9930] DEBUG RPI pisp.cpp:1575 Setting embedded data format 0x0-SENS
[2:57:11.885908107] [9930] DEBUG MediaDevice media_device.cpp:830 /dev/media1[rp1-cfe]: csi2[4] -> rp1-cfe-csi2_ch0[0]: 0
[2:57:11.885917273] [9930] DEBUG MediaDevice media_device.cpp:830 /dev/media1[rp1-cfe]: csi2[4] -> pisp-fe[0]: 1
[2:57:11.885924310] [9930] DEBUG MediaDevice media_device.cpp:830 /dev/media1[rp1-cfe]: csi2[5] -> rp1-cfe-embedded[0]: 1
[2:57:11.885931755] [9930] DEBUG MediaDevice media_device.cpp:830 /dev/media1[rp1-cfe]: rp1-cfe-fe_config[0] -> pisp-fe[1]: 1
[2:57:11.885939051] [9930] DEBUG MediaDevice media_device.cpp:830 /dev/media1[rp1-cfe]: pisp-fe[2] -> rp1-cfe-fe_image0[0]: 1
[2:57:11.885946125] [9930] DEBUG MediaDevice media_device.cpp:830 /dev/media1[rp1-cfe]: pisp-fe[3] -> rp1-cfe-fe_image1[0]: 0
[2:57:11.885952662] [9930] DEBUG MediaDevice media_device.cpp:830 /dev/media1[rp1-cfe]: pisp-fe[4] -> rp1-cfe-fe_stats[0]: 1
[2:57:11.886257141] [9930] DEBUG IPARPI ipa_base.cpp:1473 Applying AGC Exposure: 19989.67us (Shutter lines: 1318, AGC requested 20000.00us) Gain: 1 (Gain Code: 0)
[2:57:11.887090320] [9929] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.887822833] [9929] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.888343107] [9929] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.888884288] [9929] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.889391099] [9929] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.890052724] [9929] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.890401499] [9929] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.890762830] [9929] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.891110697] [9929] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.891517824] [9929] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.891867969] [9929] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.892253189] [9929] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[libx264 @ 0x555597c3ec40] frame MB size (127x95) > level limit (8704)
[libx264 @ 0x555597c3ec40] using cpu capabilities: ARMv8 NEON
[libx264 @ 0x555597c3ec40] profile High, level 4.2, 4:2:0, 8-bit
Output #0, h264, to '':
  Stream #0:0: Video: h264 (libx264), yuv420p(tv, bt709), 2028x1520, q=-1--1, 30 fps, 30 tbr, 1000k tbn
[2:57:11.895919458] [9929] DEBUG Request request.cpp:361 Created request - cookie: 0
[2:57:11.895972753] [9929] DEBUG Request request.cpp:361 Created request - cookie: 0
[2:57:11.895980013] [9929] DEBUG Request request.cpp:361 Created request - cookie: 0
[2:57:11.895985790] [9929] DEBUG Request request.cpp:361 Created request - cookie: 0
[2:57:11.895990661] [9929] DEBUG Request request.cpp:361 Created request - cookie: 0
[2:57:11.895995864] [9929] DEBUG Request request.cpp:361 Created request - cookie: 0
[2:57:11.896044901] [9929] DEBUG Camera camera.cpp:1341 Starting capture
[2:57:11.896330640] [9944] DEBUG IPARPI ipa_base.cpp:740 Request ctrl: Sharpness = 1.000000
[2:57:11.896379825] [9944] DEBUG IPARPI ipa_base.cpp:740 Request ctrl: Saturation = 1.000000
[2:57:11.896386769] [9944] DEBUG IPARPI ipa_base.cpp:740 Request ctrl: Contrast = 1.000000
[2:57:11.896392065] [9944] DEBUG IPARPI ipa_base.cpp:740 Request ctrl: Brightness = 0.000000
[2:57:11.896396806] [9944] DEBUG IPARPI ipa_base.cpp:740 Request ctrl: ExposureValue = 0.000000
[2:57:11.896420954] [9944] DEBUG RPiAgc agc.cpp:117 setEv 1 for channel 0
[2:57:11.896440694] [9944] DEBUG IPARPI ipa_base.cpp:740 Request ctrl: AwbMode = 0
[2:57:11.896458750] [9944] DEBUG IPARPI ipa_base.cpp:740 Request ctrl: AeMeteringMode = 0
[2:57:11.896473435] [9944] DEBUG IPARPI ipa_base.cpp:740 Request ctrl: FrameDurationLimits = [ 33333, 33333 ]
[2:57:11.896487268] [9944] DEBUG IPARPI ipa_base.cpp:740 Request ctrl: AeExposureMode = 0
[2:57:11.896492638] [9944] DEBUG RPiAgc agc.cpp:166 setExposureMode normal
[2:57:11.896508935] [9944] DEBUG IPARPI ipa_base.cpp:740 Request ctrl: NoiseReductionMode = 1
[2:57:11.896534472] [9944] DEBUG RPiAgc agc.cpp:219 switchMode for channel 0
[2:57:11.896570064] [9944] DEBUG RPiAgc agc_channel.cpp:591 ev 1 fixedShutter 0.00us fixedAnalogueGain 0
[2:57:11.896584434] [9944] DEBUG RPiAgc agc_channel.cpp:628 exposureMode normal constraintMode normal meteringMode centre-weighted
[2:57:11.896603693] [9944] DEBUG RPiAgc agc_channel.cpp:988 Output written, total exposure requested is 0.00us
[2:57:11.896608656] [9944] DEBUG RPiAgc agc_channel.cpp:990 Camera exposure update: shutter time 1000.00us analogue gain 1
[2:57:11.896624656] [9944] DEBUG RPiAgc agc.cpp:219 switchMode for channel 1
[2:57:11.896628286] [9944] DEBUG RPiAgc agc_channel.cpp:591 ev 1 fixedShutter 0.00us fixedAnalogueGain 0
[2:57:11.896634656] [9944] DEBUG RPiAgc agc_channel.cpp:628 exposureMode normal constraintMode normal meteringMode centre-weighted
[2:57:11.896639082] [9944] DEBUG RPiAgc agc_channel.cpp:988 Output written, total exposure requested is 0.00us
[2:57:11.896643286] [9944] DEBUG RPiAgc agc_channel.cpp:990 Camera exposure update: shutter time 1000.00us analogue gain 1
[2:57:11.896648082] [9944] DEBUG RPiAgc agc.cpp:219 switchMode for channel 2
[2:57:11.896651322] [9944] DEBUG RPiAgc agc_channel.cpp:591 ev 1 fixedShutter 0.00us fixedAnalogueGain 0
[2:57:11.896657045] [9944] DEBUG RPiAgc agc_channel.cpp:628 exposureMode normal constraintMode normal meteringMode centre-weighted
[2:57:11.896661082] [9944] DEBUG RPiAgc agc_channel.cpp:988 Output written, total exposure requested is 0.00us
[2:57:11.896665637] [9944] DEBUG RPiAgc agc_channel.cpp:990 Camera exposure update: shutter time 1000.00us analogue gain 1
[2:57:11.896670322] [9944] DEBUG RPiAgc agc.cpp:219 switchMode for channel 3
[2:57:11.896673452] [9944] DEBUG RPiAgc agc_channel.cpp:591 ev 1 fixedShutter 0.00us fixedAnalogueGain 0
[2:57:11.896679693] [9944] DEBUG RPiAgc agc_channel.cpp:628 exposureMode normal constraintMode normal meteringMode centre-weighted
[2:57:11.896683544] [9944] DEBUG RPiAgc agc_channel.cpp:988 Output written, total exposure requested is 0.00us
[2:57:11.896687693] [9944] DEBUG RPiAgc agc_channel.cpp:990 Camera exposure update: shutter time 1000.00us analogue gain 1
[2:57:11.896693470] [9944] DEBUG RPiAlsc alsc.cpp:335 AWB results found, using 4000
[2:57:11.896715692] [9944] DEBUG RPiAlsc alsc.cpp:477 ct is 4000, interpolating between 3000 and 5000
[2:57:11.896731618] [9944] DEBUG RPiAlsc alsc.cpp:477 ct is 4000, interpolating between 3000 and 5000
[2:57:11.896826284] [9944] DEBUG IPARPI ipa_base.cpp:1473 Applying AGC Exposure: 985.83us (Shutter lines: 65, AGC requested 1000.00us) Gain: 1 (Gain Code: 0)
[2:57:11.896876154] [9944] DEBUG IPARPI ipa_base.cpp:339 Drop 7 frames on startup
[2:57:11.896955839] [9930] DEBUG RPI pisp.cpp:995 Preparing 2 buffers for stream CFE Image
[2:57:11.898475901] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video4[34:cap]: 3 buffers requested.
[2:57:11.898521271] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.898534531] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.898597604] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video4[34:cap]: 0 buffers requested.
[2:57:11.898679937] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video4[34:cap]: 32 buffers requested.
[2:57:11.898697048] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1521 /dev/video4[34:cap]: Prepared to import 32 buffers
[2:57:11.898701363] [9930] DEBUG RPI pisp.cpp:995 Preparing 12 buffers for stream CFE Config
[2:57:11.899102378] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video7[35:out]: 12 buffers requested.
[2:57:11.899115489] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899124026] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899130952] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899137785] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899144563] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899151174] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899157952] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899164581] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899171081] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899178155] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899185081] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899191544] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899197989] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video7[35:out]: 0 buffers requested.
[2:57:11.899251155] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video7[35:out]: 32 buffers requested.
[2:57:11.899256933] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1521 /dev/video7[35:out]: Prepared to import 32 buffers
[2:57:11.899260858] [9930] DEBUG RPI pisp.cpp:995 Preparing 12 buffers for stream CFE Stats
[2:57:11.899720188] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video6[36:cap]: 12 buffers requested.
[2:57:11.899752521] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899763244] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899770577] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899777336] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899783855] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899791040] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899798354] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899806521] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899815132] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899822243] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899830391] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899837558] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.899845669] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video6[36:cap]: 0 buffers requested.
[2:57:11.899858576] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video6[36:cap]: 32 buffers requested.
[2:57:11.899864021] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1521 /dev/video6[36:cap]: Prepared to import 32 buffers
[2:57:11.899868002] [9930] DEBUG RPI pisp.cpp:995 Preparing 12 buffers for stream CFE Embedded
[2:57:11.900294054] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video1[37:cap]: 12 buffers requested.
[2:57:11.900308128] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.900315814] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.900322869] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.900329573] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.900335962] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.900343350] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.900349887] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.900356443] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.900363276] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.900370406] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.900376869] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.900383683] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.900390109] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video1[37:cap]: 0 buffers requested.
[2:57:11.900403257] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video1[37:cap]: 32 buffers requested.
[2:57:11.900408387] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1521 /dev/video1[37:cap]: Prepared to import 32 buffers
[2:57:11.900412294] [9930] DEBUG RPI pisp.cpp:995 Preparing 8 buffers for stream ISP Input
[2:57:11.900424257] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video29[38:out]: 32 buffers requested.
[2:57:11.900429146] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1521 /dev/video29[38:out]: Prepared to import 32 buffers
[2:57:11.900432831] [9930] DEBUG RPI pisp.cpp:995 Preparing 2 buffers for stream ISP Config
[2:57:11.900519942] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video37[41:out]: 2 buffers requested.
[2:57:11.900528904] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.900536201] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.900541367] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video37[41:out]: 0 buffers requested.
[2:57:11.900571052] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video37[41:out]: 32 buffers requested.
[2:57:11.900576423] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1521 /dev/video37[41:out]: Prepared to import 32 buffers
[2:57:11.900580293] [9930] DEBUG RPI pisp.cpp:995 Preparing 2 buffers for stream ISP TDN Input
[2:57:11.900591515] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video30[42:out]: 32 buffers requested.
[2:57:11.900595682] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1521 /dev/video30[42:out]: Prepared to import 32 buffers
[2:57:11.900599997] [9930] DEBUG RPI pisp.cpp:995 Preparing 2 buffers for stream ISP TDN Output
[2:57:11.901468879] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video35[43:cap]: 2 buffers requested.
[2:57:11.901484823] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.901494527] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.901500119] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video35[43:cap]: 0 buffers requested.
[2:57:11.901510953] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video35[43:cap]: 32 buffers requested.
[2:57:11.901515323] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1521 /dev/video35[43:cap]: Prepared to import 32 buffers
[2:57:11.901519249] [9930] DEBUG RPI pisp.cpp:995 Preparing 2 buffers for stream ISP Stitch Input
[2:57:11.901530378] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video31[44:out]: 32 buffers requested.
[2:57:11.901534415] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1521 /dev/video31[44:out]: Prepared to import 32 buffers
[2:57:11.901538212] [9930] DEBUG RPI pisp.cpp:995 Preparing 2 buffers for stream ISP Stitch Output
[2:57:11.902311150] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video36[45:cap]: 2 buffers requested.
[2:57:11.902323965] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.902332780] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.902338150] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video36[45:cap]: 0 buffers requested.
[2:57:11.902348817] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video36[45:cap]: 32 buffers requested.
[2:57:11.902353335] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1521 /dev/video36[45:cap]: Prepared to import 32 buffers
[2:57:11.902357206] [9930] DEBUG RPI pisp.cpp:995 Preparing 2 buffers for stream ISP Output1
[2:57:11.903364254] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video34[40:cap]: 2 buffers requested.
[2:57:11.903380809] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903390327] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903395827] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video34[40:cap]: 0 buffers requested.
[2:57:11.903465642] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1254 /dev/video34[40:cap]: 32 buffers requested.
[2:57:11.903471716] [9930] DEBUG V4L2 v4l2_videodevice.cpp:1521 /dev/video34[40:cap]: Prepared to import 32 buffers
[2:57:11.903497919] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903547197] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903556715] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903569882] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903578178] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903586400] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903597326] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903605159] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903613585] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903621511] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903631437] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903639733] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903655381] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903663474] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903671196] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903678825] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903686436] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903694159] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903701492] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903709066] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903717232] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903727603] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous
[2:57:11.903735714] [9930] DEBUG Buffer framebuffer.cpp:346 Buffer is contiguous

Any pointers on how to make it work using my setup? Thanks in advance, have a great day.

Build errors when remote building ROS packages

Hi, I am getting build errors when I try to build this package remotely from my VM. I'm trying to build the ROS packages remotely and send the executables to my RPi which runs them. I've tried installing the libcamera-dev onto my VM but the error still persists.

CMake Error at /usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:603 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:825 (_pkg_check_modules_internal)
  CMakeLists.txt:20 (pkg_check_modules) 

IMX477 sensor configured as a sink

Hi @christianrauch,

We have two IMX477 HQ cameras connected to a Raspberry Pi 5. One is configured as a sink while the other one is configured as a source.
Using rpicam-vid I can receive frames at 30FPS from both cameras but I am interested in using your implementation as it solves issues we have today with h264-encoded streams. Below are the commands I use with rpicam-vid

For the sink:

LIBCAMERA_RPI_CONFIG_FILE=/etc/rpi_apps.yaml && rpicam-vid -t 0 -n --camera 0 --codec libav --libav-format h264 --libav-video-codec libx264 --libav-video-codec-opts "tune=zerolatency;preset=ultrafast;g=30" --width 2028 --height 1080 --denoise off --lens-position 0.0 --hdr off --framerate 30 -o udp://127.0.0.1:5555 

For the source:

rpicam-vid -t 0 -n --camera 1 --codec libav --libav-format h264 --libav-video-codec libx264 --libav-video-codec-opts "tune=zerolatency;preset=ultrafast;g=30" --width 2028 --height 1080 --denoise off --lens-position 0.0 --hdr off --framerate 30 -o udp://127.0.0.1:5556

Using camera_ros with Raspberry Pi's libcamera, I can generate ROS2 compressed images, which is awesome but with some limitations. It only works with low FPS. For instance at 10 FPS, the following commands are used and works:

For the sink:

LIBCAMERA_RPI_CONFIG_FILE=/etc/rpi_apps.yaml && ros2 run  camera_ros camera_node --ros-args -p camera:=0 -p width:=2028 -p height:=1080 -p role:=still -r /camera/image_raw:=/left_cam/raw -r /camera/image_raw/compressed:=/left_cam/compressed -r /camera/camera_info:=/left_cam/camera_info -p FrameDurationLimits:="[100000,100000]" -p AeFlickerMode:="0" -p AeEnable:="false" -p HdrMode:="0" -p NoiseReductionMode:="0" -p format:="YUYV"

For the source:

ros2 run  camera_ros camera_node --ros-args -p camera:=1 -p width:=2028 -p height:=1080 -p role:=still -r /camera/image_raw:=/right_cam/raw -r /camera/image_raw/compressed:=/right_cam/compressed -r /camera/camera_info:=/right_cam/camera_info -p FrameDurationLimits:="[100000,100000]" -p AeFlickerMode:="0" -p AeEnable:="false" -p HdrMode:="0" -p NoiseReductionMode:="0" -p format:="YUYV"

I tried at 20 FPS, and it worked sometimes. I realized that it worked when the ambient brightness was significantly higher than in the no-working cases. So I think it has to do with the exposure time. I cannot fix the exposure time as I have the same problem as in #33. My gut feeling is that the program does not handle correctly when an external trigger is received while the camera is still under exposure, I can get few first frames with visible first rows, but then it loops over those frames forever (the publishing rate is correct, ~20 Hz).

image

Is it a misconfiguration on my side or does camera_ros not support such setup?

Documentation on camera calibration file

I was able to build and run the node on Raspberry Pi 3B+ (running Ubuntu 22.04). I can stream to the Mac but there is some warning about missing camera calibration file.

[INFO] [1665126984.521708471] [camera]: using default calibration URL
[INFO] [1665126984.522385146] [camera]: camera calibration URL: file:///home/USERNAME/.ros/camera_info/ov5647__base_soc_i2c0mux_i2c_1_ov5647_36_1920x1080.yaml
[ERROR] [1665126984.524095166] [camera_calibration_parsers]: Unable to open camera calibration file [/home/USERNAME/.ros/camera_info/ov5647__base_soc_i2c0mux_i2c_1_ov5647_36_1920x1080.yaml]
[WARN] [1665126984.524412357] [camera]: Camera calibration file /home/USERNAME/.ros/camera_info/ov5647__base_soc_i2c0mux_i2c_1_ov5647_36_1920x1080.yaml not found

Is there a place to learn more about this to finetune the experience? Right now, the framerate is low at 1920x1080 (I am using raw topic camera/image_raw to test things out) so I want to at least reduce the resolution.

Libcamera on Ubuntu 22

Hi, I would like to use your camera_ros package for my ROS humble project with Ubuntu 22.04 (Jammy Jellyfish). when i was installing "ninja -C build install" throw an error. Does libcamera having any issue with ubuntu 22.0 (jammy). Is their any other dependancy for installing libcamera fot ubuntu 22. i think their is an issue with libdrm.so. how to resolve this issue. The architectures are matching and version are up to date.

""""sudo ninja -C build install"""""

ninja: Entering directory `build'

[2/3] Linking target src/apps/cam/cam

FAILED: src/apps/cam/cam 

c++  -o src/apps/cam/cam src/apps/cam/cam.p/camera_session.cpp.o src/apps/cam/cam.p/capture_script.cpp.o src/apps/cam/cam.p/file_sink.cpp.o src/apps/cam/cam.p/frame_sink.cpp.o src/apps/cam/cam.p/main.cpp.o src/apps/cam/cam.p/drm.cpp.o src/apps/cam/cam.p/kms_sink.cpp.o src/apps/cam/cam.p/sdl_sink.cpp.o src/apps/cam/cam.p/sdl_texture.cpp.o src/apps/cam/cam.p/sdl_texture_yuv.cpp.o src/apps/cam/cam.p/sdl_texture_mjpg.cpp.o -Wl,--as-needed -Wl,--no-undefined -Wshadow -include /home/quest/Libcamera/libcamera/build/config.h '-Wl,-rpath,$ORIGIN/../../libcamera:$ORIGIN/../../libcamera/base:/usr/local/lib' -Wl,-rpath-link,/home/quest/Libcamera/libcamera/build/src/libcamera -Wl,-rpath-link,/home/quest/Libcamera/libcamera/build/src/libcamera/base -Wl,-rpath-link,/usr/local/lib -Wl,--start-group src/apps/common/libapps.a src/libcamera/libcamera.so.0.1.0 src/libcamera/base/libcamera-base.so.0.1.0 -latomic /usr/local/lib/libdrm.so /usr/lib/x86_64-linux-gnu/libevent_pthreads.so /usr/lib/x86_64-linux-gnu/libevent.so /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/x86_64-linux-gnu/libSDL2.so /usr/lib/x86_64-linux-gnu/libtiff.so /usr/lib/x86_64-linux-gnu/libyaml.so -Wl,--end-group

/usr/bin/ld: /usr/local/lib/libdrm.so: error adding symbols: file in wrong format

collect2: error: ld returned 1 exit status

ninja: build stopped: subcommand failed.

Camera feeds send data for half a second then become unstable.

Not sure if this is a problem with my cameras, configuration, or network, but has anyone had a similar problem?

Launching two cameras by specifying their names. I don't have a config file but have set format, width and height in my launch file.

Seems to work with a very strong internet connection but I want to optimize this.

Memory leak?

Just noticed that the VIRT value in top was increasing monotonically for camera_node and it's chomping away on my free memory (slowly). A pointer that's not freed?

I attached you pmap output, is it the list of dmabuf that is growing indefinately?

pmap.CameraNode.txt

'AfWindows' parameter occurs error.

Error

terminate called after throwing an instance of 'std::length_error'
  what():  cannot create std::vector larger than max_size()

Debug

"error " << id->type() << ", " << id->name() << ", " << info.def().toString() << ", " << info.min().toString() << ", " << info.max().toString());
error 7, AfWindows, (0, 0)/0x0, (0, 0)/0x0, (65535, 65535)/65535x65535

Error is caused when the below code is executed.

const rclcpp::ParameterValue value =
      cv_to_pv(clamp(info.def(), info.min(), info.max()), extent);

Image encoding issue

Hi @christianrauch

I noticed that published image has encodings that don't match any of the following
16UC1 / mono16, 8UC1 / mono8, 8UC3 / rgb8 / bgr8, 8UC4 / bgra8, bayer_rggb8, bayer_bggr8, bayer_gbrg8, bayer_grbg8

I tried to use Kalibr to calibrate my stereo camera, but it failed because the image topic has unsupported encoding. Here is the error I get

RuntimeError: Exception during multithreaded extraction: Unsupported Image Encoding: 'yuv422_yuy2'

Is it possible to map the encodings to the supported ones such as 16UC1 / mono16, 8UC1 / mono8, 8UC3 / rgb8 / bgr8, 8UC4 / bgra8, bayer_rggb8, bayer_bggr8, bayer_gbrg8, bayer_grbg8 ?

error specifying default camera

I am trying to get this working on a ARM64 rtos version of Ubuntu 22 on a raspberry pi 4. I don't see how to specify which camera to use in the run command. it appears the default camera is /dev/video21 instead of /dev/video0.

Using the latest main branch.

I also see no documentation for this node, so I don't recall how I ever figured out how to invoke it.

ubuntu@ubuntu:~/ros2_ws$ ros2 run camera_ros camera_node


[0:34:59.130093780] [2515]  INFO Camera camera_manager.cpp:284 libcamera v0.1.0+106-34b248c8
[0:34:59.164114462] [2527]  WARN RPiSdn sdn.cpp:39 Using legacy SDN tuning - please consider moving SDN inside rpi.denoise
[0:34:59.166427593] [2527]  WARN RPI vc4.cpp:344 Mismatch between Unicam and CamHelper for embedded data usage!
[0:34:59.168108655] [2527]  INFO RPI vc4.cpp:398 Registered camera /base/soc/i2c0mux/i2c@1/imx219@10 to Unicam device /dev/media0 and ISP device /dev/media2
[INFO] [1699464734.248255669] [camera]: 
>> cameras:
   0: imx219 (/base/soc/i2c0mux/i2c@1/imx219@10)
[WARN] [1699464734.248642815] [camera]: no camera selected, using default: "/base/soc/i2c0mux/i2c@1/imx219@10"
[INFO] [1699464734.249644789] [camera]: 
>> stream formats:
   - Pixelformat: NV21 (64x64 - 3280x2464)
   - Pixelformat: YUV420 (64x64 - 3280x2464)
   - Pixelformat: NV12 (64x64 - 3280x2464)
   - Pixelformat: YVU420 (64x64 - 3280x2464)
   - Pixelformat: XBGR8888 (64x64 - 3280x2464)
   - Pixelformat: BGR888 (64x64 - 3280x2464)
   - Pixelformat: RGB888 (64x64 - 3280x2464)
   - Pixelformat: XRGB8888 (64x64 - 3280x2464)
   - Pixelformat: RGB565 (64x64 - 3280x2464)
   - Pixelformat: YVYU (64x64 - 3280x2464)
   - Pixelformat: YUYV (64x64 - 3280x2464)
   - Pixelformat: VYUY (64x64 - 3280x2464)
   - Pixelformat: UYVY (64x64 - 3280x2464)
[WARN] [1699464734.249895676] [camera]: no pixel format selected, using default: "XBGR8888"
[INFO] [1699464734.250061934] [camera]: 
>> XBGR8888 format sizes:
   - 160x120
   - 240x160
   - 320x240
   - 400x240
   - 480x320
   - 640x360
   - 640x480
   - 720x480
   - 768x480
   - 854x480
   - 720x576
   - 800x600
   - 960x540
   - 1024x576
   - 960x640
   - 1024x600
   - 1024x768
   - 1280x720
   - 1152x864
   - 1280x800
   - 1360x768
   - 1366x768
   - 1440x900
   - 1280x1024
   - 1536x864
   - 1280x1080
   - 1600x900
   - 1400x1050
   - 1680x1050
   - 1600x1200
   - 1920x1080
   - 2048x1080
   - 1920x1200
   - 2160x1080
   - 2048x1152
   - 2560x1080
   - 2048x1536
   - 2560x1440
   - 2560x1600
   - 2960x1440
   - 2560x2048
   - 3200x1800
   - 3200x2048
   - 3200x2400
[WARN] [1699464734.250311303] [camera]: no dimensions selected, auto-selecting: "3200x2400"
[WARN] [1699464734.250561745] [camera]: stream configuration adjusted from "3200x2400-XBGR8888" to "3200x2400-XBGR8888"
[0:34:59.170919765] [2515]  INFO Camera camera.cpp:1183 configuring streams: (0) 3200x2400-XBGR8888
[0:34:59.171740685] [2527]  INFO RPI vc4.cpp:556 Sensor: /base/soc/i2c0mux/i2c@1/imx219@10 - Selected sensor format: 3280x2464-SBGGR10_1X10 - Selected unicam format: 3280x2464-pBAA
[INFO] [1699464734.253322059] [camera]: camera "/base/soc/i2c0mux/i2c@1/imx219@10" configured with 3200x2400-XBGR8888 stream
[WARN] [1699464734.256726368] [camera]: control AeFlickerPeriod (10) not handled
[WARN] [1699464734.257336789] [camera]: control NoiseReductionMode (44) not handled
[WARN] [1699464734.258103062] [camera]: control AeFlickerMode (9) not handled
[0:35:00.196569822] [2527] ERROR V4L2 v4l2_videodevice.cpp:1248 /dev/video21[27:cap]: Not enough buffers provided by V4L2VideoDevice
[0:35:00.225450892] [2527] ERROR V4L2 v4l2_videodevice.cpp:1241 /dev/video21[27:cap]: Unable to request 1 buffers: Cannot allocate memory
[0:35:00.225539799] [2527] ERROR RPI pipeline_base.cpp:662 Failed to allocate buffers
terminate called after throwing an instance of 'std::runtime_error'
  what():  failed to start camera
[ros2run]: Aborted

Configure frames per second

How does one configure the frames per second published by the camera_ros node? Which specific ROS2 parameters can be used to accomplish this? For performance and CPU load reasons, I need to limit the frames per second. I understand how to adjust the size of the frames, using the height and width parameters, but do not know how to set a maximum frames per second.

Segmentation faults with IMX219

Hi,

I am using an IMX219 sensor connected to a RasPi Zero 2. The Pi is running Raspberry OS 12, and ROS humble via the official docker image.

The issue is, sometimes it works, sometimes it crashes with a Segfault. It only crashes when something actually subscribes to the pictures. It seems to be somewhat related to resolution and frame rate, with really low resolutions and rates it sometimes runs for >10 min.

There is nothing suspicious in the console output, even with libcamera debug logging. I have increased CMA to 128M, but I am not sure if that has improved things. Watching /proc/meminfo shows lots of free CMA.

Here is what gdb shows (I seem to be missing the debug symbols?):

Thread 14 "camera_node" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fda6b58e0 (LWP 811)]
0x0000007fdb743058 in libcamera::ipa::RPi::IpaBase::prepareIsp(libcamera::ipa::RPi::PrepareParams const&) () from /opt/ros/humble/lib/libcamera/ipa_rpi_vc4.so
(gdb) where
#0  0x0000007fdb743058 in libcamera::ipa::RPi::IpaBase::prepareIsp(libcamera::ipa::RPi::PrepareParams const&) () from /opt/ros/humble/lib/libcamera/ipa_rpi_vc4.so
#1  0x0000007ff5ceed70 in libcamera::Object::message(libcamera::Message*) () from /opt/ros/humble/lib/libcamera-base.so.0.2
#2  0x0000007ff5cf0ef8 in libcamera::Thread::dispatchMessages(libcamera::Message::Type) () from /opt/ros/humble/lib/libcamera-base.so.0.2
#3  0x0000007ff5cf6d04 in libcamera::EventDispatcherPoll::processEvents() () from /opt/ros/humble/lib/libcamera-base.so.0.2
#4  0x0000007ff5cf4c24 in libcamera::Thread::exec() () from /opt/ros/humble/lib/libcamera-base.so.0.2
#5  0x0000007ff7c031fc in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
#6  0x0000007ff79cd5c8 in start_thread (arg=0x0) at ./nptl/pthread_create.c:442
#7  0x0000007ff7a35edc in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:79

This is from the apt version, I have also cloned and built the current master, with the same behavior. Do you know what could be the cause? Is there a good way to install this that does not require me to compile ROS on the Pi (the camera does not work on ubuntu, for some reason)?

Invalid configuration

Hi.

I tried to launch your file but get the following error (ros2 run camera_ros camera_node )

[WARN] [1712148202.003170381] [camera]: stream configuration adjusted from "1400x1050-R8" to "1456x1088-SBGGR16"
[6:29:38.453767396] [82] ERROR Camera camera.cpp:1171 Can't configure camera with invalid configuration
terminate called after throwing an instance of 'std::runtime_error'
  what():  failed to configure streams
[ros2run]: Aborted

Tried to add a camera_params.yaml with

camera_node:
  ros__parameters:
    format: "SBGGR16"
    width: 1280
    height: 720
    role: "video"

but it does not fix the issue. Any pointers? I am using the shutter camera on a raspberry pi5.

rgb to bgr switch in camera ros

I have in separate work spaces built libcamera and camera_ros fro your github. libcamera_still displays colors properly, camera ros swaps rgb for bgr. This is on a Pi 4 Ubuntu 22.04 RTOS ARM64

cam_ros
lib

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.