[libcamera-devel] [PATCH 0/5] android: Plumb the YUV processor in

Tomasz Figa tfiga at chromium.org
Wed Apr 13 13:04:56 CEST 2022


Hi Jacopo, Laurent,

On Tue, Jan 11, 2022 at 1:54 AM Jacopo Mondi <jacopo at jmondi.org> wrote:
>
> 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(-)

Thanks for helping with Hiro's series. Is this something we could merge?

Best regards,
Tomasz


More information about the libcamera-devel mailing list