[libcamera-devel] softISP for libcamera
Hans de Goede
hdegoede at redhat.com
Tue Dec 5 21:33:38 CET 2023
Hi Pavel,
On 12/5/23 18:52, Pavel Machek wrote:
> Hi!
>
>>>> ...and it sounds like libcamera/ipa/soft_ipa_interface.h is missing
>>>> from the repository?
>>>
>>> It may be that I failed to enable simple/linaro pipeline in the
>>> meson. It certainly does not list it. If I try with parent commit, it
>>> builds okay, but I guess that means code is not enabled.
>>
>> Did you see Andrey's reply that you need to pass:
>>
>> "-Dpipelines=simple/linaro -Dipas=simple/linaro"
>>
>> During the meson configure/setup phase? If you pass that
>> then the libcamera/ipa/soft_ipa_interface.h file will
>> get generated during the build.
>>
>> (I hit the exact same issue when trying Andrey's patches).
>
> Thanks for hints, yes, I got that one working.
>
> I see you have a tree with some optimalizations... and I guess that
> means statistics take non-trivial ammount of your CPU power. Consider
> taking only x% of pixels for AE / AWB.
Right in my branch stat collection is done on a 2x2 block of
pixels (minimum bayer block before repeating) I tried
skipping every other block and line, but that does not seem
to help much at least in my testing...
I also have plans to add a stats window skipping stats for
a configurable border at the top/bottom and left/right .
I might need to improve how I measure things :)
> (I'd really like ability to collect statistics without doing the
> debayering,
That is actually already a part of my refactoring, the stats
collection is now done separately (on a line by line basis
to keep the input data hot in the cache for debayering.
I plan to split out the stats collection into a separate
class even, but atm it is still part of the main linaro
softisp code.
Same for the debayering I also want to move that to
a separate class. Having the softisp implementation
just calling into the stats + debayer classes
(on a per block of 2 or 4 lines bases).
Regards,
Hans
More information about the libcamera-devel
mailing list