[libcamera-devel] [PATCH v3 1/3] ipa: raspberrypi: Make CamHelper exposure methods virtual

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Apr 16 23:56:20 CEST 2021


Hi David,

Thank you for the patch.

On Wed, Apr 14, 2021 at 11:29:53AM +0100, David Plowman wrote:
> This allows derived classes to override them if they have any special
> behaviours to implement. For instance if a particular camera mode
> produces a different signal level to other modes, you might choose to
> address that in the gain or exposure methods.

For my information, would you be able to give an example of how this
would be used ? What kind of particular camera mode would produce a
different signal level, is this related to binning, or something else ?

> Signed-off-by: David Plowman <david.plowman at raspberrypi.com>
> Reviewed-by: Naushir Patuck <naush at raspberrypi.com>

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

> ---
>  src/ipa/raspberrypi/cam_helper.hpp | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/ipa/raspberrypi/cam_helper.hpp b/src/ipa/raspberrypi/cam_helper.hpp
> index 1b2d6eec..4053a870 100644
> --- a/src/ipa/raspberrypi/cam_helper.hpp
> +++ b/src/ipa/raspberrypi/cam_helper.hpp
> @@ -66,8 +66,8 @@ public:
>  	virtual ~CamHelper();
>  	void SetCameraMode(const CameraMode &mode);
>  	MdParser &Parser() const { return *parser_; }
> -	uint32_t ExposureLines(double exposure_us) const;
> -	double Exposure(uint32_t exposure_lines) const; // in us
> +	virtual uint32_t ExposureLines(double exposure_us) const;
> +	virtual double Exposure(uint32_t exposure_lines) const; // in us
>  	virtual uint32_t GetVBlanking(double &exposure_us, double minFrameDuration,
>  				      double maxFrameDuration) const;
>  	virtual uint32_t GainCode(double gain) const = 0;

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list