[libcamera-devel] [PATCH v1 0/4] Move frame contexts queue to separate class
Umang Jain
umang.jain at ideasonboard.com
Fri Jun 3 15:22:55 CEST 2022
Changes in v1 (from RFCv2):
- Implement a proper mechanism to prevent FCQueue oveflow
- Docs fixes
- Minor &reference => *pointer conversions.
Summary:
This patch series moves the frame contexts ring buffer to a separate
class. Minimialistic implementation in 1/4 to keep things run same.
Patch 2/4 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
- isFull() detection
Patch 3/4 implements a mechanism to prevent overflowing the FCQueue
Patch 4/4 removes IPAFrameContext pointer requirement from
Algorithm::process() and use a frame number instead.
Smoke tested briefly by running on nautilus.
Umang Jain (4):
ipa: ipu3: Separate out frame context queue as a distinct class
ipa: ipu3: ipa_context: Extend FCQueue::get()
ipa: ipu3: Prevent over queuing of requests
ipa: algorithm: process() should take in frame number instead of
context
include/libcamera/ipa/ipu3.mojom | 2 +-
src/ipa/ipu3/algorithms/af.cpp | 4 +-
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 | 4 +-
src/ipa/ipu3/algorithms/tone_mapping.h | 2 +-
src/ipa/ipu3/ipa_context.cpp | 138 ++++++++++++++++++++++-
src/ipa/ipu3/ipa_context.h | 20 +++-
src/ipa/ipu3/ipu3.cpp | 33 ++++--
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 +-
src/libcamera/pipeline/ipu3/ipu3.cpp | 10 +-
22 files changed, 216 insertions(+), 48 deletions(-)
--
2.31.1
More information about the libcamera-devel
mailing list