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

Message ID 20220721121310.1286862-1-kieran.bingham@ideasonboard.com
Headers show
Series
  • libcamera: Align IPU3 and RKISP1 interfaces
Related show

Message

Kieran Bingham July 21, 2022, 12:12 p.m. UTC
This series pulls together several separate work items to align both the IPU3
and the RKISP1 to use the same interfaces, facilitate reporting errors in
requests, introduce a FrameContext for both modules and brings in part of
Florian's series to extend the queueRequest call to the algorithms.

Note that while errors may be set on the FrameContext, they are not yet
conveyed to the Pipeline handler to merge with the Request.

Florian Sylvestre (2):
  ipa: libipa: algorithm: Add queueRequest() to the Algorithm class
  ipa: rkisp1: Transfer queueRequest() call to each algorithm

Kieran Bingham (8):
  libcamera: pipeline: uvcvideo: Report control errors
  libcamera: request: Add PFCError flag
  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: ipu3: Transfer queueRequest() call to each algorithm

Paul Elder (1):
  libcamera: request: Add support for error flags

Umang Jain (1):
  ipa: ipu3: Move the Frame Context queue to libipa

 include/libcamera/internal/request.h         |   3 +
 include/libcamera/request.h                  |  10 ++
 src/ipa/ipu3/algorithms/af.cpp               |  10 +-
 src/ipa/ipu3/algorithms/af.h                 |   8 +-
 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                 |  43 +------
 src/ipa/ipu3/ipa_context.h                   |  16 +--
 src/ipa/ipu3/ipu3.cpp                        |  19 +--
 src/ipa/ipu3/module.h                        |   2 +-
 src/ipa/libipa/algorithm.cpp                 |  20 ++++
 src/ipa/libipa/algorithm.h                   |  14 ++-
 src/ipa/libipa/fc_queue.cpp                  | 117 +++++++++++++++++++
 src/ipa/libipa/fc_queue.h                    |  99 ++++++++++++++++
 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/ipa_context.h                 |  11 +-
 src/ipa/rkisp1/module.h                      |   2 +-
 src/ipa/rkisp1/rkisp1.cpp                    |  33 ++++--
 src/libcamera/pipeline/uvcvideo/uvcvideo.cpp |   7 +-
 src/libcamera/request.cpp                    |  51 ++++++++
 32 files changed, 485 insertions(+), 132 deletions(-)
 create mode 100644 src/ipa/libipa/fc_queue.cpp
 create mode 100644 src/ipa/libipa/fc_queue.h