Commit graph

1024 commits

Author SHA1 Message Date
Treehugger Robot
b58bdcc974 Merge "Use String8/16 c_str [camera]" into udc-dev-plus-aosp am: f9da01134b am: b2e932d474 am: a2c25cfbec
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/interfaces/+/24528988

Change-Id: I6e83c13f0f0b6b89931bdcac81e79326d3841aa8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-24 18:05:29 +00:00
Tomasz Wasilczyk
dbec48bbd2 Use String8/16 c_str [camera]
Bug: 295394788
Test: make checkbuild
Change-Id: I7ca371112e891f4f40673b5c34e3b8ccc41841bf
2023-08-23 19:47:07 +00:00
Tang Lee
65382f6a50 Fix external camera HAL crashes
External USB camera hal service crashes when disconnecting the camera.
ExternalCameraDeviceSession's desctructor is called and deletes mLock,
but mBufferRequestThread is still running and waiting on the same
mLock, which causes the "pthread_mutex_lock called on a destroyed
mutex" error.

Fix the issue by stopping the thread in destructor. Also refactors the
functions and remove unused conditions.

Bug: 289741662
Test: Test with USB camera
Change-Id: I06b1ff6e192a4bca16822785d65d68a6aae53414
2023-08-01 10:32:46 +00:00
Sally Qi
3def856602 Use android.hardware.graphics.common wrap.
Bug: 291745893
Test: builds
Change-Id: I4de7ecf4593957d4ef76ff3d66b1b7daa0d3f11a
2023-07-20 16:56:07 +08:00
Austin Borger
0a01e96a73 Camera VTS: Properly initialize Stream in various places am: 263e362091 am: 45063e6c9f am: 32b90a4a29
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/interfaces/+/23850975

Change-Id: I6f7f697d044d47b3c5c8e15457a6f06202bc4bf3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-29 21:29:01 +00:00
Austin Borger
0475dfe328 Camera VTS: Properly initialize Stream in various places am: 263e362091 am: 45063e6c9f
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/interfaces/+/23850975

Change-Id: I4450a41690668dcf2377cca07c48e258ec046b28
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-29 20:41:12 +00:00
Austin Borger
263e362091 Camera VTS: Properly initialize Stream in various places
useCase and colorSpace are not explicitly initialized. colorSpace must
be explicitly initialized to UNSPECIFIED, as its default value is not
zero. Without initialization, the HAL will receive incorrect Stream
data.

Bug: 287305593
Test: Ran full VTS test on Cuttlefish / OEM testing.
Change-Id: I6a29600b5dc06ebdc61b38e0585204fe52d590c2
2023-06-29 00:49:17 +00:00
Bharatt Kukreja
043fdd018b Merge "Camera: Add links to mandatory stream combination tables" into udc-dev am: b082ae031f am: 9d81679aa5
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/interfaces/+/23680404

Change-Id: Ia7fc47c6d205e171f64c75474a914ffa74d2526a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 20:53:13 +00:00
Bharatt Kukreja
864d021f33 Merge "Camera: Add links to mandatory stream combination tables" into udc-dev am: b082ae031f
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/interfaces/+/23680404

Change-Id: Ie8b6336f9f0e03e013ce2b23a42d0a9d071b4319
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 20:10:18 +00:00
Bharatt Kukreja
3e4fbc9a22 Camera: Add links to mandatory stream combination tables
Bug: 271143048
Test: Documentation change

Change-Id: I570994c084e730750aa5205b7f97c7546d75b58d
2023-06-14 21:49:32 +00:00
Avichal Rakesh
4a675fbfd1 camera: Fix prefix length path for External Camera HAL am: b8863f6a03 am: e1390f059f am: f617111ca5
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2386907

Change-Id: I0d1a4f3fcb4747dfac1d3f98e967d0b2bd8e6646
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-09 02:46:14 +00:00
Avichal Rakesh
e1390f059f camera: Fix prefix length path for External Camera HAL am: b8863f6a03
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2386907

Change-Id: I1ccf1ab9bc2520801b55741219def26675f381fa
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-09 01:31:57 +00:00
Avichal Rakesh
b8863f6a03 camera: Fix prefix length path for External Camera HAL
The default External Camera HAL accidentally used `sizeof` on a `char *`
to get the length of the string. This "worked" because the string in
question "/dev/" has length of 5, while on a 32-bit system `char *`
has a size of 4. This difference of 1 was handled a few lines later.

However on 64-bit system `sizeof(char *)` returns 8 which breaks the
logic later in code.

