[PATCH v1] gstreamer: Restore `AeEnable` control

Barnabás Pőcze barnabas.pocze at ideasonboard.com
Wed Apr 2 10:55:57 CEST 2025


Hi


2025. 04. 01. 20:35 keltezéssel, Laurent Pinchart írta:
> On Tue, Apr 01, 2025 at 08:26:32PM +0200, Barnabás Pőcze wrote:
>> 2025. 04. 01. 20:21 keltezéssel, Laurent Pinchart írta:
>>> On Tue, Apr 01, 2025 at 04:41:44PM +0100, Kieran Bingham wrote:
>>>> Quoting Barnabás Pőcze (2025-04-01 15:05:27)
>>>>> 2025. 04. 01. 16:03 keltezéssel, Kieran Bingham írta:
>>>>>> Quoting Barnabás Pőcze (2025-04-01 14:52:57)
>>>>>>> Commit "gstreamer: Generate the new AEGC controls" removed the
>>>>>>> `AeEnable` control from gen-gst-controls.py. However, the patch
>>>>>>> set it was part of did not end up removing the `AeEnable`
>>>>>>> control after all. So restore it for gstreamer users.
>>>>>>>
>>>>>>> See 85cb179f289d29 ("controls: Redefine AeEnable").
>>>>>>
>>>>>> Does this also relate to Bugzilla 261 "IMX296 on PI 4 / CM4 have no wb
>>>>>> automatics" ?
>>>>>
>>>>> No, I don't think so. The "removal" has not been in any libcamera release yet.
>>>>
>>>> Ok, no worries - so lets get this in to stop it being a mistake :-)
>>>
>>> If I recall correctly, libcamerasrc mistakenly feeds back metadata into
>>> controls at the moment. This has to be fixed and the issue is unrelated
>>> to this patch, but I'm wondering if adding back AeEnable could cause
>>> horrible feedback loops. If you've tested this carefully and
>>> successfully,
>>
>> Is it reported in metadata? As far as I can see it has `direction: in` since
>> 85cb179f289d29 ("controls: Redefine AeEnable"). But I'll double check.
> 
> I think you're right. Hopefully it will be safe then.

I don't see any obvious places where it would be reported. The documentation
also states "The AeEnable control is not returned in metadata.", so I think
even if it was, that would probably be a bug in libcamera.


Regards,
Barnabás PŐcze


> 
>>> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>>>
>>>>>> If so, lets add:
>>>>>>
>>>>>> Bug: https://bugs.libcamera.org/show_bug.cgi?id=261
>>>>>>
>>>>>>> Fixes: 187f2d537be5a4 ("gstreamer: Generate the new AEGC controls")
>>>>>>> Signed-off-by: Barnabás Pőcze <barnabas.pocze at ideasonboard.com>
>>>>>>
>>>>>> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>>>>>>
>>>>>>> ---
>>>>>>>     utils/codegen/gen-gst-controls.py | 2 +-
>>>>>>>     1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>>>
>>>>>>> diff --git a/utils/codegen/gen-gst-controls.py b/utils/codegen/gen-gst-controls.py
>>>>>>> index 07af7653b..4ca76049e 100755
>>>>>>> --- a/utils/codegen/gen-gst-controls.py
>>>>>>> +++ b/utils/codegen/gen-gst-controls.py
>>>>>>> @@ -19,7 +19,7 @@ from controls import Control
>>>>>>>     
>>>>>>>     
>>>>>>>     exposed_controls = [
>>>>>>> -    'AeMeteringMode', 'AeConstraintMode', 'AeExposureMode',
>>>>>>> +    'AeEnable', 'AeMeteringMode', 'AeConstraintMode', 'AeExposureMode',
>>>>>>>         'ExposureValue', 'ExposureTime', 'ExposureTimeMode',
>>>>>>>         'AnalogueGain', 'AnalogueGainMode', 'AeFlickerPeriod',
>>>>>>>         'Brightness', 'Contrast', 'AwbEnable', 'AwbMode', 'ColourGains',
> 



More information about the libcamera-devel mailing list