[libcamera-devel] [PATCH 00/13] Support SensorTimestamp metadata

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Apr 20 22:48:45 CEST 2021


Hi Jacopo,

On Mon, Apr 19, 2021 at 03:14:20PM +0200, Jacopo Mondi wrote:
> Hello,
>   v2 grow quite significatively compared to v1 :/
> 
> Reason is that now all the pipeline handlers report SensorTimestamp, each
> one with its own specificities.
> 
> Here and there a few drive-by fixes, and two patches for cam to add support
> for listing all the metadata associated with a completed Request.
> 
> v1->v2:
> - controls: Refer to CLOCK_BOOTTIME explicitely
> - pipeline:
>   - Add support for SensorTimestamp in all pipelines
> - HAL
>   - Assume SensorTimestamp is always available.
> 
> In future, it might be beneficial to add to lc-compliance a test to make
> sure SensorTimestamp is reported. Maybe a 'mandatory' flag can be added to
> the controls definition for that purpose.

That's a good idea. I foresee that libcamera will define device profiles
in the future, similar to the Android camera HAL hardware levels, and
controls will then be documented as optional/mandatory for the different
profiles. We can start with a simple mandatory/required flag.

> Jacopo Mondi (13):
>   libcamera: controls: Destage 'SensorTimestamp'
>   libcamera: ipu3: Report sensor timestamp
>   libcamera: uvc: Report sensor timestamp
>   libcamera: rkisp1: Do not over-write metadata
>   libcamera: rkisp1: Report sensor timestamp
>   libcamera: simple: Report sensor timestamp
>   libcamera: vimc: Report sensor timestamp
>   libcamera: buffer: Re-work setRequest() documentation
>   libcamera: raspberrypi: Do not over-write metadata
>   libcamera: raspberry: Report sensor timestamp
>   cam: Add option to print the Request metadata
>   cam: Implement OptMetadata
>   android: camera_device: Use controls::SensorTimestamp
> 
>  src/android/camera_device.cpp                 | 19 +++++-----------
>  src/android/camera_device.h                   |  3 +--
>  src/cam/capture.cpp                           | 15 ++++++++++++-
>  src/cam/capture.h                             |  1 +
>  src/cam/main.cpp                              |  3 +++
>  src/cam/main.h                                |  1 +
>  src/libcamera/buffer.cpp                      | 11 ++++++++--
>  src/libcamera/control_ids.yaml                | 21 ++++++++++++------
>  src/libcamera/pipeline/ipu3/ipu3.cpp          |  9 ++++++++
>  .../pipeline/raspberrypi/raspberrypi.cpp      | 22 +++++++++++++++++--
>  src/libcamera/pipeline/rkisp1/rkisp1.cpp      | 13 ++++++++++-
>  src/libcamera/pipeline/simple/simple.cpp      | 11 ++++++++++
>  src/libcamera/pipeline/uvcvideo/uvcvideo.cpp  |  3 +++
>  src/libcamera/pipeline/vimc/vimc.cpp          |  4 ++++
>  14 files changed, 108 insertions(+), 28 deletions(-)

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list