[libcamera-devel] [PATCH 0/2] pipeline-handler: Consider in-flight max requests
Umang Jain
umang.jain at ideasonboard.com
Mon Dec 12 16:02:54 CET 2022
This series address the issue where over-queuing of FCQueue (or similar)
can happen by the pipeline-handler class if not taken care of.
The idea is each platform can define its max in-flight requests it can
handle at any given point. Set that as a constraint in pipeline-handler
base class. The pipeline-handler base class will enforce that constraint
so that, over-queue of requests does not happen.
Patch 1/2 moves kMaxframeContexts for IPU3 and RkISP1 to .mojom
interface (common ground between IPA/PH). This will help respective
pipeline-handlers to access the global variable.
Patch 2/2 implements the constraint. It basically uses a counter to
keep track of how many requests are currently queued to the hardware
based on which - it decides whether to queue the next request or not.
Umang Jain (2):
ipa: Move kMaxFrameContexts to mojom interface
libcamera: pipeline-handler: Consider max in-flight requests
constraint
include/libcamera/internal/pipeline_handler.h | 4 ++
include/libcamera/ipa/ipu3.mojom | 3 ++
include/libcamera/ipa/rkisp1.mojom | 3 ++
src/ipa/ipu3/ipu3.cpp | 3 --
src/ipa/rkisp1/rkisp1.cpp | 3 --
src/libcamera/pipeline/ipu3/ipu3.cpp | 1 +
src/libcamera/pipeline/rkisp1/rkisp1.cpp | 1 +
src/libcamera/pipeline_handler.cpp | 51 ++++++++++++++++++-
8 files changed, 62 insertions(+), 7 deletions(-)
--
2.38.1
More information about the libcamera-devel
mailing list