[PATCH 1/2] libcamera: ipa_proxy: Report a missing configuration as a warning
Milan Zamazal
mzamazal at redhat.com
Mon Jul 8 14:37:40 CEST 2024
Kieran Bingham <kieran.bingham at ideasonboard.com> writes:
> Quoting Milan Zamazal (2024-07-01 13:55:07)
>> Hi Kieran,
>>
>
>> thank you for review.
>>
>> Kieran Bingham <kieran.bingham at ideasonboard.com> writes:
>>
>> > Quoting Milan Zamazal (2024-06-27 18:33:04)
>> >> When the configuration file for an IPA module is missing, it is reported
>> >> as an error in the log, for example:
>> >
>> >>
>> >> ERROR IPAProxy ipa_proxy.cpp:149 Configuration file 'imx219.yaml' not found for IPA module
>> >> 'simple'
>> >>
>> >> This is misleading because several pipelines use uncalibrated.yaml in
>> >> such a case and can continue working. And in case of software ISP,
>> >> there is currently no other configuration file so the error is always
>> >> reported.
>> >
>> > I'm in two minds for this. At the moment, the SoftISP doesn't use a
>> > tuning file because it's not implemented.
>> >
>> > But I /would/ expect there to be one in the future.
>>
>> Yes.
>>
>> > I believe we report it as an error as without a tuning file, we expect
>> > there will always be a degraded image quality.
>> >
>> > But ... indeed - it still continues. So what's the difference between an
>> > error and a warning ?
>>
>> I cannot know better than you what is a contingent libcamera policy, but
>> generally, I'd say error is something that prevents some important part
>> from working at all while warning is something that the user should pay
>> attention to but the action can still be performed, although perhaps in
>> a degraded or unintended way.
>>
>> In this specific case I have experienced the following interaction with
>> a user:
>>
>> - "Hmm, it doesn't work."
>> - "Sure, it reports an error!"
>> - "But this one is harmless."
>> - "Are you sure? It clearly reports that it is an error."
>> - "Yes, it always prints this error, it's not the problem."
>> - "Really? Hmm, OK."
>>
>> I think that at least with software ISP, it shouldn't be reported as an
>> error. But I don't insist on this fix, another obvious fix might be
>> implementing tuning files in software ISP, or perhaps some workaround.
>> What would you suggest?
>
> I too have had to tell people "Oh ... yeah you can ignore that error" (I
> can't remember if it was this or another case" ... and I think if
> something can be ignored ... is it really an error?
>
> The tricky part here is ... on RPi - it really is considered an error
> and the camera will not be constructed without a tuning file I believe,
> while on other platforms (at least for now) it is only a warning...
>
> I still don't know the right answer yet I'm afraid :S
OK, let's instruct IPAProxy::configurationFile what to do in such a
case. See v2 where I add a fallback file argument, which looks a bit
better to me than just adding a boolean flag, although it may not be
actually necessarily better. Let's try and discuss.
> --
> Kieran
>
>
>>
>> >> Let's change the error to warning to not confuse users.
>> >>
>> >> Signed-off-by: Milan Zamazal <mzamazal at redhat.com>
>> >> ---
>> >> src/libcamera/ipa_proxy.cpp | 2 +-
>> >> 1 file changed, 1 insertion(+), 1 deletion(-)
>> >>
>> >> diff --git a/src/libcamera/ipa_proxy.cpp b/src/libcamera/ipa_proxy.cpp
>> >> index 6c17c456..494ed736 100644
>> >> --- a/src/libcamera/ipa_proxy.cpp
>> >> +++ b/src/libcamera/ipa_proxy.cpp
>> >> @@ -146,7 +146,7 @@ std::string IPAProxy::configurationFile(const std::string &name) const
>> >> }
>> >> }
>> >>
>> >> - LOG(IPAProxy, Error)
>> >> + LOG(IPAProxy, Warning)
>> >> << "Configuration file '" << name
>> >> << "' not found for IPA module '" << ipaName << "'";
>> >>
>> >> --
>> >> 2.44.1
>> >>
>>
More information about the libcamera-devel
mailing list