{"id":20158,"url":"https://patchwork.libcamera.org/api/1.1/covers/20158/?format=json","web_url":"https://patchwork.libcamera.org/cover/20158/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/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":"<20240531052505.150921-1-umang.jain@ideasonboard.com>","date":"2024-05-31T05:25:01","name":"[v3,0/4] libcamera: converter: Replace usage of stream index by Stream pointer","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/1.1/people/86/?format=json","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/20158/mbox/","series":[{"id":4343,"url":"https://patchwork.libcamera.org/api/1.1/series/4343/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4343","date":"2024-05-31T05:25:01","name":"libcamera: converter: Replace usage of stream index by Stream pointer","version":3,"mbox":"https://patchwork.libcamera.org/series/4343/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/20158/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 0F774BD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 31 May 2024 05:25:18 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 00C89634B6;\n\tFri, 31 May 2024 07:25:16 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 04B6861A39\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 31 May 2024 07:25:16 +0200 (CEST)","from fedora.local (unknown\n\t[IPv6:2409:4056:ecf:2c0c:629d:1df6:d7ca:cb53])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 83DE0B53;\n\tFri, 31 May 2024 07:25:09 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"ldH4vRtn\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1717133111;\n\tbh=6hx7KfP9bOMrG1zy33rmDR1BPtk1lnW+h1gUpoZEX48=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=ldH4vRtnGCs7zDgIIC3XPKXy8UZf/m9X6B67/fyRHvyZQv9F5ILEYvU4fxLlMQVVC\n\tqsaTXA52g5UIi/fECJEPbg+MpRGEcKb8cklTkwPfE0Wh0Sa1BFu4CSb8YXDnFOvN3N\n\tWdLDN7mdZA2VeE7wbOIABmgjS9ppfrhkLThsqQzY=","From":"Umang Jain <umang.jain@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Milan Zamazal <mzamazal@redhat.com>,\n\tAndrey Konovalov <andrey.konovalov@linaro.org>,\n\tUmang Jain <umang.jain@ideasonboard.com>","Subject":"[PATCH v3 0/4] libcamera: converter: Replace usage of stream index\n\tby Stream pointer","Date":"Fri, 31 May 2024 10:55:01 +0530","Message-ID":"<20240531052505.150921-1-umang.jain@ideasonboard.com>","X-Mailer":"git-send-email 2.44.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"The converter interface uses the unsigned int output stream index to map\nto the output frame buffers. This is cumbersome to implement new\nconverters because one has to keep around additional book keeping\nto track the streams with their correct indexes.\n\nThe v4l2_converter_m2m and simple pipeline handler are adapt to\nuse the new interface. This work roped in software ISP as well,\nwhich also seems to use indexes (although it doesn't implement converter\ninterface) because of a common conversionQueue_ queue used for\nconverter_ and swIsp_.\n\nPatch 1/4 and 2/4 drop redundant  validation of outputs std::map<>.\n\nPatch 3/4 renames private class V4L2M2MConverter::Stream to\nV4L2M2Mconverter::V4L2M2MStream\n\nPatch 4/4 replaces the stream index usage from converter interface and\nsoft isp.\n\n---\nTested with mxc-isi running software isp on i.MX8MP platform\n---\n\nChanges in v3:\n- Fix issue while running soft-isp\n- Fix missing Doxygen changes\n\nchanges in v2:\n- Split out patches 1/4 and 2/4 to tackle validation/sanity check\n- Rename V4L2M2MConverter::Stream to V4L2M2Mconverter::V4L2M2MStream\n\nUmang Jain (4):\n  converter: converter_v4l2_m2m: Rectify streams sanity check\n  libcamera: software_isp: Drop unnecessary sanity check\n  converter: converter_v4l2_m2m: Rename private Stream class\n  libcamera: converter: Replace usage of stream index by Stream pointer\n\n include/libcamera/internal/converter.h        |  5 +-\n .../internal/converter/converter_v4l2_m2m.h   | 13 ++--\n .../internal/software_isp/software_isp.h      |  5 +-\n src/libcamera/converter.cpp                   |  6 +-\n .../converter/converter_v4l2_m2m.cpp          | 77 ++++++++++---------\n src/libcamera/pipeline/simple/simple.cpp      | 14 ++--\n src/libcamera/software_isp/software_isp.cpp   | 26 +++----\n 7 files changed, 72 insertions(+), 74 deletions(-)"}