{"id":25899,"url":"https://patchwork.libcamera.org/api/1.1/covers/25899/?format=json","web_url":"https://patchwork.libcamera.org/cover/25899/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260121090705.274081-1-uajain@igalia.com>","date":"2026-01-21T09:07:02","name":"[0/3] virtual: colorspace validation fix","submitter":{"id":232,"url":"https://patchwork.libcamera.org/api/1.1/people/232/?format=json","name":"Umang Jain","email":"uajain@igalia.com"},"mbox":"https://patchwork.libcamera.org/cover/25899/mbox/","series":[{"id":5727,"url":"https://patchwork.libcamera.org/api/1.1/series/5727/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5727","date":"2026-01-21T09:07:02","name":"virtual: colorspace validation fix","version":1,"mbox":"https://patchwork.libcamera.org/series/5727/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/25899/comments/","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 B6DB5BDCBF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 21 Jan 2026 09:06:26 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8131161FCC;\n\tWed, 21 Jan 2026 10:06:25 +0100 (CET)","from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5ED04615B2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 21 Jan 2026 10:06:22 +0100 (CET)","from [49.36.125.126] (helo=uajain)\n\tby fanzine2.igalia.com with esmtpsa \n\t(Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)\n\t(Exim) id 1viUAO-007xDQ-9U; Wed, 21 Jan 2026 10:06:20 +0100"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=igalia.com header.i=@igalia.com\n\theader.b=\"QD/U79Lr\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com;\n\ts=20170329;\n\th=Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:\n\tCc:To:From:Sender:Reply-To:Content-Type:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tIn-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:\n\tList-Post:List-Owner:List-Archive;\n\tbh=/eBtSqyIvEcXcYsJHw8tUd5bM5ffodED4LL6fYZsWA4=;\n\tb=QD/U79LrpZxLfW39RA279UAszs\n\td92x9A+e/5nwOF5Ba0oaCFJwb/j4kEtxIqccgzu7XLNrU99WSO7z7ZptTz0Tj6McgYyRbBKeL4hBP\n\t173EEIgUtGhmUPWZNvg4Kk2m1iaQcPVjPCNkTpl9ahI1/2ehm/QsTEsn8NyuaQ8tx8mljSpkjFNEI\n\t9asDtq8I5N8WMiom15CBzP1MfXxcRw+PGHWMDi9HCvAUzN6VX44wiHvWvxqDr1oH/Nx58ipkEzmPE\n\tJmaaNdZ9DIRP+q1lX4XPds9ek+rtYMM18PSzEQfOs4GVC2wv78KKNKy4+UTktr+kdCqJOiqq2HHhY\n\tvVHKDXbg==;","From":"Umang Jain <uajain@igalia.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Umang Jain <uajain@igalia.com>","Subject":"[PATCH 0/3] virtual: colorspace validation fix","Date":"Wed, 21 Jan 2026 14:37:02 +0530","Message-ID":"<20260121090705.274081-1-uajain@igalia.com>","X-Mailer":"git-send-email 2.52.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","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>"},"content":"Series to fix the colorspace setting for different frame\ngenerators in the virtual pipeline handler. This has been validated\nby studying the internal conversions made by libyuv for different\nframe generators.\n\nFor MJPEGToNV12: libyuv validates for sYCC colorspace using JPEG header\ninfo\n\nFor ARGB<>NV12: libyuv operates with BT.601 colorspace (ycbcr encoding\nand range is altered).\n\nThe tricky part is to select color primaries for TestPatterns frame\ngenerators. I have used ColorSpace::Primaries::Rec709 as it is widely\nused/assumed in RGB domain. I don't have answer to why we still can't\nuse the SMPTE color primary for those.\n\nUmang Jain (3):\n  pipeline: virtual: image_frame_generator: Explicitly include libcamera\n    headers\n  pipeline: virtual: Implement colorspace() getter for frame generators\n  pipeline: virtual: Rectify validation of colorspace\n\n .../pipeline/virtual/frame_generator.h         |  3 +++\n .../pipeline/virtual/image_frame_generator.cpp |  9 +++++++++\n .../pipeline/virtual/image_frame_generator.h   |  5 +++++\n .../virtual/test_pattern_generator.cpp         | 18 ++++++++++++++++++\n .../pipeline/virtual/test_pattern_generator.h  |  4 ++++\n src/libcamera/pipeline/virtual/virtual.cpp     |  8 ++++----\n 6 files changed, 43 insertions(+), 4 deletions(-)"}