[libcamera-devel] [PATCH 0/5] android: Plumb the YUV processor in
Jacopo Mondi
jacopo at jmondi.org
Mon Jan 10 17:55:19 CET 2022
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
More information about the libcamera-devel
mailing list