{"id":15425,"url":"https://patchwork.libcamera.org/api/covers/15425/?format=json","web_url":"https://patchwork.libcamera.org/cover/15425/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20220307124633.115452-1-naush@raspberrypi.com>","date":"2022-03-07T12:46:27","name":"[libcamera-devel,v1,0/6] Raspberry Pi: Efficient start/stop/start sequences","submitter":{"id":97,"url":"https://patchwork.libcamera.org/api/people/97/?format=json","name":"Nicolas Dufresne via libcamera-devel","email":"libcamera-devel@lists.libcamera.org"},"mbox":"https://patchwork.libcamera.org/cover/15425/mbox/","series":[{"id":2954,"url":"https://patchwork.libcamera.org/api/series/2954/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=2954","date":"2022-03-07T12:46:27","name":"Raspberry Pi: Efficient start/stop/start sequences","version":1,"mbox":"https://patchwork.libcamera.org/series/2954/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/15425/comments/","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id CCC4EBF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  7 Mar 2022 12:46:41 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DC75461184;\n\tMon,  7 Mar 2022 13:46:40 +0100 (CET)","from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com\n\t[IPv6:2a00:1450:4864:20::42c])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1CA6A604EC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  7 Mar 2022 13:46:39 +0100 (CET)","by mail-wr1-x42c.google.com with SMTP id n15so8963340wra.6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 07 Mar 2022 04:46:39 -0800 (PST)","from naush-laptop.pitowers.org\n\t([2a00:1098:3142:14:c644:e9b3:de0b:54c5])\n\tby smtp.gmail.com with ESMTPSA id\n\tz6-20020a1cf406000000b0037c4e2d3baesm19759582wma.19.2022.03.07.04.46.37\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 07 Mar 2022 04:46:37 -0800 (PST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1646657200;\n\tbh=DIxj7vDQgXJhCCF3SLV3uFzSAmSyMX6a3IZYcc0k7/Y=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=W6QHZzizchC7KtUgsKVtGmVJS0x7R2GqtlP7vWQ0Vsz+1WuRR9+sNJDgYvxCSiz1F\n\tm9+g1+a3ksGpbM2UbWNTCslSu2Bs+BbjUiXBk50nvq0dJk3aUCC+B6PA0pYdMoswa6\n\tcjxpzwH6xJjKUsEK+t+qRLjFmQ+/FWsbZWVWxqIJxOl/ed1d2UYKtJOCoT9C6xWpeg\n\tiVVDZxAPbz15y/PeRlSVp1pqUP4FK6KRKDowCuUFgwxGEZkXNUDx8n+BYAIzmfqMjC\n\tJfWhktI4iEfk9NMZxjAq3mTwY/Op9MftnIkhEIF7pl6Yx4a1AJcqkJ4D9mkoo1Qs1G\n\tDIbRplNIWzCCA==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google;\n\th=from:to:cc:subject:date:message-id:mime-version\n\t:content-transfer-encoding;\n\tbh=x06lppAe8bn8ybLWGoDpeRZWE4Da/fK/9NEXnE0bgzs=;\n\tb=pppQzGrWPygOWcTD4rkWBiYJlgXWn/todkwuJf2VdGafBdVtwrIupAZAeMnOtrXHm9\n\tA4l+orUL4c8tPrNFr7PCi4wju46SFkcqw6DV5V6LKLyVpoNibdh+/az+KkVHjy/0WZET\n\tfghO8bJevQtHU6XfIo2tHuHIY9fJsXbN0y4xnVo73/7Uf4GgFTAyquG1lzVhJ9GTwSRP\n\t1PMnjolzAU0fK7yz92FpR6re/UQJuizxKMLh9W8SIaIpxVL4iJMWyl1co8Igg+AbGSfF\n\tl87j+RNxmWUUu9Bv8Qazrtf7RQ+yqJjwJZnr6GhFb5xL+7BsHkr0+gBYbvTbBT7TqyXH\n\tgdZQ=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"pppQzGrW\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version\n\t:content-transfer-encoding;\n\tbh=x06lppAe8bn8ybLWGoDpeRZWE4Da/fK/9NEXnE0bgzs=;\n\tb=AWll1OdenhptVHVGMVRWAzj2livPC+QojlILumUMlTMeunqlBRtPP/nizoZImL7MNJ\n\tmA4KrF+94TTGa0CIvoG0wkE5neTT+qdneEFM6c/ve5ljaak1CJPo95ywqApmthR6CYHp\n\tLo9PaPKX3iR7pymgqcEHa2K+lb5Goz6p/Ck5LhMnEJIUf+0ZWzc3XGvEutlbU7cSXLH4\n\tbEltPKgBL5f0vAeztPrCi6rG5/5ofiXSvjA1kluLcOmOXcbAw5KmSA7wmaZ1q2riYIJF\n\tKJPYU70UEvQzD59raY+Sr4i+Ex7H1gOLCKrUWbAGlMeXajUP4g/6oqvfSy5r05TZEwfW\n\t0nOw==","X-Gm-Message-State":"AOAM530ijAE8osw6vCl+MLO7dHmI8e+XCAs2viqXclILJXXcDQABKVJR\n\tH6ACoLmeuQXnyvv0wnW5bHnnDRBV6NT8RQ==","X-Google-Smtp-Source":"ABdhPJy0PoSxJytGG6QyyMHEjWIb+xX0QQf5T9nVAQm5CscnXjTmP4EGKSK80OvCVNztGQdE2krt6w==","X-Received":"by 2002:adf:f1c1:0:b0:1e3:1381:7bd5 with SMTP id\n\tz1-20020adff1c1000000b001e313817bd5mr8270582wro.450.1646657198409; \n\tMon, 07 Mar 2022 04:46:38 -0800 (PST)","To":"libcamera-devel@lists.libcamera.org","Date":"Mon,  7 Mar 2022 12:46:27 +0000","Message-Id":"<20220307124633.115452-1-naush@raspberrypi.com>","X-Mailer":"git-send-email 2.25.1","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v1 0/6] Raspberry Pi: Efficient\n\tstart/stop/start sequences","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Naushir Patuck via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Naushir Patuck <naush@raspberrypi.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Hi,\n\nThis series addresses a problem with the existing Raspberry Pi pipeline handler,\nwere we do not efficiently handle a camera start/stop/restart sequence. This is\nbecause we de-allocate and re-allocate buffers on stop and start respectively.\nHowever, since no camera configure has occurred, the re-allocation is unnecessary.\n\nThis series attempts to fix this by not de-allocating buffers on a stop, and\nonly re-allocating on start if a configure has been called in-between. We also\nfix a small bug in the V4L2 buffer cache, which does not clear state on a stop\nin all circumstances.\n\nThanks,\nNaush\n\nNaushir Patuck (6):\n  pipeline: raspberrypi: Avoid over-allocation for ISP Output 1\n  pipeline: raspberrypi: Move freeBuffers() to the RPiCameraData class\n  pipeline: raspberrypi: Free buffers in the RPiCamera destructor and\n    re-configure\n  pipeline: raspberrypi: Add a reconfigured flag\n  pipeline: raspberrypi: Repurpose RPi::Stream::reset()\n  libcamera: v4l2_videodevice: Empty the V4L2 buffer cache on\n    streamOff()\n\n include/libcamera/internal/v4l2_videodevice.h |  1 +\n .../pipeline/raspberrypi/raspberrypi.cpp      | 54 ++++++++++++-------\n .../pipeline/raspberrypi/rpi_stream.cpp       | 11 ++--\n src/libcamera/v4l2_videodevice.cpp            | 16 ++++++\n 4 files changed, 56 insertions(+), 26 deletions(-)"}