[libcamera-devel] [RFC 2/6] cam: Add option to capture StillCaptureRaw stream

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Mar 23 11:40:04 CET 2020


Hi Niklas,

Thank you for the patch.

On Mon, Mar 16, 2020 at 03:41:42AM +0100, Niklas Söderlund wrote:
> Add a role name 'stillraw' to request a StillCaptureRaw stream.
> 
> Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> ---
>  src/cam/main.cpp | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/src/cam/main.cpp b/src/cam/main.cpp
> index f73e77f381779853..dc86b5fee20ffa00 100644
> --- a/src/cam/main.cpp
> +++ b/src/cam/main.cpp
> @@ -155,7 +155,7 @@ int CamApp::parseOptions(int argc, char *argv[])
>  {
>  	KeyValueParser streamKeyValue;
>  	streamKeyValue.addOption("role", OptionString,
> -				 "Role for the stream (viewfinder, video, still)",
> +				 "Role for the stream (viewfinder, video, still, stillraw)",
>  				 ArgumentRequired);
>  	streamKeyValue.addOption("width", OptionInteger, "Width in pixels",
>  				 ArgumentRequired);
> @@ -217,6 +217,8 @@ int CamApp::prepareConfig()
>  				roles.push_back(StreamRole::VideoRecording);
>  			} else if (opt["role"].toString() == "still") {
>  				roles.push_back(StreamRole::StillCapture);
> +			} else if (opt["role"].toString() == "stillraw") {
> +				roles.push_back(StreamRole::StillCaptureRaw);
>  			} else {
>  				std::cerr << "Unknown stream role "
>  					  << opt["role"].toString() << std::endl;

This looks fine, but maybe it's a good time to optimize this a bit by
avoiding the looking of the role property every time. I've sent "[PATCH]
qcam: main: Cache lookup of role property" to fix this.

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


-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list