[libcamera-devel] [PATCH 2/2] ipa: libipa: Add OV5695 Camera Sensor Helper

Umang Jain umang.jain at ideasonboard.com
Thu Mar 9 11:14:41 CET 2023



On 3/1/23 8:33 PM, Kieran Bingham via libcamera-devel wrote:
> Quoting Kieran Bingham (2023-03-01 14:55:25)
>> Quoting Jacopo Mondi (2023-02-28 15:33:22)
>>> Hi Kieran
>>>
>>> On Mon, Feb 27, 2023 at 08:42:54PM +0000, Kieran Bingham via libcamera-devel wrote:
>>>> Provide a CameraSensorHelper for the OV5695, along with the
>>>> corresponding camera sensor properties.
>>>>
>>>> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>>>> ---
>>>>   src/ipa/libipa/camera_sensor_helper.cpp    | 11 +++++++++++
>>>>   src/libcamera/camera_sensor_properties.cpp |  8 ++++++++
>>>>   2 files changed, 19 insertions(+)
>>>>
>>>> diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp
>>>> index d1051cc25656..a38fefc75372 100644
>>>> --- a/src/ipa/libipa/camera_sensor_helper.cpp
>>>> +++ b/src/ipa/libipa/camera_sensor_helper.cpp
>>>> @@ -527,6 +527,17 @@ public:
>>>>   };
>>>>   REGISTER_CAMERA_SENSOR_HELPER("ov5693", CameraSensorHelperOv5693)
>>>>
>>>> +class CameraSensorHelperOv5695 : public CameraSensorHelper
>>>> +{
>>>> +public:
>>>> +     CameraSensorHelperOv5695()
>>>> +     {
>>>> +             gainType_ = AnalogueGainLinear;
>>>> +             gainConstants_.linear = { 1, 0, 0, 128 };
>>>> +     }
>>>> +};
>>>> +REGISTER_CAMERA_SENSOR_HELPER("ov5695", CameraSensorHelperOv5695)
>>>> +
>>> I don't have a datasheet, but again, seeing this in action it seems
>>> reasonable
> Me neither. But I wonder if that will be most sensors we have to add
> here. I could also add:
>
> +               /* This has been validated with some empirical testing only. */
>
> But that might be applicable to 'most' of the CameraSensorHelpers?
> Do we need to have a way to mark which ones would benefit from extra
> validation? (Maybe a comment is enough ?)

This will help - it gives a notion that more empirical testing can be 
done(by users/community?)  and validated the information encapsulated 
in  Properties and helpers.  But the point is whether we want to put up 
a global banner comment or be specific with each entry ?


>
>
>>>>   class CameraSensorHelperOv8858 : public CameraSensorHelper
>>>>   {
>>>>   public:
>>>> diff --git a/src/libcamera/camera_sensor_properties.cpp b/src/libcamera/camera_sensor_properties.cpp
>>>> index 7652c5f3e24c..a92c13b87b7f 100644
>>>> --- a/src/libcamera/camera_sensor_properties.cpp
>>>> +++ b/src/libcamera/camera_sensor_properties.cpp
>>>> @@ -204,6 +204,14 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen
>>>>                                 */
>>>>                        },
>>>>                } },
>>>> +             { "ov5695", {
>>>> +                     .unitCellSize = { 1400, 1400 },
>>> Can't validate this without a datasheet..
>> It's listed in the publicly available product brief:
>>
>>   pixel size: 1.4 μm x 1.4 μm
>>
>>
>>
>>>> +                     .testPatternModes = {
>>>> +                             { controls::draft::TestPatternModeOff, 0 },
>>>> +                             { controls::draft::TestPatternModeColorBars, 2 },
>>>> +                             { controls::draft::TestPatternModeColorBarsFadeToGray, 4},
>>>> +                     },
>>> The driver reports
>>>
>>> static const char * const ov5695_test_pattern_menu[] = {
>>>          "Disabled",
>>>          "Vertical Color Bar Type 1",
>>>          "Vertical Color Bar Type 2",
>>>          "Vertical Color Bar Type 3",
>>>          "Vertical Color Bar Type 4"
>>> };
>>>
>>> Have you inspected the produced test pattern ?
>>> If so
>> Yes, that was my best identifications from enabling the test patterns.
>> Annoyingly - the AGC/AWB quite quickly destroys the TPG patterns so you
>> have to be quick to see what's output. But that's a separate (and I
>> think known) issue...
>>
>>> Reviewed-by: Jacopo Mondi <jacopo.mondi at ideasonboard.com>

same,

Reviewed-by: Umang Jain <umang.jain at ideasonboard.com>

>>
>> Thanks
>>
>>
>>> Thanks
>>>    j
>>>
>>>> +             } },
>>>>                { "ov8858", {
>>>>                        .unitCellSize = { 1120, 1120 },
>>>>                        .testPatternModes = {
>>>> --
>>>> 2.34.1
>>>>



More information about the libcamera-devel mailing list