From patchwork Fri Jul 30 08:28:25 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Umang Jain X-Patchwork-Id: 13154 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 E5403C322E for ; Fri, 30 Jul 2021 08:28:47 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 2A4EF687C4; Fri, 30 Jul 2021 10:28:47 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="cTzow0Zb"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 25CE9687B1 for ; Fri, 30 Jul 2021 10:28:45 +0200 (CEST) Received: from perceval.ideasonboard.com (unknown [103.251.226.16]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id F26AC89B; Fri, 30 Jul 2021 10:28:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1627633724; bh=RbRpHm9k2HoSrc7NWgTN2shWM2prWOBodIc4c83PDQ4=; h=From:To:Cc:Subject:Date:From; b=cTzow0ZbpDtgNFtpUMFv/3SFC2EsSYvWONExe/g8QsD7U/+2q+PAMQ5q7j//w81Gz 6Vrul0aMjrzuT3khMj65T18N1IkMxT0lTYC+T2upchuZC+ewmeqyaUuWrBwhk7bwu7 QnIjlRshj8vDR79aXJMLcJP8Hg0c3RpxLAmPlgdY= From: Umang Jain To: libcamera-devel@lists.libcamera.org Date: Fri, 30 Jul 2021 13:58:25 +0530 Message-Id: <20210730082832.152626-1-umang.jain@ideasonboard.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Subject: [libcamera-devel] [RFC PATCH 0/3] IPU3: Tweak sensor format selection 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: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Different IPU3 platforms have different constraints that require certain tweaking on the policy on how libcamera determines best sensor format. To address these contraints, we need to drop CameraSensor::getFormat() and have IPU3 specific sensor format selector member function. Patch 1/3 and 2/3 prepares the base to introduce new policy on selection. Patch 3/3 is the crux of the change, meant to address constraints faced on Nautilus and Soraka. This is a RFC where only preliminary testing have been done. Extensive testing and further discussions are still under-way. Umang Jain (3): libcamera: base: camera_sensor: Expose sensor's formats map ipu3: cio2: Replicate CameraSensor::getFormats() to a member function ipu3: cio2: Customize sensor format selection logic include/libcamera/internal/camera_sensor.h | 1 + src/libcamera/pipeline/ipu3/cio2.cpp | 115 ++++++++++++++++++++- src/libcamera/pipeline/ipu3/cio2.h | 5 + 3 files changed, 119 insertions(+), 2 deletions(-)