[libcamera-devel] [PATCH] libcamera: pipeline: rkisp1: Do not wait for param buffer it it's not used

Niklas Söderlund niklas.soderlund at ragnatech.se
Wed Mar 25 11:23:55 CET 2020


If the parameter buffer is not filled in by the IPA and therefor not
used, mark it as already dequeued. If not a request without a parameter
buffer will never complete.

Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
---
 src/libcamera/pipeline/rkisp1/rkisp1.cpp | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
index 2f909cef7c75ba0f..6f4eafa1523a4a39 100644
--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
@@ -351,12 +351,15 @@ protected:
 		if (!info)
 			LOG(RkISP1, Fatal) << "Frame not known";
 
-		if (info->paramFilled)
+		if (info->paramFilled) {
 			pipe_->param_->queueBuffer(info->paramBuffer);
-		else
+		} else {
+			/* No need to dequeue param if it's never queued. */
+			info->paramDequeued = true;
 			LOG(RkISP1, Error)
 				<< "Parameters not ready on time for frame "
 				<< frame() << ", ignore parameters.";
+		}
 
 		pipe_->stat_->queueBuffer(info->statBuffer);
 		pipe_->video_->queueBuffer(info->videoBuffer);
-- 
2.25.1



More information about the libcamera-devel mailing list