[v3,36/39] libcamera: software_isp: debayer_cpu: Make getInputConfig and getOutputConfig static
diff mbox series

Message ID 20251015012251.17508-37-bryan.odonoghue@linaro.org
State New
Headers show
Series
  • Add GLES 2.0 GPUISP to libcamera
Related show

Commit Message

Bryan O'Donoghue Oct. 15, 2025, 1:22 a.m. UTC
Make getInputConfig and getOutputConfig static so as to allow for
interrogation of the supported pixel formats prior to object instantiation.
Do this so as to allow the higher level logic make an informed choice
between CPU and GPU ISP based on which pixel formats are supported.

Curretnly CPU ISP supports more diverse input and output schemes.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 src/libcamera/software_isp/debayer_cpu.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Kieran Bingham Oct. 15, 2025, 11:35 p.m. UTC | #1
Quoting Bryan O'Donoghue (2025-10-15 02:22:48)
> Make getInputConfig and getOutputConfig static so as to allow for
> interrogation of the supported pixel formats prior to object instantiation.
> Do this so as to allow the higher level logic make an informed choice
> between CPU and GPU ISP based on which pixel formats are supported.
> 
> Curretnly CPU ISP supports more diverse input and output schemes.

Currently

Why is this only _cpu and not the gpu ... perhaps I guess that gets
added as static directly ?

So 

Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

> 
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---
>  src/libcamera/software_isp/debayer_cpu.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/libcamera/software_isp/debayer_cpu.h b/src/libcamera/software_isp/debayer_cpu.h
> index 3cc07028..3bf34ac3 100644
> --- a/src/libcamera/software_isp/debayer_cpu.h
> +++ b/src/libcamera/software_isp/debayer_cpu.h
> @@ -104,8 +104,8 @@ private:
>         template<bool addAlphaByte, bool ccmEnabled>
>         void debayer10P_RGRG_BGR888(uint8_t *dst, const uint8_t *src[]);
>  
> -       int getInputConfig(PixelFormat inputFormat, DebayerInputConfig &config);
> -       int getOutputConfig(PixelFormat outputFormat, DebayerOutputConfig &config);
> +       static int getInputConfig(PixelFormat inputFormat, DebayerInputConfig &config);
> +       static int getOutputConfig(PixelFormat outputFormat, DebayerOutputConfig &config);
>         int setupStandardBayerOrder(BayerFormat::Order order);
>         int setDebayerFunctions(PixelFormat inputFormat,
>                                 PixelFormat outputFormat,
> -- 
> 2.51.0
>
Kieran Bingham Oct. 15, 2025, 11:36 p.m. UTC | #2
Quoting Kieran Bingham (2025-10-16 00:35:19)
> Quoting Bryan O'Donoghue (2025-10-15 02:22:48)
> > Make getInputConfig and getOutputConfig static so as to allow for
> > interrogation of the supported pixel formats prior to object instantiation.
> > Do this so as to allow the higher level logic make an informed choice
> > between CPU and GPU ISP based on which pixel formats are supported.
> > 
> > Curretnly CPU ISP supports more diverse input and output schemes.
> 
> Currently
> 
> Why is this only _cpu and not the gpu ... perhaps I guess that gets
> added as static directly ?

Hrm ... I don't understand how this is so late in the series too. Is it
out of order breaking bisection? or is it not used /needed ?

> 
> So 
> 
> Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> 
> > 
> > Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> > ---
> >  src/libcamera/software_isp/debayer_cpu.h | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/src/libcamera/software_isp/debayer_cpu.h b/src/libcamera/software_isp/debayer_cpu.h
> > index 3cc07028..3bf34ac3 100644
> > --- a/src/libcamera/software_isp/debayer_cpu.h
> > +++ b/src/libcamera/software_isp/debayer_cpu.h
> > @@ -104,8 +104,8 @@ private:
> >         template<bool addAlphaByte, bool ccmEnabled>
> >         void debayer10P_RGRG_BGR888(uint8_t *dst, const uint8_t *src[]);
> >  
> > -       int getInputConfig(PixelFormat inputFormat, DebayerInputConfig &config);
> > -       int getOutputConfig(PixelFormat outputFormat, DebayerOutputConfig &config);
> > +       static int getInputConfig(PixelFormat inputFormat, DebayerInputConfig &config);
> > +       static int getOutputConfig(PixelFormat outputFormat, DebayerOutputConfig &config);
> >         int setupStandardBayerOrder(BayerFormat::Order order);
> >         int setDebayerFunctions(PixelFormat inputFormat,
> >                                 PixelFormat outputFormat,
> > -- 
> > 2.51.0
> >
Bryan O'Donoghue Oct. 16, 2025, 9:47 a.m. UTC | #3
On 16/10/2025 00:36, Kieran Bingham wrote:
>> Currently
>>
>> Why is this only _cpu and not the gpu ... perhaps I guess that gets
>> added as static directly ?
> Hrm ... I don't understand how this is so late in the series too. Is it
> out of order breaking bisection? or is it not used /needed ?

Because I was rebasing at 2:20 am :)

---
bod

Patch
diff mbox series

diff --git a/src/libcamera/software_isp/debayer_cpu.h b/src/libcamera/software_isp/debayer_cpu.h
index 3cc07028..3bf34ac3 100644
--- a/src/libcamera/software_isp/debayer_cpu.h
+++ b/src/libcamera/software_isp/debayer_cpu.h
@@ -104,8 +104,8 @@  private:
 	template<bool addAlphaByte, bool ccmEnabled>
 	void debayer10P_RGRG_BGR888(uint8_t *dst, const uint8_t *src[]);
 
-	int getInputConfig(PixelFormat inputFormat, DebayerInputConfig &config);
-	int getOutputConfig(PixelFormat outputFormat, DebayerOutputConfig &config);
+	static int getInputConfig(PixelFormat inputFormat, DebayerInputConfig &config);
+	static int getOutputConfig(PixelFormat outputFormat, DebayerOutputConfig &config);
 	int setupStandardBayerOrder(BayerFormat::Order order);
 	int setDebayerFunctions(PixelFormat inputFormat,
 				PixelFormat outputFormat,