[libcamera-devel] softISP for libcamera
Andrey Konovalov
andrey.konovalov at linaro.org
Tue Dec 5 13:30:29 CET 2023
Hi Kieran,
On 05.12.2023 15:03, Kieran Bingham wrote:
> Quoting Hans de Goede via libcamera-devel (2023-12-05 11:38:57)
>> Hi Pavel,
>>
>> On 12/5/23 00:04, Pavel Machek via libcamera-devel wrote:
>>> Hi!
>>>
>>>> First, thanks for softisp efforts. I worked on something similar but
>>>> did not get anywhere near mergeable state. (My hacks are at
>>>> git at gitlab.com:tui/libcamera.git, new-ae2 branch).
>>>>
>>>> I tried to test the code on PinePhone, so I started from
>>>>
>>>> commit 10c27dc4cf922fb79e9f3a3cf44602f472bbc102 (HEAD -> sisp, softisp/SoftwareISP-v02, origin/sisp)
>>>> Author: Andrey Konovalov <andrey.konovalov at linaro.org>
>>>> Date: Fri Dec 1 17:01:30 2023 +0300
>>>>
>>>> But I'm getting build error:
>>>>
>>>> ../src/libcamera/pipeline/simple/simple.cpp:28:10: fatal error: libcamera/ipa/soft_ipa_interface.h: No such file or directory
>>>> 28 | #include <libcamera/ipa/soft_ipa_interface.h>
>>>> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>> compilation terminated.
>>>>
>>>> ...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"
>
> I assume this is a temporary naming thing? Will this work be added to
> the simple pipeline handler? I or does it require a new pipeline handler
> to be constructed?
>
> I expect the IPA would be called 'softISP' (/softIPA?)
The current naming scheme is "simple/<SoftISP implementation name>".
The idea is that the
"-Dpipelines=simple"
would work as before (no softISP and softIPA instantiated). This isn't
the case for the current patch set, as it always creates the linaro's
implementation of softIPA, but I plan to fix that sooner than later.
And
"-Dpipelines=simple/<SoftISP implementation name> -Dipas=simple/<SoftISP implementation name>"
would use one of the softISP / softIPA implementations.
Note that the <SoftISP implementation name> needs not to be "linaro".
I haven't check myself if "-Dpipelines=simple/something-else -Dipas=simple/something-else"
would work along with "simple/linaro" if the 2nd implementation were added,
but the idea was that it should.
And the current scheme is rather a temporary solution.
A more natural one could be
"-Dpipelines=simple -Dipas=softIPA/<SoftISP implementation name>"
but this would require a serious rework of the meson files.
>> 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.
>
> Adding
>
> 'simple/linaro': ['any'],
>
> to the pipelines_support table around line 192 in meson.build is
> probably helpful for this series.
Indeed.
> But I think it should be handled a bit more generically otherwise.
I agree.
Thanks,
Andrey
>>
>> (I hit the exact same issue when trying Andrey's patches).
>>
>> Regards,
>>
>> Hans
>>
>>
More information about the libcamera-devel
mailing list