[PATCH 0/3] Reduce rkisp1 flicker on first start

Mikhail Rudenko mike.rudenko at gmail.com
Mon Oct 21 17:08:56 CEST 2024


On 2024-10-20 at 18:33 +01, Kieran Bingham <kieran.bingham at ideasonboard.com> wrote:

> Quoting Mikhail Rudenko (2024-10-20 14:39:45)
>> Hi Kieran,
>>
>> On 2024-10-18 at 23:26 +01, Kieran Bingham <kieran.bingham at ideasonboard.com> wrote:
>>
>> > Hi Mikhail,
>> >
>> > Quoting Kieran Bingham (2024-10-17 14:35:40)
>> >> Hi Mikhail,
>> >>
>> >> Quoting Mikhail Rudenko (2024-10-17 13:47:04)
>> >> > The chart from camshark (see attachment).
>> >> >
>> >>
>> >> That looks like a good result indeed!
>> >>
>> >> I'll test out the patches.
>> >
>> > I've just tried this out - and it seems to work well on the IMX283 I
>> > have - but caused quite noticible AnalogueGain oscillations on the
>> > IMX335 ... I would 'bet' that's not the fault of this series - but the
>> > fact that we don't have per-sensor delayed-controls set up correctly
>> > which I already know about - but I haven't seen that get fixed up yet.
>>
>> I did a few more tests myself (I use OV4689 btw), and also observed
>> analogue gain oscillations on darker scenes when AGC tries to steer the
>> gain above 1.0. It looks like the hardcoded gain delay value of 1 is
>> wrong at least for my sensor. When I increased it to 2, gain
>> oscillations were gone. I have also tweaked a few things here and there
>> and will send v2 soon.
>>
>> > I think your series probably highlights the fault that already exists...
>>
>> I feel like we have reached the moment when we should switch from the
>> delays hardcoded in the pipeline handler to sensor specific values like
>> rpi does. I could try doing that, but in a separate series. What do you
>> think?
>
> Oh - absolutely. If it's something you're willing to work on - I think
> that would be a massive help. Indeed, I think that's a separate series.

I'd like to give it a try. Am I right that adding

    virtual void getDelays(int &exposureDelay, int &gainDelay, int &vblankDelay, int &hblankDelay)

to CameraSensorHelper returning generic delays, then overriding it for
sensors where we know the exact delays is a valid approach? Also, why do
we have both CamHelper and CameraSensorHelper, with former being
significantly more featureful, but all the IPAs except rpi using the
latter?

--
Best regards,
Mikhail


More information about the libcamera-devel mailing list