XISP : Creating new Pipeline Handler for AMD/Xilinx HLS-based ISP

Mario Bergeron grouby177 at gmail.com
Thu Jan 16 23:04:06 CET 2025


Hello,

I have made some progress on my XISP pipeline handler.

I am able to enumerate the four (4) cameras in my system:

# cam -l
...
Available cameras:
1: 'imx219' (/base/pl-bus/i2c at 80040000/sensor at 10)
2: 'imx708_wide' (/base/pl-bus/i2c at 80070000/sensor at 10)
3: 'imx500' (/base/pl-bus/i2c at 80090000/sensor at 1a)
4: 'imx477' (/base/pl-bus/i2c at 800b0000/sensor at 1a)


When I attempt to capture one frame, I get the following error message when
queueing buffers:

# cam -c1 -C1
...
Using camera /base/pl-bus/i2c at 80040000/sensor at 10 as cam0
[51:33:28.743843521] [53606]  INFO Camera camera.cpp:1202 configuring
streams: (0) 640x480-RBG888
cam0: Capture 1 frames
[51:33:28.782733421] [53607] ERROR V4L2 v4l2_videodevice.cpp:1777
/dev/video0[16:cap]: Failed to queue buffer 0: Invalid argument

[HANGS FOREVER]
^C

Exiting
[51:33:32.616088567] [53607] FATAL default v4l2_videodevice.cpp:2040
/dev/video0[16:cap]: assertion "cache_->isEmpty()" failed in streamOff()
Backtrace not available
Aborted


Here is a version with more verbose :

# LIBCAMERA_LOG_LEVELS=*:0 cam -c1 -C1
...
[51:27:56.417909333] [53586] DEBUG XISP xisp.cpp:614
[PipelineHandlerXISP::configure] Configure Camera
[51:27:56.418025554] [53586] DEBUG MediaDevice media_device.cpp:826
/dev/media0[xilinx-video]: 'imx219 1-0010'[0] ->
'80050000.mipi_csi2_rx_subsystem'[0]: 1
[51:27:56.418437215] [53586] DEBUG XISP xisp.cpp:648   [CSI ] :
1920x1080-SRGGB10_1X10
[51:27:56.418546585] [53586] DEBUG XISP xisp.cpp:657   [XISP] :
1920x1080-RBG888_1X24
[51:27:56.418628205] [53586] DEBUG XISP xisp.cpp:670   Stream 0:
640x480-RBG888
[51:27:56.418702775] [53586] DEBUG XISP xisp.cpp:671     [config] :
640x480-RBG888
[51:27:56.418764395] [53586] DEBUG XISP xisp.cpp:672     [config.size] :
640x480
[51:27:56.418822485] [53586] DEBUG XISP xisp.cpp:673
[config.pixelFormat] : RBG888
[51:27:56.418880256] [53586] DEBUG XISP xisp.cpp:674     [config.stride] :
1920
[51:27:56.418936186] [53586] DEBUG XISP xisp.cpp:675     [config.frameSize]
: 921600
[51:27:56.418992536] [53586] DEBUG XISP xisp.cpp:686   [VPSS] :
640x480-RBG888_1X24
[51:27:56.419076086] [53586] DEBUG XISP xisp.cpp:698   [VCAP] : 640x480-BGR3
[51:27:56.419156156] [53586] DEBUG XISP xisp.cpp:699
[captureFormat.planes[0].bpl] : 0
[51:27:56.422765025] [53586] DEBUG V4L2 v4l2_videodevice.cpp:1334
/dev/video0[16:cap]: 4 buffers requested.
[51:27:56.422993745] [53586] DEBUG Buffer framebuffer.cpp:351 Buffer is
contiguous
[51:27:56.423117556] [53586] DEBUG Buffer framebuffer.cpp:351 Buffer is
contiguous
[51:27:56.423226786] [53586] DEBUG Buffer framebuffer.cpp:351 Buffer is
contiguous
[51:27:56.423347176] [53586] DEBUG Buffer framebuffer.cpp:351 Buffer is
contiguous
[51:27:56.423434916] [53586] DEBUG V4L2 v4l2_videodevice.cpp:1334
/dev/video0[16:cap]: 0 buffers requested.
[51:27:56.423572187] [53585] DEBUG Request request.cpp:369 Created request
- cookie: 0
[51:27:56.423704687] [53585] DEBUG Request request.cpp:369 Created request
- cookie: 0
[51:27:56.423811547] [53585] DEBUG Request request.cpp:369 Created request
- cookie: 0
[51:27:56.423914217] [53585] DEBUG Request request.cpp:369 Created request
- cookie: 0
[51:27:56.424038688] [53585] DEBUG Camera camera.cpp:1360 Starting capture
[51:27:56.424200338] [53586] DEBUG V4L2 v4l2_videodevice.cpp:1334
/dev/video0[16:cap]: 4 buffers requested.
[51:27:56.424300728] [53586] DEBUG V4L2 v4l2_videodevice.cpp:1601
/dev/video0[16:cap]: Prepared to import 4 buffers
cam0: Capture 1 frames
[51:27:56.458149288] [53586] DEBUG V4L2 v4l2_videodevice.cpp:1773
/dev/video0[16:cap]: Queueing buffer 0
[51:27:56.458275059] [53586] ERROR V4L2 v4l2_videodevice.cpp:1777
/dev/video0[16:cap]: *Failed to queue buffer 0: Invalid argument*
[51:27:56.458398659] [53586] DEBUG Request request.cpp:129
Request(0:X:0/1:0)

[HANGS FOREVER]
^C

Exiting
[51:28:00.181820742] [53585] DEBUG Camera camera.cpp:1404 Stopping capture
[51:28:00.240093949] [53586] FATAL default v4l2_videodevice.cpp:2040
/dev/video0[16:cap]: assertion "cache_->isEmpty()" failed in streamOff()
Backtrace not available
Aborted


The error may be caused by my code, but I am not certain what to
investigate/validate ...

Any help and/or collaboration would be greatly appreciated :)

Cheers !

Mario Bergeron (AlbertaBeef)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20250116/a8b07a1e/attachment.htm>


More information about the libcamera-devel mailing list