As `sizeof` was being used as a proxy for strlen, this CL converts the
uses C++'s std::char_traits::length to determine the string lengths
at compile time.

Bug: 265168485
Test: Manually tested that the calculated length is correct after the
      fix.
Change-Id: I92481a2bcb74fdbbb483ef552168debf07b2d68a
2023-06-08 17:00:35 -07:00
Steven Moreland
503ed3ae2f Merge "Camera Provider VTS: auto-gen" am: 433f0ac41d am: 7967c1a9e4 am: 576f0a3f05
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2611867

Change-Id: Iefa1bb1752e0ca033350af12af5d1e909e402db0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-07 20:07:30 +00:00
Steven Moreland
7967c1a9e4 Merge "Camera Provider VTS: auto-gen" am: 433f0ac41d
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2611867

Change-Id: I7de9f8d7e42a242ad88d72d55aa56a55e05d3951
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-07 17:59:54 +00:00
Steven Moreland
a405bae2d1 Camera Provider VTS: auto-gen
Upload for stashing. I need to redownload/rebuild Android to test
the new feature.

Bug: N/A
Test: atest VtsAidlHalCameraProvider_TargetTest
Change-Id: Ic9aa621b6d3e1297c83add88283559915e36311e
2023-06-05 19:55:32 +00:00
Shuzhen Wang
38ddb278b3 Camera: Adjust VTS tests for zoom override latency
Now that the zoom override latency requirement is reduced to 1 frame,
adjust the VTS test accordingly.

Test: Run VtsAidlHalCameraProvider_TargetTest on Pixel
Bug: 283196724
Change-Id: Ie05106cd79549de6b91f94b5c25ffae768982a1b
2023-05-22 09:42:38 -07:00
Austin Borger
8e9ac0249a Camera VTS: Close the session at the end of stream configuration validation
Not calling mSession->close means that there will be multiple concurrent
sessions open, which may not be supported by the device.

Bug: 280559094
Test: Ran on cuttlefish
Change-Id: Ie622fabd4d0be2f8442e90d1c781bbf905172270
2023-05-04 22:57:49 +00:00
Xin Li
71a948bc4c Merge Android 13 QPR3 tm-qpr-dev-plus-aosp-without-vendor@9936994
Bug: 275386652
Merged-In: Icd15f6e7bfdd7b3e3d0d4b407195258d4171c560
Change-Id: I115d5b25fc5b997a76ac4672262945f3393a9c78
2023-04-18 16:34:16 -07:00
Shuzhen Wang
e1dcc40ec3 Camera: VTS: Fix fence fd double close am: 3ad137edbb am: 2603479470 am: 7c4bb95a18 am: 36f18e9327
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2539830

Change-Id: Ifa023065ee2380dd87c898275fcd0d1cf261fcf5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-18 01:43:17 +00:00
Shuzhen Wang
36f18e9327 Camera: VTS: Fix fence fd double close am: 3ad137edbb am: 2603479470 am: 7c4bb95a18
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2539830

Change-Id: I3fe1f8c5da5fcc4c18ffe9ef19099145c4b5f3b3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-18 01:24:09 +00:00
Shuzhen Wang
2603479470 Camera: VTS: Fix fence fd double close am: 3ad137edbb
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2539830

Change-Id: I6f75051e3ac3bf9d3976969ead45da306d2ff10a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-18 00:49:20 +00:00
Shuzhen Wang
3ad137edbb Camera: VTS: Fix fence fd double close
Fence fd is closed when processCaptureResult returns. In order to
wait for the release fence *after* processCaptureResult returns,
the fence fd needs to be duped.

Test: Vendor testing
Bug: 241281568
Change-Id: Ib74f9bb141802713b476a2ef48a2252125a7915d
2023-04-17 05:02:05 +00:00
Alex Buynytskyy
ec1198d941 UpsideDownCake is now 34
Ignore-AOSP-First: UpsideDownCake Finalization
Bug: 275409981
Test: build
Change-Id: I832ab7a8b5445ba85e27bbcf5be64906bfa0e5be
2023-04-07 23:41:20 +00:00
Treehugger Robot
41e0286ba5 Merge "Camera: VTS: Wait for release fence before consuming buffers" into android13-tests-dev am: 1c8377c24c am: 13f7e14af3 am: 741506640a
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2520900

