[libcamera-devel] [PATCH v4 5/7] libcamera: V4L2BufferCache: Check for hot hit first

Niklas Söderlund niklas.soderlund at ragnatech.se
Thu Mar 5 21:38:06 CET 2020


Check for a hot cache hit before updating which buffer is best to evict
in case no hot hit is found. This doesn't change the behaviour, but
follows a more logical flow.

Suggested-by: Jacopo Mondi <jacopo at jmondi.org>
Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/libcamera/v4l2_videodevice.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp
index 268de60bc7965f58..c495de85f26efe14 100644
--- a/src/libcamera/v4l2_videodevice.cpp
+++ b/src/libcamera/v4l2_videodevice.cpp
@@ -212,15 +212,15 @@ int V4L2BufferCache::get(const FrameBuffer &buffer)
 		if (!entry.free)
 			continue;
 
-		if (use < 0)
-			use = index;
-
 		/* Try to find a cache hit by comparing the planes. */
 		if (entry == buffer) {
 			hit = true;
 			use = index;
 			break;
 		}
+
+		if (use < 0)
+			use = index;
 	}
 
 	if (!hit)
-- 
2.25.1



More information about the libcamera-devel mailing list