[{"id":34275,"web_url":"https://patchwork.libcamera.org/comment/34275/","msgid":"<CAHW6GYJ4TF1zUMxr4+QLhnYTK-VGYNi0fxT4xB7Rz6q=BePAkA@mail.gmail.com>","date":"2025-05-19T10:29:26","subject":"Re: [PATCH v1 4/6] pipeline: rpi: Remove disable_startup_frame_drops\n\tconfig option","submitter":{"id":42,"url":"https://patchwork.libcamera.org/api/people/42/","name":"David Plowman","email":"david.plowman@raspberrypi.com"},"content":"Hi Naush\n\n\nOn Mon, 19 May 2025 at 10:23, Naushir Patuck <naush@raspberrypi.com> wrote:\n>\n> With the previous change to not drop frames in the pipeline handler,\n> the \"disable_startup_frame_drops\" pipeline config option is not used.\n> Remove it, and throw a warning if the option is present in the YAML\n> config file.\n>\n> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n\nSeems fine to me!\n\nReviewed-by: David Plowman <david.plowman@raspberrypi.com\n\n> ---\n>  src/libcamera/pipeline/rpi/common/pipeline_base.cpp | 7 ++++---\n>  src/libcamera/pipeline/rpi/common/pipeline_base.h   | 5 -----\n>  src/libcamera/pipeline/rpi/pisp/data/example.yaml   | 5 -----\n>  src/libcamera/pipeline/rpi/vc4/data/example.yaml    | 5 -----\n>  4 files changed, 4 insertions(+), 18 deletions(-)\n>\n> diff --git a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp\n> index 21f2daf5bab5..4afdaed5935d 100644\n> --- a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp\n> +++ b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp\n> @@ -1077,7 +1077,6 @@ void CameraData::enumerateVideoDevices(MediaLink *link, const std::string &front\n>  int CameraData::loadPipelineConfiguration()\n>  {\n>         config_ = {\n> -               .disableStartupFrameDrops = false,\n>                 .cameraTimeoutValue = 0,\n>         };\n>\n> @@ -1114,8 +1113,10 @@ int CameraData::loadPipelineConfiguration()\n>\n>         const YamlObject &phConfig = (*root)[\"pipeline_handler\"];\n>\n> -       config_.disableStartupFrameDrops =\n> -               phConfig[\"disable_startup_frame_drops\"].get<bool>(config_.disableStartupFrameDrops);\n> +       if (phConfig.contains(\"disable_startup_frame_drops\"))\n> +               LOG(RPI, Warning)\n> +                       << \"The disable_startup_frame_drops key is now deprecated, \"\n> +                       << \"please use FrameMetadata::Status::FrameStartup instead.\";\n>\n>         config_.cameraTimeoutValue =\n>                 phConfig[\"camera_timeout_value_ms\"].get<unsigned int>(config_.cameraTimeoutValue);\n> diff --git a/src/libcamera/pipeline/rpi/common/pipeline_base.h b/src/libcamera/pipeline/rpi/common/pipeline_base.h\n> index 6023f9f9d6b3..e27c4f860d1a 100644\n> --- a/src/libcamera/pipeline/rpi/common/pipeline_base.h\n> +++ b/src/libcamera/pipeline/rpi/common/pipeline_base.h\n> @@ -164,11 +164,6 @@ public:\n>         bool buffersAllocated_;\n>\n>         struct Config {\n> -               /*\n> -                * Override any request from the IPA to drop a number of startup\n> -                * frames.\n> -                */\n> -               bool disableStartupFrameDrops;\n>                 /*\n>                  * Override the camera timeout value calculated by the IPA based\n>                  * on frame durations.\n> diff --git a/src/libcamera/pipeline/rpi/pisp/data/example.yaml b/src/libcamera/pipeline/rpi/pisp/data/example.yaml\n> index d67e654a8b9e..baf03be79bb3 100644\n> --- a/src/libcamera/pipeline/rpi/pisp/data/example.yaml\n> +++ b/src/libcamera/pipeline/rpi/pisp/data/example.yaml\n> @@ -16,11 +16,6 @@\n>                  #\n>                  # \"num_cfe_config_queue\": 2,\n>\n> -                # Override any request from the IPA to drop a number of startup\n> -                # frames.\n> -                #\n> -                # \"disable_startup_frame_drops\": false,\n> -\n>                  # Custom timeout value (in ms) for camera to use. This overrides\n>                  # the value computed by the pipeline handler based on frame\n>                  # durations.\n> diff --git a/src/libcamera/pipeline/rpi/vc4/data/example.yaml b/src/libcamera/pipeline/rpi/vc4/data/example.yaml\n> index b8e01adeaf40..27e543488d48 100644\n> --- a/src/libcamera/pipeline/rpi/vc4/data/example.yaml\n> +++ b/src/libcamera/pipeline/rpi/vc4/data/example.yaml\n> @@ -29,11 +29,6 @@\n>                  #\n>                  # \"min_total_unicam_buffers\": 4,\n>\n> -                # Override any request from the IPA to drop a number of startup\n> -                # frames.\n> -                #\n> -                # \"disable_startup_frame_drops\": false,\n> -\n>                  # Custom timeout value (in ms) for camera to use. This overrides\n>                  # the value computed by the pipeline handler based on frame\n>                  # durations.\n> --\n> 2.43.0\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 F1359BD78E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 19 May 2025 10:29:41 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DDCD668B6C;\n\tMon, 19 May 2025 12:29:40 +0200 (CEST)","from mail-qt1-x835.google.com (mail-qt1-x835.google.com\n\t[IPv6:2607:f8b0:4864:20::835])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8D42668B67\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 19 May 2025 12:29:38 +0200 (CEST)","by mail-qt1-x835.google.com with SMTP id\n\td75a77b69052e-47690a4ec97so44771311cf.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 19 May 2025 03:29:38 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"HSTwle3C\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1747650577; x=1748255377;\n\tdarn=lists.libcamera.org; \n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=/KXEvFur+6aLAWiqdS4ND/GiqKBlqWXtQYoS2uhkXaE=;\n\tb=HSTwle3CAIuq0yDIaSyrNmW8BAJN8MC+VmB1Ub7mrIMlZo5pwQqTyfIGt4cICZR0si\n\tbyXgA53XOMJ9NGaksaTevo5pNOn7JGqYToL8XgGumr49CjCU+h/6ZdE85SqwcKzT5cLD\n\tVQqFUjpyjopcJU72GCiozF2IPTU6WrF9iddcj5EzD04l96fckZi6zthzdTEa1jurLC1+\n\ttUGumdFAqn7tEqWcD7G6rJIAjngQ77edCAJD2z6AFao0xHNir9lp3cxqzcj7OLk6Px1c\n\t3WlswYtdrOMAT6Gl7mzUS/p+2Guk3XJjU9WClVMYJK16vfgCwxXlRUsQKjlmqz0C9SMc\n\t6atA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1747650577; x=1748255377;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=/KXEvFur+6aLAWiqdS4ND/GiqKBlqWXtQYoS2uhkXaE=;\n\tb=KT1dcf7fqFIVbIdvVLdBw1j16iEwJ0i8MO9n8sy6Y+svWOpUlGoAyDO18nNW1nXNeb\n\tBuh4VUTql5FGbdYXBNPA4FgGlRbcTC/XG39kbWEUKITLFO4KRt/qIb4ZgXsmJ06vGA8o\n\tDzn00I2myuV+Neyi4FYHDfZRb8vZxG4jdiqNIvs251GLsOGaH6z/nVJFlol6wXhVyJxA\n\tS6f0W9mqACl7ok3D64byDuc9iNLNzfEKQ0UBxBdVX4nQ1D1ehe//Gvg5gCy4MsmJXl4v\n\tRHipWTSlNbKs2C+x5mk3ktAjTs1LrOUIOJZ7DHkfSUAyOdrt+H8hi7BSJfaQxkCd/Tll\n\tCxbg==","X-Gm-Message-State":"AOJu0Yx8Axb8q7Q29s7wOOgxFeppmcdEapmzuNxsO4fuyU+vTTMHMSbl\n\tx0JiJ1EycGoj8bx6ailU2YcgCkFLGde1bo3jofQQ+/ZEebEMTwm0lWiBhJddaZcKLpAL5v4RKFs\n\tzjKVZewn1kCWhEZKfW+U+mxMz1zMwsZkxRee8FpdY0OpEVUOZXvnLbmQ=","X-Gm-Gg":"ASbGnctlniDTTp+A24SEw37khBvQGY2wKMUjr0ectXGObvbh0jhsVSUM+tcO3DchkHf\n\tTsUrsOt3OOEEnZ3TCAsfIVWcuJ1YpjyZ46rBTv5vRCQkX5Mg7V3rakSkvMiXw4DaX+8NoSlyGs0\n\tepdM/waJWeLveQEXHk8Ys6ar5S8F8NIJUzLfPfbDiwkYZbzS9vD1aBSXElu2Es368=","X-Google-Smtp-Source":"AGHT+IFFM3nN5U657P+5YC9HlkYgYwRw9CrCy6fbhn7gTdv62Iq97YS7GFIY3VNkvVj8mYRUcYiOkbdSvQR7jf4LX5A=","X-Received":"by 2002:a05:622a:98d:b0:476:7b0b:30fb with SMTP id\n\td75a77b69052e-494ae37facamr202699051cf.22.1747650577429;\n\tMon, 19 May 2025 03:29:37 -0700 (PDT)","MIME-Version":"1.0","References":"<20250519092245.269048-1-naush@raspberrypi.com>\n\t<20250519092245.269048-5-naush@raspberrypi.com>","In-Reply-To":"<20250519092245.269048-5-naush@raspberrypi.com>","From":"David Plowman <david.plowman@raspberrypi.com>","Date":"Mon, 19 May 2025 11:29:26 +0100","X-Gm-Features":"AX0GCFvYaqtOlXVvikiubdIFaEQHfXF4kq12yJn8e84Co1-CnHqFhxYqCWT6S0g","Message-ID":"<CAHW6GYJ4TF1zUMxr4+QLhnYTK-VGYNi0fxT4xB7Rz6q=BePAkA@mail.gmail.com>","Subject":"Re: [PATCH v1 4/6] pipeline: rpi: Remove disable_startup_frame_drops\n\tconfig option","To":"Naushir Patuck <naush@raspberrypi.com>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"UTF-8\"","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>"}}]