[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