[libcamera-devel] [PATCH v4 0/8] libcamera: ipa_manager: Proxy open-source IPAs to a thread

Niklas Söderlund niklas.soderlund at ragnatech.se
Mon Apr 13 23:26:52 CEST 2020


Hello,

This series tries to solve some issues discovered by testing Laurent's
patch (8/8 in this series). The main change is to extend the
IPAInterface with a start() and stop() method that can deal with things
as starting threads or allocating resources needed by the IPA in tandem
with the camera start and stop.

The series is a mix of patches to the rkisp1 pipeline handler solving
issues uncovered by running the IPA in a separate thread, adding the IPA
start() and stop() methods and integrating them with Laurent's work to
run open-source IPAs in a thread.

Laurent Pinchart (1):
  libcamera: ipa_manager: Proxy open-source IPAs to a thread

Niklas Söderlund (7):
  ipa: Add start() and stop() operations
  libcamera: pipeline: rkisp1: Queue parameters even if they are not
    ready
  libcamera: pipeline: rkisp1: Initialize IPA
  libcamera: pipeline: rkisp1: Add clear() to RkISP1Frames
  libcamera: pipeline: rkisp1: Do not try to process cancelled frames
  libcamera: pipeline: rkisp1: Call IPA start() and stop()
  libcamera: pipeline: vimc: Call IPA start() and stop()

 include/ipa/ipa_interface.h                 |   4 +
 include/ipa/ipa_vimc.h                      |   2 +
 src/ipa/libipa/ipa_interface_wrapper.cpp    |  16 ++
 src/ipa/libipa/ipa_interface_wrapper.h      |   2 +
 src/ipa/rkisp1/rkisp1.cpp                   |   2 +
 src/ipa/vimc/vimc.cpp                       |  20 +++
 src/libcamera/include/ipa_context_wrapper.h |   2 +
 src/libcamera/ipa_context_wrapper.cpp       |  22 +++
 src/libcamera/ipa_interface.cpp             |  35 +++++
 src/libcamera/ipa_manager.cpp               |  48 +++---
 src/libcamera/pipeline/rkisp1/rkisp1.cpp    |  63 +++++++-
 src/libcamera/pipeline/vimc/vimc.cpp        |   8 +
 src/libcamera/proxy/ipa_proxy_linux.cpp     |   2 +
 src/libcamera/proxy/ipa_proxy_thread.cpp    | 162 ++++++++++++++++++++
 src/libcamera/proxy/meson.build             |   1 +
 test/ipa/ipa_interface_test.cpp             |  22 +++
 test/ipa/ipa_wrappers_test.cpp              |  33 +++-
 17 files changed, 410 insertions(+), 34 deletions(-)
 create mode 100644 src/libcamera/proxy/ipa_proxy_thread.cpp

-- 
2.26.0



More information about the libcamera-devel mailing list