[libcamera-devel] [RFC PATCH v2 0/3] Move frame contexts queue to a separate

Umang Jain umang.jain at ideasonboard.com
Fri May 27 21:17:37 CEST 2022


This patch series moves the frame contexts ring buffer to a separate
class. Minimialistic implementation in 1/3 to keep things run same.

Patch 2/3 extends the .get() function to handle cases as :
- Return same IPAFrameContext if previously created
- Assign a new IPAFrameContext if the frame contexts for frame didn't
  exists
- Bound checking and overflow checks

Patch 3/3 removes IPAFrameContext pointer requirement from
Algorithm::process() and use a frame number instead.

This is how the design I inferred from our previous discussions.
The documentation is a bit spread out between 1/3 and 2/3. This still
needs some fixing from my side (feel free to ignore for now).

Smoke tested briefly by running on nautilus.

Umang Jain (3):
  ipa: ipu3: Separate out frame context queue as a distinct class
  ipa: ipu3: ipa_context: Extend FCQueue::get()
  ipa: algorithm: process() should take in frame number instead of
    context

 src/ipa/ipu3/algorithms/af.cpp           |   2 +-
 src/ipa/ipu3/algorithms/af.h             |   2 +-
 src/ipa/ipu3/algorithms/agc.cpp          |  13 +--
 src/ipa/ipu3/algorithms/agc.h            |   4 +-
 src/ipa/ipu3/algorithms/algorithm.h      |   4 +-
 src/ipa/ipu3/algorithms/awb.cpp          |   2 +-
 src/ipa/ipu3/algorithms/awb.h            |   2 +-
 src/ipa/ipu3/algorithms/tone_mapping.cpp |   2 +-
 src/ipa/ipu3/algorithms/tone_mapping.h   |   2 +-
 src/ipa/ipu3/ipa_context.cpp             | 118 ++++++++++++++++++++++-
 src/ipa/ipu3/ipa_context.h               |  16 ++-
 src/ipa/ipu3/ipu3.cpp                    |  12 ++-
 src/ipa/libipa/algorithm.cpp             |   2 +-
 src/ipa/libipa/algorithm.h               |   6 +-
 src/ipa/rkisp1/algorithms/agc.cpp        |   3 +-
 src/ipa/rkisp1/algorithms/agc.h          |   2 +-
 src/ipa/rkisp1/algorithms/algorithm.h    |   5 +-
 src/ipa/rkisp1/algorithms/awb.cpp        |   2 +-
 src/ipa/rkisp1/algorithms/awb.h          |   2 +-
 src/ipa/rkisp1/rkisp1.cpp                |   2 +-
 20 files changed, 166 insertions(+), 37 deletions(-)

-- 
2.31.1



More information about the libcamera-devel mailing list