[libcamera-devel] swisp performance notes

Milan Zamazal mzamazal at redhat.com
Fri Dec 15 20:38:06 CET 2023


Kieran Bingham <kieran.bingham at ideasonboard.com> writes:

> Quoting Milan Zamazal via libcamera-devel (2023-12-15 09:47:39)
>> Pavel Machek via libcamera-devel <libcamera-devel at lists.libcamera.org> writes:
>> 
>> > For some reason latest version uses full sensor resolution.
>> 
>> The same here on Debix Model A (with SoftwareISP-v04-hans1):
>> 
>>   DEBUG SimplePipeline simple.cpp:1005 Picked 3280x2464-SRGGB10_1X10 -> 3280x2464-SRGGB10 for max
>> stream size 3276x2460
>> 
>> Resulting in:
>> 
>>   # ./cam -c 1 --capture=1 -s role=still
>>   ...
>>   ERROR V4L2 v4l2_videodevice.cpp:1906 /dev/video1[15:cap]: Failed to start streaming: Cannot allocate
>> memory
>> 
>> The failing line is:
>> 
>>   ret = ioctl(VIDIOC_STREAMON, &bufferType_);
>> 
>> This is with available memory ~1.5 GB.
>
> Have you configured any CMA? I think CMA defaults to 32MB which won't be
> sufficient for processing large images.

Right.  CMA size was 64 MB (and part of it was used), after enlarging it to
128 MB, the error is gone.  Thanks for pointing this out.

>> And:
>> 
>>   # LIBCAMERA_LOG_LEVELS='*:DEBUG' ./cam -c 1 --capture=1 -s role=still,width=640,height=480
>>   DEBUG SimplePipeline simple.cpp:751 Link 'imx219 1-0010':0 -> 'csis-32e40000.csi':0 configured with
>> format 640x480-SRGGB10_1X10
>>   ...
>>   DEBUG SimplePipeline simple.cpp:1005 Picked 640x480-SRGGB10_1X10 -> 640x480-SRGGB10 for max stream
>> size 640x480
>>   DEBUG SimplePipeline simple.cpp:1045 Adjusting size from 640x480 to 640x480
>>   ERROR Camera camera.cpp:1171 Can't configure camera with invalid configuration
>> 
>> It's hard for me to distinguish without deeper inspection whether dealing with
>> features or non-optimal defaults or user errors.
>> 
>> Regards,
>> Milan
>>



More information about the libcamera-devel mailing list