[{"id":25284,"web_url":"https://patchwork.libcamera.org/comment/25284/","msgid":"<d6c477f7-4e47-5c98-1975-1f339af37651@ideasonboard.com>","date":"2022-10-05T06:48:58","subject":"Re: [libcamera-devel] [PATCH v2 4/4] libcamera: v4l2_videodevice:\n\tWarn if bytesused == 0 when queuing output buffer","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"Hi Laurent,\n\nOn 10/5/22 3:59 AM, Laurent Pinchart via libcamera-devel wrote:\n> V4L2 has deprecated queuing output buffers with bytesused set to 0. Warn\n> if the caller attempts to do so.\n>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> ---\n>   src/libcamera/v4l2_videodevice.cpp | 5 +++++\n>   1 file changed, 5 insertions(+)\n>\n> diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp\n> index 4d846f6be7fa..e30858c9fa02 100644\n> --- a/src/libcamera/v4l2_videodevice.cpp\n> +++ b/src/libcamera/v4l2_videodevice.cpp\n> @@ -1623,6 +1623,11 @@ int V4L2VideoDevice::queueBuffer(FrameBuffer *buffer)\n>   \tif (V4L2_TYPE_IS_OUTPUT(buf.type)) {\n>   \t\tconst FrameMetadata &metadata = buffer->metadata();\n>   \n> +\t\tfor (const auto &plane : metadata.planes()) {\n> +\t\t\tif (!plane.bytesused)\n> +\t\t\t\tLOG(V4L2, Warning) << \"byteused == 0 is deprecated\";\n> +\t\t}\n> +\n\nShould the warning be printed depending on the kernel's version?\n\nAs far as code is concerned,, it looks good to me.\n\nReviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n\n\n>   \t\tif (numV4l2Planes != planes.size()) {\n>   \t\t\t/*\n>   \t\t\t * If we have a multi-planar buffer with a V4L2","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 7DB06C0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  5 Oct 2022 06:49:06 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C413761F85;\n\tWed,  5 Oct 2022 08:49:05 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 17359603F3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  5 Oct 2022 08:49:04 +0200 (CEST)","from [192.168.1.103] (unknown [103.251.226.94])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B5CA8415;\n\tWed,  5 Oct 2022 08:49:02 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1664952545;\n\tbh=UaZ+sPG6O3aQamSID4+s1FUE7bN4w7ClJVCsNMWVQx4=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=keEpwsD+3nhr+pRBJgtdQwrzdyZp1LHCMr1aE8qjlbQoO7UqMbN+rP/J/WXTA+BwJ\n\tp5qUD5EJhfhf83cY52U68jXI3Iry8UHI9sMWhI139kmw+o8lgXuRZ6w32W+akRDXQQ\n\tn1foe9ORVpYXr/nNYLjX5FQQq4EHXo1IUTSPCZrnrkmqEDG89q9D+T8vzDCZ/P950B\n\tWIVWk4cc3NXwqHQjU2PYN85T3CGwC/+KSb0+jxTOxLoqqUs9+z/2zEy6rYVJ9lFIIM\n\t+72nYI7SQNV0Z72WRWd5vFbKeWGM+qIzQGLFk+lqmFpxHUEfYHsft2vGvKAx29SuJ2\n\t7K7v++zyCMwgA==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1664952543;\n\tbh=UaZ+sPG6O3aQamSID4+s1FUE7bN4w7ClJVCsNMWVQx4=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=NBsnXpREHaU/3ohp81i7tCHo2p9uVxmLXKow9qzKaqIf+Nc+gnRqZheF0v7qBB3S4\n\t4z20CWH+0msviLkw6ZdW7PlzAbK1zdvA1VpsKpt2Khl7RF9YoDg5D70tfC01qaYfIa\n\tXMRiTkX1X1ZbxW/iTRLp5GmEeg/tHMxe9QsOjdZk="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"NBsnXpRE\"; dkim-atps=neutral","Message-ID":"<d6c477f7-4e47-5c98-1975-1f339af37651@ideasonboard.com>","Date":"Wed, 5 Oct 2022 12:18:58 +0530","MIME-Version":"1.0","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101\n\tThunderbird/102.2.1","Content-Language":"en-US","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20221004222903.6393-1-laurent.pinchart@ideasonboard.com>\n\t<20221004222903.6393-5-laurent.pinchart@ideasonboard.com>","In-Reply-To":"<20221004222903.6393-5-laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH v2 4/4] libcamera: v4l2_videodevice:\n\tWarn if bytesused == 0 when queuing output buffer","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":"Umang Jain via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Umang Jain <umang.jain@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25285,"web_url":"https://patchwork.libcamera.org/comment/25285/","msgid":"<Yz07y1FIaNlez4X3@pendragon.ideasonboard.com>","date":"2022-10-05T08:09:47","subject":"Re: [libcamera-devel] [PATCH v2 4/4] libcamera: v4l2_videodevice:\n\tWarn if bytesused == 0 when queuing output buffer","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Umang,\n\nOn Wed, Oct 05, 2022 at 12:18:58PM +0530, Umang Jain wrote:\n> On 10/5/22 3:59 AM, Laurent Pinchart via libcamera-devel wrote:\n> > V4L2 has deprecated queuing output buffers with bytesused set to 0. Warn\n> > if the caller attempts to do so.\n> >\n> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > ---\n> >   src/libcamera/v4l2_videodevice.cpp | 5 +++++\n> >   1 file changed, 5 insertions(+)\n> >\n> > diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp\n> > index 4d846f6be7fa..e30858c9fa02 100644\n> > --- a/src/libcamera/v4l2_videodevice.cpp\n> > +++ b/src/libcamera/v4l2_videodevice.cpp\n> > @@ -1623,6 +1623,11 @@ int V4L2VideoDevice::queueBuffer(FrameBuffer *buffer)\n> >   \tif (V4L2_TYPE_IS_OUTPUT(buf.type)) {\n> >   \t\tconst FrameMetadata &metadata = buffer->metadata();\n> >   \n> > +\t\tfor (const auto &plane : metadata.planes()) {\n> > +\t\t\tif (!plane.bytesused)\n> > +\t\t\t\tLOG(V4L2, Warning) << \"byteused == 0 is deprecated\";\n> > +\t\t}\n> > +\n> \n> Should the warning be printed depending on the kernel's version?\n\nI don't think so. This behaviour has been deprecated in V4L2 for years,\nand it will keep working for quite some time still. The goal of this\npatch is to catch offenders in libcamera, to make sure pipeline handler\ndo the right thing going forward.\n\n> As far as code is concerned,, it looks good to me.\n> \n> Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n> \n> >   \t\tif (numV4l2Planes != planes.size()) {\n> >   \t\t\t/*\n> >   \t\t\t * If we have a multi-planar buffer with a V4L2","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 103ADC0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  5 Oct 2022 08:09:53 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6311A61FAC;\n\tWed,  5 Oct 2022 10:09:52 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 120C660A88\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  5 Oct 2022 10:09:51 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 5A36D415;\n\tWed,  5 Oct 2022 10:09:50 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1664957392;\n\tbh=F5qjpGduguJS7t3HbQx2D6L2zlWV6UeVwuaDnVtokB4=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=2Q0oL4P3hfKlOuRZ/QgdUFJlMNfIvHRP4llOncLWuuMjuNGYyLrKTAl18WXzj56a+\n\t4sNLKFNjfEsoIF46M24kMsCdkkfbCZt6r9JYngRsTXbf8UBy3uqKMrvSx3HvUSpb72\n\tj4H1ZSNWrN++xmElEvUF2DhW2MiYbI5MuuDr8fN7/J0yWB3sWDzhmmuBlwOAL+Rx14\n\t9UH1fFngIy2BSZPcR8aYxwmLt8Dg6+BDys7SaOL4kQ/e09vW/faIpKcMupqLHpArnK\n\tIu+wh3s/FlY9CHgNJP+Iv13OTzxcBShvv2j2X3hzFM00EYG2NXweVOhOXluju9VzEx\n\tycblBfkR3PBfg==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1664957390;\n\tbh=F5qjpGduguJS7t3HbQx2D6L2zlWV6UeVwuaDnVtokB4=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=q/BWgDyy29u4Jl6lwHtFSLz4B7QsJjfaEgSp/g3GqOYK6oteOvCkwKcQDftKVmTNx\n\tOm39UaWebOqNFnFS9LEQU/8ZbpbfaVQ1Kp+z0p5BYm4DQZkAnGonctidVzX2R1wte7\n\tm0A3b+3vqX8a6SAYifJ0Fv68/2tAJMJvIg5B70n4="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"q/BWgDyy\"; dkim-atps=neutral","Date":"Wed, 5 Oct 2022 11:09:47 +0300","To":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<Yz07y1FIaNlez4X3@pendragon.ideasonboard.com>","References":"<20221004222903.6393-1-laurent.pinchart@ideasonboard.com>\n\t<20221004222903.6393-5-laurent.pinchart@ideasonboard.com>\n\t<d6c477f7-4e47-5c98-1975-1f339af37651@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<d6c477f7-4e47-5c98-1975-1f339af37651@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v2 4/4] libcamera: v4l2_videodevice:\n\tWarn if bytesused == 0 when queuing output buffer","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":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]