[libcamera-devel] [RFC PATCH v2 4/7] libcamera: ipa: Soft IPA: add a Soft IPA implementation

Hans de Goede hdegoede at redhat.com
Tue Dec 12 22:38:43 CET 2023


Hi,

On 12/12/23 17:37, Pavel Machek via libcamera-devel wrote:
> Hi!
> 
>>>>>> Signed-off-by: Andrey Konovalov <andrey.konovalov at linaro.org>
>>>>>
>>>>> I'm not sure if we should call implementation "Linaro". Company name
>>>>> seems misleading in this context. Could we call implementation "anna",
>>>>> for example, after https://en.wikipedia.org/wiki/Anna_Atkins and
>>>>> because it is first version, thus "A"?
>>>>
>>>> I'd agree here ... I can't imagine libcamera want's "5 different
>>>> competing softISP implementations.... all in the same code base"
>>>>
>>>> This is just 'SoftISP' in my opinion.
>>>
>>> Then SwIspLinaro could be merged into abstract SoftwareIsp,
>>> the result being called just SoftwareIsp.
>>> And SoftwareIspFactory* are not needed.
>>> Correct?
>>
>> Has a SoftwareISPFactory requirement been discussed somewhere that I
>> haven't been involved in ?
> 
> One day we may have SwIspGPU or maybe SwIspIntelMMX, so that support
> might be worth keeping.

Right, so about having multiple SoftwareIsp implementations.

I have been working on stasistics + debayer
base classes and CPU implementations of both based on refactoring
Andrey's work.

I was hoping to have a clean branch with these ready but
getting them in shape took longer then I hoped.

Stil I would like to share what I have now before tomorrows
SoftwareIsp video call / meeting.

ATM the statistics and debayer classes are mostly ready,
but I need to merge this with Andrey's v2 RFC and
then produce a clean new series from this
(assuming people like the approach).

The base idea behind this is that we can have multiple
statistics and debayer implementations, e.g. CPU vs GPU
and that the SoftwareIsp class picks which one to
instantiate.  The current DebayerCpu class mostly 
replaces the IspWorker class making the SoftwareIsp
code quite a bit simpler (note that the code is mostly
moved not gone).

Anyways if you have time, please take a look
at the swstats base class + linaro implementation
as well as at the debayer base class as well
as the DebayerCpu implementation of that:

https://gitlab.freedesktop.org/camera/libcamera-softisp/-/tree/SoftwareISP-v02-hans2

Which are the last few commits there.

Note as I already mentioned I really need to merge
this with Andrey's latest v03 branch into a new
logical clean patch series suitable for upstream submission.

Regards,

Hans









> 
> Best regards,
> 								Pavel



More information about the libcamera-devel mailing list