From patchwork Wed Aug 24 16:24:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Umang Jain X-Patchwork-Id: 17194 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 EC392C3272 for ; Wed, 24 Aug 2022 16:24:35 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 2A7EE61FC0; Wed, 24 Aug 2022 18:24:35 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1661358275; bh=LdegqTC4AcUzECUxozOfLeEkLqyGpqR1twHaZfbA5r4=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=zVoypXL3Xg3j0scPKNB0IA+zrF1PTE3aXmrsirLNdTp8GdNUkHZOnF3NshGV1apnw 6Nzyv4nO5SnGGS9NFpwyO1meRkQKkQjEnbbk5hdOhN1YRzMFMMZlHpif2UwiJDLR4a gLyJLF41T8n20WyzL3ThXrTNUW0hgW4nSMb+S0o2dxjlfEXo5AxnPGbMXOVbfjVJ8K 8omN+Pj/xp+LVgTZFgeDKAU7HzPvUWqzAQ+l4+Ro/LC2i3vE8du962o5VZqTBpVOZv lLtRrjQc1igUhhHumW+35Q429kJJeZiR2T1Woss+DaxcPd3P+wfZmJrChpLotwYe3k 2qn7i0JH3Q6Rg== 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 480AD60E26 for ; Wed, 24 Aug 2022 18:24:33 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="l1+xUcLD"; dkim-atps=neutral Received: from umang.jainideasonboard.com (unknown [IPv6:2401:4900:1f3f:806e:6647:8e5c:f441:ca9a]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 05F242B3; Wed, 24 Aug 2022 18:24:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1661358272; bh=LdegqTC4AcUzECUxozOfLeEkLqyGpqR1twHaZfbA5r4=; h=From:To:Cc:Subject:Date:From; b=l1+xUcLDyPX2gQEDmb29xBjKgwYA8GJ2SgGSptu8v7xZZ3NDKfkXbHSayStMhVPTM cZyH4XVtR7mPFWhKuVCniUaKImmTWZLzLdQEIInsVElOF9L/zILqikRXioww6zZ7m5 vT6u6WjAJEjTSbObZw73L2VUXxQaEcYF6ywBDsME= To: libcamera-devel Date: Wed, 24 Aug 2022 21:54:19 +0530 Message-Id: <20220824162425.71087-1-umang.jain@ideasonboard.com> X-Mailer: git-send-email 2.37.2 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v2 0/6] Colorspace adjustments and gstreamer mappings 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: , X-Patchwork-Original-From: Umang Jain via libcamera-devel From: Umang Jain Reply-To: Umang Jain Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" 1/6 introduces color encoding for media bus formats 2/6 adjust colorspace if pixel format is RGB, while reporting back to userspace 3/6 re-defines ColorSpace::sRGB in its true sense 4-5/6 Adjust colorspace if pixelformat is YUV 6/6 Add gstreamer colorspace mappings and integration Rishikesh Donadkar (1): gstreamer: Provide colorimetry <> ColorSpace mappings Umang Jain (5): libcamera: v4l2_subdevice: Add color encoding for media bus formats libcamera: v4l2_device: Adjust colorspace if pixel format is RGB libcamera: colorspace: Rectify the ColorSpace::Srgb preset libcamera: colorspace: Adjust colorspace of YUV streams tests: stream: Add a colorspace adjustment test include/libcamera/color_space.h | 7 + include/libcamera/internal/v4l2_device.h | 5 +- src/gstreamer/gstlibcamera-utils.cpp | 169 +++++++++++++++++++++++ src/libcamera/camera.cpp | 7 + src/libcamera/color_space.cpp | 56 +++++++- src/libcamera/v4l2_device.cpp | 26 +++- src/libcamera/v4l2_subdevice.cpp | 163 +++++++++++----------- src/libcamera/v4l2_videodevice.cpp | 12 +- test/stream/meson.build | 1 + test/stream/stream_colorspace.cpp | 80 +++++++++++ 10 files changed, 431 insertions(+), 95 deletions(-) create mode 100644 test/stream/stream_colorspace.cpp