[libcamera-devel] [PATCH] utils: ipu3-capture.sh: Fix the script to work with recent media-ctl versions

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Jun 12 18:07:11 CEST 2023


Hi Hans,

Thank you for the patch.

On Mon, Jun 12, 2023 at 05:39:34PM +0200, Hans de Goede via libcamera-devel wrote:
> Recent media-ctl versions include the framerate in the fmt property output:
> 
> - entity 37: ov5693 4-0036 (1 pad, 1 link)
>              type V4L2 subdev subtype Sensor flags 0
>              device node name /dev/v4l-subdev6
> 	pad0: Source
> 		[fmt:SBGGR10_1X10/2592x1944 at 1/30
> 		 crop.bounds:(16,6)/2592x1944
> 		 crop:(16,6)/2592x1944]
> 		-> "ipu3-csi2 1":0 [ENABLED]
> 
> This resulted in $sensor_size getting set to: "2592x1944 at 1 30", which
> causes the script to fail.
> 
> Fix this by:
> 
> 1. Replacing the gsub() to remove the '/' between e.g. SBGGR10_1X10
> and 2592x1944 with a sub() so that only that first '/' gets replaced
> (resulting in a $sensor_size of "2592x1944 at 1/30" instead).
> 
> 2. Adding a new sub() to remove the @1/30 suffix.
> 
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>

Does this mean you have a use for this script ? I was actually
considering dropping it, as it's clearly unmaintained, and has long
outlived its initial purpose of helping developing the IPU3 pipeline
handler.

> ---
>  utils/ipu3/ipu3-capture.sh | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/utils/ipu3/ipu3-capture.sh b/utils/ipu3/ipu3-capture.sh
> index ba6147b4..9294d025 100755
> --- a/utils/ipu3/ipu3-capture.sh
> +++ b/utils/ipu3/ipu3-capture.sh
> @@ -63,7 +63,8 @@ parse_pipeline() {
>  		if (sensor) {
>  			gsub(\".*fmt:\", \"\");
>  			gsub(\"[] ].*\", \"\");
> -			gsub(\"/\", \" \");
> +			sub(\"/\", \" \");
> +			sub(\"@[0-9]+/[0-9]+\", \"\");
>  			format=\$0;
>  		}
>  	}

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list