[libcamera-devel] [PATCH v5 0/7] libcamera: Allow for user-friendly names in applications

Tomasz Figa tfiga at chromium.org
Sat Sep 26 14:24:20 CEST 2020


Hi Niklas,

On Fri, Sep 25, 2020 at 5:08 PM Niklas Söderlund
<niklas.soderlund at ragnatech.se> wrote:
>
> Hello,
>
> This series trues to advance the topic of user-friendly names in
> applications.
>
> Patch 1/7 adds a new camera property 'Model' that may be used to record
> a cameras model. Patch 2/7, 3/7, 4/7 and 5/7 then implements this new
> property for all pipeline handlers.
>
> Patch 6/7 introduce user-friendly names to the cam utility.
>
> The final patch 7/7 records the model information in the DNG files
> created by qcam. More work is needed on top of this series to create
> user-friendly names for qcam. My intention is to do this in a follow up
> series once this is merged as I fear some bikeshedding on the style of
> the user-friendly name so lets battle that out in cam first :-)
>
> Example of listing cameras with and without this series,
>
> Without:
>     $ cam -l
>     Available cameras:
>     1: \_SB_.PCI0.RP05.PXSX-2.4:1.0-046d:0843
>     2: platform/vimc.0 Sensor B
>
>     $ cam -l
>     Available cameras:
>     1: /base/i2c at ff160000/camera at 36
>     2: /base/i2c at ff160000/camera at 3c
>
>     $ cam -l
>     Available cameras:
>     1: /base/soc/i2c0mux/i2c at 1/imx219 at 10
>
>     $ cam -l
>     Available cameras:
>     1: \_SB_.PCI0.I2C2.CAM0
>     2: \_SB_.PCI0.I2C4.CAM1
>
>
> With:
>     $ cam -l
>     Available cameras:
>     1: External camera Logitech Webcam C930e (\_SB_.PCI0.RP05.PXSX-2.4:1.0-046d:0843)
>     2: Internal front camera Sensor B (platform/vimc.0 Sensor B)
>
>     $ cam -l
>     Available cameras:
>     1: Internal front camera ov5695 (/base/i2c at ff160000/camera at 36)
>     2: Internal front camera ov2685 (/base/i2c at ff160000/camera at 3c)

First of all, thanks for working on this. The new names are indeed
much more friendly. I still wonder, though, if for the user the exact
sensor model of an internal camera has any meaning. Perhaps something
like "Internal 5 megapixel front camera" and "Internal 2 megapixel
front camera" would be even friendlier? What do you think?

Best regards,
Tomasz

>
>     $ cam -l
>     Available cameras:
>     1: Internal front camera imx219 (/base/soc/i2c0mux/i2c at 1/imx219 at 10)
>
>     $ cam -l
>     Available cameras:
>     1: Internal front camera ov13858 (\_SB_.PCI0.I2C2.CAM0)
>     2: Internal front camera ov5670 (\_SB_.PCI0.I2C4.CAM1)
>
> It can be observed above that all Cameras that report the Location
> property do so by stating they face the front. We know this is not true
> for some devices. This is however not a fault of this series as it only
> prints what is reported by the Camera. Once we teach the Camera to
> report true values for these properties cam will print the correct
> information.
>
> Niklas Söderlund (7):
>   libcamera: properties: Add model property
>   libcamera: utils: Add method to remove non-ASCII characters
>   libcamera: camera_sensor: Set sensor model property
>   libcamera: pipeline: uvcvideo: Initialize CameraData from MediaDevice
>   libcamera: pipeline: uvcvideo: Set sensor model property
>   cam: Print user-friendly camera names
>   qcam: dng_writer: Record camera model
>
>  include/libcamera/internal/utils.h           |  2 ++
>  src/cam/main.cpp                             | 31 +++++++++++++++++++-
>  src/libcamera/camera_sensor.cpp              |  2 ++
>  src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 31 ++++++++++----------
>  src/libcamera/property_ids.yaml              | 20 +++++++++++++
>  src/libcamera/utils.cpp                      | 17 +++++++++++
>  src/qcam/dng_writer.cpp                      | 13 ++++++--
>  7 files changed, 97 insertions(+), 19 deletions(-)
>
> --
> 2.28.0
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel


More information about the libcamera-devel mailing list