From patchwork Mon Jul 27 15:18:18 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kaaira Gupta X-Patchwork-Id: 9018 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id A4F33BD878 for ; Mon, 27 Jul 2020 15:18:42 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 6D6FD613B1; Mon, 27 Jul 2020 17:18:42 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=es-iitr-ac-in.20150623.gappssmtp.com header.i=@es-iitr-ac-in.20150623.gappssmtp.com header.b="wdv1/0GZ"; dkim-atps=neutral Received: from mail-pg1-x529.google.com (mail-pg1-x529.google.com [IPv6:2607:f8b0:4864:20::529]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 23240611A2 for ; Mon, 27 Jul 2020 17:18:41 +0200 (CEST) Received: by mail-pg1-x529.google.com with SMTP id p3so9751369pgh.3 for ; Mon, 27 Jul 2020 08:18:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=es-iitr-ac-in.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=JbzLbXefDsOj7y17Z0ShvC3CdATsNcn1QqYzkV3YnFw=; b=wdv1/0GZtxQcpPHNexzds3aS43iZkh8HUgAA47M9p/v7NIYhdTqCKV35v4Sqbin6ny QY+NgRlTeuoSDt/eeNkgyW0yFkTwy6LEOM4GMErDReu5jHkfr+QdSQId+8k1G6LlZzp6 c8QstnKbBh4KdvXFRMMUB8mA9Zs0gRrrRVbicufeAcVfSTobGgWaazdA8pfwd1i4E6u1 u/eVPPX5YeEwRfCv8g9bLO4wWnbBfVkDp/4oTX9Um7AJNVACoBh/sJr9JHVgVW08d0qM oWAzDgx9Vk7y5jbf0V3sOqepNDfCBlzEvLHtygBW0HY/CJVI3snmaHr7xoMG99IPrUvT +mzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=JbzLbXefDsOj7y17Z0ShvC3CdATsNcn1QqYzkV3YnFw=; b=ElcT1ybmy/cY6vDH3984WuG0wTz/FVkkn95RQACgctffJvO2g5xx4n4AL8crBCF60w BBVcM3Ps1juYQR/ys5k+2pYbPV8NJQh+QZdWAq24S79twp0rTNa9/ktFW+QFoEeJleC7 1DQwid4H2xV81FiO858dI+xyuxOjIqN1z+uJI4jTKzQehdVJSTgV+K9YHY4QjQJ+PbzW mIHQ6v7P+3qa1cJf/fay1DRdMNoBuXnoTg1khpXJyxXnd1dsTLAGd+JsieO/J0UIq3P6 wRjbmCzWA0WqSM1WKkUR0gk10KgJEfhjhz4pYmWlDwZuvVMMXCg3x0JWXuVn+ibSLTsx RBkQ== X-Gm-Message-State: AOAM530UqIyNn89mhrB7XjXQYSoblxE+JuK/xRQgxHmlnp/8KOQokPMK akHcyA7p13ROUOz6WhvM3vVciQ== X-Google-Smtp-Source: ABdhPJyeIzAt1t8omGWSzfx6m+pLKQD/KRx0XVwI96yuugLBNW4qqgSFYD/eqkKR97v3TuXszdlKAA== X-Received: by 2002:a63:8f51:: with SMTP id r17mr20106949pgn.124.1595863119601; Mon, 27 Jul 2020 08:18:39 -0700 (PDT) Received: from kaaira-HP-Pavilion-Notebook ([103.113.213.178]) by smtp.gmail.com with ESMTPSA id q14sm15239520pgk.86.2020.07.27.08.18.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 08:18:39 -0700 (PDT) From: Kaaira Gupta To: libcamera-devel@lists.libcamera.org, Kieran Bingham , =?utf-8?q?Niklas_S=C3=B6derlund?= Date: Mon, 27 Jul 2020 20:48:18 +0530 Message-Id: <20200727151820.24466-2-kgupta@es.iitr.ac.in> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200727151820.24466-1-kgupta@es.iitr.ac.in> References: <20200727151820.24466-1-kgupta@es.iitr.ac.in> Subject: [libcamera-devel] [PATCH v3 1/3] libcamera: formats: PixelFormatInfo: Add name lookup function X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kaaira Gupta MIME-Version: 1.0 Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Add a function which returns a format, given its name as a string. Signed-off-by: Kaaira Gupta --- include/libcamera/internal/formats.h | 1 + src/libcamera/formats.cpp | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/include/libcamera/internal/formats.h b/include/libcamera/internal/formats.h index 0bb1510..2589e88 100644 --- a/include/libcamera/internal/formats.h +++ b/include/libcamera/internal/formats.h @@ -38,6 +38,7 @@ public: static const PixelFormatInfo &info(const PixelFormat &format); static const PixelFormatInfo &info(const V4L2PixelFormat &format); + static const PixelFormat &info(const std::string &name); unsigned int stride(unsigned int width, unsigned int plane, unsigned int align = 1) const; diff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp index 11774b0..8ea5461 100644 --- a/src/libcamera/formats.cpp +++ b/src/libcamera/formats.cpp @@ -23,6 +23,8 @@ namespace libcamera { LOG_DEFINE_CATEGORY(Formats) +const PixelFormat invalidPixelFormat = PixelFormat(); + /** * \class PixelFormatPlaneInfo * \brief Information about a single plane of a pixel format @@ -663,6 +665,24 @@ const PixelFormatInfo &PixelFormatInfo::info(const V4L2PixelFormat &format) return info->second; } +/** + * \brief Retrieve pixel format from its name + * \param[in] name The name of pixel format + * \return The pixel format corresponding to \a name if known, or an invalid + * pixel format otherwise + */ +const PixelFormat &PixelFormatInfo::info(const std::string &name) +{ + auto it = pixelFormatInfo.begin(); + while (it != pixelFormatInfo.end()) { + if (it->second.name == name) { + return it->first; + } + it++; + } + return invalidPixelFormat; +} + /** * \brief Compute the stride * \param[in] width The width of the line, in pixels