Change-Id: Idaefcf5c650012829792b5db1760b90045dd653a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-05 18:47:40 +00:00
Treehugger Robot
8c242dcfac Merge "Camera: VTS: Wait for release fence before consuming buffers" into android13-tests-dev am: 1c8377c24c am: c3b6c6c691 am: 35bd55b0d7
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2520900

Change-Id: I5a993cbe326db709d496cdadfabf18b774353c5c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-05 18:46:48 +00:00
Austin Borger
7d601ebfb6 Camera: Update documentation for dataSpace/colorSpace in Stream.aidl.
Bug: 271350569
Test: N/A
Change-Id: I3f853cece53d102c231a8de1cfcab5ed1fdb0dc0
2023-04-05 11:13:30 -07:00
Treehugger Robot
13f7e14af3 Merge "Camera: VTS: Wait for release fence before consuming buffers" into android13-tests-dev am: 1c8377c24c
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2520900

Change-Id: I02490da662338296bd76de6c9e39b8f590aae0c3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-05 17:34:13 +00:00
Treehugger Robot
1c8377c24c Merge "Camera: VTS: Wait for release fence before consuming buffers" into android13-tests-dev 2023-04-05 17:10:33 +00:00
Shuzhen Wang
d1c14328fd Camera: Fix VTS failure for depth only camera am: 72f97643fb am: e5489ab299 am: 1dc71caa85
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2523160

Change-Id: I325c9fe2fdd0423bd7d5f219406521df8e208c60
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-05 03:19:56 +00:00
Shuzhen Wang
b53e6ec5d2 Camera: Fix VTS failure for depth only camera am: 72f97643fb am: 3d44601e7f am: 86e38ac68e
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2523160

Change-Id: I8177f8733c67615d347cad582380952250ced839
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-05 03:19:43 +00:00
Shuzhen Wang
3d44601e7f Camera: Fix VTS failure for depth only camera am: 72f97643fb
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2523160

Change-Id: I849cf4e48e18cc88ec6e62eb4066f2ff05887fa4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-05 02:07:10 +00:00
Shuzhen Wang
72f97643fb Camera: Fix VTS failure for depth only camera
If the device is depth-only, use threshold with Y16 format rather than
IMPLEMENTATION_DEFINED.

This fixes the regression introduced by the fix for b/265984260.

Bug: 276957901
Test: atest VtsAidlHalCameraProvider_TargetTest
Change-Id: If9023f1ed17bb761abbb9be36e567264f8bf0689
2023-04-04 20:57:27 +00:00
Shuzhen Wang
0f56c56709 Camera: VTS: Wait for release fence before consuming buffers
The camera HAL may signal release fence after processCaptureResult.
If the VTS test waits for the release fence in the context of the
capture result, there is possibility of deadlock.

Rather, we should wait for the releaseFence in a different thread
context to really emulate the real application behavior.

Test: atest VtsAidlHalCameraProvider_TargetTest
Bug: 241281568
Change-Id: Id1d92e901aae1cab084846d252ef090fcda182d7
2023-04-04 16:45:28 +00:00
TreeHugger Robot
90c8cd9a3b Merge "Camera: VTS: Fail test if availableSettingsOverride is empty" into udc-dev 2023-04-04 04:57:36 +00:00
Shuzhen Wang
49cb038af1 Camera: VTS: Fail test if availableSettingsOverride is empty
If availableSettingsOverride key is in CameraCharacteristics, it must
contains at least OFF.

Test: atest VtsAidlHalCameraProvider_TargetTest
Bug: 272546819
Change-Id: If6fb7275fc1191947dc120c9873274f4a1883720
2023-03-31 15:44:40 -07:00
Austin Borger
5e80374926 Camera VTS: Fix processColorSpaceRequests.
Changes were made to process10BitDynamicRangeRequest and the way frames
are numbered. This needs to be carried over to
processColorSpaceRequests.

Bug: 275007341
Test: Ran process10BitColorSpaceRequest / process8BitColorSpaceRequest
Change-Id: Ia0eb2fd71aff1bfc8398c85c68e1b9575a1cc058
2023-03-24 18:29:39 -07:00
Austin Borger
7dd74a94c2 Merge "Camera VTS: Updated ColorSpaceNamed and color space tests." into udc-dev 2023-03-22 20:04:15 +00:00
Austin Borger
54b2236b22 Camera VTS: Updated ColorSpaceNamed and color space tests.
BT2020_HLG and BT2020_PQ were adding since the ColorSpaceProfiles tests
were checked in. Add those to the ColorSpaceNamed enum.

Also remove unsupported color spaces from the list of 8-bit color spaces
to test, and change BT2020 to BT2020_HLG.

