[{"id":33237,"web_url":"https://patchwork.libcamera.org/comment/33237/","msgid":"<CAEmqJPrWZE=Pqsqp6wqho78S_DF9xgiM=oQRAA5CHHrZkqPBRA@mail.gmail.com>","date":"2025-01-23T11:43:44","subject":"Re: [PATCH v4 0/7] Camera synchronisation","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"content":"Hi Kieran,\n\nDo you think we are ok to merge this series upstream?  I think all\nneeded tags are present.\n\nWe are going to make a camera package release very soon and will push\nthese changes downstream imminently, assuming the control APIs are not\ngoing to change from what David posted in v4.\n\nThanks!\nNaush\n\nOn Wed, 22 Jan 2025 at 14:53, David Plowman\n<david.plowman@raspberrypi.com> wrote:\n>\n> Hi everyone\n>\n> Here's an updated set of camera sync patches. The only changes are the\n> tags that Kieran and Naush added, plus a handful of very minor\n> cosmetic things.\n>\n> I'm hoping we can make some progress towards getting at least some of\n> this merged (the first patch in particular looks to have plenty of\n> tags already!), plus further reviews where these are still required.\n>\n> Thanks!\n> David\n>\n> David Plowman (6):\n>   controls: Add FrameWallClock control\n>   libcamera: Add ClockRecovery class to generate wallclock timestamps\n>   controls: Add camera synchronisation controls for Raspberry Pi\n>   pipeline: rpi: common: Add wallclock timestamp support\n>   ipa: rpi: sync: Add an implementation of the camera sync algorithm\n>   ipa: rpi: vc4: Update all tuning files for sync algorithm\n>\n> Naushir Patuck (1):\n>   ipa: rpi: Add base classes and plumbing for sync algorithm\n>\n>  include/libcamera/internal/clock_recovery.h   |  68 ++++\n>  include/libcamera/internal/meson.build        |   1 +\n>  src/ipa/rpi/common/ipa_base.cpp               |  61 +++-\n>  src/ipa/rpi/common/ipa_base.h                 |   4 +-\n>  src/ipa/rpi/controller/meson.build            |   1 +\n>  src/ipa/rpi/controller/rpi/sync.cpp           | 329 ++++++++++++++++++\n>  src/ipa/rpi/controller/rpi/sync.h             |  68 ++++\n>  src/ipa/rpi/controller/sync_algorithm.h       |  31 ++\n>  src/ipa/rpi/controller/sync_status.h          |  27 ++\n>  src/ipa/rpi/vc4/data/imx219.json              |   7 +-\n>  src/ipa/rpi/vc4/data/imx219_noir.json         |   7 +-\n>  src/ipa/rpi/vc4/data/imx283.json              |   7 +-\n>  src/ipa/rpi/vc4/data/imx290.json              |   7 +-\n>  src/ipa/rpi/vc4/data/imx296.json              |   7 +-\n>  src/ipa/rpi/vc4/data/imx296_mono.json         |   7 +-\n>  src/ipa/rpi/vc4/data/imx378.json              |   7 +-\n>  src/ipa/rpi/vc4/data/imx477.json              |   7 +-\n>  src/ipa/rpi/vc4/data/imx477_noir.json         |   7 +-\n>  src/ipa/rpi/vc4/data/imx477_scientific.json   |   7 +-\n>  src/ipa/rpi/vc4/data/imx519.json              |   7 +-\n>  src/ipa/rpi/vc4/data/imx708.json              |   7 +-\n>  src/ipa/rpi/vc4/data/imx708_noir.json         |   7 +-\n>  src/ipa/rpi/vc4/data/imx708_wide.json         |   7 +-\n>  src/ipa/rpi/vc4/data/imx708_wide_noir.json    |   7 +-\n>  src/ipa/rpi/vc4/data/ov5647.json              |   7 +-\n>  src/ipa/rpi/vc4/data/ov5647_noir.json         |   7 +-\n>  src/ipa/rpi/vc4/data/se327m12.json            |   7 +-\n>  src/libcamera/clock_recovery.cpp              | 230 ++++++++++++\n>  src/libcamera/control_ids_core.yaml           |  19 +-\n>  src/libcamera/control_ids_rpi.yaml            | 113 ++++++\n>  src/libcamera/meson.build                     |   1 +\n>  .../pipeline/rpi/common/pipeline_base.cpp     |   5 +\n>  .../pipeline/rpi/common/pipeline_base.h       |   3 +\n>  src/libcamera/pipeline/rpi/vc4/vc4.cpp        |  10 +-\n>  34 files changed, 1069 insertions(+), 28 deletions(-)\n>  create mode 100644 include/libcamera/internal/clock_recovery.h\n>  create mode 100644 src/ipa/rpi/controller/rpi/sync.cpp\n>  create mode 100644 src/ipa/rpi/controller/rpi/sync.h\n>  create mode 100644 src/ipa/rpi/controller/sync_algorithm.h\n>  create mode 100644 src/ipa/rpi/controller/sync_status.h\n>  create mode 100644 src/libcamera/clock_recovery.cpp\n>\n> --\n> 2.39.5\n>","headers":{"Return-Path":"<kieran.bingham@ideasonboard.com>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":["parsemail@patchwork.libcamera.org","kbingham@ideasonboard.com"],"Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 11D24BD808\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 30 Jan 2025 11:53:54 +0000 (UTC)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net\n\t[86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 974CD886\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 30 Jan 2025 12:52:45 +0100 (CET)","from perceval.ideasonboard.com\n\tby perceval.ideasonboard.com with LMTP id wJmOOlMrkmerxAAA4E0KoQ\n\t(envelope-from <naush@raspberrypi.com>)\n\tfor <kbingham@ideasonboard.com>; Thu, 23 Jan 2025 12:43:15 +0100","from mail-yb1-xb2c.google.com (mail-yb1-xb2c.google.com\n\t[IPv6:2607:f8b0:4864:20::b2c])\tby perceval.ideasonboard.com (Postfix)\n\twith ESMTPS id 9C0E9465\tfor <kieran.bingham@ideasonboard.com>;\n\tThu, 23 Jan 2025 12:43:15 +0100 (CET)","by mail-yb1-xb2c.google.com with SMTP id\n\t3f1490d57ef6-e45de0949fbso118944276.3        for\n\t<kieran.bingham@ideasonboard.com>;\n\tThu, 23 Jan 2025 03:44:18 -0800 (PST)"],"Authentication-Results":"perceval.ideasonboard.com;\n\tdkim=permerror header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.a=rsa-sha1 header.s=google header.b=m48Q2ZMq; \n\tdkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;       \n\td=raspberrypi.com; s=google; t=1737632657; x=1738237457;\n\tdarn=ideasonboard.com;       \n\th=to:subject:message-id:date:from:in-reply-to:references:mime-version\n\t:from:to:cc:subject:date:message-id:reply-to;       \n\tbh=cy6ksx0bIfjZ9c+q24ts8Jn3Nh2LXOyCCIvfCl7D/lw=;       \n\tb=m48Q2ZMqrcd8CcBklAP1WXdTUt/I1FVdTfb2gNLyPQ5Sae8p5Rh2Khq4w31B6vVohp \n\tTy1uEq5A84WPkRgULH7cc/b5R59a4T3wro5yNQTTDUVUp4xul+nKISLnQ9O1mKaAARlc \n\thb9a8Cc/hWt7MmKYM06WrBpc7b/TZmZW7Dwh51XbnW+IdtfuzIBBu6o0alTwUigEmf4D \n\tp83etfSwi5GAf+FzTUA1XJ1Cz5/dZ77WjYq5ul2BmLKii6+Wu6pfUKZ9F4MAaVg8iQOr \n\tI0wj6dWwut92qEMdSAljMZaMz5Q0ThBCDhJHFpb5LrTTAJbueU9uauGTzILasT/W7zru \n\tENoA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1737632657; x=1738237457;\n\th=to:subject:message-id:date:from:in-reply-to:references:mime-version\n\t:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n\tbh=cy6ksx0bIfjZ9c+q24ts8Jn3Nh2LXOyCCIvfCl7D/lw=;\n\tb=GzAp06S6ZDA41/aok9acHFErdeZ4aqUtvjA2XzYcG53a424tfTPmN9FVG74XgrBUME\n\tyVs360l+THaHWTTCBo4ANCFTgnbQEcIEBpbhNJKgA33Fc+cFWTWIg+1zLomnN1MyFTPk\n\tTi8NGMVRL1eIfvsFwLCs0wRiixCT3zu3qv4PbWv8obQNEjTRdK4MTONuGeglCifmWNxz\n\t+96P+EOPpqW6UqD05D5lTuLq8PDxObYs7tP7tIckROYTmUvFzYIDgmv/sUMuii44Ov+a\n\tepYMiMuV/6ad5fD2JU+Ng70+Fhjctha6xf4vudr4xYfcCT7RN5+F1fqAE5AV3hZGhUNc\n\tVCXA==","X-Gm-Message-State":"AOJu0Yxo+mmdoeyX08MWQ6zkLGX5fSfk92WTp3FCcAlBkgG3z7NIOlOM\n\tmPRerL1w3+hwVndfvxpUZU7xiXiQN/hUpTHvwDM/Q78nWxSuSgBaCpkONcYDizuEWZ2dMRC14vk\n\t1CudzkjcwUlVQAKXmBjH7Kk65p73RoKkPpuNUHw27UWJuLE12q/4=","X-Gm-Gg":"ASbGncuzPALFBFMBYBoJ/sEN5DbbVEIY+IkmKw6OXZVWdg9MCc6HkeQnegPp+PidRdc\n\tymRcoMHhBe27nOW8cRgd6Vj3szOYu1XeGR57ygb/MV03c6wYoYGtDyZGo9PlJ//6ngJAnhEOfbi\n\tqwK/wbNGPqhVVUDank","X-Google-Smtp-Source":"=?utf-8?q?AGHT+IHqs4mx6oz3VdsBNLQ6lSsOdRFT4Xp8N/8uM?=\n\t=?utf-8?q?/0TkfTCvSYCozz9l9XijMjrlPPEUj5xGq1WRefVVgj0Cp81vT0=3D?=","X-Received":"by 2002:a05:690c:6a82:b0:6ea:881b:b534 with SMTP id\n\t00721157ae682-6f6eb65cb77mr85657627b3.1.1737632657020;\n\tThu, 23 Jan 2025 03:44:17 -0800 (PST)","MIME-Version":"1.0","References":"<20250122145349.7220-1-david.plowman@raspberrypi.com>","In-Reply-To":"<20250122145349.7220-1-david.plowman@raspberrypi.com>","From":"Naushir Patuck <naush@raspberrypi.com>","Date":"Thu, 23 Jan 2025 11:43:44 +0000","X-Gm-Features":"AWEUYZnG4PcfN80n5QPuNyenefprBLUFs0m1H3XGeWQ8KxRfT9K0svida1lbdek","Message-ID":"<CAEmqJPrWZE=Pqsqp6wqho78S_DF9xgiM=oQRAA5CHHrZkqPBRA@mail.gmail.com>","Subject":"Re: [PATCH v4 0/7] Camera synchronisation","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Content-Type":"text/plain; charset=\"UTF-8\"","X-TUID":"RPMeZPCI14/l","Resent-From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Resent-To":"parsemail@patchwork.libcamera.org"}}]