From patchwork Mon Jan 10 16:55:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 15265 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 392ABBE080 for ; Mon, 10 Jan 2022 16:54:30 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 0485A60935; Mon, 10 Jan 2022 17:54:30 +0100 (CET) Received: from relay1-d.mail.gandi.net (relay1-d.mail.gandi.net [IPv6:2001:4b98:dc4:8::221]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 98CFF6021A for ; Mon, 10 Jan 2022 17:54:28 +0100 (CET) Received: (Authenticated sender: jacopo@jmondi.org) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id E319A240012; Mon, 10 Jan 2022 16:54:27 +0000 (UTC) From: Jacopo Mondi To: libcamera-devel@lists.libcamera.org Date: Mon, 10 Jan 2022 17:55:19 +0100 Message-Id: <20220110165524.72978-1-jacopo@jmondi.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH 0/5] android: Plumb the YUV processor in 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" Hello I've started this series by reviewing Hiro's "[PATCH 1/1] android: camera_device: Configure one stream for identical stream requests" https://patchwork.libcamera.org/project/libcamera/list/?series=2880 In order to validate my review comments I had to find tests which exercized the YUV post-processor, and that's the result of the testing process. I broke Hiro's series in 4 patches and addded one small fix on top. Tested by running 12 of the tests currently excluded from the libcamera subplan. These tests require 3 YUV streams to be supported and where so far excluded for this reason: [1/12] android.hardware.camera2.cts.RobustnessTest#testMandatoryOutputCombinations pass [2/12] android.hardware.cts.CameraTest#testFocusDistances pass [3/12] android.hardware.cts.CameraTest#testPreviewCallback pass [4/12] android.hardware.cts.CameraTest#testPreviewCallbackWithBuffer pass [5/12] android.hardware.cts.CameraTest#testPreviewCallbackWithPicture pass [6/12] android.hardware.cts.CameraTest#testPreviewFormats pass [7/12] android.hardware.cts.CameraTest#testPreviewFpsRange pass [8/12] android.hardware.cts.CameraTest#testSetOneShotPreviewCallback pass [9/12] android.hardware.cts.CameraTest#testSetPreviewDisplay pass [10/12] android.hardware.cts.CameraGLTest#testSetPreviewTextureBothCallbacks pass [11/12] android.hardware.cts.CameraGLTest#testSetPreviewTexturePreviewCallback pass [12/12] android.hardware.camera2.cts.SurfaceViewPreviewTest#testDeferredSurfaces pass As an example output from a test run: ------------------------------------------------------------------------------- INFO 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) INFO 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) INFO 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) INFO HAL camera_device.cpp:694 '\_SB_.PCI0.I2C4.CAM1': Adding 2560x1920-NV12 for MJPEG support DEBUG HAL camera_device.cpp:121 Insert 2560x1920-NV12 DEBUG HAL camera_device.cpp:127 Insert 1920x1080-NV12 INFO Camera camera.cpp:1028 configuring streams: (0) 2560x1920-NV12 (1) 1920x1080-NV12 ... DEBUG HAL camera_device.cpp:951 '\_SB_.PCI0.I2C4.CAM1': Queueing request 138253722276496 with 3 streams DEBUG HAL camera_device.cpp:1017 '\_SB_.PCI0.I2C4.CAM1': 1 - (1920x1080)[0x00000022] -> (1920x1080)[NV12] (direct) DEBUG HAL camera_device.cpp:1030 '\_SB_.PCI0.I2C4.CAM1': 2 - (2560x1920)[0x00000021] -> (2560x1920)[NV12] (internal) DEBUG HAL camera_device.cpp:1063 '\_SB_.PCI0.I2C4.CAM1': 0 - (1920x1080)[0x00000022] -> (1920x1080)[NV12] (mapped) DEBUG HAL camera_device.cpp:1198 '\_SB_.PCI0.I2C4.CAM1': Request 138253722217920 completed with 2 streams ------------------------------------------------------------------------------- No regression with the ordinary CTS libcamera plan =============== Summary =============== Total Run time: 19m 51s 1/1 modules completed Total Tests : 231 PASSED : 231 FAILED : 0 ============== End of Results ============== Thanks j Hirokazu Honda (2): android: camera_stream: Add sourceStream android: camera_device: Use YUV post-processor Jacopo Mondi (3): android: camera_stream: Create allocator unconditionally android: camera_device: Post-pone mapped streams handling android: camera_device: Print the correct number of completed streams src/android/camera_device.cpp | 124 ++++++++++++++++++++++++++++++---- src/android/camera_stream.cpp | 12 ++-- src/android/camera_stream.h | 6 +- 3 files changed, 122 insertions(+), 20 deletions(-) --- 2.34.1