[v3,7/8] gstreamer: Generate the new AEGC controls
diff mbox series

Message ID 20241113131256.3170817-8-paul.elder@ideasonboard.com
State New
Headers show
Series
  • AEGC controls
Related show

Commit Message

Paul Elder Nov. 13, 2024, 1:12 p.m. UTC
Since AeEnable will be replaced with ExposureTimeMode and
AnalogueGainMode so that the two can be set between auto/manual
independently, update the gstreamer control ids generation to conform
with this.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>

---
New in v3
---
 utils/codegen/gen-gst-controls.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Nicolas Dufresne Nov. 13, 2024, 6:47 p.m. UTC | #1
Hi,

Le mercredi 13 novembre 2024 à 22:12 +0900, Paul Elder a écrit :
> Since AeEnable will be replaced with ExposureTimeMode and
> AnalogueGainMode so that the two can be set between auto/manual
> independently, update the gstreamer control ids generation to conform
> with this.

Thanks for keeping GStreamer up-to-date!

Just an informative note, this is an API change, in this case we haven't
released libcamera with ae-enable property yet, so no action needed. A similar
change in the future would require emulating ae-enable on top of
ExposureTimeMode, or some clear notice for the next release note.

Reviewed-by: Nicolas Nicolas <nicolas.dufresne@collabora.com>

> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> 
> ---
> New in v3
> ---
>  utils/codegen/gen-gst-controls.py | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/utils/codegen/gen-gst-controls.py b/utils/codegen/gen-gst-controls.py
> index 2601a67588a3..7dfd6b623b3d 100755
> --- a/utils/codegen/gen-gst-controls.py
> +++ b/utils/codegen/gen-gst-controls.py
> @@ -19,8 +19,9 @@ from controls import Control
>  
>  
>  exposed_controls = [
> -    'AeEnable', 'AeMeteringMode', 'AeConstraintMode', 'AeExposureMode',
> -    'ExposureValue', 'ExposureTime', 'AnalogueGain', 'AeFlickerPeriod',
> +    'AeMeteringMode', 'AeConstraintMode', 'AeExposureMode',
> +    'ExposureValue', 'ExposureTime', 'ExposureTimeMode',
> +    'AnalogueGain', 'AnalogueGainMode', 'AeFlickerPeriod',
>      'Brightness', 'Contrast', 'AwbEnable', 'AwbMode', 'ColourGains',
>      'Saturation', 'Sharpness', 'ColourCorrectionMatrix', 'ScalerCrop',
>      'DigitalGain', 'AfMode', 'AfRange', 'AfSpeed', 'AfMetering', 'AfWindows',
Laurent Pinchart Nov. 13, 2024, 6:51 p.m. UTC | #2
Hi Nicolas,

On Wed, Nov 13, 2024 at 01:47:23PM -0500, Nicolas Dufresne wrote:
> Le mercredi 13 novembre 2024 à 22:12 +0900, Paul Elder a écrit :
> > Since AeEnable will be replaced with ExposureTimeMode and
> > AnalogueGainMode so that the two can be set between auto/manual
> > independently, update the gstreamer control ids generation to conform
> > with this.
> 
> Thanks for keeping GStreamer up-to-date!
> 
> Just an informative note, this is an API change, in this case we haven't
> released libcamera with ae-enable property yet, so no action needed. A similar
> change in the future would require emulating ae-enable on top of
> ExposureTimeMode, or some clear notice for the next release note.

We would opt for a clear notice, as we don't maintain backward
compatibility yet. Kieran already mentions ABI breakages in the release
notes, is there somewhere else the notice would need to be posted ?

> Reviewed-by: Nicolas Nicolas <nicolas.dufresne@collabora.com>
> 
> > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> > 
> > ---
> > New in v3
> > ---
> >  utils/codegen/gen-gst-controls.py | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/utils/codegen/gen-gst-controls.py b/utils/codegen/gen-gst-controls.py
> > index 2601a67588a3..7dfd6b623b3d 100755
> > --- a/utils/codegen/gen-gst-controls.py
> > +++ b/utils/codegen/gen-gst-controls.py
> > @@ -19,8 +19,9 @@ from controls import Control
> >  
> >  
> >  exposed_controls = [
> > -    'AeEnable', 'AeMeteringMode', 'AeConstraintMode', 'AeExposureMode',
> > -    'ExposureValue', 'ExposureTime', 'AnalogueGain', 'AeFlickerPeriod',
> > +    'AeMeteringMode', 'AeConstraintMode', 'AeExposureMode',
> > +    'ExposureValue', 'ExposureTime', 'ExposureTimeMode',
> > +    'AnalogueGain', 'AnalogueGainMode', 'AeFlickerPeriod',
> >      'Brightness', 'Contrast', 'AwbEnable', 'AwbMode', 'ColourGains',
> >      'Saturation', 'Sharpness', 'ColourCorrectionMatrix', 'ScalerCrop',
> >      'DigitalGain', 'AfMode', 'AfRange', 'AfSpeed', 'AfMetering', 'AfWindows',
Nicolas Dufresne Nov. 13, 2024, 7:31 p.m. UTC | #3
Le mercredi 13 novembre 2024 à 20:51 +0200, Laurent Pinchart a écrit :
> Hi Nicolas,
> 
> On Wed, Nov 13, 2024 at 01:47:23PM -0500, Nicolas Dufresne wrote:
> > Le mercredi 13 novembre 2024 à 22:12 +0900, Paul Elder a écrit :
> > > Since AeEnable will be replaced with ExposureTimeMode and
> > > AnalogueGainMode so that the two can be set between auto/manual
> > > independently, update the gstreamer control ids generation to conform
> > > with this.
> > 
> > Thanks for keeping GStreamer up-to-date!
> > 
> > Just an informative note, this is an API change, in this case we haven't
> > released libcamera with ae-enable property yet, so no action needed. A similar
> > change in the future would require emulating ae-enable on top of
> > ExposureTimeMode, or some clear notice for the next release note.
> 
> We would opt for a clear notice, as we don't maintain backward
> compatibility yet. Kieran already mentions ABI breakages in the release
> notes, is there somewhere else the notice would need to be posted ?

I was under the impression this one wasn't a problem since we haven't released
in between, perhaps I'm wrong ;-P But clear a short live for these properties.

> 
> > Reviewed-by: Nicolas Nicolas <nicolas.dufresne@collabora.com>
> > 
> > > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> > > 
> > > ---
> > > New in v3
> > > ---
> > >  utils/codegen/gen-gst-controls.py | 5 +++--
> > >  1 file changed, 3 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/utils/codegen/gen-gst-controls.py b/utils/codegen/gen-gst-controls.py
> > > index 2601a67588a3..7dfd6b623b3d 100755
> > > --- a/utils/codegen/gen-gst-controls.py
> > > +++ b/utils/codegen/gen-gst-controls.py
> > > @@ -19,8 +19,9 @@ from controls import Control
> > >  
> > >  
> > >  exposed_controls = [
> > > -    'AeEnable', 'AeMeteringMode', 'AeConstraintMode', 'AeExposureMode',
> > > -    'ExposureValue', 'ExposureTime', 'AnalogueGain', 'AeFlickerPeriod',
> > > +    'AeMeteringMode', 'AeConstraintMode', 'AeExposureMode',
> > > +    'ExposureValue', 'ExposureTime', 'ExposureTimeMode',
> > > +    'AnalogueGain', 'AnalogueGainMode', 'AeFlickerPeriod',
> > >      'Brightness', 'Contrast', 'AwbEnable', 'AwbMode', 'ColourGains',
> > >      'Saturation', 'Sharpness', 'ColourCorrectionMatrix', 'ScalerCrop',
> > >      'DigitalGain', 'AfMode', 'AfRange', 'AfSpeed', 'AfMetering', 'AfWindows',
>
Paul Elder Nov. 15, 2024, 1:10 p.m. UTC | #4
On Wed, Nov 13, 2024 at 01:47:23PM -0500, Nicolas Dufresne wrote:
> Hi,
> 
> Le mercredi 13 novembre 2024 à 22:12 +0900, Paul Elder a écrit :
> > Since AeEnable will be replaced with ExposureTimeMode and
> > AnalogueGainMode so that the two can be set between auto/manual
> > independently, update the gstreamer control ids generation to conform
> > with this.
> 
> Thanks for keeping GStreamer up-to-date!
> 
> Just an informative note, this is an API change, in this case we haven't
> released libcamera with ae-enable property yet, so no action needed. A similar
> change in the future would require emulating ae-enable on top of
> ExposureTimeMode, or some clear notice for the next release note.

Noted.

> 
> Reviewed-by: Nicolas Nicolas <nicolas.dufresne@collabora.com>

Thanks!

Paul

> 
> > 
> > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> > 
> > ---
> > New in v3
> > ---
> >  utils/codegen/gen-gst-controls.py | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/utils/codegen/gen-gst-controls.py b/utils/codegen/gen-gst-controls.py
> > index 2601a67588a3..7dfd6b623b3d 100755
> > --- a/utils/codegen/gen-gst-controls.py
> > +++ b/utils/codegen/gen-gst-controls.py
> > @@ -19,8 +19,9 @@ from controls import Control
> >  
> >  
> >  exposed_controls = [
> > -    'AeEnable', 'AeMeteringMode', 'AeConstraintMode', 'AeExposureMode',
> > -    'ExposureValue', 'ExposureTime', 'AnalogueGain', 'AeFlickerPeriod',
> > +    'AeMeteringMode', 'AeConstraintMode', 'AeExposureMode',
> > +    'ExposureValue', 'ExposureTime', 'ExposureTimeMode',
> > +    'AnalogueGain', 'AnalogueGainMode', 'AeFlickerPeriod',
> >      'Brightness', 'Contrast', 'AwbEnable', 'AwbMode', 'ColourGains',
> >      'Saturation', 'Sharpness', 'ColourCorrectionMatrix', 'ScalerCrop',
> >      'DigitalGain', 'AfMode', 'AfRange', 'AfSpeed', 'AfMetering', 'AfWindows',
>
Laurent Pinchart Nov. 20, 2024, 1:44 p.m. UTC | #5
Hi Paul,

Thank you for the patch.

On Wed, Nov 13, 2024 at 10:12:55PM +0900, Paul Elder wrote:
> Since AeEnable will be replaced with ExposureTimeMode and
> AnalogueGainMode so that the two can be set between auto/manual
> independently, update the gstreamer control ids generation to conform
> with this.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> 
> ---
> New in v3
> ---
>  utils/codegen/gen-gst-controls.py | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/utils/codegen/gen-gst-controls.py b/utils/codegen/gen-gst-controls.py
> index 2601a67588a3..7dfd6b623b3d 100755
> --- a/utils/codegen/gen-gst-controls.py
> +++ b/utils/codegen/gen-gst-controls.py
> @@ -19,8 +19,9 @@ from controls import Control
>  
>  
>  exposed_controls = [
> -    'AeEnable', 'AeMeteringMode', 'AeConstraintMode', 'AeExposureMode',
> -    'ExposureValue', 'ExposureTime', 'AnalogueGain', 'AeFlickerPeriod',
> +    'AeMeteringMode', 'AeConstraintMode', 'AeExposureMode',
> +    'ExposureValue', 'ExposureTime', 'ExposureTimeMode',
> +    'AnalogueGain', 'AnalogueGainMode', 'AeFlickerPeriod',
>      'Brightness', 'Contrast', 'AwbEnable', 'AwbMode', 'ColourGains',
>      'Saturation', 'Sharpness', 'ColourCorrectionMatrix', 'ScalerCrop',
>      'DigitalGain', 'AfMode', 'AfRange', 'AfSpeed', 'AfMetering', 'AfWindows',

Patch
diff mbox series

diff --git a/utils/codegen/gen-gst-controls.py b/utils/codegen/gen-gst-controls.py
index 2601a67588a3..7dfd6b623b3d 100755
--- a/utils/codegen/gen-gst-controls.py
+++ b/utils/codegen/gen-gst-controls.py
@@ -19,8 +19,9 @@  from controls import Control
 
 
 exposed_controls = [
-    'AeEnable', 'AeMeteringMode', 'AeConstraintMode', 'AeExposureMode',
-    'ExposureValue', 'ExposureTime', 'AnalogueGain', 'AeFlickerPeriod',
+    'AeMeteringMode', 'AeConstraintMode', 'AeExposureMode',
+    'ExposureValue', 'ExposureTime', 'ExposureTimeMode',
+    'AnalogueGain', 'AnalogueGainMode', 'AeFlickerPeriod',
     'Brightness', 'Contrast', 'AwbEnable', 'AwbMode', 'ColourGains',
     'Saturation', 'Sharpness', 'ColourCorrectionMatrix', 'ScalerCrop',
     'DigitalGain', 'AfMode', 'AfRange', 'AfSpeed', 'AfMetering', 'AfWindows',