[libcamera-devel] [RFC PATCH 4/5] ipa: ipu3: Move IPU3 awb into algorithms

Kieran Bingham kieran.bingham at ideasonboard.com
Mon Aug 9 12:26:07 CEST 2021


On 09/08/2021 11:20, Umang Jain wrote:
> Hi JM
> 
> Thank you for the patch
> 

<snip>

>> +Awb::~Awb()
>>   {
>>   }
>>   -void IPU3Awb::initialise(ipu3_uapi_params &params, const Size
>> &bdsOutputSize, struct ipu3_uapi_grid_config &bdsGrid)
>> +int Awb::configure(IPAContext &context)
> Mapping old Initialise() directly to Algorithm::configure() ? If there
> is a reason, I would expect something about it in the commit message maybe?
>>   {
>> +    ipu3_uapi_params &params = context.params;

<snip>

>> +class Awb : public Algorithm
>>   {
>>   public:
>> -    IPU3Awb();
>> -    ~IPU3Awb();
>> +    Awb();
>> +    ~Awb();
>>   -    void initialise(ipu3_uapi_params &params, const Size
>> &bdsOutputSize, struct ipu3_uapi_grid_config &bdsGrid);
>> -    void calculateWBGains(const ipu3_uapi_stats_3a *stats);
>> -    void updateWbParameters(ipu3_uapi_params &params);
>> +    int configure(IPAContext &context) override;
>> +    void process(IPAContext &context) override;

> hmm, no initialise() here? Doesn't seem sane to have a direct call to
> configure(). I wonder, as in the last patch where there was only
> Initialise() and no over-ridden configure()/process().

Yes, I think we should explicitly state in the commit message that as
part of the conversion, the initialisation phase of the algorithm is now
handled as part of the configuration phase in the new algorithm structure.
--
Kieran


More information about the libcamera-devel mailing list