{"id":16065,"url":"https://patchwork.libcamera.org/api/covers/16065/?format=json","web_url":"https://patchwork.libcamera.org/cover/16065/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/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":"<20220527093440.953377-1-paul.elder@ideasonboard.com>","date":"2022-05-27T09:34:35","name":"[libcamera-devel,v2,0/5] Plumb the YUV processor in","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/?format=json","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/16065/mbox/","series":[{"id":3145,"url":"https://patchwork.libcamera.org/api/series/3145/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3145","date":"2022-05-27T09:34:35","name":"Plumb the YUV processor in","version":2,"mbox":"https://patchwork.libcamera.org/series/3145/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/16065/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 B1D68BD161\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 27 May 2022 09:34:54 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 17199633A3;\n\tFri, 27 May 2022 11:34:53 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1E13860415\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 27 May 2022 11:34:51 +0200 (CEST)","from pyrite.rasen.tech (softbank036240126034.bbtec.net\n\t[36.240.126.34])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 8ED5132A;\n\tFri, 27 May 2022 11:34:49 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1653644093;\n\tbh=BhgNjTJghLop5v8xmd2N6+wJ+pGuHvJpeykv30RMs2M=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=BQpnxzngQRMlkyuYNOe0oKiC8EDsnHncQL9ZCNRMUOK6Z6/daSt7WiLUqjs9YX4Gi\n\tQju9zm7FxsKDWVP5jKZc197sSSycL6wnzcJfItfbFmoMv+v9e1ktVAnuaPLnjDobPw\n\tHLj+xzvqo7HnJxKQK35Z7C9aFiasADJECYPenr5EHe5Gp8QlXZMk7dgM0Kqf+okerG\n\t4dQ5HXKZXelhaeqWjOPSlDbrMTIf/cbRai5dEVA5T4JL1m2eD+EdQmmqP3PE2lgOhU\n\ttE5cM8nAGuCWtcCl5Ply6/3bHsANbrlg8NJnBKc6LXytByuzcTbiHvuEAHeLEi24FS\n\tD0PzOpibcEBBQ==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1653644090;\n\tbh=BhgNjTJghLop5v8xmd2N6+wJ+pGuHvJpeykv30RMs2M=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=WlltKptm53zsHtE6a+wq7ULo2jCPb0dqLiQwZl/kLYUtTnqhGVUwxbXbpU7WlVIe8\n\tcPmxlWzhp3LL4g7+tI5kqyG2A0ccmd62qzbShBOqV8Jc/TBFUjm+ZSPUv3l7l5FyWI\n\tHt136trpx0Yw85kF+/Ab7bel5cvmw4dtesGO0hoE="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"WlltKptm\"; dkim-atps=neutral","To":"libcamera-devel@lists.libcamera.org","Date":"Fri, 27 May 2022 18:34:35 +0900","Message-Id":"<20220527093440.953377-1-paul.elder@ideasonboard.com>","X-Mailer":"git-send-email 2.30.2","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v2 0/5] Plumb the YUV processor in","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>","From":"Paul Elder via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Paul Elder <paul.elder@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Just reviving this patch series. Original cover letter (2022/01/10):\n\n\nHello\n   I've started this series by reviewing Hiro's\n\"[PATCH 1/1] android: camera_device: Configure one stream for identical stream requests\"\nhttps://patchwork.libcamera.org/project/libcamera/list/?series=2880\n\nIn order to validate my review comments I had to find tests which exercized the\nYUV post-processor, and that's the result of the testing process.\n\nI broke Hiro's series in 4 patches and addded one small fix on top.\n\nTested by running 12 of the tests currently excluded from the libcamera\nsubplan.\n\nThese tests require 3 YUV streams to be supported and where so far excluded for\nthis reason:\n\n[1/12] android.hardware.camera2.cts.RobustnessTest#testMandatoryOutputCombinations pass\n[2/12] android.hardware.cts.CameraTest#testFocusDistances pass\n[3/12] android.hardware.cts.CameraTest#testPreviewCallback pass\n[4/12] android.hardware.cts.CameraTest#testPreviewCallbackWithBuffer pass\n[5/12] android.hardware.cts.CameraTest#testPreviewCallbackWithPicture pass\n[6/12] android.hardware.cts.CameraTest#testPreviewFormats pass\n[7/12] android.hardware.cts.CameraTest#testPreviewFpsRange pass\n[8/12] android.hardware.cts.CameraTest#testSetOneShotPreviewCallback pass\n[9/12] android.hardware.cts.CameraTest#testSetPreviewDisplay pass\n[10/12] android.hardware.cts.CameraGLTest#testSetPreviewTextureBothCallbacks pass\n[11/12] android.hardware.cts.CameraGLTest#testSetPreviewTexturePreviewCallback pass\n[12/12] android.hardware.camera2.cts.SurfaceViewPreviewTest#testDeferredSurfaces pass\n\nAs an example output from a test run:\n\n-------------------------------------------------------------------------------\nINFO HAL camera_device.cpp:569 '\\_SB_.PCI0.I2C4.CAM1': Stream #0, direction: Output, width: 1920, height: 1080, format: 0x00000022, rotation: 0, crop_rotate_scale_degrees: 0 (NV12)\nINFO HAL camera_device.cpp:569 '\\_SB_.PCI0.I2C4.CAM1': Stream #1, direction: Output, width: 1920, height: 1080, format: 0x00000022, rotation: 0, crop_rotate_scale_degrees: 0 (NV12)\nINFO HAL camera_device.cpp:569 '\\_SB_.PCI0.I2C4.CAM1': Stream #2, direction: Output, width: 2560, height: 1920, format: 0x00000021, rotation: 0, crop_rotate_scale_degrees: 0 (MJPEG)\nINFO HAL camera_device.cpp:694 '\\_SB_.PCI0.I2C4.CAM1': Adding 2560x1920-NV12 for MJPEG support\nDEBUG HAL camera_device.cpp:121 Insert 2560x1920-NV12\nDEBUG HAL camera_device.cpp:127 Insert 1920x1080-NV12\nINFO Camera camera.cpp:1028 configuring streams: (0) 2560x1920-NV12 (1) 1920x1080-NV12\n\n...\n\nDEBUG HAL camera_device.cpp:951 '\\_SB_.PCI0.I2C4.CAM1': Queueing request 138253722276496 with 3 streams\nDEBUG HAL camera_device.cpp:1017 '\\_SB_.PCI0.I2C4.CAM1': 1 - (1920x1080)[0x00000022] -> (1920x1080)[NV12] (direct)\nDEBUG HAL camera_device.cpp:1030 '\\_SB_.PCI0.I2C4.CAM1': 2 - (2560x1920)[0x00000021] -> (2560x1920)[NV12] (internal)\nDEBUG HAL camera_device.cpp:1063 '\\_SB_.PCI0.I2C4.CAM1': 0 - (1920x1080)[0x00000022] -> (1920x1080)[NV12] (mapped)\nDEBUG HAL camera_device.cpp:1198 '\\_SB_.PCI0.I2C4.CAM1': Request 138253722217920 completed with 2 streams\n-------------------------------------------------------------------------------\n\nNo regression with the ordinary CTS libcamera plan\n\n=============== Summary ===============\nTotal Run time: 19m 51s\n1/1 modules completed\nTotal Tests       : 231\nPASSED            : 231\nFAILED            : 0\n============== End of Results ==============\n\nThanks\n   j\n\nHirokazu Honda (2):\n  android: camera_stream: Add sourceStream\n  android: camera_device: Use YUV post-processor\n\nJacopo Mondi (3):\n  android: camera_stream: Create allocator unconditionally\n  android: camera_device: Postpone mapped streams handling\n  android: camera_device: Print the correct number of completed streams\n\n src/android/camera_device.cpp | 122 ++++++++++++++++++++++++++++++----\n src/android/camera_stream.cpp |  12 ++--\n src/android/camera_stream.h   |   6 +-\n 3 files changed, 120 insertions(+), 20 deletions(-)"}