[{"id":4888,"web_url":"https://patchwork.libcamera.org/comment/4888/","msgid":"<20200522203741.GG5824@pendragon.ideasonboard.com>","date":"2020-05-22T20:37:41","subject":"Re: [libcamera-devel] [RFC PATCH] libcamera: pipeline: vimc: Skip\n\tunsupported formats","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Kieran,\n\nThank you for the patch.\n\nOn Fri, May 22, 2020 at 07:14:35PM +0100, Kieran Bingham wrote:\n> Older kernels do not support all 'reported' formats. Skip them on those\n> kernels.\n> \n> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> ---\n> Marking this as RFC, as I don't actually yet know what the correct\n> kernel version is to condition against.\n\nI think it will be v5.9 if we're lucky :-)\n\n> Currently, the QCam application can not stream the VIMC Camera for users\n> of QT Version less that 5.14 as that is when the BGR888 format becomes a\n> 'preferred' native format.\n> \n> Users of QT < 5.14 will find that qcam will chose a 'preferred' format\n> which is reported as supported by the kernel, when in fact it isn't.\n> \n> Ensure that those formats are not reported as supported by the vimc\n> pipeline handler on older kernels.\n> \n>  src/libcamera/pipeline/vimc/vimc.cpp | 14 ++++++++++++++\n>  1 file changed, 14 insertions(+)\n> \n> diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp\n> index 68d65bc785b0..78fb0ece21f8 100644\n> --- a/src/libcamera/pipeline/vimc/vimc.cpp\n> +++ b/src/libcamera/pipeline/vimc/vimc.cpp\n> @@ -171,6 +171,7 @@ CameraConfiguration *PipelineHandlerVimc::generateConfiguration(Camera *camera,\n>  \tconst StreamRoles &roles)\n>  {\n>  \tCameraConfiguration *config = new VimcCameraConfiguration();\n> +\tVimcCameraData *data = cameraData(camera);\n>  \n>  \tif (roles.empty())\n>  \t\treturn config;\n> @@ -178,6 +179,19 @@ CameraConfiguration *PipelineHandlerVimc::generateConfiguration(Camera *camera,\n>  \tstd::map<PixelFormat, std::vector<SizeRange>> formats;\n>  \n>  \tfor (const auto &pixelformat : pixelformats) {\n> +\t\t/*\n> +\t\t * \\todo: Update this when the kernel correctly supports other\n> +\t\t * reported formats.\n> +\t\t */\n> +\t\tif (data->media_->version() <= KERNEL_VERSION(5, 7, 0)) {\n\nI wouldn't hardcode any kernel version until we know when the issue will\nbe fixed. I would remove the unsupported formats from the pixelformats\nmap now, and deal with versioning later.\n\n> +\t\t\tif (pixelformat.first != PixelFormat(DRM_FORMAT_BGR888)) {\n> +\t\t\t\tLOG(VIMC, Info)\n> +\t\t\t\t\t<< \"Skipping unsupported pixel format\"\n> +\t\t\t\t\t<< pixelformat.first.toString();\n> +\t\t\t\tcontinue;\n> +\t\t\t}\n> +\t\t}\n> +\n\nYou also need to patch the VimcCameraConfiguration::validate() and\nPipelineHandlerVimc::configure() functions, as they both use the\npixelformats map. One option would be to use\nStreamConfiguration::formats().pixelformats() in both locations, so only\none location would need to deal with kernel versions.\n\n>  \t\t/* The scaler hardcodes a x3 scale-up ratio. */\n>  \t\tstd::vector<SizeRange> sizes{\n>  \t\t\tSizeRange{ { 48, 48 }, { 4096, 2160 } }","headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 72452603D7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 22 May 2020 22:37:54 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-216-236.bb.dnainternet.fi\n\t[81.175.216.236])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id D0F18B55;\n\tFri, 22 May 2020 22:37:53 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"brdjfnfC\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1590179874;\n\tbh=qEWxfHiHbdr+MO9Kz8jiDypYoyw1nmLHXjK+uDPH6Tk=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=brdjfnfCSA9KBsWLpt4jdmLGHCLjIEozBbeC89UKm0a/iaM/q3V2XgGogg+4uDID+\n\tmUpf/x7+xN7+NFWEUGtMjOc57nOjHzrr7sf0V14em0boTffLaubbuW6Moq0Qo/xkOV\n\tn94j+DVnOZPReQXT73DuKSLlDiUXAxFmBqXpLOI8=","Date":"Fri, 22 May 2020 23:37:41 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>","Message-ID":"<20200522203741.GG5824@pendragon.ideasonboard.com>","References":"<20200522181435.3174615-1-kieran.bingham@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20200522181435.3174615-1-kieran.bingham@ideasonboard.com>","Subject":"Re: [libcamera-devel] [RFC PATCH] libcamera: pipeline: vimc: Skip\n\tunsupported formats","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>","X-List-Received-Date":"Fri, 22 May 2020 20:37:54 -0000"}},{"id":4907,"web_url":"https://patchwork.libcamera.org/comment/4907/","msgid":"<60f54a4c-ef5a-d00d-63a9-2699000136fa@ideasonboard.com>","date":"2020-05-26T12:04:31","subject":"Re: [libcamera-devel] [RFC PATCH] libcamera: pipeline: vimc: Skip\n\tunsupported formats","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Laurent,\n\nOn 22/05/2020 21:37, Laurent Pinchart wrote:\n> Hi Kieran,\n> \n> Thank you for the patch.\n> \n> On Fri, May 22, 2020 at 07:14:35PM +0100, Kieran Bingham wrote:\n>> Older kernels do not support all 'reported' formats. Skip them on those\n>> kernels.\n>>\n>> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n>> ---\n>> Marking this as RFC, as I don't actually yet know what the correct\n>> kernel version is to condition against.\n> \n> I think it will be v5.9 if we're lucky :-)\n\n\nI think some progress has been made for 5.7, but I don't know the\ncurrent state. Kaaira might know more here.\n\n\n>> Currently, the QCam application can not stream the VIMC Camera for users\n>> of QT Version less that 5.14 as that is when the BGR888 format becomes a\n>> 'preferred' native format.\n>>\n>> Users of QT < 5.14 will find that qcam will chose a 'preferred' format\n>> which is reported as supported by the kernel, when in fact it isn't.\n>>\n>> Ensure that those formats are not reported as supported by the vimc\n>> pipeline handler on older kernels.\n>>\n>>  src/libcamera/pipeline/vimc/vimc.cpp | 14 ++++++++++++++\n>>  1 file changed, 14 insertions(+)\n>>\n>> diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp\n>> index 68d65bc785b0..78fb0ece21f8 100644\n>> --- a/src/libcamera/pipeline/vimc/vimc.cpp\n>> +++ b/src/libcamera/pipeline/vimc/vimc.cpp\n>> @@ -171,6 +171,7 @@ CameraConfiguration *PipelineHandlerVimc::generateConfiguration(Camera *camera,\n>>  \tconst StreamRoles &roles)\n>>  {\n>>  \tCameraConfiguration *config = new VimcCameraConfiguration();\n>> +\tVimcCameraData *data = cameraData(camera);\n>>  \n>>  \tif (roles.empty())\n>>  \t\treturn config;\n>> @@ -178,6 +179,19 @@ CameraConfiguration *PipelineHandlerVimc::generateConfiguration(Camera *camera,\n>>  \tstd::map<PixelFormat, std::vector<SizeRange>> formats;\n>>  \n>>  \tfor (const auto &pixelformat : pixelformats) {\n>> +\t\t/*\n>> +\t\t * \\todo: Update this when the kernel correctly supports other\n>> +\t\t * reported formats.\n>> +\t\t */\n>> +\t\tif (data->media_->version() <= KERNEL_VERSION(5, 7, 0)) {\n> \n> I wouldn't hardcode any kernel version until we know when the issue will\n> be fixed. I would remove the unsupported formats from the pixelformats\n> map now, and deal with versioning later.\n\nOk, well that will depend upon the current mainline state.\n\n\n>> +\t\t\tif (pixelformat.first != PixelFormat(DRM_FORMAT_BGR888)) {\n>> +\t\t\t\tLOG(VIMC, Info)\n>> +\t\t\t\t\t<< \"Skipping unsupported pixel format\"\n>> +\t\t\t\t\t<< pixelformat.first.toString();\n>> +\t\t\t\tcontinue;\n>> +\t\t\t}\n>> +\t\t}\n>> +\n> \n> You also need to patch the VimcCameraConfiguration::validate() and\n\nI started at validate in fact, but couldn't (quickly) get the CameraData\n\n> PipelineHandlerVimc::configure() functions, as they both use the\n> pixelformats map. One option would be to use\n> StreamConfiguration::formats().pixelformats() in both locations, so only\n> one location would need to deal with kernel versions.\n\nThat makes sense in validate(), but not configure() (which should have\nalready been validated()).\n\n(Context, this is based upon a branch with your patch applied to provide\nthe PixelFormat -> MBUS code mapping)\n\n> \n>>  \t\t/* The scaler hardcodes a x3 scale-up ratio. */\n>>  \t\tstd::vector<SizeRange> sizes{\n>>  \t\t\tSizeRange{ { 48, 48 }, { 4096, 2160 } }\n>","headers":{"Return-Path":"<kieran.bingham@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 36C0860E08\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 26 May 2020 14:04:35 +0200 (CEST)","from [192.168.0.20]\n\t(cpc89242-aztw30-2-0-cust488.18-1.cable.virginm.net [86.31.129.233])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 85D9C562;\n\tTue, 26 May 2020 14:04:34 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"uOSWUmSQ\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1590494674;\n\tbh=6n7+dT89klIKCfPwjbtev9/joE7rZ/xFlur6lg0a64k=;\n\th=Reply-To:Subject:To:Cc:References:From:Date:In-Reply-To:From;\n\tb=uOSWUmSQR1POpcDhSfLEVbi+nOLIBXd92MrYRWd9+gv8UXQFNQ3uJ1Hknib0wQZff\n\tU/28kaCYoRVQYNSXv7YxUcaxt95IxiUd5GVcMKMOveK4r3CxPhz4Tsf2fBvrrX5pqU\n\tRpdCmwkFxdBZzPBbjqKMhgu1ZtzdZeF/o/jDgrJI=","Reply-To":"kieran.bingham@ideasonboard.com","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>,\n\tKaaira Gupta <kgupta@es.iitr.ac.in>","References":"<20200522181435.3174615-1-kieran.bingham@ideasonboard.com>\n\t<20200522203741.GG5824@pendragon.ideasonboard.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\tmQINBFYE/WYBEACs1PwjMD9rgCu1hlIiUA1AXR4rv2v+BCLUq//vrX5S5bjzxKAryRf0uHat\n\tV/zwz6hiDrZuHUACDB7X8OaQcwhLaVlq6byfoBr25+hbZG7G3+5EUl9cQ7dQEdvNj6V6y/SC\n\trRanWfelwQThCHckbobWiQJfK9n7rYNcPMq9B8e9F020LFH7Kj6YmO95ewJGgLm+idg1Kb3C\n\tpotzWkXc1xmPzcQ1fvQMOfMwdS+4SNw4rY9f07Xb2K99rjMwZVDgESKIzhsDB5GY465sCsiQ\n\tcSAZRxqE49RTBq2+EQsbrQpIc8XiffAB8qexh5/QPzCmR4kJgCGeHIXBtgRj+nIkCJPZvZtf\n\tKr2EAbc6tgg6DkAEHJb+1okosV09+0+TXywYvtEop/WUOWQ+zo+Y/OBd+8Ptgt1pDRyOBzL8\n\tRXa8ZqRf0Mwg75D+dKntZeJHzPRJyrlfQokngAAs4PaFt6UfS+ypMAF37T6CeDArQC41V3ko\n\tlPn1yMsVD0p+6i3DPvA/GPIksDC4owjnzVX9kM8Zc5Cx+XoAN0w5Eqo4t6qEVbuettxx55gq\n\t8K8FieAjgjMSxngo/HST8TpFeqI5nVeq0/lqtBRQKumuIqDg+Bkr4L1V/PSB6XgQcOdhtd36\n\tOe9X9dXB8YSNt7VjOcO7BTmFn/Z8r92mSAfHXpb07YJWJosQOQARAQABtDBLaWVyYW4gQmlu\n\tZ2hhbSA8a2llcmFuLmJpbmdoYW1AaWRlYXNvbmJvYXJkLmNvbT6JAlcEEwEKAEECGwMFCwkI\n\tBwIGFQgJCgsCBBYCAwECHgECF4ACGQEWIQSQLdeYP70o/eNy1HqhHkZyEKRh/QUCXWTtygUJ\n\tCyJXZAAKCRChHkZyEKRh/f8dEACTDsbLN2nioNZMwyLuQRUAFcXNolDX48xcUXsWS2QjxaPm\n\tVsJx8Uy8aYkS85mdPBh0C83OovQR/OVbr8AxhGvYqBs3nQvbWuTl/+4od7DfK2VZOoKBAu5S\n\tQK2FYuUcikDqYcFWJ8DQnubxfE8dvzojHEkXw0sA4igINHDDFX3HJGZtLio+WpEFQtCbfTAG\n\tYZslasz1YZRbwEdSsmO3/kqy5eMnczlm8a21A3fKUo3g8oAZEFM+f4DUNzqIltg31OAB/kZS\n\tenKZQ/SWC8PmLg/ZXBrReYakxXtkP6w3FwMlzOlhGxqhIRNiAJfXJBaRhuUWzPOpEDE9q5YJ\n\tBmqQL2WJm1VSNNVxbXJHpaWMH1sA2R00vmvRrPXGwyIO0IPYeUYQa3gsy6k+En/aMQJd27dp\n\taScf9am9PFICPY5T4ppneeJLif2lyLojo0mcHOV+uyrds9XkLpp14GfTkeKPdPMrLLTsHRfH\n\tfA4I4OBpRrEPiGIZB/0im98MkGY/Mu6qxeZmYLCcgD6qz4idOvfgVOrNh+aA8HzIVR+RMW8H\n\tQGBN9f0E3kfwxuhl3omo6V7lDw8XOdmuWZNC9zPq1UfryVHANYbLGz9KJ4Aw6M+OgBC2JpkD\n\thXMdHUkC+d20dwXrwHTlrJi1YNp6rBc+xald3wsUPOZ5z8moTHUX/uPA/qhGsbkCDQRWBP1m\n\tARAAzijkb+Sau4hAncr1JjOY+KyFEdUNxRy+hqTJdJfaYihxyaj0Ee0P0zEi35CbE6lgU0Uz\n\ttih9fiUbSV3wfsWqg1Ut3/5rTKu7kLFp15kF7eqvV4uezXRD3Qu4yjv/rMmEJbbD4cTvGCYI\n\td6MDC417f7vK3hCbCVIZSp3GXxyC1LU+UQr3fFcOyCwmP9vDUR9JV0BSqHHxRDdpUXE26Dk6\n\tmhf0V1YkspE5St814ETXpEus2urZE5yJIUROlWPIL+hm3NEWfAP06vsQUyLvr/GtbOT79vXl\n\tEn1aulcYyu20dRRxhkQ6iILaURcxIAVJJKPi8dsoMnS8pB0QW12AHWuirPF0g6DiuUfPmrA5\n\tPKe56IGlpkjc8cO51lIxHkWTpCMWigRdPDexKX+Sb+W9QWK/0JjIc4t3KBaiG8O4yRX8ml2R\n\t+rxfAVKM6V769P/hWoRGdgUMgYHFpHGSgEt80OKK5HeUPy2cngDUXzwrqiM5Sz6Od0qw5pCk\n\tNlXqI0W/who0iSVM+8+RmyY0OEkxEcci7rRLsGnM15B5PjLJjh1f2ULYkv8s4SnDwMZ/kE04\n\t/UqCMK/KnX8pwXEMCjz0h6qWNpGwJ0/tYIgQJZh6bqkvBrDogAvuhf60Sogw+mH8b+PBlx1L\n\toeTK396wc+4c3BfiC6pNtUS5GpsPMMjYMk7kVvEAEQEAAYkCPAQYAQoAJgIbDBYhBJAt15g/\n\tvSj943LUeqEeRnIQpGH9BQJdizzIBQkLSKZiAAoJEKEeRnIQpGH9eYgQAJpjaWNgqNOnMTmD\n\tMJggbwjIotypzIXfhHNCeTkG7+qCDlSaBPclcPGYrTwCt0YWPU2TgGgJrVhYT20ierN8LUvj\n\t6qOPTd+Uk7NFzL65qkh80ZKNBFddx1AabQpSVQKbdcLb8OFs85kuSvFdgqZwgxA1vl4TFhNz\n\tPZ79NAmXLackAx3sOVFhk4WQaKRshCB7cSl+RIng5S/ThOBlwNlcKG7j7W2MC06BlTbdEkUp\n\tECzuuRBv8wX4OQl+hbWbB/VKIx5HKlLu1eypen/5lNVzSqMMIYkkZcjV2SWQyUGxSwq0O/sx\n\tS0A8/atCHUXOboUsn54qdxrVDaK+6jIAuo8JiRWctP16KjzUM7MO0/+4zllM8EY57rXrj48j\n\tsbEYX0YQnzaj+jO6kJtoZsIaYR7rMMq9aUAjyiaEZpmP1qF/2sYenDx0Fg2BSlLvLvXM0vU8\n\tpQk3kgDu7kb/7PRYrZvBsr21EIQoIjXbZxDz/o7z95frkP71EaICttZ6k9q5oxxA5WC6sTXc\n\tMW8zs8avFNuA9VpXt0YupJd2ijtZy2mpZNG02fFVXhIn4G807G7+9mhuC4XG5rKlBBUXTvPU\n\tAfYnB4JBDLmLzBFavQfvonSfbitgXwCG3vS+9HEwAjU30Bar1PEOmIbiAoMzuKeRm2LVpmq4\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<60f54a4c-ef5a-d00d-63a9-2699000136fa@ideasonboard.com>","Date":"Tue, 26 May 2020 13:04:31 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101\n\tThunderbird/68.7.0","MIME-Version":"1.0","In-Reply-To":"<20200522203741.GG5824@pendragon.ideasonboard.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-GB","Content-Transfer-Encoding":"8bit","Subject":"Re: [libcamera-devel] [RFC PATCH] libcamera: pipeline: vimc: Skip\n\tunsupported formats","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>","X-List-Received-Date":"Tue, 26 May 2020 12:04:35 -0000"}},{"id":4908,"web_url":"https://patchwork.libcamera.org/comment/4908/","msgid":"<20200526131322.GC5903@pendragon.ideasonboard.com>","date":"2020-05-26T13:13:22","subject":"Re: [libcamera-devel] [RFC PATCH] libcamera: pipeline: vimc: Skip\n\tunsupported formats","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Kieran,\n\nOn Tue, May 26, 2020 at 01:04:31PM +0100, Kieran Bingham wrote:\n> On 22/05/2020 21:37, Laurent Pinchart wrote:\n> > On Fri, May 22, 2020 at 07:14:35PM +0100, Kieran Bingham wrote:\n> >> Older kernels do not support all 'reported' formats. Skip them on those\n> >> kernels.\n> >>\n> >> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> >> ---\n> >> Marking this as RFC, as I don't actually yet know what the correct\n> >> kernel version is to condition against.\n> > \n> > I think it will be v5.9 if we're lucky :-)\n> \n> I think some progress has been made for 5.7, but I don't know the\n> current state. Kaaira might know more here.\n> \n> >> Currently, the QCam application can not stream the VIMC Camera for users\n> >> of QT Version less that 5.14 as that is when the BGR888 format becomes a\n> >> 'preferred' native format.\n> >>\n> >> Users of QT < 5.14 will find that qcam will chose a 'preferred' format\n> >> which is reported as supported by the kernel, when in fact it isn't.\n> >>\n> >> Ensure that those formats are not reported as supported by the vimc\n> >> pipeline handler on older kernels.\n> >>\n> >>  src/libcamera/pipeline/vimc/vimc.cpp | 14 ++++++++++++++\n> >>  1 file changed, 14 insertions(+)\n> >>\n> >> diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp\n> >> index 68d65bc785b0..78fb0ece21f8 100644\n> >> --- a/src/libcamera/pipeline/vimc/vimc.cpp\n> >> +++ b/src/libcamera/pipeline/vimc/vimc.cpp\n> >> @@ -171,6 +171,7 @@ CameraConfiguration *PipelineHandlerVimc::generateConfiguration(Camera *camera,\n> >>  \tconst StreamRoles &roles)\n> >>  {\n> >>  \tCameraConfiguration *config = new VimcCameraConfiguration();\n> >> +\tVimcCameraData *data = cameraData(camera);\n> >>  \n> >>  \tif (roles.empty())\n> >>  \t\treturn config;\n> >> @@ -178,6 +179,19 @@ CameraConfiguration *PipelineHandlerVimc::generateConfiguration(Camera *camera,\n> >>  \tstd::map<PixelFormat, std::vector<SizeRange>> formats;\n> >>  \n> >>  \tfor (const auto &pixelformat : pixelformats) {\n> >> +\t\t/*\n> >> +\t\t * \\todo: Update this when the kernel correctly supports other\n> >> +\t\t * reported formats.\n> >> +\t\t */\n> >> +\t\tif (data->media_->version() <= KERNEL_VERSION(5, 7, 0)) {\n> > \n> > I wouldn't hardcode any kernel version until we know when the issue will\n> > be fixed. I would remove the unsupported formats from the pixelformats\n> > map now, and deal with versioning later.\n> \n> Ok, well that will depend upon the current mainline state.\n\nSure. If v5.7 already supports multiple formats then we should deal with\nit now, but otherwise we can defer the version handling until we know in\nwhich kernel version it will be available.\n\n> >> +\t\t\tif (pixelformat.first != PixelFormat(DRM_FORMAT_BGR888)) {\n> >> +\t\t\t\tLOG(VIMC, Info)\n> >> +\t\t\t\t\t<< \"Skipping unsupported pixel format\"\n> >> +\t\t\t\t\t<< pixelformat.first.toString();\n> >> +\t\t\t\tcontinue;\n> >> +\t\t\t}\n> >> +\t\t}\n> >> +\n> > \n> > You also need to patch the VimcCameraConfiguration::validate() and\n> \n> I started at validate in fact, but couldn't (quickly) get the CameraData\n> \n> > PipelineHandlerVimc::configure() functions, as they both use the\n> > pixelformats map. One option would be to use\n> > StreamConfiguration::formats().pixelformats() in both locations, so only\n> > one location would need to deal with kernel versions.\n> \n> That makes sense in validate(), but not configure() (which should have\n> already been validated()).\n\nYou're right, my bad. Only validate() needs to be addressed in addition\nto generateConfiguration().\n\n> (Context, this is based upon a branch with your patch applied to provide\n> the PixelFormat -> MBUS code mapping)\n> \n> >>  \t\t/* The scaler hardcodes a x3 scale-up ratio. */\n> >>  \t\tstd::vector<SizeRange> sizes{\n> >>  \t\t\tSizeRange{ { 48, 48 }, { 4096, 2160 } }","headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["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 2EC5460E08\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 26 May 2020 15:13:36 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-216-236.bb.dnainternet.fi\n\t[81.175.216.236])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 7A2F8562;\n\tTue, 26 May 2020 15:13:35 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"iy60gS3V\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1590498815;\n\tbh=aO6dR0lG5IXOua5KiCZs5O82/AHz9CjlmYojP+bRI9U=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=iy60gS3VcBCBCu1YHRSMkHSgSxBSn7757O+V0wJmlJ8lAFPNULZadNrpJohk25wBV\n\t9TsHbx1IBBZF6BBAdlkwPS9bcqHXKT7LeX4d068Dbol6KRtAqYoSdudCeh6/xqUOVX\n\tRfSMbdk3x9JQY+0H9D25Q2h0GTLDBPlzRRvj2mFU=","Date":"Tue, 26 May 2020 16:13:22 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>,\n\tKaaira Gupta <kgupta@es.iitr.ac.in>","Message-ID":"<20200526131322.GC5903@pendragon.ideasonboard.com>","References":"<20200522181435.3174615-1-kieran.bingham@ideasonboard.com>\n\t<20200522203741.GG5824@pendragon.ideasonboard.com>\n\t<60f54a4c-ef5a-d00d-63a9-2699000136fa@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<60f54a4c-ef5a-d00d-63a9-2699000136fa@ideasonboard.com>","Subject":"Re: [libcamera-devel] [RFC PATCH] libcamera: pipeline: vimc: Skip\n\tunsupported formats","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>","X-List-Received-Date":"Tue, 26 May 2020 13:13:36 -0000"}},{"id":4909,"web_url":"https://patchwork.libcamera.org/comment/4909/","msgid":"<20200526132507.GA8487@kaaira-HP-Pavilion-Notebook>","date":"2020-05-26T13:25:08","subject":"Re: [libcamera-devel] [RFC PATCH] libcamera: pipeline: vimc: Skip\n\tunsupported formats","submitter":{"id":39,"url":"https://patchwork.libcamera.org/api/people/39/","name":"Kaaira Gupta","email":"kgupta@es.iitr.ac.in"},"content":"On Tue, May 26, 2020 at 01:04:31PM +0100, Kieran Bingham wrote:\n> Hi Laurent,\n> \n> On 22/05/2020 21:37, Laurent Pinchart wrote:\n> > Hi Kieran,\n> > \n> > Thank you for the patch.\n> > \n> > On Fri, May 22, 2020 at 07:14:35PM +0100, Kieran Bingham wrote:\n> >> Older kernels do not support all 'reported' formats. Skip them on those\n> >> kernels.\n> >>\n> >> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> >> ---\n> >> Marking this as RFC, as I don't actually yet know what the correct\n> >> kernel version is to condition against.\n> > \n> > I think it will be v5.9 if we're lucky :-)\n> \n> \n> I think some progress has been made for 5.7, but I don't know the\n> current state. Kaaira might know more here.\n\nHi! Support for other formats has been added to vimc, but it is a bit\nbuggy right now as it swaps red and blue channels in the final image. I\nhave sent a patch to fix that, as soon as it gets accepted, libcamera\ncan support them as well for newer kernel versions.\n\n> \n> \n> >> Currently, the QCam application can not stream the VIMC Camera for users\n> >> of QT Version less that 5.14 as that is when the BGR888 format becomes a\n> >> 'preferred' native format.\n> >>\n> >> Users of QT < 5.14 will find that qcam will chose a 'preferred' format\n> >> which is reported as supported by the kernel, when in fact it isn't.\n> >>\n> >> Ensure that those formats are not reported as supported by the vimc\n> >> pipeline handler on older kernels.\n> >>\n> >>  src/libcamera/pipeline/vimc/vimc.cpp | 14 ++++++++++++++\n> >>  1 file changed, 14 insertions(+)\n> >>\n> >> diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp\n> >> index 68d65bc785b0..78fb0ece21f8 100644\n> >> --- a/src/libcamera/pipeline/vimc/vimc.cpp\n> >> +++ b/src/libcamera/pipeline/vimc/vimc.cpp\n> >> @@ -171,6 +171,7 @@ CameraConfiguration *PipelineHandlerVimc::generateConfiguration(Camera *camera,\n> >>  \tconst StreamRoles &roles)\n> >>  {\n> >>  \tCameraConfiguration *config = new VimcCameraConfiguration();\n> >> +\tVimcCameraData *data = cameraData(camera);\n> >>  \n> >>  \tif (roles.empty())\n> >>  \t\treturn config;\n> >> @@ -178,6 +179,19 @@ CameraConfiguration *PipelineHandlerVimc::generateConfiguration(Camera *camera,\n> >>  \tstd::map<PixelFormat, std::vector<SizeRange>> formats;\n> >>  \n> >>  \tfor (const auto &pixelformat : pixelformats) {\n> >> +\t\t/*\n> >> +\t\t * \\todo: Update this when the kernel correctly supports other\n> >> +\t\t * reported formats.\n> >> +\t\t */\n> >> +\t\tif (data->media_->version() <= KERNEL_VERSION(5, 7, 0)) {\n> > \n> > I wouldn't hardcode any kernel version until we know when the issue will\n> > be fixed. I would remove the unsupported formats from the pixelformats\n> > map now, and deal with versioning later.\n> \n> Ok, well that will depend upon the current mainline state.\n> \n> \n> >> +\t\t\tif (pixelformat.first != PixelFormat(DRM_FORMAT_BGR888)) {\n> >> +\t\t\t\tLOG(VIMC, Info)\n> >> +\t\t\t\t\t<< \"Skipping unsupported pixel format\"\n> >> +\t\t\t\t\t<< pixelformat.first.toString();\n> >> +\t\t\t\tcontinue;\n> >> +\t\t\t}\n> >> +\t\t}\n> >> +\n> > \n> > You also need to patch the VimcCameraConfiguration::validate() and\n> \n> I started at validate in fact, but couldn't (quickly) get the CameraData\n> \n> > PipelineHandlerVimc::configure() functions, as they both use the\n> > pixelformats map. One option would be to use\n> > StreamConfiguration::formats().pixelformats() in both locations, so only\n> > one location would need to deal with kernel versions.\n> \n> That makes sense in validate(), but not configure() (which should have\n> already been validated()).\n> \n> (Context, this is based upon a branch with your patch applied to provide\n> the PixelFormat -> MBUS code mapping)\n> \n> > \n> >>  \t\t/* The scaler hardcodes a x3 scale-up ratio. */\n> >>  \t\tstd::vector<SizeRange> sizes{\n> >>  \t\t\tSizeRange{ { 48, 48 }, { 4096, 2160 } }\n> > \n> \n> -- \n> Regards\n> --\n> Kieran","headers":{"Return-Path":"<kgupta@es.iitr.ac.in>","Received":["from mail-pj1-x1043.google.com (mail-pj1-x1043.google.com\n\t[IPv6:2607:f8b0:4864:20::1043])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id AE25760E08\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 26 May 2020 15:25:16 +0200 (CEST)","by mail-pj1-x1043.google.com with SMTP id z15so7699pjb.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 26 May 2020 06:25:16 -0700 (PDT)","from kaaira-HP-Pavilion-Notebook ([103.113.213.155])\n\tby smtp.gmail.com with ESMTPSA id\n\tl67sm5025662pfl.81.2020.05.26.06.25.11\n\t(version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256);\n\tTue, 26 May 2020 06:25:14 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected)\n\theader.d=es-iitr-ac-in.20150623.gappssmtp.com\n\theader.i=@es-iitr-ac-in.20150623.gappssmtp.com header.b=\"vUCUJXcc\"; \n\tdkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=es-iitr-ac-in.20150623.gappssmtp.com; s=20150623;\n\th=from:date:to:cc:subject:message-id:references:mime-version\n\t:content-disposition:in-reply-to:user-agent;\n\tbh=nHfPv97wVahL8o06fH+qldM7zyGlmXEFEut8o8HF/OU=;\n\tb=vUCUJXccr27l8fE+8d2wBDaE3xxga11Zpq6av43T6zHDhmZ59BQYPUCrzUI8nC0rCg\n\t7sY6ceFoj6a+7+gdGAm24Xr4L4bvnKheMgjUNOarvmki5q3Pwbssl5gvbHjrUDlOh3Bb\n\tUsznh6Mu10z4IQwA7ILHi8J5KBcS/PwHlIo8RWvOhYyAiOqjeyqkmLObODLNWTFVAWcr\n\tG/1gR2a0GCCE4Mi/Q1BqcK//ZUmiEGyWrWbUvrttcokqY5rzvzaQQ8ym4+U0MfArVl+Z\n\tgqrZfshid9Vmu3RSm5YUdpLRW2JoZnqQNPST7NmxMycIpbUIZ2wf/bv+NlOPFc9iY9QD\n\tH3yg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:date:to:cc:subject:message-id:references\n\t:mime-version:content-disposition:in-reply-to:user-agent;\n\tbh=nHfPv97wVahL8o06fH+qldM7zyGlmXEFEut8o8HF/OU=;\n\tb=DIKlLYGL/w82gu9uvP82joyP3nUVoT4HJUQaEbt6CfFkxYeCpZVqa9tIsvaYN88p8x\n\tq0wNRq56G9eH/DXgiBcqPUzK2pkMKhxlR9oFqUDWJZgYZef0fcwrW4HycJoksBvucSAD\n\teJOWTnP1QqI/nP1Hutd9kzdWjXeShfNo7/Y+DYlemYwcOWu3yf7MmMTQOl0H4kaFIxqa\n\t1luyYUUneBvcbLfPp8DWONvg+IP/jFl8JYphER8yF1ee2F1ydInX/z7SqK+JTCEcWeTQ\n\tMDFTB6yKll2KLRCf/IWFz/DBj8GSFDcOSdOAehB1Tw1LkMVQN86l/4wwvuy/C8jfJaz0\n\t86xQ==","X-Gm-Message-State":"AOAM530pUCX83fe+RqqRbU+K+JfLPEXt01HY2egJ73muVLCNdIpv+f4f\n\tzjD81KpOco+xEHlkl+ADZtYYKf3jSNGtDg==","X-Google-Smtp-Source":"ABdhPJwEOU0pKh0Z3d8/Za2LqyxgKGbPTY5SZdIuUUjjE5rqwqkq1CC+gvDcI9sGb+llk2JD6OM1bw==","X-Received":"by 2002:a17:90a:26d1:: with SMTP id\n\tm75mr24166950pje.27.1590499514768; \n\tTue, 26 May 2020 06:25:14 -0700 (PDT)","From":"Kaaira Gupta <kgupta@es.iitr.ac.in>","X-Google-Original-From":"Kaaira Gupta <Kaairakgupta@es.iitr.ac.in>","Date":"Tue, 26 May 2020 18:55:08 +0530","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera devel <libcamera-devel@lists.libcamera.org>,\n\tKaaira Gupta <kgupta@es.iitr.ac.in>","Message-ID":"<20200526132507.GA8487@kaaira-HP-Pavilion-Notebook>","References":"<20200522181435.3174615-1-kieran.bingham@ideasonboard.com>\n\t<20200522203741.GG5824@pendragon.ideasonboard.com>\n\t<60f54a4c-ef5a-d00d-63a9-2699000136fa@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<60f54a4c-ef5a-d00d-63a9-2699000136fa@ideasonboard.com>","User-Agent":"Mutt/1.9.4 (2018-02-28)","Subject":"Re: [libcamera-devel] [RFC PATCH] libcamera: pipeline: vimc: Skip\n\tunsupported formats","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>","X-List-Received-Date":"Tue, 26 May 2020 13:25:17 -0000"}},{"id":4911,"web_url":"https://patchwork.libcamera.org/comment/4911/","msgid":"<12ec5baa-5429-b76a-69c7-a9c3b8fcbed0@ideasonboard.com>","date":"2020-05-26T14:26:39","subject":"Re: [libcamera-devel] [RFC PATCH] libcamera: pipeline: vimc: Skip\n\tunsupported formats","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Kaaira,\n\nOn 26/05/2020 14:25, Kaaira Gupta wrote:\n> On Tue, May 26, 2020 at 01:04:31PM +0100, Kieran Bingham wrote:\n>> Hi Laurent,\n>>\n>> On 22/05/2020 21:37, Laurent Pinchart wrote:\n>>> Hi Kieran,\n>>>\n>>> Thank you for the patch.\n>>>\n>>> On Fri, May 22, 2020 at 07:14:35PM +0100, Kieran Bingham wrote:\n>>>> Older kernels do not support all 'reported' formats. Skip them on those\n>>>> kernels.\n>>>>\n>>>> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n>>>> ---\n>>>> Marking this as RFC, as I don't actually yet know what the correct\n>>>> kernel version is to condition against.\n>>>\n>>> I think it will be v5.9 if we're lucky :-)\n>>\n>>\n>> I think some progress has been made for 5.7, but I don't know the\n>> current state. Kaaira might know more here.\n> \n> Hi! Support for other formats has been added to vimc, but it is a bit\n> buggy right now as it swaps red and blue channels in the final image. I\n> have sent a patch to fix that, as soon as it gets accepted, libcamera\n> can support them as well for newer kernel versions.\n\n\nI've just managed to test my jpeg encoder with BGR888 and RGB888 and\nboth of those came out with good images.\n\nThen I ran QCam using the virtme configuration you sent me - and indeed\nI see the colour inversions. But I suspect that could be due to qcam now.\n\nOn mainline (v5.7-rc) I can successfully capture BGR888 and RGB888\n(RG24|BG24) but I can not configure a BGRA8888 BA24 pipeline yet.\n\n\n>>>> Currently, the QCam application can not stream the VIMC Camera for users\n>>>> of QT Version less that 5.14 as that is when the BGR888 format becomes a\n>>>> 'preferred' native format.\n>>>>\n>>>> Users of QT < 5.14 will find that qcam will chose a 'preferred' format\n>>>> which is reported as supported by the kernel, when in fact it isn't.\n>>>>\n>>>> Ensure that those formats are not reported as supported by the vimc\n>>>> pipeline handler on older kernels.\n>>>>\n>>>>  src/libcamera/pipeline/vimc/vimc.cpp | 14 ++++++++++++++\n>>>>  1 file changed, 14 insertions(+)\n>>>>\n>>>> diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp\n>>>> index 68d65bc785b0..78fb0ece21f8 100644\n>>>> --- a/src/libcamera/pipeline/vimc/vimc.cpp\n>>>> +++ b/src/libcamera/pipeline/vimc/vimc.cpp\n>>>> @@ -171,6 +171,7 @@ CameraConfiguration *PipelineHandlerVimc::generateConfiguration(Camera *camera,\n>>>>  \tconst StreamRoles &roles)\n>>>>  {\n>>>>  \tCameraConfiguration *config = new VimcCameraConfiguration();\n>>>> +\tVimcCameraData *data = cameraData(camera);\n>>>>  \n>>>>  \tif (roles.empty())\n>>>>  \t\treturn config;\n>>>> @@ -178,6 +179,19 @@ CameraConfiguration *PipelineHandlerVimc::generateConfiguration(Camera *camera,\n>>>>  \tstd::map<PixelFormat, std::vector<SizeRange>> formats;\n>>>>  \n>>>>  \tfor (const auto &pixelformat : pixelformats) {\n>>>> +\t\t/*\n>>>> +\t\t * \\todo: Update this when the kernel correctly supports other\n>>>> +\t\t * reported formats.\n>>>> +\t\t */\n>>>> +\t\tif (data->media_->version() <= KERNEL_VERSION(5, 7, 0)) {\n>>>\n>>> I wouldn't hardcode any kernel version until we know when the issue will\n>>> be fixed. I would remove the unsupported formats from the pixelformats\n>>> map now, and deal with versioning later.\n>>\n>> Ok, well that will depend upon the current mainline state.\n>>\n>>\n>>>> +\t\t\tif (pixelformat.first != PixelFormat(DRM_FORMAT_BGR888)) {\n>>>> +\t\t\t\tLOG(VIMC, Info)\n>>>> +\t\t\t\t\t<< \"Skipping unsupported pixel format\"\n>>>> +\t\t\t\t\t<< pixelformat.first.toString();\n>>>> +\t\t\t\tcontinue;\n>>>> +\t\t\t}\n>>>> +\t\t}\n>>>> +\n>>>\n>>> You also need to patch the VimcCameraConfiguration::validate() and\n>>\n>> I started at validate in fact, but couldn't (quickly) get the CameraData\n>>\n>>> PipelineHandlerVimc::configure() functions, as they both use the\n>>> pixelformats map. One option would be to use\n>>> StreamConfiguration::formats().pixelformats() in both locations, so only\n>>> one location would need to deal with kernel versions.\n>>\n>> That makes sense in validate(), but not configure() (which should have\n>> already been validated()).\n>>\n>> (Context, this is based upon a branch with your patch applied to provide\n>> the PixelFormat -> MBUS code mapping)\n>>\n>>>\n>>>>  \t\t/* The scaler hardcodes a x3 scale-up ratio. */\n>>>>  \t\tstd::vector<SizeRange> sizes{\n>>>>  \t\t\tSizeRange{ { 48, 48 }, { 4096, 2160 } }\n>>>\n>>\n>> -- \n>> Regards\n>> --\n>> Kieran","headers":{"Return-Path":"<kieran.bingham@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EC2D960E08\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 26 May 2020 16:26:42 +0200 (CEST)","from [192.168.0.20]\n\t(cpc89242-aztw30-2-0-cust488.18-1.cable.virginm.net [86.31.129.233])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 40C0E562;\n\tTue, 26 May 2020 16:26:42 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"FzAbQnHR\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1590503202;\n\tbh=wSR06IB6nfaYD9pea0oj2/zP1kcdnhIKRY+2vyJje38=;\n\th=Reply-To:Subject:To:Cc:References:From:Date:In-Reply-To:From;\n\tb=FzAbQnHRanzf7ohi7wZG6zBDhc0nH6ZQ/dZAmpi+kx3x306MCtkO3/XEa2keWElZa\n\ttN0hgLWTkgwQGXBGqEwikXPoV19KzDNjR4M/VC9TdXI9bQMSX5AMTRcWmZYQ15p211\n\tCqDwe4Op4lmqZKbapD++DmyMgWj3ATbSc8poU1zk=","Reply-To":"kieran.bingham@ideasonboard.com","To":"Kaaira Gupta <kgupta@es.iitr.ac.in>","Cc":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera devel <libcamera-devel@lists.libcamera.org>","References":"<20200522181435.3174615-1-kieran.bingham@ideasonboard.com>\n\t<20200522203741.GG5824@pendragon.ideasonboard.com>\n\t<60f54a4c-ef5a-d00d-63a9-2699000136fa@ideasonboard.com>\n\t<20200526132507.GA8487@kaaira-HP-Pavilion-Notebook>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<12ec5baa-5429-b76a-69c7-a9c3b8fcbed0@ideasonboard.com>","Date":"Tue, 26 May 2020 15:26:39 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101\n\tThunderbird/68.7.0","MIME-Version":"1.0","In-Reply-To":"<20200526132507.GA8487@kaaira-HP-Pavilion-Notebook>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-GB","Content-Transfer-Encoding":"8bit","Subject":"Re: [libcamera-devel] [RFC PATCH] libcamera: pipeline: vimc: Skip\n\tunsupported formats","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>","X-List-Received-Date":"Tue, 26 May 2020 14:26:43 -0000"}}]