[libcamera-devel] [PATCH v5 00/19] libcamera: ipu3: Add ImgU support

Jacopo Mondi jacopo at jmondi.org
Tue Apr 2 11:04:20 CEST 2019


Hello,

On Tue, Mar 26, 2019 at 09:38:43AM +0100, Jacopo Mondi wrote:
> Hello,
>    patch count reduced a bit, from the 31 of v4+multiple-stream to this
> 19 for v5 of ImgU support series only.
>
> Quite some changes compared to v4 mostly suggested by Laurent during review:
> - Made CIO2Device and ImgUDevice classes and moved most of the code in class
>   methods. The pipeline handler code now mostly interacts with a 'cio2' and
>   an 'imgu' objects, and call methods on them to perform format configuration,
>   memory allocation and start/stop of video devices.
> - Removed buffer queueing from viewfinder and stat: the nodes need to be linked
>   and configured but buffers might not be queued there.
> - Profiled buffer sharing between CIO2 and ImgU input: requests for output
>   buffers can be queued asynchronously without stalling the pipeline
> - Cache camera sizes and format at camera creation time
> - Add a few patches for geometry and v4l2_subdevice, to generalize helpers
>   methods previously implemented for IPU3 pipeline only
>
> Two points remain to be clarified:
> - It is not yet clear to me how to calculate the sizes in the capture pipeline
>   based on the requested output resolutions. Upstream pointed us to an XML
>   file with all sizes hardcoded, which is an unacceptable solution as sizes
>   have to be calculated dynamically based on requested stream configurations.
>   -> upstream will provide a programmatic way to do so
> - When operating on one of the two ImgU pipes, if the other one is still linked
>   from a previous capture operation, the whole ImgU unit stall.
>   Please see 19/19 I try to explain the issue in a lengthy comment.
>   -> to be notified to upstream
>
> I will send multiple stream support separately, to ease integration of ImgU
> support first.
>
> Thanks
>    j
>
> Jacopo Mondi (19):
>   libcamera: formats: Add toString() methods
>   libcamera: formats: Define FormatEnum type
>   libcamera: geometry: Add toString to Rectangle
>   libcamera: v4l2_subdevice: Rename deviceName() method
>   libcamera: v4l2_device: Create device from entity name
>   libcamera: v4l2_subdevice:  Create device from entity name

I have now pushed these ^ patches which have received review tags to
slim down the forthcoming v6 of this series.

Thanks
  j

>   libcamera: geometry: Add 0-initialized SizeRange constructor
>   libcamera: ipu3: Cache the camera sizes
>   libcamera: ipu3: Set stream configuration from sensor
>   libcamera: ipu3: Create CIO2Device class
>   libcamera: ipu3: Create ImgUDevice class
>   libcamera: ipu3: Apply image format to the pipeline
>   libcamera: ipu3: Implement memory handling
>   libcamera: ipu3: Implement camera start/stop
>   libcamera: ipu3: Queue requests to ImgU
>   libcamera: ipu3: Connect CIO2 and ImgU bufferReady signals
>   libcamera: ipu3: Use NV12 as default image format
>   libcamera: ipu3: Limit resolution to 2560x1920
>   libcamera: ipu3: Enable ImgU media links
>
>  src/libcamera/formats.cpp              |   27 +
>  src/libcamera/geometry.cpp             |   27 +-
>  src/libcamera/include/formats.h        |   22 +
>  src/libcamera/include/geometry.h       |   13 +-
>  src/libcamera/include/v4l2_device.h    |    6 +
>  src/libcamera/include/v4l2_subdevice.h |   15 +-
>  src/libcamera/meson.build              |    1 +
>  src/libcamera/pipeline/ipu3/ipu3.cpp   | 1183 ++++++++++++++++++++----
>  src/libcamera/v4l2_device.cpp          |   40 +
>  src/libcamera/v4l2_subdevice.cpp       |   49 +-
>  test/v4l2_subdevice/list_formats.cpp   |    6 +-
>  11 files changed, 1203 insertions(+), 186 deletions(-)
>  create mode 100644 src/libcamera/formats.cpp
>  create mode 100644 src/libcamera/include/formats.h
>
> --
> 2.21.0
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20190402/339cebc0/attachment.sig>


More information about the libcamera-devel mailing list