[{"id":32251,"web_url":"https://patchwork.libcamera.org/comment/32251/","msgid":"<20241119075601.GZ31681@pendragon.ideasonboard.com>","date":"2024-11-19T07:56:01","subject":"Re: [PATCH v3 1/2] libcamera: libipa: camera_sensor: Add MediaTek\n\tgc05a2 sensor properties","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Harvey,\n\nThank you for the patch.\n\nOn Tue, Nov 19, 2024 at 07:37:35AM +0000, Harvey Yang wrote:\n> From: Harvey Yang <chenghaoyang@google.com>\n> \n> Provide the MediaTek gc05a2 camera sensor properties and registration\n\nI think you meant GalaxyCore, not MediaTek, both in the subject line and\nhere.\n\n> with libipa for the gain code helpers.\n> \n> Signed-off-by: Han-Lin Chen <hanlinchen@chromium.org>\n> Co-developed-by: Xing Gu <xinggu@chromium.org>\n> Co-developed-by: Yudhistira Erlandinata <yerlandinata@chromium.org>\n> Co-developed-by: Harvey Yang <chenghaoyang@chromium.org>\n> ---\n>  src/ipa/libipa/camera_sensor_helper.cpp           | 11 +++++++++++\n>  src/libcamera/sensor/camera_sensor_properties.cpp |  7 +++++++\n>  2 files changed, 18 insertions(+)\n> \n> diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\n> index c6169bdc7..36555680b 100644\n> --- a/src/ipa/libipa/camera_sensor_helper.cpp\n> +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n> @@ -519,6 +519,17 @@ private:\n>  };\n>  REGISTER_CAMERA_SENSOR_HELPER(\"ar0521\", CameraSensorHelperAr0521)\n>  \n> +class CameraSensorHelperGc05a2 : public CameraSensorHelper\n> +{\n> +public:\n> +\tCameraSensorHelperGc05a2()\n> +\t{\n> +\t\tgainType_ = AnalogueGainLinear;\n> +\t\tgainConstants_.linear = { 100, 0, 0, 1024 };\n\nWe also need to know the black level (a.k.a. data pedestal).\n\nThe rest of the patch looks good to me. With the black level value\nadded, I expect this can be merged.\n\nSame comment for 2/2.\n\n> +\t}\n> +};\n> +REGISTER_CAMERA_SENSOR_HELPER(\"gc05a2\", CameraSensorHelperGc05a2)\n> +\n>  class CameraSensorHelperImx214 : public CameraSensorHelper\n>  {\n>  public:\n> diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp\n> index 6d4136d03..2f048d4a3 100644\n> --- a/src/libcamera/sensor/camera_sensor_properties.cpp\n> +++ b/src/libcamera/sensor/camera_sensor_properties.cpp\n> @@ -70,6 +70,13 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n>  \t\t\t\t{ controls::draft::TestPatternModeColorBarsFadeToGray, 3 },\n>  \t\t\t},\n>  \t\t} },\n> +\t\t{ \"gc05a2\", {\n> +\t\t\t.unitCellSize = { 1120, 1120 },\n> +\t\t\t.testPatternModes = {\n> +\t\t\t\t{ controls::draft::TestPatternModeOff, 0 },\n> +\t\t\t\t{ controls::draft::TestPatternModeColorBars, 1 },\n> +\t\t\t},\n> +\t\t} },\n>  \t\t{ \"hi846\", {\n>  \t\t\t.unitCellSize = { 1120, 1120 },\n>  \t\t\t.testPatternModes = {","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 E2A18C326B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 19 Nov 2024 07:56:21 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E3D596590C;\n\tTue, 19 Nov 2024 08:56:20 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 3D35D658FD\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 19 Nov 2024 08:56:19 +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 BF97FD52;\n\tTue, 19 Nov 2024 08:55:55 +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=\"mlCiuB+/\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1732002957;\n\tbh=8bMNDCchX5IAWC9nQCh88RJDibwgWaX4a3BSgi+5rsQ=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=mlCiuB+/M9E6Pij8HPNXOz5SnnlntNnhBqsb3w6zXtSZdxMn0zNdL7cb3aa07BGxk\n\tIJq+dd2cqj67uUuPfDN42MgiKumvV9cKiQwAZCyhiYxkQXMLi2IizTg7sF8fKFpzKC\n\tFvfwE1D9QfSINajBPvkBhx6qt7RBq+4C8hjrL7SA=","Date":"Tue, 19 Nov 2024 09:56:01 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Harvey Yang <chenghaoyang@chromium.org>","Cc":"libcamera-devel@lists.libcamera.org,\n\tHarvey Yang <chenghaoyang@google.com>, \n\tHan-Lin Chen <hanlinchen@chromium.org>, Xing Gu <xinggu@chromium.org>,\n\tYudhistira Erlandinata <yerlandinata@chromium.org>","Subject":"Re: [PATCH v3 1/2] libcamera: libipa: camera_sensor: Add MediaTek\n\tgc05a2 sensor properties","Message-ID":"<20241119075601.GZ31681@pendragon.ideasonboard.com>","References":"<20241119073913.500732-1-chenghaoyang@chromium.org>\n\t<20241119073913.500732-2-chenghaoyang@chromium.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20241119073913.500732-2-chenghaoyang@chromium.org>","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":32297,"web_url":"https://patchwork.libcamera.org/comment/32297/","msgid":"<CAEB1ahtNJpSWJ4y1CnhobJJBA7TNi90_sui84E_HHqNeorF3OQ@mail.gmail.com>","date":"2024-11-20T07:39:16","subject":"Re: [PATCH v3 1/2] libcamera: libipa: camera_sensor: Add MediaTek\n\tgc05a2 sensor properties","submitter":{"id":117,"url":"https://patchwork.libcamera.org/api/people/117/","name":"Cheng-Hao Yang","email":"chenghaoyang@chromium.org"},"content":"Hi Laurent,\n\nOn Tue, Nov 19, 2024 at 3:56 PM Laurent Pinchart\n<laurent.pinchart@ideasonboard.com> wrote:\n>\n> Hi Harvey,\n>\n> Thank you for the patch.\n>\n> On Tue, Nov 19, 2024 at 07:37:35AM +0000, Harvey Yang wrote:\n> > From: Harvey Yang <chenghaoyang@google.com>\n> >\n> > Provide the MediaTek gc05a2 camera sensor properties and registration\n>\n> I think you meant GalaxyCore, not MediaTek, both in the subject line and\n> here.\n\nYes, thanks for the catch.\n\n>\n> > with libipa for the gain code helpers.\n> >\n> > Signed-off-by: Han-Lin Chen <hanlinchen@chromium.org>\n> > Co-developed-by: Xing Gu <xinggu@chromium.org>\n> > Co-developed-by: Yudhistira Erlandinata <yerlandinata@chromium.org>\n> > Co-developed-by: Harvey Yang <chenghaoyang@chromium.org>\n> > ---\n> >  src/ipa/libipa/camera_sensor_helper.cpp           | 11 +++++++++++\n> >  src/libcamera/sensor/camera_sensor_properties.cpp |  7 +++++++\n> >  2 files changed, 18 insertions(+)\n> >\n> > diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\n> > index c6169bdc7..36555680b 100644\n> > --- a/src/ipa/libipa/camera_sensor_helper.cpp\n> > +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n> > @@ -519,6 +519,17 @@ private:\n> >  };\n> >  REGISTER_CAMERA_SENSOR_HELPER(\"ar0521\", CameraSensorHelperAr0521)\n> >\n> > +class CameraSensorHelperGc05a2 : public CameraSensorHelper\n> > +{\n> > +public:\n> > +     CameraSensorHelperGc05a2()\n> > +     {\n> > +             gainType_ = AnalogueGainLinear;\n> > +             gainConstants_.linear = { 100, 0, 0, 1024 };\n>\n> We also need to know the black level (a.k.a. data pedestal).\n>\n> The rest of the patch looks good to me. With the black level value\n> added, I expect this can be merged.\n>\n> Same comment for 2/2.\n\nConfirmed with MediaTek that both sensors have a black level 0x40.\nUpdated in the next version.\n\nBR,\nHarvey\n\n>\n> > +     }\n> > +};\n> > +REGISTER_CAMERA_SENSOR_HELPER(\"gc05a2\", CameraSensorHelperGc05a2)\n> > +\n> >  class CameraSensorHelperImx214 : public CameraSensorHelper\n> >  {\n> >  public:\n> > diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp\n> > index 6d4136d03..2f048d4a3 100644\n> > --- a/src/libcamera/sensor/camera_sensor_properties.cpp\n> > +++ b/src/libcamera/sensor/camera_sensor_properties.cpp\n> > @@ -70,6 +70,13 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n> >                               { controls::draft::TestPatternModeColorBarsFadeToGray, 3 },\n> >                       },\n> >               } },\n> > +             { \"gc05a2\", {\n> > +                     .unitCellSize = { 1120, 1120 },\n> > +                     .testPatternModes = {\n> > +                             { controls::draft::TestPatternModeOff, 0 },\n> > +                             { controls::draft::TestPatternModeColorBars, 1 },\n> > +                     },\n> > +             } },\n> >               { \"hi846\", {\n> >                       .unitCellSize = { 1120, 1120 },\n> >                       .testPatternModes = {\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 EC0A5C32F5\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 20 Nov 2024 07:39:30 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8C10065F34;\n\tWed, 20 Nov 2024 08:39:30 +0100 (CET)","from mail-lj1-x233.google.com (mail-lj1-x233.google.com\n\t[IPv6:2a00:1450:4864:20::233])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8698E60531\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 20 Nov 2024 08:39:28 +0100 (CET)","by mail-lj1-x233.google.com with SMTP id\n\t38308e7fff4ca-2fb561f273eso61842871fa.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 19 Nov 2024 23:39:28 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"Yhd/xml/\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=chromium.org; s=google; t=1732088368; x=1732693168;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:cc:to:subject:message-id:date:from\n\t:in-reply-to:references:mime-version:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=4Ez8MGan9sM5J3c8uDoaX/4oaGMeCL1s7R3i65XZyXM=;\n\tb=Yhd/xml/yfdYHoA9p9onbsnq040nYn8P8lTNB7GLlFwudO1cpAof3gQwoi0ssxsv9I\n\tZ6SlGWI/GdZxznn7AEao6Yh5C+O1pHNiY9vdcxeRJYfOVd8UZOfPfrBM4nDLLRA4Bpzz\n\tHPw14ueRxtQVLcMGQ00D1QWc9boPa+d7Em/R8=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1732088368; x=1732693168;\n\th=content-transfer-encoding:cc:to:subject:message-id:date:from\n\t:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc\n\t:subject:date:message-id:reply-to;\n\tbh=4Ez8MGan9sM5J3c8uDoaX/4oaGMeCL1s7R3i65XZyXM=;\n\tb=w+aaito2Olhjk/08E2l9eQTZkH60tL+rx1tkvD5g9DgtzPn9CLiww5gVzMvgd5y4wS\n\tku3aMZ4YdTK/UGvRbQJZNYCmeiFKrZrumYNDDg0tVnCBs686znUcALL4HcY74AcESbre\n\tzLkzpU5l9vdpELBMfL9w50FcmNiyHRQpfrM7moIxO38tYa6ZzvkVkfDR7LEzF45BCsbc\n\tlQk6Xiu2y28yExVUterI82Z36Z7slQrOPq1gilA5cW752xlv854KDUNxX4ewMSlieqXH\n\t5pJckMvU6OpfAnCIsyMHkqQXmIE4KJkFDjUDg6F+oMaMcj0KXy1uLG84RvlWjoU1nzUR\n\tYR0Q==","X-Gm-Message-State":"AOJu0YxZTZs/AREhzW8I1b0rGSXKAWO6HS+27YmiS85bli6Q4FFTJtgD\n\trDd6U81/nV2pN7JAMdjFKgNnu3HJnDlxh7cC0V/oEYZuGig93Mzh2qm7OAduB4kRfJUzVMrt97Y\n\t66P7mO+o0A3ZNeMbdBT3lLZowIsAIETiI8d6V","X-Google-Smtp-Source":"AGHT+IGLb4uZtoI7c2PUVDhOm5mLeR6ap6ZMiBH+gyXkFJ+aOehyC8DIxLt5QO36DpQZwiwmxdOLjpMvQHKuagLlnT8=","X-Received":"by 2002:a2e:bc20:0:b0:2f6:62a1:25fe with SMTP id\n\t38308e7fff4ca-2ff8dc62afamr7276441fa.23.1732088367626;\n\tTue, 19 Nov 2024 23:39:27 -0800 (PST)","MIME-Version":"1.0","References":"<20241119073913.500732-1-chenghaoyang@chromium.org>\n\t<20241119073913.500732-2-chenghaoyang@chromium.org>\n\t<20241119075601.GZ31681@pendragon.ideasonboard.com>","In-Reply-To":"<20241119075601.GZ31681@pendragon.ideasonboard.com>","From":"Cheng-Hao Yang <chenghaoyang@chromium.org>","Date":"Wed, 20 Nov 2024 15:39:16 +0800","Message-ID":"<CAEB1ahtNJpSWJ4y1CnhobJJBA7TNi90_sui84E_HHqNeorF3OQ@mail.gmail.com>","Subject":"Re: [PATCH v3 1/2] libcamera: libipa: camera_sensor: Add MediaTek\n\tgc05a2 sensor properties","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org,\n\tHarvey Yang <chenghaoyang@google.com>, \n\tHan-Lin Chen <hanlinchen@chromium.org>, Xing Gu <xinggu@chromium.org>,\n\tYudhistira Erlandinata <yerlandinata@chromium.org>","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","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":32313,"web_url":"https://patchwork.libcamera.org/comment/32313/","msgid":"<CAEB1ahsQ9Y2mPZmnMUgqcd8zLCz2CY5Ki21MVGREh1kERTpufQ@mail.gmail.com>","date":"2024-11-20T15:56:31","subject":"Re: [PATCH v3 1/2] libcamera: libipa: camera_sensor: Add MediaTek\n\tgc05a2 sensor properties","submitter":{"id":117,"url":"https://patchwork.libcamera.org/api/people/117/","name":"Cheng-Hao Yang","email":"chenghaoyang@chromium.org"},"content":"Hi Kieran,\n\nOn Wed, Nov 20, 2024 at 6:18 PM Kieran Bingham\n<kieran.bingham@ideasonboard.com> wrote:\n>\n> Quoting Cheng-Hao Yang (2024-11-20 07:39:16)\n> > Hi Laurent,\n> >\n> > On Tue, Nov 19, 2024 at 3:56 PM Laurent Pinchart\n> > <laurent.pinchart@ideasonboard.com> wrote:\n> > >\n> > > Hi Harvey,\n> > >\n> > > Thank you for the patch.\n> > >\n> > > On Tue, Nov 19, 2024 at 07:37:35AM +0000, Harvey Yang wrote:\n> > > > From: Harvey Yang <chenghaoyang@google.com>\n> > > >\n> > > > Provide the MediaTek gc05a2 camera sensor properties and registration\n> > >\n> > > I think you meant GalaxyCore, not MediaTek, both in the subject line and\n> > > here.\n> >\n> > Yes, thanks for the catch.\n> >\n> > >\n> > > > with libipa for the gain code helpers.\n> > > >\n> > > > Signed-off-by: Han-Lin Chen <hanlinchen@chromium.org>\n> > > > Co-developed-by: Xing Gu <xinggu@chromium.org>\n> > > > Co-developed-by: Yudhistira Erlandinata <yerlandinata@chromium.org>\n> > > > Co-developed-by: Harvey Yang <chenghaoyang@chromium.org>\n> > > > ---\n> > > >  src/ipa/libipa/camera_sensor_helper.cpp           | 11 +++++++++++\n> > > >  src/libcamera/sensor/camera_sensor_properties.cpp |  7 +++++++\n> > > >  2 files changed, 18 insertions(+)\n> > > >\n> > > > diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\n> > > > index c6169bdc7..36555680b 100644\n> > > > --- a/src/ipa/libipa/camera_sensor_helper.cpp\n> > > > +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n> > > > @@ -519,6 +519,17 @@ private:\n> > > >  };\n> > > >  REGISTER_CAMERA_SENSOR_HELPER(\"ar0521\", CameraSensorHelperAr0521)\n> > > >\n> > > > +class CameraSensorHelperGc05a2 : public CameraSensorHelper\n> > > > +{\n> > > > +public:\n> > > > +     CameraSensorHelperGc05a2()\n> > > > +     {\n> > > > +             gainType_ = AnalogueGainLinear;\n> > > > +             gainConstants_.linear = { 100, 0, 0, 1024 };\n> > >\n> > > We also need to know the black level (a.k.a. data pedestal).\n> > >\n> > > The rest of the patch looks good to me. With the black level value\n> > > added, I expect this can be merged.\n> > >\n> > > Same comment for 2/2.\n> >\n> > Confirmed with MediaTek that both sensors have a black level 0x40.\n> > Updated in the next version.\n>\n> At what bit depth? We store the black level as a 16 bit value in\n> libcamera so it needs to be bit-shifted accordingly.\n\nAccording to the docs that they provided to me, the field only takes\n8 bits. 0x40 must mean 64 in decimal, IIUC.\n\nBR,\nHarvey\n\n>\n> --\n> Kieran\n>\n> >\n> > BR,\n> > Harvey\n> >\n> > >\n> > > > +     }\n> > > > +};\n> > > > +REGISTER_CAMERA_SENSOR_HELPER(\"gc05a2\", CameraSensorHelperGc05a2)\n> > > > +\n> > > >  class CameraSensorHelperImx214 : public CameraSensorHelper\n> > > >  {\n> > > >  public:\n> > > > diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp\n> > > > index 6d4136d03..2f048d4a3 100644\n> > > > --- a/src/libcamera/sensor/camera_sensor_properties.cpp\n> > > > +++ b/src/libcamera/sensor/camera_sensor_properties.cpp\n> > > > @@ -70,6 +70,13 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n> > > >                               { controls::draft::TestPatternModeColorBarsFadeToGray, 3 },\n> > > >                       },\n> > > >               } },\n> > > > +             { \"gc05a2\", {\n> > > > +                     .unitCellSize = { 1120, 1120 },\n> > > > +                     .testPatternModes = {\n> > > > +                             { controls::draft::TestPatternModeOff, 0 },\n> > > > +                             { controls::draft::TestPatternModeColorBars, 1 },\n> > > > +                     },\n> > > > +             } },\n> > > >               { \"hi846\", {\n> > > >                       .unitCellSize = { 1120, 1120 },\n> > > >                       .testPatternModes = {\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 E0885C32F5\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 20 Nov 2024 15:56:46 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2CD5565F71;\n\tWed, 20 Nov 2024 16:56:46 +0100 (CET)","from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com\n\t[IPv6:2a00:1450:4864:20::22f])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0E58565F54\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 20 Nov 2024 16:56:43 +0100 (CET)","by mail-lj1-x22f.google.com with SMTP id\n\t38308e7fff4ca-2fb5740a03bso69622181fa.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 20 Nov 2024 07:56:43 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"DIZXb7Js\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=chromium.org; s=google; t=1732118203; x=1732723003;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:cc:to:subject:message-id:date:from\n\t:in-reply-to:references:mime-version:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=/zI85VMe6nYMKSiiikVv1N8phhHRp7jWYXem7w6EX8Y=;\n\tb=DIZXb7Js7NJT8PthAXyIlScKAvPYOrqKNKjiqtklcwPwCMtgv7vdpuDpQjJXroV106\n\tJ3vSBKE6Sgkes1MbpfQdawWozqIwkeWZVPs+/LJqZ5B35OTBvMN3XwUt1s0hLdfvEkJh\n\t2OQGOF/HFh/QaYx2tyVCxEDoUfLoDTzwhmYUk=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1732118203; x=1732723003;\n\th=content-transfer-encoding:cc:to:subject:message-id:date:from\n\t:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc\n\t:subject:date:message-id:reply-to;\n\tbh=/zI85VMe6nYMKSiiikVv1N8phhHRp7jWYXem7w6EX8Y=;\n\tb=okBTaxo3DwOvBuwLvwNehQ+OqBuAVVUBmgCmIJGGtAmHOwGRcgPfNR5QlC/5NY3kjy\n\tzhYds9P8T+ci7p7tBZKV3OQ1qX4CS4eOD2A9YaFT55PnwU9JIPfrOZMw58kJp8xdVM85\n\tsETmFAfr3WiG3VoaKHs7wymztIkemgT/Npi6Dox90ALhYS0utZuhywGzxXb38LgQXmDC\n\tL2XSi6rSqlWGMfeiUrh1Gietq/9WJT3IXanlF00vT0nWLBV26vjolxbZOfgRGfMzXWJ4\n\tETBPTY33o4Z00/JRVTdZAOfPwfXkCYakERno1dQYXztN6vEBE/nx05qpTO5/3/YQKOlG\n\taIig==","X-Forwarded-Encrypted":"i=1;\n\tAJvYcCUpGBEiiumY75IDutoFOwXDnLDO15bwt9QbaKhFfgiEF/U12o1R8dbiXPCptUsC+Oe6yHjDpMCDNk7WI+LESWc=@lists.libcamera.org","X-Gm-Message-State":"AOJu0YxQBypkvCHe21GwtCuW6tl5PvSpyHauQ7OzBo5baPFr1kydMcsi\n\thuYQIXGSqbD9Bm28P+TK/7aRX9qae1hg/ggWJRCHnff/Cox4giZt9p3lAcqPrQHcm6bI2Mt+GyV\n\tuJvlsC2XwcFpXS++8l/9aZs+it2AlD1wg4MB1eBO1ooZ2sLo=","X-Google-Smtp-Source":"AGHT+IEUQR28DiJQcmiXB+4blhuE9c1i/yUohF0j9OLN2hOtTqiv6Rf/qDlrf2LYtQpuF8jOuovm30GTCRdtl95zLH0=","X-Received":"by 2002:a2e:bd0e:0:b0:2fb:5f9d:c296 with SMTP id\n\t38308e7fff4ca-2ff8db65cfdmr19791251fa.4.1732118202885;\n\tWed, 20 Nov 2024 07:56:42 -0800 (PST)","MIME-Version":"1.0","References":"<20241119073913.500732-1-chenghaoyang@chromium.org>\n\t<20241119073913.500732-2-chenghaoyang@chromium.org>\n\t<20241119075601.GZ31681@pendragon.ideasonboard.com>\n\t<CAEB1ahtNJpSWJ4y1CnhobJJBA7TNi90_sui84E_HHqNeorF3OQ@mail.gmail.com>\n\t<173209790481.1605529.10758565579001441681@ping.linuxembedded.co.uk>","In-Reply-To":"<173209790481.1605529.10758565579001441681@ping.linuxembedded.co.uk>","From":"Cheng-Hao Yang <chenghaoyang@chromium.org>","Date":"Wed, 20 Nov 2024 23:56:31 +0800","Message-ID":"<CAEB1ahsQ9Y2mPZmnMUgqcd8zLCz2CY5Ki21MVGREh1kERTpufQ@mail.gmail.com>","Subject":"Re: [PATCH v3 1/2] libcamera: libipa: camera_sensor: Add MediaTek\n\tgc05a2 sensor properties","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org, \n\tHarvey Yang <chenghaoyang@google.com>,\n\tHan-Lin Chen <hanlinchen@chromium.org>, Xing Gu <xinggu@chromium.org>,\n\tYudhistira Erlandinata <yerlandinata@chromium.org>","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","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":32314,"web_url":"https://patchwork.libcamera.org/comment/32314/","msgid":"<173211933565.1605529.8202377847031381584@ping.linuxembedded.co.uk>","date":"2024-11-20T16:15:35","subject":"Re: [PATCH v3 1/2] libcamera: libipa: camera_sensor: Add MediaTek\n\tgc05a2 sensor properties","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Cheng-Hao Yang (2024-11-20 15:56:31)\n> Hi Kieran,\n> \n> On Wed, Nov 20, 2024 at 6:18 PM Kieran Bingham\n> <kieran.bingham@ideasonboard.com> wrote:\n> >\n> > Quoting Cheng-Hao Yang (2024-11-20 07:39:16)\n> > > Hi Laurent,\n> > >\n> > > On Tue, Nov 19, 2024 at 3:56 PM Laurent Pinchart\n> > > <laurent.pinchart@ideasonboard.com> wrote:\n> > > >\n> > > > Hi Harvey,\n> > > >\n> > > > Thank you for the patch.\n> > > >\n> > > > On Tue, Nov 19, 2024 at 07:37:35AM +0000, Harvey Yang wrote:\n> > > > > From: Harvey Yang <chenghaoyang@google.com>\n> > > > >\n> > > > > Provide the MediaTek gc05a2 camera sensor properties and registration\n> > > >\n> > > > I think you meant GalaxyCore, not MediaTek, both in the subject line and\n> > > > here.\n> > >\n> > > Yes, thanks for the catch.\n> > >\n> > > >\n> > > > > with libipa for the gain code helpers.\n> > > > >\n> > > > > Signed-off-by: Han-Lin Chen <hanlinchen@chromium.org>\n> > > > > Co-developed-by: Xing Gu <xinggu@chromium.org>\n> > > > > Co-developed-by: Yudhistira Erlandinata <yerlandinata@chromium.org>\n> > > > > Co-developed-by: Harvey Yang <chenghaoyang@chromium.org>\n> > > > > ---\n> > > > >  src/ipa/libipa/camera_sensor_helper.cpp           | 11 +++++++++++\n> > > > >  src/libcamera/sensor/camera_sensor_properties.cpp |  7 +++++++\n> > > > >  2 files changed, 18 insertions(+)\n> > > > >\n> > > > > diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\n> > > > > index c6169bdc7..36555680b 100644\n> > > > > --- a/src/ipa/libipa/camera_sensor_helper.cpp\n> > > > > +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n> > > > > @@ -519,6 +519,17 @@ private:\n> > > > >  };\n> > > > >  REGISTER_CAMERA_SENSOR_HELPER(\"ar0521\", CameraSensorHelperAr0521)\n> > > > >\n> > > > > +class CameraSensorHelperGc05a2 : public CameraSensorHelper\n> > > > > +{\n> > > > > +public:\n> > > > > +     CameraSensorHelperGc05a2()\n> > > > > +     {\n> > > > > +             gainType_ = AnalogueGainLinear;\n> > > > > +             gainConstants_.linear = { 100, 0, 0, 1024 };\n> > > >\n> > > > We also need to know the black level (a.k.a. data pedestal).\n> > > >\n> > > > The rest of the patch looks good to me. With the black level value\n> > > > added, I expect this can be merged.\n> > > >\n> > > > Same comment for 2/2.\n> > >\n> > > Confirmed with MediaTek that both sensors have a black level 0x40.\n> > > Updated in the next version.\n> >\n> > At what bit depth? We store the black level as a 16 bit value in\n> > libcamera so it needs to be bit-shifted accordingly.\n> \n> According to the docs that they provided to me, the field only takes\n> 8 bits. 0x40 must mean 64 in decimal, IIUC.\n\nTaking a guess from\nhttps://en.gcoreinc.com/products/index?cid=2&subcid=5 Does the sensor\noutput RAW10 ?\n\nIf so - then this is 0x40 at 10 bits. And therefore storing it in\nlibcamera we would represent this as a 16 bit value and shift\naccordingly.\n\nTherefore it would be:\n\n                /* From datasheet: 64 at 10bits. */\n                blackLevel_ = 4096;\n\nor\n\n                /* From datasheet: 64 at 10bits. */\n\t\tblackLevel_ = 64 << 6;\n\n--\nKieran\n\n\n\n\n> \n> BR,\n> Harvey\n> \n> >\n> > --\n> > Kieran\n> >\n> > >\n> > > BR,\n> > > Harvey\n> > >\n> > > >\n> > > > > +     }\n> > > > > +};\n> > > > > +REGISTER_CAMERA_SENSOR_HELPER(\"gc05a2\", CameraSensorHelperGc05a2)\n> > > > > +\n> > > > >  class CameraSensorHelperImx214 : public CameraSensorHelper\n> > > > >  {\n> > > > >  public:\n> > > > > diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp\n> > > > > index 6d4136d03..2f048d4a3 100644\n> > > > > --- a/src/libcamera/sensor/camera_sensor_properties.cpp\n> > > > > +++ b/src/libcamera/sensor/camera_sensor_properties.cpp\n> > > > > @@ -70,6 +70,13 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n> > > > >                               { controls::draft::TestPatternModeColorBarsFadeToGray, 3 },\n> > > > >                       },\n> > > > >               } },\n> > > > > +             { \"gc05a2\", {\n> > > > > +                     .unitCellSize = { 1120, 1120 },\n> > > > > +                     .testPatternModes = {\n> > > > > +                             { controls::draft::TestPatternModeOff, 0 },\n> > > > > +                             { controls::draft::TestPatternModeColorBars, 1 },\n> > > > > +                     },\n> > > > > +             } },\n> > > > >               { \"hi846\", {\n> > > > >                       .unitCellSize = { 1120, 1120 },\n> > > > >                       .testPatternModes = {\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 1ECDAC32F5\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 20 Nov 2024 16:15:40 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id EC74465F75;\n\tWed, 20 Nov 2024 17:15:38 +0100 (CET)","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 1DB5065F54\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 20 Nov 2024 17:15:38 +0100 (CET)","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 92D7F55A;\n\tWed, 20 Nov 2024 17:15:19 +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=\"fTdlf4UE\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1732119319;\n\tbh=XaAihf8CpJC2ENcriFBTitnDlElOjvWzL2tEc5fYXzo=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=fTdlf4UEgPJH6Rin6LMZ4NrN9lPYcNw7cs5GtjsKx6gSknL5wd4gDaYa2OE/w+wT9\n\tT5MAvnyyaZASENfmYIX2Tzja9kGFPD4kvQbDcOG86Yd4m+YKS+HvdPc/fL047OnPJa\n\tiEUCon6GQhXtxg9v8BRF0EgwkvhAYc7BJ+htJklc=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<CAEB1ahsQ9Y2mPZmnMUgqcd8zLCz2CY5Ki21MVGREh1kERTpufQ@mail.gmail.com>","References":"<20241119073913.500732-1-chenghaoyang@chromium.org>\n\t<20241119073913.500732-2-chenghaoyang@chromium.org>\n\t<20241119075601.GZ31681@pendragon.ideasonboard.com>\n\t<CAEB1ahtNJpSWJ4y1CnhobJJBA7TNi90_sui84E_HHqNeorF3OQ@mail.gmail.com>\n\t<173209790481.1605529.10758565579001441681@ping.linuxembedded.co.uk>\n\t<CAEB1ahsQ9Y2mPZmnMUgqcd8zLCz2CY5Ki21MVGREh1kERTpufQ@mail.gmail.com>","Subject":"Re: [PATCH v3 1/2] libcamera: libipa: camera_sensor: Add MediaTek\n\tgc05a2 sensor properties","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org,\n\tHarvey Yang <chenghaoyang@google.com>, \n\tHan-Lin Chen <hanlinchen@chromium.org>, Xing Gu <xinggu@chromium.org>,\n\tYudhistira Erlandinata <yerlandinata@chromium.org>","To":"Cheng-Hao Yang <chenghaoyang@chromium.org>","Date":"Wed, 20 Nov 2024 16:15:35 +0000","Message-ID":"<173211933565.1605529.8202377847031381584@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>"}},{"id":32324,"web_url":"https://patchwork.libcamera.org/comment/32324/","msgid":"<CAEB1ahtN6ph3Quy9csGU-D5J-pToauD4t78U8qsKv=WDZrE3ug@mail.gmail.com>","date":"2024-11-21T08:50:27","subject":"Re: [PATCH v3 1/2] libcamera: libipa: camera_sensor: Add MediaTek\n\tgc05a2 sensor properties","submitter":{"id":117,"url":"https://patchwork.libcamera.org/api/people/117/","name":"Cheng-Hao Yang","email":"chenghaoyang@chromium.org"},"content":"Hi Kieran,\n\nOn Thu, Nov 21, 2024 at 12:15 AM Kieran Bingham\n<kieran.bingham@ideasonboard.com> wrote:\n>\n> Quoting Cheng-Hao Yang (2024-11-20 15:56:31)\n> > Hi Kieran,\n> >\n> > On Wed, Nov 20, 2024 at 6:18 PM Kieran Bingham\n> > <kieran.bingham@ideasonboard.com> wrote:\n> > >\n> > > Quoting Cheng-Hao Yang (2024-11-20 07:39:16)\n> > > > Hi Laurent,\n> > > >\n> > > > On Tue, Nov 19, 2024 at 3:56 PM Laurent Pinchart\n> > > > <laurent.pinchart@ideasonboard.com> wrote:\n> > > > >\n> > > > > Hi Harvey,\n> > > > >\n> > > > > Thank you for the patch.\n> > > > >\n> > > > > On Tue, Nov 19, 2024 at 07:37:35AM +0000, Harvey Yang wrote:\n> > > > > > From: Harvey Yang <chenghaoyang@google.com>\n> > > > > >\n> > > > > > Provide the MediaTek gc05a2 camera sensor properties and registration\n> > > > >\n> > > > > I think you meant GalaxyCore, not MediaTek, both in the subject line and\n> > > > > here.\n> > > >\n> > > > Yes, thanks for the catch.\n> > > >\n> > > > >\n> > > > > > with libipa for the gain code helpers.\n> > > > > >\n> > > > > > Signed-off-by: Han-Lin Chen <hanlinchen@chromium.org>\n> > > > > > Co-developed-by: Xing Gu <xinggu@chromium.org>\n> > > > > > Co-developed-by: Yudhistira Erlandinata <yerlandinata@chromium.org>\n> > > > > > Co-developed-by: Harvey Yang <chenghaoyang@chromium.org>\n> > > > > > ---\n> > > > > >  src/ipa/libipa/camera_sensor_helper.cpp           | 11 +++++++++++\n> > > > > >  src/libcamera/sensor/camera_sensor_properties.cpp |  7 +++++++\n> > > > > >  2 files changed, 18 insertions(+)\n> > > > > >\n> > > > > > diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\n> > > > > > index c6169bdc7..36555680b 100644\n> > > > > > --- a/src/ipa/libipa/camera_sensor_helper.cpp\n> > > > > > +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n> > > > > > @@ -519,6 +519,17 @@ private:\n> > > > > >  };\n> > > > > >  REGISTER_CAMERA_SENSOR_HELPER(\"ar0521\", CameraSensorHelperAr0521)\n> > > > > >\n> > > > > > +class CameraSensorHelperGc05a2 : public CameraSensorHelper\n> > > > > > +{\n> > > > > > +public:\n> > > > > > +     CameraSensorHelperGc05a2()\n> > > > > > +     {\n> > > > > > +             gainType_ = AnalogueGainLinear;\n> > > > > > +             gainConstants_.linear = { 100, 0, 0, 1024 };\n> > > > >\n> > > > > We also need to know the black level (a.k.a. data pedestal).\n> > > > >\n> > > > > The rest of the patch looks good to me. With the black level value\n> > > > > added, I expect this can be merged.\n> > > > >\n> > > > > Same comment for 2/2.\n> > > >\n> > > > Confirmed with MediaTek that both sensors have a black level 0x40.\n> > > > Updated in the next version.\n> > >\n> > > At what bit depth? We store the black level as a 16 bit value in\n> > > libcamera so it needs to be bit-shifted accordingly.\n> >\n> > According to the docs that they provided to me, the field only takes\n> > 8 bits. 0x40 must mean 64 in decimal, IIUC.\n>\n> Taking a guess from\n> https://en.gcoreinc.com/products/index?cid=2&subcid=5 Does the sensor\n> output RAW10 ?\n>\n> If so - then this is 0x40 at 10 bits. And therefore storing it in\n> libcamera we would represent this as a 16 bit value and shift\n> accordingly.\n>\n> Therefore it would be:\n>\n>                 /* From datasheet: 64 at 10bits. */\n>                 blackLevel_ = 4096;\n>\n> or\n>\n>                 /* From datasheet: 64 at 10bits. */\n>                 blackLevel_ = 64 << 6;\n\nAh got it. It was RAW10, while libcamera uses RAW16, so\nwe need to shift 6 bits\nThanks, will be updated in v5.\n\nBR,\nHarvey\n\n>\n> --\n> Kieran\n>\n>\n>\n>\n> >\n> > BR,\n> > Harvey\n> >\n> > >\n> > > --\n> > > Kieran\n> > >\n> > > >\n> > > > BR,\n> > > > Harvey\n> > > >\n> > > > >\n> > > > > > +     }\n> > > > > > +};\n> > > > > > +REGISTER_CAMERA_SENSOR_HELPER(\"gc05a2\", CameraSensorHelperGc05a2)\n> > > > > > +\n> > > > > >  class CameraSensorHelperImx214 : public CameraSensorHelper\n> > > > > >  {\n> > > > > >  public:\n> > > > > > diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp\n> > > > > > index 6d4136d03..2f048d4a3 100644\n> > > > > > --- a/src/libcamera/sensor/camera_sensor_properties.cpp\n> > > > > > +++ b/src/libcamera/sensor/camera_sensor_properties.cpp\n> > > > > > @@ -70,6 +70,13 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n> > > > > >                               { controls::draft::TestPatternModeColorBarsFadeToGray, 3 },\n> > > > > >                       },\n> > > > > >               } },\n> > > > > > +             { \"gc05a2\", {\n> > > > > > +                     .unitCellSize = { 1120, 1120 },\n> > > > > > +                     .testPatternModes = {\n> > > > > > +                             { controls::draft::TestPatternModeOff, 0 },\n> > > > > > +                             { controls::draft::TestPatternModeColorBars, 1 },\n> > > > > > +                     },\n> > > > > > +             } },\n> > > > > >               { \"hi846\", {\n> > > > > >                       .unitCellSize = { 1120, 1120 },\n> > > > > >                       .testPatternModes = {\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 F2514C326C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 21 Nov 2024 08:50:55 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1228A65FA9;\n\tThu, 21 Nov 2024 09:50:55 +0100 (CET)","from mail-lj1-x234.google.com (mail-lj1-x234.google.com\n\t[IPv6:2a00:1450:4864:20::234])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D142665F9F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 21 Nov 2024 09:50:39 +0100 (CET)","by mail-lj1-x234.google.com with SMTP id\n\t38308e7fff4ca-2fb51e00c05so11264211fa.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 21 Nov 2024 00:50:39 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"N8RxYTAj\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=chromium.org; s=google; t=1732179039; x=1732783839;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:cc:to:subject:message-id:date:from\n\t:in-reply-to:references:mime-version:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=UHN7Kc3EeItFOgM30cUvcGf305ozsGHvDZItGJMtIlE=;\n\tb=N8RxYTAj0Anf4JsCAZhiNZSW2Qq7RZQDq/3AUx8eoZMHPuwBHpkY44N9YZ2OCP3kRG\n\tXCwVsuDMqLjFPKuYNK7bTgeRT1lQYVZiygb/DPv3ERD+Om1xQs74nZA7FZK50Oladibl\n\tzwM4QFoP0G9FnAewcT8A4r3///Taq57qLNdNo=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1732179039; x=1732783839;\n\th=content-transfer-encoding:cc:to:subject:message-id:date:from\n\t:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc\n\t:subject:date:message-id:reply-to;\n\tbh=UHN7Kc3EeItFOgM30cUvcGf305ozsGHvDZItGJMtIlE=;\n\tb=V+d0MC6xNKGpTgKVrt12PA73/Bu44Dwg9ypgdtvFTorNu4k3EEmYIvul7SSR4WqnOi\n\tJ/ubzkcuM8rYvNDP4zC0nrfn52MDCULIrqYYYuhBUL4KN+fDKJR6/QTGwAs/fZSY6hRA\n\tOhR/pvtHFYuuQNvlKM7K/ybpFQ008EikZ9FStzLTTSTIASRL4mf+ZV52RtjNMLjD3CV3\n\tg3wasWZpEIJRHmQagM9R8HXH0fubTp2oDDM8/0YxNMdMJdOLxMLsesC9PqzvSU3r5wEd\n\tHNgt4bLsVQF7AYMb29torI65KeKhEaRU88Bz6tKoinqvEOIyA76W/Q/GBYCkmsjeU8Jo\n\tWfMA==","X-Forwarded-Encrypted":"i=1;\n\tAJvYcCUYdimaK7LWjAhCHxP2371Ym6zOLomdreL160bsB4hYcVph8/gmx5CEnzOxtEZlDLxtJ3WWdf1dGp6VAjtjfqw=@lists.libcamera.org","X-Gm-Message-State":"AOJu0Yxy2WNaog5CKxyRRQ0N8d9muXESj3ApTg6t4i1e5nvXHoP7gytw\n\tIflRd/TDTj98pASoUP6OMNIyldW25sUMrnmQuRHW9w4Y1+W7dJnkfxPSOTmw6hdn36HZS5Gm10w\n\trN0DW6YLZzTjGLWFVKy5R2FXpreOwSy3jD+/blkohqfwBc5E=","X-Google-Smtp-Source":"AGHT+IFxIPWJVhCKRgCFMmRlqldccFzKzMBjOXSCRhUM4u2fQukt/je9mk9xKOgyfVMAxlz7S135l1BHA8pwmbOzLEo=","X-Received":"by 2002:a2e:b88b:0:b0:2ff:5c17:d57d with SMTP id\n\t38308e7fff4ca-2ff8db15e63mr62481471fa.2.1732179038751;\n\tThu, 21 Nov 2024 00:50:38 -0800 (PST)","MIME-Version":"1.0","References":"<20241119073913.500732-1-chenghaoyang@chromium.org>\n\t<20241119073913.500732-2-chenghaoyang@chromium.org>\n\t<20241119075601.GZ31681@pendragon.ideasonboard.com>\n\t<CAEB1ahtNJpSWJ4y1CnhobJJBA7TNi90_sui84E_HHqNeorF3OQ@mail.gmail.com>\n\t<173209790481.1605529.10758565579001441681@ping.linuxembedded.co.uk>\n\t<CAEB1ahsQ9Y2mPZmnMUgqcd8zLCz2CY5Ki21MVGREh1kERTpufQ@mail.gmail.com>\n\t<173211933565.1605529.8202377847031381584@ping.linuxembedded.co.uk>","In-Reply-To":"<173211933565.1605529.8202377847031381584@ping.linuxembedded.co.uk>","From":"Cheng-Hao Yang <chenghaoyang@chromium.org>","Date":"Thu, 21 Nov 2024 16:50:27 +0800","Message-ID":"<CAEB1ahtN6ph3Quy9csGU-D5J-pToauD4t78U8qsKv=WDZrE3ug@mail.gmail.com>","Subject":"Re: [PATCH v3 1/2] libcamera: libipa: camera_sensor: Add MediaTek\n\tgc05a2 sensor properties","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org, \n\tHarvey Yang <chenghaoyang@google.com>,\n\tHan-Lin Chen <hanlinchen@chromium.org>, Xing Gu <xinggu@chromium.org>,\n\tYudhistira Erlandinata <yerlandinata@chromium.org>","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","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>"}}]