[libcamera-devel] [PATCH 00/11] libcamera: introduce Software ISP and Software IPA

Hans de Goede hdegoede at redhat.com
Fri Dec 15 15:27:45 CET 2023


Hi,

On 12/15/23 01:48, Bryan O'Donoghue wrote:
> On 14/12/2023 16:25, Hans de Goede wrote:
>> Hi,
>>
>> On 12/14/23 17:02, Hans de Goede wrote:
>>> Hi Bryan,
>>>
>>> On 12/14/23 16:16, Bryan O'Donoghue wrote:
>>>> On 14/12/2023 14:47, Hans de Goede wrote:
>>>
>>> <snip>
>>>
>>>>> BTW I'm currently working on adding support for 10bpp unpacked
>>>>> bayer and while working on this I noticed a small bug in the swstats
>>>>> code, you may want to squash in this fix:
>>>>
>>>> Applied that change.
>>>>
>>>> I'm comparing to your earlier branch
>>>>
>>>> commit ae92fa44991ded151c63d5d202efdacc9d640aff (HEAD -> SoftwareISP-v01-hans1, softisp/SoftwareISP-v01-hans1)
>>>> Author: Hans de Goede <hdegoede at redhat.com>
>>>> Date:   Thu Nov 30 20:13:29 2023 +0100
>>>>
>>>>
>>>> On the earlier branch I get 30fps @ 68% CPU usage. On this branch I'm getting 18fps @ 100%.
>>>> Seems to be eating alot more cycles
>>>
>>> Ok, that is no good.
>>>
>>> Can you try:
>>>
>>> https://gitlab.freedesktop.org/camera/libcamera-softisp/-/commits/SoftwareISP-v02-hans3
>>>
>>> And then start with checking out:
>>>
>>> 64c9bc0f55f459b9722fe78dfd35a07fb35d2a7b ("libcamera: software_isp: Add debayer-line callbacks for bayer patterns repeating every 4 lines")
>>>
>>> that is basically softisp/SoftwareISP-v01-hans1 rebased on top of SoftwareISP-v02,
>>> so that should give you to same performance as before.
>>>
>>> First please check this indeed restores performance ?
>>>
>>> And then after that try newer commits from that branch in this order
>>> (I'm skipping commits which should not have a performance impact here):
>>>
>>> 7136d4d59aafb2564a24a2d4be773ca220257fdc
>>> e3c2a5931dd825c58f626da8c12429b70d20219b (not really expecting a performance impact from this one but maybe)
>>> b3aa4e4f781e881746953177dacbce8c943cb5a3 (bugfix but one which is expected to have some performance impact)
>>> ec75339a5bff8b8e9a0031b9408bd47020905a4f
>>> f62ed5df54850a24406bf3a762271a5fa3c0303d
>>>
>>> The reason why I'm asking you to test these instead of do a bisect
>>> is since there might be a number of smaller performance regressions
>>> all adding up ...
>>>
>>> If you can let me know the results of this then I'll see if I can
>>> restore the old performance for you.
>>>
>>> Note that as mentioned above b3aa4e4f781e is a bug fix which
>>> some potentially big performance implications but the old code
>>> really was wrong there ...
>>>
>>>> and producing a more pinkish result on my hw.
>>>
>>> As part of my work I more or less rewrote white-balancing, but I thought I fixed
>>> the pinkish thing. It seems the new white-balancing is somewhat sensitive to
>>> over-exposure and your image does look a bit overexposed.
>>
>> p.s.
>>
>> It would also be good to compare:
>>
>> https://gitlab.freedesktop.org/camera/libcamera-softisp/-/commits/SoftwareISP-v02-hans2
>> https://gitlab.freedesktop.org/camera/libcamera-softisp/-/commits/SoftwareISP-v02-hans3
> 
> Pavel pointed out libcamera is -Os not -O3
> 
> meson setup -Dprefix=/home/deckard/Development/FireFox/libcamera-install -Dpipelines=simple/simple -Dipas=simple/simple --buildtype=release build.swisp
> 
> Switching to release brings the cpu occupancy down to 60% on the topic branch for this series.
> 
> We should probably shouldn't be too concerned about performance of -Os code for this case.
> 
> Still looks washed out / red in comparsion to 64c9bc0f55f459b9722fe78dfd35a07fb35d2a7b
> 
> I think that warrants fixing.

Ack. FWIW I'm not seeing that with my sensor. We need to investigate this.
Yesterday I finished about a 10 day libcamera sprint so for now I'm not
going to touch libcamera for a few days.

I plan to get back to libcamera again on Wednesday.

In the mean time can you let me know what the bayer order for your sensor is?
I think the swstats refactor may have messed up the stats for your sensor.

And please also do a test run with the attached patch applied and send me (part of)
the debug output please.

Regards,

Hans


-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-AWB-debuginfo.patch
Type: text/x-patch
Size: 1640 bytes
Desc: not available
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20231215/fe3da7b8/attachment.bin>


More information about the libcamera-devel mailing list