[{"id":32869,"web_url":"https://patchwork.libcamera.org/comment/32869/","msgid":"<20241218120529.GA18953@pendragon.ideasonboard.com>","date":"2024-12-18T12:05:29","subject":"Re: [PATCH v4] gstreamer: Fixate colorimetry field during caps\n\tnegotiation","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Hou,\n\nWhat is the difference between v3 and v4 ?\n\nWhen posting a new version, please include a local changelog below the\n--- line. See below.\n\nOn Wed, Dec 18, 2024 at 04:20:25PM +0900, Hou Qi wrote:\n> When libcamerasrc is negotiating with downstream element, it first\n> extracts colorimetry field from downstream supported caps, then set\n> this colorimetry to its stream configuration and propagates the\n> colorimetry downstream.\n> \n> Currently libamerasrc only considers the case there is one colorimetry\n> in colorimetry field of downstream caps. But the issue is that\n> downstream caps may report a list of supported colorimetry, which\n> causes libcamerasrc to set unknown colorimetry to stream configuration\n> and negotiate fail with downstream element.\n> \n> In order to fix the issue, need to fixate colorimetry field before\n> getting colorimetry string.\n> \n> Signed-off-by: Hou Qi <qi.hou@nxp.com>\n\nPlease remember to pick the tags you have previously received\n(Reviewed-by, Tested-by, Acked-by, ...) and include them in new\nversions.\n\n> ---\n\nHere you can add\n\n---\nChanges since v3:\n\n- ...\n- ...\n---\n\nThere's no need to resubmit this patch, I'll merge it with the tags from\nv3.\n\n>  src/gstreamer/gstlibcamera-utils.cpp | 5 ++++-\n>  1 file changed, 4 insertions(+), 1 deletion(-)\n> \n> diff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp\n> index a466b305..7b34c759 100644\n> --- a/src/gstreamer/gstlibcamera-utils.cpp\n> +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> @@ -493,9 +493,12 @@ void gst_libcamera_configure_stream_from_caps(StreamConfiguration &stream_cfg,\n>  \n>  \t/* Configure colorimetry */\n>  \tif (gst_structure_has_field(s, \"colorimetry\")) {\n> -\t\tconst gchar *colorimetry_str = gst_structure_get_string(s, \"colorimetry\");\n> +\t\tconst gchar *colorimetry_str;\n>  \t\tGstVideoColorimetry colorimetry;\n>  \n> +\t\tgst_structure_fixate_field(s, \"colorimetry\");\n> +\t\tcolorimetry_str = gst_structure_get_string(s, \"colorimetry\");\n> +\n>  \t\tif (!gst_video_colorimetry_from_string(&colorimetry, colorimetry_str))\n>  \t\t\tg_critical(\"Invalid colorimetry %s\", colorimetry_str);\n>","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 30320C3301\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 18 Dec 2024 12:05:35 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 06A9668094;\n\tWed, 18 Dec 2024 13:05:34 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B210567F59\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 18 Dec 2024 13:05:32 +0100 (CET)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 9CE6134D;\n\tWed, 18 Dec 2024 13:04:54 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"qFpAkefz\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1734523494;\n\tbh=dcZPnne/xNA+9f1wYZNBu4WIFaJkA3KkYisFh+ALMtU=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=qFpAkefzo/SbnzwJwX/dS99EXyt+JJiCuoA9Wf2PHv1gV+w6W+RGCjlO0RUN+hPzt\n\tBT2CoiqYb057ZGFMoobnQQ9IHA/Vsm4dToCqQv7lvqlEWXSdeCbwE0tU71dK5jmxJH\n\tV3yz7PTzJqtMILQw8RaE/xnTd6wrcGaatOqBNSD0=","Date":"Wed, 18 Dec 2024 14:05:29 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Hou Qi <qi.hou@nxp.com>","Cc":"libcamera-devel@lists.libcamera.org, jared.hu@nxp.com,\n\tjulien.vuillaumier@nxp.com","Subject":"Re: [PATCH v4] gstreamer: Fixate colorimetry field during caps\n\tnegotiation","Message-ID":"<20241218120529.GA18953@pendragon.ideasonboard.com>","References":"<20241218072025.2932205-1-qi.hou@nxp.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20241218072025.2932205-1-qi.hou@nxp.com>","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>"}},{"id":33927,"web_url":"https://patchwork.libcamera.org/comment/33927/","msgid":"<PAXPR04MB8285C22140EB2167960A1F4B97B52@PAXPR04MB8285.eurprd04.prod.outlook.com>","date":"2025-04-08T01:13:59","subject":"RE: [EXT] Re: [PATCH v4] gstreamer: Fixate colorimetry field during\n\tcaps negotiation","submitter":{"id":195,"url":"https://patchwork.libcamera.org/api/people/195/","name":"Qi Hou","email":"qi.hou@nxp.com"},"content":"Hi Laurent Pinchart,\n\nSorry for replying to this mail so late as I missed it. I will pick the tags and include the changelog between new and old version next time. \nThere is no code difference between v3 and v4. I just changed the commit title from \" gstreamer: Read correct colorimetry from caps into the stream configuration\" to \" gstreamer: Fixate colorimetry field during caps negotiation\". Please help merge it.\nThank you so much.\n\nRegards,\nQi Hou\n\n-----Original Message-----\nFrom: Laurent Pinchart <laurent.pinchart@ideasonboard.com> \nSent: 2024年12月18日 20:05\nTo: Qi Hou <qi.hou@nxp.com>\nCc: libcamera-devel@lists.libcamera.org; Jared Hu <jared.hu@nxp.com>; Julien Vuillaumier <julien.vuillaumier@nxp.com>\nSubject: [EXT] Re: [PATCH v4] gstreamer: Fixate colorimetry field during caps negotiation\n\nCaution: This is an external email. Please take care when clicking links or opening attachments. When in doubt, report the message using the 'Report this email' button\n\n\nHi Hou,\n\nWhat is the difference between v3 and v4 ?\n\nWhen posting a new version, please include a local changelog below the\n--- line. See below.\n\nOn Wed, Dec 18, 2024 at 04:20:25PM +0900, Hou Qi wrote:\n> When libcamerasrc is negotiating with downstream element, it first \n> extracts colorimetry field from downstream supported caps, then set \n> this colorimetry to its stream configuration and propagates the \n> colorimetry downstream.\n>\n> Currently libamerasrc only considers the case there is one colorimetry \n> in colorimetry field of downstream caps. But the issue is that \n> downstream caps may report a list of supported colorimetry, which \n> causes libcamerasrc to set unknown colorimetry to stream configuration \n> and negotiate fail with downstream element.\n>\n> In order to fix the issue, need to fixate colorimetry field before \n> getting colorimetry string.\n>\n> Signed-off-by: Hou Qi <qi.hou@nxp.com>\n\nPlease remember to pick the tags you have previously received (Reviewed-by, Tested-by, Acked-by, ...) and include them in new versions.\n\n> ---\n\nHere you can add\n\n---\nChanges since v3:\n\n- ...\n- ...\n---\n\nThere's no need to resubmit this patch, I'll merge it with the tags from v3.\n\n>  src/gstreamer/gstlibcamera-utils.cpp | 5 ++++-\n>  1 file changed, 4 insertions(+), 1 deletion(-)\n>\n> diff --git a/src/gstreamer/gstlibcamera-utils.cpp \n> b/src/gstreamer/gstlibcamera-utils.cpp\n> index a466b305..7b34c759 100644\n> --- a/src/gstreamer/gstlibcamera-utils.cpp\n> +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> @@ -493,9 +493,12 @@ void \n> gst_libcamera_configure_stream_from_caps(StreamConfiguration \n> &stream_cfg,\n>\n>       /* Configure colorimetry */\n>       if (gst_structure_has_field(s, \"colorimetry\")) {\n> -             const gchar *colorimetry_str = gst_structure_get_string(s, \"colorimetry\");\n> +             const gchar *colorimetry_str;\n>               GstVideoColorimetry colorimetry;\n>\n> +             gst_structure_fixate_field(s, \"colorimetry\");\n> +             colorimetry_str = gst_structure_get_string(s, \n> + \"colorimetry\");\n> +\n>               if (!gst_video_colorimetry_from_string(&colorimetry, colorimetry_str))\n>                       g_critical(\"Invalid colorimetry %s\", \n> colorimetry_str);\n>\n\n--\nRegards,\n\nLaurent Pinchart","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 BA5C4C327D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  8 Apr 2025 01:14:05 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A9391689A5;\n\tTue,  8 Apr 2025 03:14:04 +0200 (CEST)","from DUZPR83CU001.outbound.protection.outlook.com\n\t(mail-northeuropeazlp170130004.outbound.protection.outlook.com\n\t[IPv6:2a01:111:f403:c200::4])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4E1DC627F4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  8 Apr 2025 03:14:02 +0200 (CEST)","from PAXPR04MB8285.eurprd04.prod.outlook.com\n\t(2603:10a6:102:1ca::15)\n\tby VI1PR04MB9738.eurprd04.prod.outlook.com (2603:10a6:800:1dc::10)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.32;\n\tTue, 8 Apr 2025 01:14:00 +0000","from PAXPR04MB8285.eurprd04.prod.outlook.com\n\t([fe80::e003:8fb:64ea:acfd]) by\n\tPAXPR04MB8285.eurprd04.prod.outlook.com\n\t([fe80::e003:8fb:64ea:acfd%6]) with mapi id 15.20.8606.033;\n\tTue, 8 Apr 2025 01:13:59 +0000"],"Authentication-Results":["lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"Rf6V/mjX\";\n\tdkim-atps=neutral","dkim=none (message not signed)\n\theader.d=none;dmarc=none action=none header.from=nxp.com;"],"ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n\tb=gQolTQe4IREIwHnA91lVhVV1dSL2Qxnrhh4vq/VNGZUq/qdrE7l7nID7aafM2MmdmN82adGp8CESCVi7nLG6dZ+4Uj2+WjPF3DLIS+J+Yt5DeGb2SOQ8Iw9bbr+u9cS154qhDkZ6B+cg4rJjNM3TsH61nB9uLyPGVLIQ5AlfWsDwL3s7j1G0rpj8Mg1UbgFHjizrZK37lvZZPIWoUR1cIgnLqK7nf3NT5Lt0U7riMfUPDalQyjE0WwrAkLwHX16tPxDx4wNpIHVBDIrNZiwr3vGyNWATOCtQ8/t3f7Hkx+6/Cb39l+DHtiKQHiS56gxc2U2zeCPJThaIy6vFm2WTzg==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n\ts=arcselector10001;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n\tbh=ZunXPF4Qszmr1A09IOfW8mJRpiLNfX2GjdnbbJRYZsE=;\n\tb=sBABFPgshAGI5Na9atIble2PrGyMCGAaDVe4jl82hHqjIMATDeDSjVXbu0kmPCnZaDk5eqCEy4J6J1snvbuVF1XdBM5lVgN260jbfIqOXRazcpoV0x2sfNy4W0dW5hjYWx8wq2uJKvIeImgKJabW6c06qCfiPyE+0iFLKHlovAS+L0eL5Mnsl/kDiBJJ5lr6TMhv+LpnTG5JbIhLn3CSnDqtiqcLOfaa48Tx7KI0Gh5LV05G4K+zEF37N9DuFR/Mi7y+Sc4sGn2LoHibjrlrkmdYsv0Erv6bVpzYx/criFAq5/5jHesLNb5uAYqkDoo1tz07ZDN7XxfxL6GUuGKHgw==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n\tsmtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com;\n\tdkim=pass header.d=nxp.com; arc=none","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=ZunXPF4Qszmr1A09IOfW8mJRpiLNfX2GjdnbbJRYZsE=;\n\tb=Rf6V/mjXlRWBIhV2vuVz0s1O1n5Fqk75WODghda1BGOqKwNdudR5aFegduBeQsjkDZZcikiJfde4dNCPOAQVsvxVlO0p8jfDXFSm5wOFl8dE7gn931WFpO0V+12VZBOVJbMxvvUVD8tVPJJk5EuOWAsKvgJFv8cXkAX9jxs+EVPQRyzxHG2sfLLg3fLoN9Uv3I1NLwD9OESRZ2BvBZwkXYiVNi8tv7bW4X41WjXrMSVgw12QAnuAlg2uLYz7QyPub8jg8nXAb5zrqzVUxnDIN8nbjz6Ft5vLg30ldSVEzkYDfq9zYpk+/CVG76GGys8DN0bBLpiq/WosEB7RlB/dpA==","From":"Qi Hou <qi.hou@nxp.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","CC":"\"libcamera-devel@lists.libcamera.org\"\n\t<libcamera-devel@lists.libcamera.org>, Jared Hu <jared.hu@nxp.com>,\n\tJulien Vuillaumier <julien.vuillaumier@nxp.com>","Subject":"RE: [EXT] Re: [PATCH v4] gstreamer: Fixate colorimetry field during\n\tcaps negotiation","Thread-Topic":"[EXT] Re: [PATCH v4] gstreamer: Fixate colorimetry field during\n\tcaps negotiation","Thread-Index":"AQHbUR1nT1BERhZXaEOwASunmqwMPbLr6AeAgK254cA=","Date":"Tue, 8 Apr 2025 01:13:59 +0000","Message-ID":"<PAXPR04MB8285C22140EB2167960A1F4B97B52@PAXPR04MB8285.eurprd04.prod.outlook.com>","References":"<20241218072025.2932205-1-qi.hou@nxp.com>\n\t<20241218120529.GA18953@pendragon.ideasonboard.com>","In-Reply-To":"<20241218120529.GA18953@pendragon.ideasonboard.com>","Accept-Language":"zh-CN, en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","authentication-results":["lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"Rf6V/mjX\";\n\tdkim-atps=neutral","dkim=none (message not signed)\n\theader.d=none;dmarc=none action=none header.from=nxp.com;"],"x-ms-publictraffictype":"Email","x-ms-traffictypediagnostic":"PAXPR04MB8285:EE_|VI1PR04MB9738:EE_","x-ms-office365-filtering-correlation-id":"171d7b2f-10d9-4c7e-156f-08dd763aa4a0","x-ld-processed":"686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr","x-ms-exchange-senderadcheck":"1","x-ms-exchange-antispam-relay":"0","x-microsoft-antispam":"BCL:0;\n\tARA:13230040|1800799024|376014|366016|38070700018; ","x-microsoft-antispam-message-info":"=?gb2312?b?elhQU1U5RmFaVm92RmJRQ0x0?=\n\t=?gb2312?b?bXhSdG1ldHVtaHJ0d2NpUVV2ejY5aElpMkN2dDBUd1grelVPRGY2?=\n\t=?gb2312?b?MDRmRDV3SE1HRm5KWHB6R0dVTEo0a1dzYWR4UE13bFQ5MFVyMHpl?=\n\t=?gb2312?b?WnN3Q3NYdG02K0xweGZDTERzbzh1SjBMYm1hdUFCOERYamV4Rko3?=\n\t=?gb2312?b?aWJIS01mQk5HcHdKcFVxRFlrNnVQdVNQT3creTYra0RwRW52MnEr?=\n\t=?gb2312?b?dTY2UEM1UnRteElYa21ISTlDMXNCZ0YxdmthNHhNN2g5TDJ4VDRO?=\n\t=?gb2312?b?QTVFVDkyamx6cmZWSlBFT1RYQnMyUXJHMDVXLzludzJjU0hTdDYx?=\n\t=?gb2312?b?ajFYR3huNnh6d3VjTTFKejN2MVJrd3dCMlBEV3RLbmE0NDlsUDVT?=\n\t=?gb2312?b?YjB0YkErZmRESTRXZ2pqa2JUaklQUVpWNmxES1BSVkJ6bGdKV2dv?=\n\t=?gb2312?b?OTRSTHBTRWh1dVZKYXpEZm4xbjNsVlA3SXM4Qmx6cHlEUi9xVCtM?=\n\t=?gb2312?b?WDd5TnRnWm0zaVdNTVJYT2hWdUJ6MWdPWkVWOWEvNE9YNlJpRFlq?=\n\t=?gb2312?b?UUwvVW9aSFVhWTVHTDhGWXRUay9YS1VMajFFblhXVE9jWS9SWE1V?=\n\t=?gb2312?b?Z3VtYkRObk9KT0dHNERDUUJrK0pzcUY3THVzWlR5RzFHM3Q4V1pO?=\n\t=?gb2312?b?UjJUREpSQkpmQk9FcVp6T05TT3MxaklqeXk2L0U1NGhrTVZveHVZ?=\n\t=?gb2312?b?S0FxaDdzVEtEVDB1cFVqS3RZWjJEUThOZW5peFl2Z2ZPa1d3ZTJr?=\n\t=?gb2312?b?VTFOYWJsdXAvd0FOSG1qQnNlMWdxWVVYUno2TzE3R2JGZW5tanpJ?=\n\t=?gb2312?b?YXdTb242bytpektYQTB1a1ZxT0JCUVY3M0ZBMzhpcVZ5enBGaWdi?=\n\t=?gb2312?b?blVrMDFUY0kyV1hRd0JZenliTW1xT2xrYTZ2WGhXRWg3TmdoL0k5?=\n\t=?gb2312?b?TWl3UUVhUXpDNzBRRW9qOFNIbld3SExNZjlqQ0dPMFp6NUFsUmcw?=\n\t=?gb2312?b?ZjFQYVFKNE9UdE9yWjhYdGducFQvbVM0Zng2RDRDNjFvejZuQkRu?=\n\t=?gb2312?b?eDh4R0dWeVZUQUhaSTFJbzdFb20xTnBBeWU1NVVCcEVlTkdJOE04?=\n\t=?gb2312?b?S1BmOHpGejh5c2U2Y2NmU3BiWjBFdTJuVEt6STlLdDFhL3hlWnh2?=\n\t=?gb2312?b?NXJCdTcvOUkvUklRSkV3YkJSSW9qQTFlRXB6VUpmVzRyL280S2li?=\n\t=?gb2312?b?eDI3MGRKSkRJeEN0b2lnYVRybzJZdVNYb3daUjBESU9TYzVxWFE3?=\n\t=?gb2312?b?VVJ0WXk3MnVCVnJ5dDUvb0tPRERMdXNtT3h5b1hYa0ZvVjMrMjl4?=\n\t=?gb2312?b?eWZqT1B3NUg0TWpJUUs4QlkvT0tMd2NRTStDL0xFZkRsSDRkYnNN?=\n\t=?gb2312?b?SHUvTytacGNVM1I3L0VqZFlhVFVOaVRzcGMvSXVXT1AwQWJsZTJh?=\n\t=?gb2312?b?cExTWmpydHFESkN0N3JLUzg2UlYyeFYyTXIyZ2dkbEUyNHZhVkFI?=\n\t=?gb2312?b?TFZabU9rVGtWb3BhVlV3VXJaV0pnR1UrcTRwRDRzRzJOejFqYTlS?=\n\t=?gb2312?b?clRPMWRDTkN6MnRwcHJpYWpjaTE2ZHNrYU9oQTA2UFBOMlE0ekwy?=\n\t=?gb2312?b?RU41YTlRRW5tM0NZV2pQNktKeVJKMWNlRGp3V1gwbUpSOEpsaDBT?=\n\t=?gb2312?b?L1FLMTRqQnduL0x4WXo1TlFXRmthbm03RUNhTkJnOVltMmJyNHdr?=\n\t=?gb2312?b?WDBDL28zTDlqY2ZCa25RZERrM0NId05QZnJmNGRmMVVYNGtlR091?=\n\t=?gb2312?b?REhUY1VEVVFncTBFZjVoRVVlQU5zeDdjaXczbWV3cUQvZCtqdUFU?=\n\t=?gb2312?b?ZFFKbUhGeGJPM0ZFRE1MclVXQ1VwOHJ3UWxEbG9JUXI5ZUE1NEx4?=\n\t=?gb2312?b?QjVFY2VOR1lTQ2Z0NytVOWZnY1FqRDJNa1F2OUNaclZ2elVYVDMv?=\n\t=?gb2312?b?NkNuVk9LRzNrNUNOSzh0RnJhRjdRSThleXNTOVkraHpLZkRJRkV4?=\n\t=?gb2312?b?aVZXWVZWQ0tIK3YwUHByNm1XOER5eFhZSnlmTlhpMFFELytyRmJr?=\n\t=?gb2312?b?VjhqcTFuSUZRYXM=?=","x-forefront-antispam-report":"CIP:255.255.255.255; CTRY:; LANG:zh-cn; SCL:1; \n\tSRV:; IPV:NLI; SFV:NSPM;\n\tH:PAXPR04MB8285.eurprd04.prod.outlook.com; PTR:; \n\tCAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700018);\n\tDIR:OUT; SFP:1101; ","x-ms-exchange-antispam-messagedata-chunkcount":"1","x-ms-exchange-antispam-messagedata-0":"=?gb2312?b?cXBjZVViVDVuWm1zeTNjQkN6?=\n\t=?gb2312?b?WDVORWFYeHVpOEhqTUlvbm9FMCtTaE9PNHZ2MjNKVFh4T1drVkc2?=\n\t=?gb2312?b?Qm1BMVNPdktab09zZ0ZwOWgzWFdUaTRJMlkxTW9GOG9BZUIvclo3?=\n\t=?gb2312?b?SmV0S25mOU5qZUJhQ1JscDMwV21CRUFqZkNmVDJ6REMxbFdNWDNE?=\n\t=?gb2312?b?bmFRSVRna0xuNDZTZ3dBZXZPSlB5K3VqSGZrUGJsZ1QrZ1NRUit5?=\n\t=?gb2312?b?M3FuREhDTzM2Tzc0aVgrWlBYY1FtcXdMSUExcjhVL0VsbnYwV2VF?=\n\t=?gb2312?b?SVVwcDZGYS93RDRuQkUxa1dTRGUrdUMvcTZWN1BHWDZyNEZRSWI2?=\n\t=?gb2312?b?ZUdpY202UGd2QllpNEhJRnZPaGpSa3d4MG8xcGRtMkRnN29COFlU?=\n\t=?gb2312?b?amVubEpYUlh2MmUwQTF6dzhRaStnM0F3S3VxeGIzY084WEpuS1Vt?=\n\t=?gb2312?b?clJUcWY1ZWZTVUh5MzBkcTV3UnAzUExTRWtRcHNRVkRwdUxCUHVE?=\n\t=?gb2312?b?bGlEQ25QdkI4VWxWTU5mZXdnN1J0bFRmSFluVWI4NGppck8yR2kv?=\n\t=?gb2312?b?R1UxKzd6bkFtRkYzSVpOa1g5RklHY3ZMMGxSMXNhaU9GY3RXRlFr?=\n\t=?gb2312?b?KzVvbjhId2VQY3hNOWIyTll0ZkZsZ01BT3JSRmlMN2xKZDVKUWZG?=\n\t=?gb2312?b?MmZuMDRGYUNET0pKTWVnbVBnOFJ5aUoyUjBrRzV4d2wzMlRoYjJh?=\n\t=?gb2312?b?YkZPMVg2OWw2elZZRTVJU3Q4MXNtTXFQeWFkUVBxaW8rbC9kQkRk?=\n\t=?gb2312?b?R293REppcHc3ekNBbXdHWGJwN3BYSmVoeGpQWit6U3lnOFBSTzJI?=\n\t=?gb2312?b?R1RMZXQ3ZTZSYkNMZGxhMXc2TDFjcmVPVVphYm9sMWkxVTdYZVR0?=\n\t=?gb2312?b?VGlaempRdmJ3UnYzZzRKRUJDdGtWMlE1VnRIRUlINGpRWGpiOUdD?=\n\t=?gb2312?b?cTVDVlh3aS91bTRlbGNESmYyTmxOVmJDTzRFWEZWZ0NVK1A5K0o1?=\n\t=?gb2312?b?RkVib0phN21ocHRtVlV6VFZlWlg3aFZXeWluK2I1QWdNZ2pUNkxx?=\n\t=?gb2312?b?cm9YdGZ1anRxNWRrcDRqT2VFY1QyT1hHaSsxVllyR2xXZVdxa0tE?=\n\t=?gb2312?b?ZlUvSVVmaXdjc0VVZlp3bTlaU1A1aGdZR24wbWRzckljdk1CVnRU?=\n\t=?gb2312?b?dVRxc0VUVUsrYktEMWtvb29VSFZVUDR1TURyalE5dm5kV3REczQ4?=\n\t=?gb2312?b?bE4wcXpVN212R2h3cXoxdTUzSmQ3YkRxc3V4QlNqNnduYmV0ZCtN?=\n\t=?gb2312?b?bFkyOWo4STdZV3YwNjlHbTBJVDNCWkR0N2tIQ3JzV2tPTlZkd3c3?=\n\t=?gb2312?b?ZXVUdk9WWXFFRWRzaFBtWXVrUlRnZVMzQWgvTTArSi9jaDI1OW9w?=\n\t=?gb2312?b?L05DZTZRM2F0QzBBdEVFQVQxMWJWVVlRRUlnckt3Qks1SlMwT2FL?=\n\t=?gb2312?b?bnhrTHBqYXIvYzhOSUVnWU5mQWs1d3FmSU0rbStFMStzN0FzaDJD?=\n\t=?gb2312?b?Y1Y5Wm9VaG9HUXEzeGRWaENQbVdpZmVCRUcvWkw4NEd3c0xLZHUz?=\n\t=?gb2312?b?VmxNeG5DT0lxZ01uZ0JONy9LSzJ2VDBKYmpXSGxtNy9vYjBuU3h6?=\n\t=?gb2312?b?eEpyVTNhbXpjeDZURzhqeGJzaXJCdjFMUTdyVCtCYjRWbHA0WGNv?=\n\t=?gb2312?b?SFZjOXB3bjUybURFSUdNYWpSRFV5ZWkvblEySXl2ZG9haGRkU0FG?=\n\t=?gb2312?b?dlNRREt6OHo2VnV0anJndG50cVBBWUE1NVlDcHNFVG8zZTRoNHls?=\n\t=?gb2312?b?VGZTcDk4UVNBaUlla01wbHAvcDVXUHpxTjJKMUcrMU5CUkpqV3JC?=\n\t=?gb2312?b?TlBlYVJrcnVFZ3NxNGxvV0I3QVd6Rm1lWGE2UlJqLzJBdTI0cE5D?=\n\t=?gb2312?b?enZsc2VsdEpRT3lLM1FaRkdRZE8vdHcwTHJxNFNWWWxmWWRkTS9F?=\n\t=?gb2312?b?UjhMNG9sVWgzUlg0bzEvSWp2bmNBL1U3ZlhCUGZQNFFJMFd6cDNB?=\n\t=?gb2312?b?YWJHY2hPR2Fud3VKYzJRU2NWWEt0LzBra2hYRk5URlJXSnE4cjdV?=\n\t=?gb2312?b?MUErYU1tSXFtSkc2OTJKU1R5ZmdranpCMjlFQ3dZV2VHcEMrand6?=\n\t=?gb2312?b?RDhJZFdrUTh0WG54MlVtNEZGRndOL0FteGltSlFUTzZDaC9qeEF3?=\n\t=?gb2312?b?RUt0MisrcFNsNUxENThQZTc1SWJTMlJtSXlzcXdKTUlXaXFOVktZ?=\n\t=?gb2312?b?QT0=?=","Content-Type":"text/plain; charset=\"gb2312\"","Content-Transfer-Encoding":"base64","MIME-Version":"1.0","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-AuthSource":"PAXPR04MB8285.eurprd04.prod.outlook.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"171d7b2f-10d9-4c7e-156f-08dd763aa4a0","X-MS-Exchange-CrossTenant-originalarrivaltime":"08 Apr 2025 01:13:59.8339\n\t(UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"686ea1d3-bc2b-4c6f-a92c-d99c5c301635","X-MS-Exchange-CrossTenant-mailboxtype":"HOSTED","X-MS-Exchange-CrossTenant-userprincipalname":"DQYldzGADv6R/4Fom9c5o0Cqvtq02vxOIYPljsyvdtyWDv4c6AmKOVPDHLRwnmyQ","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"VI1PR04MB9738","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>"}},{"id":34015,"web_url":"https://patchwork.libcamera.org/comment/34015/","msgid":"<174541263283.2882969.13314397721681769396@ping.linuxembedded.co.uk>","date":"2025-04-23T12:50:32","subject":"Re: [PATCH v4] gstreamer: Fixate colorimetry field during caps\n\tnegotiation","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Laurent Pinchart (2024-12-18 12:05:29)\n> Hi Hou,\n> \n> What is the difference between v3 and v4 ?\n> \n> When posting a new version, please include a local changelog below the\n> --- line. See below.\n> \n> On Wed, Dec 18, 2024 at 04:20:25PM +0900, Hou Qi wrote:\n> > When libcamerasrc is negotiating with downstream element, it first\n> > extracts colorimetry field from downstream supported caps, then set\n> > this colorimetry to its stream configuration and propagates the\n> > colorimetry downstream.\n> > \n> > Currently libamerasrc only considers the case there is one colorimetry\n> > in colorimetry field of downstream caps. But the issue is that\n> > downstream caps may report a list of supported colorimetry, which\n> > causes libcamerasrc to set unknown colorimetry to stream configuration\n> > and negotiate fail with downstream element.\n> > \n> > In order to fix the issue, need to fixate colorimetry field before\n> > getting colorimetry string.\n> > \n> > Signed-off-by: Hou Qi <qi.hou@nxp.com>\n> \n> Please remember to pick the tags you have previously received\n> (Reviewed-by, Tested-by, Acked-by, ...) and include them in new\n> versions.\n> \n> > ---\n> \n> Here you can add\n> \n> ---\n> Changes since v3:\n> \n> - ...\n> - ...\n> ---\n> \n> There's no need to resubmit this patch, I'll merge it with the tags from\n> v3.\n\nThis got missed,\n\nAdding previously given review-by tags for patchworks sake:\n\nReviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> \n> >  src/gstreamer/gstlibcamera-utils.cpp | 5 ++++-\n> >  1 file changed, 4 insertions(+), 1 deletion(-)\n> > \n> > diff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp\n> > index a466b305..7b34c759 100644\n> > --- a/src/gstreamer/gstlibcamera-utils.cpp\n> > +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> > @@ -493,9 +493,12 @@ void gst_libcamera_configure_stream_from_caps(StreamConfiguration &stream_cfg,\n> >  \n> >       /* Configure colorimetry */\n> >       if (gst_structure_has_field(s, \"colorimetry\")) {\n> > -             const gchar *colorimetry_str = gst_structure_get_string(s, \"colorimetry\");\n> > +             const gchar *colorimetry_str;\n> >               GstVideoColorimetry colorimetry;\n> >  \n> > +             gst_structure_fixate_field(s, \"colorimetry\");\n> > +             colorimetry_str = gst_structure_get_string(s, \"colorimetry\");\n> > +\n> >               if (!gst_video_colorimetry_from_string(&colorimetry, colorimetry_str))\n> >                       g_critical(\"Invalid colorimetry %s\", colorimetry_str);\n> >  \n> \n> -- \n> Regards,\n> \n> Laurent Pinchart","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 18256BE08B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 23 Apr 2025 12:50:37 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BFBFA68ACD;\n\tWed, 23 Apr 2025 14:50:36 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4C07468AC6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 23 Apr 2025 14:50:35 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id BFA581AE2;\n\tWed, 23 Apr 2025 14:50:33 +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=\"LNVW271C\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1745412633;\n\tbh=Hbu/qE0AJBefjy017ZfAPsEuuCn4d6qEBpCey338iys=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=LNVW271Cej2PtY8PVjDcKxlixcx11Eh92QX+ZmhOia+2mHl0fClydNhObJiPZY0as\n\tY0ucXmPxGFW4CEwA/4X+fZIrFUnGefnT0EFiKfQoy0oWO+Yr/gaIlLp8RGiKJjiGjk\n\tESv7iw6aw48taNEZ7OANYNQmxWsBcZDKq0/rSvVU=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20241218120529.GA18953@pendragon.ideasonboard.com>","References":"<20241218072025.2932205-1-qi.hou@nxp.com>\n\t<20241218120529.GA18953@pendragon.ideasonboard.com>","Subject":"Re: [PATCH v4] gstreamer: Fixate colorimetry field during caps\n\tnegotiation","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org, jared.hu@nxp.com,\n\tjulien.vuillaumier@nxp.com","To":"Hou Qi <qi.hou@nxp.com>,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Date":"Wed, 23 Apr 2025 13:50:32 +0100","Message-ID":"<174541263283.2882969.13314397721681769396@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","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>"}}]