[libcamera-devel,v3,00/17] libcamera: Align IPU3 and RKISP1 interfaces
mbox series

Message ID 20220818094410.1671-1-jacopo@jmondi.org
Headers show
Series
  • libcamera: Align IPU3 and RKISP1 interfaces
Related show

Message

Jacopo Mondi Aug. 18, 2022, 9:43 a.m. UTC
Quite some re-shuffling in this series, based on Laurent's and Umang's
comments and Kieran's testing of the previous version.

The most important changes are:

- Dropped the first 3 patches of the series that introduced ErrorFlags
- Drop error flags handling in the FCQ
- Remove context_ zeroing at IPA::stop() time which caused a CTS error on
  start/stop/start sequences
- Include patches from Daniel that plumb lens support in the RkISP1
- Pile on top more IPA cleanups to align the two IPA implementations

Tested on IPU3 with CTS and ChomeOS CCA

Tested on RkISP1 RockPi4 + imx519 by running cam with SDL backend and verifying
the image quality is comparable to the current master branch version

Thanks
   j

Daniel Semkowicz (1):
  libcamera: rkisp1: ipa: Rename ctrls_ to sensorCtrls_

Daniel Semkowicz via libcamera-devel (1):
  rkisp1: Add camera lens to PH and expose it to the IPA

Jacopo Mondi (8):
  ipa: rkisp1: Align configure() with IPU3
  ipa: rkisp1: Make cameraSensorInfo mandatory
  ipa: ipu3: Compute line duration at configure() time
  ipa: ipu3: Re-sort methods implementation
  ipa: rkisp: Remove unused class member
  ipa: ipu3: Validate controls before assigning them
  ipa: ipu3: Store configuration data in context
  ipa: rkisp1: Store configuration data in context

Kieran Bingham via libcamera-devel (6):
  ipa: rkisp1: Rename frameContext to activeState
  ipa: libipa: Provide a common base for FrameContexts
  ipa: rkisp1: Convert to use the FCQueue
  ipa: libipa: algorithm: prepare(): Pass frame and frame Context
  ipa: libipa: algorithm: process(): Pass frame number
  ipa: libipa: algorithm: queueRequest(): Pass frame context

Umang Jain (1):
  ipa: libipa: Introduce FrameContextQueue

 include/libcamera/ipa/rkisp1.mojom       |  10 +-
 src/ipa/ipu3/algorithms/af.cpp           |  10 +-
 src/ipa/ipu3/algorithms/af.h             |   7 +-
 src/ipa/ipu3/algorithms/agc.cpp          |  11 +-
 src/ipa/ipu3/algorithms/agc.h            |   5 +-
 src/ipa/ipu3/algorithms/awb.cpp          |   9 +-
 src/ipa/ipu3/algorithms/awb.h            |   8 +-
 src/ipa/ipu3/algorithms/blc.cpp          |   6 +-
 src/ipa/ipu3/algorithms/blc.h            |   4 +-
 src/ipa/ipu3/algorithms/tone_mapping.cpp |   9 +-
 src/ipa/ipu3/algorithms/tone_mapping.h   |   6 +-
 src/ipa/ipu3/ipa_context.cpp             |  58 ++---
 src/ipa/ipu3/ipa_context.h               |  22 +-
 src/ipa/ipu3/ipu3.cpp                    | 306 +++++++++++------------
 src/ipa/ipu3/module.h                    |   2 +-
 src/ipa/libipa/algorithm.cpp             |   4 +
 src/ipa/libipa/algorithm.h               |   6 +-
 src/ipa/libipa/fc_queue.cpp              | 129 ++++++++++
 src/ipa/libipa/fc_queue.h                | 111 ++++++++
 src/ipa/libipa/meson.build               |   2 +
 src/ipa/rkisp1/algorithms/agc.cpp        |  28 ++-
 src/ipa/rkisp1/algorithms/agc.h          |   7 +-
 src/ipa/rkisp1/algorithms/awb.cpp        |  42 ++--
 src/ipa/rkisp1/algorithms/awb.h          |   7 +-
 src/ipa/rkisp1/algorithms/blc.cpp        |   4 +-
 src/ipa/rkisp1/algorithms/blc.h          |   4 +-
 src/ipa/rkisp1/algorithms/cproc.cpp      |   7 +-
 src/ipa/rkisp1/algorithms/cproc.h        |   5 +-
 src/ipa/rkisp1/algorithms/dpcc.cpp       |   4 +-
 src/ipa/rkisp1/algorithms/dpcc.h         |   4 +-
 src/ipa/rkisp1/algorithms/filter.cpp     |  10 +-
 src/ipa/rkisp1/algorithms/filter.h       |   5 +-
 src/ipa/rkisp1/algorithms/gsl.cpp        |   4 +-
 src/ipa/rkisp1/algorithms/gsl.h          |   4 +-
 src/ipa/rkisp1/algorithms/lsc.cpp        |   4 +-
 src/ipa/rkisp1/algorithms/lsc.h          |   4 +-
 src/ipa/rkisp1/ipa_context.cpp           |  15 ++
 src/ipa/rkisp1/ipa_context.h             |  17 +-
 src/ipa/rkisp1/module.h                  |   2 +-
 src/ipa/rkisp1/rkisp1.cpp                | 127 ++++++----
 src/libcamera/pipeline/rkisp1/rkisp1.cpp |  34 ++-
 41 files changed, 707 insertions(+), 356 deletions(-)
 create mode 100644 src/ipa/libipa/fc_queue.cpp
 create mode 100644 src/ipa/libipa/fc_queue.h

--
2.37.2