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

Hans de Goede hdegoede at redhat.com
Mon Jun 12 20:23:10 CEST 2023


Hi Laurent,

On 6/12/23 18:07, Laurent Pinchart wrote:
> 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.

I am working on getting the ov2680 on a Lenovo Miix 510 to work (1)
after verifying + fixing this script by capturing some raw frames
on a Surface Go with OV5693 my test plan is to first get
the capturing of raw frames working before moving to adding
libcamera support for the ov2680 sensor (which will require
adding the mandatory controls to the driver).

TL;DR: yes I have a use for this, being able to capture raw
frames is useful to separately test the sensor driver bringup
from hooking things up in libcamera.

I was actually thinking that it would be nice to get something
similar working on IPU6 .

Regards,

Hans


1) Both as a standalone project and because it is another way to
test the drivers/media/i2c/ov2680.c fixes and updates I've been
working on for atomisp.





> 
>> ---
>>  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;
>>  		}
>>  	}
> 



More information about the libcamera-devel mailing list