Test: Ran on Pixel 7.
Bug: 274789672
Change-Id: I9625a1f05017ccdcb383cdf8fd13084688acc79f
2023-03-22 11:30:11 -07:00
Austin Borger
0918fc865a Camera VTS: Add test validating stream configuration metadata
Vendor static metadata entries related to the stream configuration tags
like min frame duration, stall duration could include duplicate or
invalid data. Check that this is not the case.

Initially, this test only has impact for 10-bit HDR devices. More checks
will be added in the future.

Bug: 269165407
Test: Ran test on Pixel 7.
Change-Id: I2ad820c1ba4753508fa1f61b31b51739358099ea
2023-03-22 11:05:14 -07:00
Austin Borger
d76db8d1a9 Merge "Camera AIDL: Remove unsupported color space enums." into udc-dev 2023-03-17 19:20:16 +00:00
Austin Borger
cf9118c283 Camera AIDL: Remove unsupported color space enums.
Bug: 273961103
Test: Presubmit
Change-Id: I349db6968b33024e34facf204b4638c73f4d242d
2023-03-16 10:35:20 -07:00
Avichal Rakesh
8f4111ca7d camera: Add logId to StreamConfiguration
For data analysis from HAL logs, it is helpful to get some higher level
information of the camera usage (such as the client's package name).
HALs are denied access to this higher level information at runtime.

To help data with data analysis, cameraservice will now pass a session
identifier when configuring streams. This identifier can be used to
correlate HAL logs with cameraservice logs at the time of log
consumption. However this correlation cannot be made at runtime. This
identifier is randomly generated and has no functional purpose and can
be safely disregarded by HAL implementations that don't want to
correlate their logs to cameraservice logs.

Bug: 271171714
Test: Manually verified that cameraservice sends correct logId to the
      HAL.
Change-Id: Ib0823a9de8f573233a6e037c178a4398eb26e7ef
2023-03-14 14:45:53 -07:00
Shuzhen Wang
80e67aedf2 Camera: Document limitation on private reprocessing
For private reprocessing, the ImageReader used to produce images into
the ImageWriter isn't aware of the overridden format. If the HAL decides
to override the input IMPLEMENTATION_DEFINED format, reprocessing will
fail.

Document this limitation in the HAL interface.

Test: Build
Bug: 266954992
Change-Id: I9bd05e9682e4d11870bf9bd25763f28291faef75
2023-02-23 22:24:09 +00:00
Shuzhen Wang
22bee670eb Merge "Camera VTS: Override RotateAndCrop metadata" into android13-tests-dev am: 74a4696d56 am: db5e0c9852 am: fbf372d99e
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2450127

Change-Id: I89b2790bb764fb3d76f99d10e77de31d5eb399d3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-22 22:12:09 +00:00
Shuzhen Wang
3b3183fd79 Merge "Camera VTS: Override RotateAndCrop metadata" into android13-tests-dev am: 74a4696d56 am: f5dbd4869e am: 1d07d585e9
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2450127

Change-Id: I0caccb6f505b9c914e01fa95a063fe6990eebb6e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-22 22:10:30 +00:00
Shuzhen Wang
db5e0c9852 Merge "Camera VTS: Override RotateAndCrop metadata" into android13-tests-dev am: 74a4696d56
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2450127

Change-Id: I6d4545e2567ac8a3650c98dcc0f4079cc011c52a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-22 20:53:20 +00:00
Michelle Ho
388d4ffb3b Camera VTS: Override RotateAndCrop metadata
Per camera metadata definition, ROTATE_AND_CROP_AUTO will never be sent
to the HAL, as camera service takes reponsibility of translating AUTO to
specific rotation value. So for VTS tests, we should always override
the metadata in CaptureRequest.

Bug: 270052579
Test: Run VtsAidlHalCameraProvider_TargetTest
Change-Id: I96f4992e145da25c463b0b406aa2a371af30f41f
2023-02-22 10:19:13 +00:00
TreeHugger Robot
626c697e3d Merge changes from topic "fmq_rust_no"
* changes:
  Remove rust backend from camera AIDL interface
  Disable Rust backend for FMQ type
2023-02-16 00:20:17 +00:00
Devin Moore
e1ffa0ca4e Remove rust backend from camera AIDL interface
FMQ is not supported in rust yet.

Test: m
Bug: na
Change-Id: Icfd804f9b30a6c9feffc839dac80ff1cdbe688d2
2023-02-15 21:24:57 +00:00