{"id":8860,"url":"https://patchwork.libcamera.org/api/1.1/patches/8860/?format=json","web_url":"https://patchwork.libcamera.org/patch/8860/","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":"<20200718143428.1060441-2-niklas.soderlund@ragnatech.se>","date":"2020-07-18T14:34:27","name":"[libcamera-devel,1/2] libcamera: Add support for planar YVU420 format","commit_ref":"7855dc922f789a30930f777b062d630d38391ba0","pull_url":null,"state":"accepted","archived":false,"hash":"95559ecc0e65a5045957fe2d0e4e0424716ca695","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/1.1/people/5/?format=json","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/8860/mbox/","series":[{"id":1116,"url":"https://patchwork.libcamera.org/api/1.1/series/1116/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=1116","date":"2020-07-18T14:34:26","name":"libcamera: Add support for YVU420 and RGB565","version":1,"mbox":"https://patchwork.libcamera.org/series/1116/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/8860/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/8860/checks/","tags":{},"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 00AEFBD792\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSat, 18 Jul 2020 14:34:47 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B6D92605BF;\n\tSat, 18 Jul 2020 16:34:45 +0200 (CEST)","from vsp-unauthed02.binero.net (vsp-unauthed02.binero.net\n\t[195.74.38.227])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 035726053A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat, 18 Jul 2020 16:34:42 +0200 (CEST)","from bismarck.berto.se (p4fca2eca.dip0.t-ipconnect.de\n\t[79.202.46.202]) by bin-vsp-out-02.atm.binero.net (Halon) with ESMTPA\n\tid d12eb322-c903-11ea-8fb8-005056917f90;\n\tSat, 18 Jul 2020 16:34:42 +0200 (CEST)"],"X-Halon-ID":"d12eb322-c903-11ea-8fb8-005056917f90","Authorized-sender":"niklas@soderlund.pp.se","From":"=?utf-8?q?Niklas_S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>","To":"libcamera-devel@lists.libcamera.org","Date":"Sat, 18 Jul 2020 16:34:27 +0200","Message-Id":"<20200718143428.1060441-2-niklas.soderlund@ragnatech.se>","X-Mailer":"git-send-email 2.27.0","In-Reply-To":"<20200718143428.1060441-1-niklas.soderlund@ragnatech.se>","References":"<20200718143428.1060441-1-niklas.soderlund@ragnatech.se>","MIME-Version":"1.0","Subject":"[libcamera-devel] [PATCH 1/2] libcamera: Add support for planar\n\tYVU420 format","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>","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Add support for planar YVU420.\n\nSigned-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n---\n src/libcamera/formats.cpp          | 10 ++++++++++\n src/libcamera/formats.yaml         |  2 ++\n src/libcamera/v4l2_pixelformat.cpp |  1 +\n 3 files changed, 13 insertions(+)","diff":"diff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp\nindex 3f895a7c2badc34a..8f9bdafe821b2e69 100644\n--- a/src/libcamera/formats.cpp\n+++ b/src/libcamera/formats.cpp\n@@ -407,6 +407,16 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{\n \t\t.pixelsPerGroup = 2,\n \t\t.planes = {{ { 2, 1 }, { 1, 2 }, { 1, 2 } }},\n \t} },\n+\t{ formats::YVU420, {\n+\t\t.name = \"YVU420\",\n+\t\t.format = PixelFormat(formats::YVU420),\n+\t\t.v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_YVU420),\n+\t\t.bitsPerPixel = 12,\n+\t\t.colourEncoding = PixelFormatInfo::ColourEncodingYUV,\n+\t\t.packed = false,\n+\t\t.pixelsPerGroup = 2,\n+\t\t.planes = {{ { 2, 1 }, { 1, 2 }, { 1, 2 } }},\n+\t} },\n \t{ formats::YUV422, {\n \t\t.name = \"YUV422\",\n \t\t.format = PixelFormat(formats::YUV422),\ndiff --git a/src/libcamera/formats.yaml b/src/libcamera/formats.yaml\nindex ce06dbc41aa13f5e..6b5f084bb2e4e970 100644\n--- a/src/libcamera/formats.yaml\n+++ b/src/libcamera/formats.yaml\n@@ -55,6 +55,8 @@ formats:\n \n   - YUV420:\n       fourcc: DRM_FORMAT_YUV420\n+  - YVU420:\n+      fourcc: DRM_FORMAT_YVU420\n   - YUV422:\n       fourcc: DRM_FORMAT_YUV422\n \ndiff --git a/src/libcamera/v4l2_pixelformat.cpp b/src/libcamera/v4l2_pixelformat.cpp\nindex 6745d17d49269bab..1609f8bb6370fa65 100644\n--- a/src/libcamera/v4l2_pixelformat.cpp\n+++ b/src/libcamera/v4l2_pixelformat.cpp\n@@ -64,6 +64,7 @@ const std::map<V4L2PixelFormat, PixelFormat> vpf2pf{\n \t{ V4L2PixelFormat(V4L2_PIX_FMT_NV12), formats::NV12 },\n \t{ V4L2PixelFormat(V4L2_PIX_FMT_NV21), formats::NV21 },\n \t{ V4L2PixelFormat(V4L2_PIX_FMT_YUV420), formats::YUV420 },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_YVU420), formats::YVU420},\n \t{ V4L2PixelFormat(V4L2_PIX_FMT_YUV422P), formats::YUV422 },\n \n \t/* Greyscale formats. */\n","prefixes":["libcamera-devel","1/2"]}