Commit Graph

102 Commits

Author SHA1 Message Date
Shuzhen Wang
a9bd7a4e4f Camera: Timing requirement between notify and processCaptureResult
For physical sub-camera result error, require the notify() call is made
before the final processCaptureResult.

Test: Updated VTS test passes
Bug: 138727686
Change-Id: Ifba247bc1aa35ecdba651ea888dd26902a31647e
2019-08-14 11:03:41 -07:00
zhangweiwei
d21dd860ce Camera: Vts: Fix missing session close
Test: vendor testing, Camera VTS on Pixel
Bug:135898951
Change-Id: I61f5a90d62732a00d0bc9abad05db0a1a9cc2b63
2019-07-08 08:45:18 -07:00
Emilian Peev
fd4ce7e76a Camera: VTS: Don't access invalid resources
There is no guarantee that the static metadata
pointer passed in the "DeviceCb" contructor will
be valid after the call completes.  The device
callback instance is expected to be active until
the camera session is open. Clone the required
metadata in "DeviceCb" and manage the lifetime
appropriately by using the "CameraMetadata"
wrapper.

Bug: 135976837
Test: CameraHidlTest#processCaptureRequestPreview
Change-Id: Idd3c6c8c2e5a3fc44a49712e25a04009cbd471b1
2019-06-28 17:03:12 +00:00
TreeHugger Robot
d4686a1a06 Merge "Camera: VTS: Allow unsupported logical/physical combination" into qt-dev 2019-06-26 15:42:57 +00:00
Shuzhen Wang
fa2a909836 Camera: VTS: Allow unsupported logical/physical combination
Multi-camera API requirement is relaxed to allow camera device not
support physical stream combinations. Adjust the test accordingly.

Test: processMultiCaptureRequestPreview
Bug: 135688720
Bug: 135728906
Change-Id: I8c5269c5d3fd7f6eef440c818706629af2233196
2019-06-24 11:30:00 -07:00
Yin-Chia Yeh
aba88c6cbc Camera: fix unknown bufId issue
It's legit to have bufId 0 in processCaptureResult with HAL buffer
manager, but not for returnStreamBuffers.

Test: the failed test can now pass
Bug: 135565913
Change-Id: I05947bc159bb9ba00a670b98d4622f685b4ac760
2019-06-19 11:51:48 -07:00
Shuzhen Wang
915115e381 Camera: Add support for IMapper 3.0
Use IMapper 3.0 if available. Otherwise, fall back to IMapper 2.0.

Test: Update camera VTS test passes
Bug: 128013727
Change-Id: I9bb54bbc290f1b90ef593dee9796b22b0dd49671
2019-05-14 10:39:25 -07:00
TreeHugger Robot
7ffb10cd86 Merge "Camera: require torch API support for Android Q" into qt-dev 2019-04-11 22:04:52 +00:00
Yin-Chia Yeh
51ea7c984b Camera: require torch API support for Android Q
Torch API was mandated on legacy libhardware camera module 2.4.
We kept the option of not supporting this API because the first
HIDL legacy wrapper needs to also support libhardware camera
module 1.0 + HAL1.0. Now that HAL 1.0 is no longer supported,
we can reenforce the torch API being supported by camera HAL as
this is critical to power usage of flashlight usecase.

Test: adb shell VtsHalCameraProviderV2_4TargetTest
--hal_service_instance=android.hardware.camera.provider@2.4::ICameraProvider/legacy/0
Bug: 113336515

Change-Id: I0dcf2e7a5cddadcd097caf6913625d8a607065f8
2019-04-11 10:35:17 -07:00
Emilian Peev
70eae1d3f0 Camera: Set buffer request stream id
Additionally fix a possible issue with the buffer request index
and variable shadowing.

Bug: 129090247
Test: adb shell
/data/nativetest64/VtsHalCameraProviderV2_4TargetTest/VtsHalCameraProviderV2_4TargetTest
--hal_service_instance=android.hardware.camera.provider@2.4::ICameraProvider/legacy/0

Change-Id: I34ab0285e59233c1b6d276f9167372ef3b0bbd0b
2019-04-04 13:22:25 -07:00
Shuzhen Wang
7788df304e Camera: Update VTS test for revised multi-camera requirement
Test to make sure logical multi-camera device support
isStreamCombinationSupported() for 3.5 and above devices.

Test: VtsHalCameraProviderV2_4TargetTest
Bug: 119325664
Change-Id: I734278799f10ed215ceb5dd108ac7f722f7f7925
2019-03-21 17:32:21 -07:00
Yin-Chia Yeh
c2707ebcc7 resolve merge conflicts of 00236ffa71 to master
Bug: None
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I07e452ffd8dbe4492489d47459eb3662c76b78dd
2019-03-12 15:32:31 -07:00
Emil Jahshan
b8524954e6 VTS tests to work with depth Y16
modified VTS tests functions to work with the Y16 format with the correct dataspace.
Y16 changes are in this patch: 847192

Test: ran and tested on intel depth camera D415 and a regular RGB camera

Change-Id: Ie40347d58d4f72ed2fc9676bdaab2d1dca5dc5bc
Signed-off-by: Emil Jahshan <emil.jahshan@intel.com>
2019-02-24 09:40:24 +00:00
Emilian Peev
22eac5f667 Camera: Enable session parameter reconfiguration queries
Check with Hal whether stream reconfiguration is required
in case of session parameter updates.

Bug: 122609098
Test: Manual using application,
vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: Ic02525871aa079393b28b2da53764093f95f881d
2019-02-12 14:54:00 -08:00
Eino-Ville Talvala
fbb176e069 Merge changes from topic "camera-provider-2.5"
* changes:
  Camera: Add default 2.5 provider for legacy and external webcam HALs
  Camera: Restructure default camera.provider 2.4
  camera.provider: Add @2.5 to support notifyDeviceStatusChange
2019-02-11 01:22:52 +00:00
Eino-Ville Talvala
aa04b3ba10 Camera: Add default 2.5 provider for legacy and external webcam HALs
Add 2.5 implementations, which do not support passthrough mode and
therefore doesn't need the HIDL_Fetch methods or a specially-named
-impl library in the /hw directory.  Instead, the service directly
instantiates the necessary service.

Also add VTS tests for the new notification

Test: Verify device state changes are logged by HAL
Test: Camera starts as usual with both 2.4 and 2.5 providers on
      walleye.  Camera CTS completes.
Test: New VTS tests pass
Bug: 121379978
Change-Id: I0fc99379eb7e01c5b2efb20afb5753bb6ce8b627
2019-02-07 16:30:14 -08:00
Shuzhen Wang
55386823a3 Camera: Add HAL interface change for HEIC
- Add new usage flag to indicate the consumer of the buffer is HEIC
encoder.
- Add new data space to indicate that the BLOB buffer is HEIC encoded.
- Add new BlobId to specify JPEG APPs segments.

Test: testHeic CTS test
Bug: 79465976
Change-Id: Iaa6a1d017223e84fc1c5dd0a9d90d9f09240e827
2019-02-04 16:44:16 -08:00
Emilian Peev
5f103998ff Camera: Add dynamic depth tags and dataspace
Add necessary metadata tags for supporting dynamic depth
streams.
Includes minor gfx fix which should help eliminate build
errors after HIDL header autogen.

Bug: 109735087
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
    --skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: Ia476b195095ae7a29bc740174331dfbfdaa6d320
2019-01-27 20:06:11 -08:00
Shuzhen Wang
4ee03d1ba7 Merge "Camera: Add ACTIVE_PHYSICAL_ID metadata for logical camera" 2019-01-24 01:55:27 +00:00
Pierre Lee
62da080e00 Merge "The test failed when one of the three cameras was configured with a maximum android.scaler.availableStreamConfiguration size of 1600*1200" am: ac6175ee79 am: cb516f7cca
am: 556b049596

Change-Id: I40eb4709eaea843a06222c20baec61c150d5e3f5
2019-01-21 20:29:42 -08:00
Pierre Lee
6f6fe9a5e2 The test failed when one of the three cameras was configured with a maximum android.scaler.availableStreamConfiguration size of 1600*1200
VTS gets the name of all the cameras in the machine and check each camera, When traversal to the configuration reference of 1600*1200 camera, the outputPreviewStreams variable does not clear, save the value of the Previous camera
The outputPreviewStreams variable needs to be cleared when check next camera

Bug: 122806546
Test: ConfigureStreamsWithSessionParameters can pass when one of the three cameras was configured with a maximum android.scaler.availableStreamConfiguration size of 1600*1200
Change-Id: Ia4845d43871730e14b5ba1411ce72f8c4bb69042
Merged-In: Ia4845d43871730e14b5ba1411ce72f8c4bb69042
2019-01-22 04:13:52 +00:00
Shuzhen Wang
cc266b1699 Camera: Add ACTIVE_PHYSICAL_ID metadata for logical camera
And update VTS test for the new tag.

Test: Compile
Bug: 77915333
Change-Id: Ib0f1d54965047c5d20bf0c6f90ddb07225d8a328
2019-01-18 00:21:10 -08:00
Pierre Lee
f234e45b20 The test failed when one of the three cameras was configured with a maximum android.scaler.availableStreamConfiguration size of 1600*1200
VTS gets the name of all the cameras in the machine and check each camera, When traversal to the configuration reference of 1600*1200 camera, the outputPreviewStreams variable does not clear, save the value of the Previous camera
The outputPreviewStreams variable needs to be cleared when check next camera

Bug: 122806546
Test: ConfigureStreamsWithSessionParameters can pass when one of the three cameras was configured with a maximum android.scaler.availableStreamConfiguration size of 1600*1200
Change-Id: Ia4845d43871730e14b5ba1411ce72f8c4bb69042
2019-01-18 11:12:37 +08:00
Emilian Peev
338a5559f3 resolve merge conflicts of fe57c318d3 to
master

Bug: None
Test: I solemnly swear I tested this conflict resolution.
Change-Id: Ibe64d18c0637f22032a5aedc74da5cd0a0141e2a
2019-01-14 12:33:59 +00:00
Yin-Chia Yeh
9d4ff706e1 Camera: fill in bufferSize correctly
Test: partner testing
Bug: 118724188
Change-Id: If21762467e6458f923d7f9b7eeef41d987c196a1
2019-01-14 10:54:11 +00:00
Emilian Peev
40a8c6ed51 Camera: Add support for stream combination query
Camera devices 3.5 and later can optionally support
stream combination queries. These use the regular
'StreamConfiguration' structure however in contrast
to normal stream configuration, the query will be
much faster and will not cause any HW/SW side effects.
Additionally it will be possible to run stream
combination queries at any time after the camera
device is open.
Implement stream combination query for the external
camera provider.

Bug: 111593096
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I59ec936d17dabc89ba49407a750df1cd2e61b145
2018-11-29 16:40:36 +00:00
TreeHugger Robot
ee0ba36773 Merge "Camera: update VTS for new useHalBufManager feature" 2018-11-29 13:08:24 +00:00
Yin-Chia Yeh
4d25042aef Camera: update VTS for new useHalBufManager feature
Test: updated vts pass on B1 internal/external camera HAL
Bug: 109829698
Change-Id: I09de76b93e88e88a7b67df0b22dda7f19596c8e4
2018-11-28 11:59:53 -08:00
Shuzhen Wang
a5504b86ec Camera: Fix MONO and NIR enumeration version
Test: VTS test passes
Bug: 70216652
Change-Id: I33bdc849e6655285b76a20d697fdab31cbea260d
2018-11-28 19:52:53 +00:00
Shuzhen Wang
4e18944aaa Camera: Vts: Add test for Y8 and monochrome camera
Add VTS test for Y8 and monochrome capabilities requirements.

Test: adb shell
/data/nativetest64/VtsHalCameraProviderV2_4TargetTest/VtsHalCameraProviderV2_4TargetTest
--hal_service_instance=android.hardware.camera.provider@2.4::ICameraProvider/legacy/0
Bug: 70216652
Bug: 117177512
Change-Id: If40f0e16c641a88eff24044a36bded0ad0e55b45
2018-11-15 14:22:32 -08:00
Emilian Peev
ee37bd5ced Camera: Add support for recommended stream configurations
Hal must be able to recommend efficient stream
configurations for common client use cases. Add the
necessary static metadata keys.

Bug: 64029608
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I0c2306501094383af78cb7ced1fa700b259d2b08
2018-11-07 10:13:16 +00:00
Shuzhen Wang
6bdeaf55bf VTS: Add test for device version 3.5
Also includes:
- Add test for getPhysicalCameraCharacteristics.
- Doc update for the new HIDL API.
- Tighten boundary check for camera ID in CameraModule.

Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO

Bug: 79523700
Bug: 115969176
Bug: 116512585
Change-Id: I051d1b0c91834781a1f8d893ed5ebfa579b03774
2018-10-04 11:56:20 -07:00
Ng Zhi An
d6c009d46f Skip hal v1 check after p on low ram devices am: a0eb7e415c am: f8f519f412
am: cab24d270d

Change-Id: I5642eb8b968849c8a60488f372e5eac8bff77637
2018-10-02 15:47:05 -07:00
Ng Zhi An
a0eb7e415c Skip hal v1 check after p on low ram devices
Bug: 116546417
Test: vts-tradefed run commandAndExit vts
-m VtsHalCameraProviderV2_4Target
-t VtsHalCameraProviderV2_4Target#CameraHidlTest.noHal1AfterP

Change-Id: I28782b560975b49e20d6b42d599d689f819a9383
2018-10-02 19:52:50 +00:00
Emilian Peev
8edae5199e Camera: Extend camera characteristics test case
Verify that device implementations do not set the
new privacy characteristics key:
ANDROID_REQUEST_CHARACTERISTIC_KEYS_NEEDING_PERMISSION
As required by API contract.

Bug: 112160024
Bug: 115969437
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO

Change-Id: I8d8f0d0e1cdec24117d47e7ae45602f56573376f
2018-09-18 14:32:28 +01:00
Emilian Peev
fe40b621b7 Camera: Allow 3% ISO tolerance during ISO burst VTS
The advertised ISO ranges may not be entirely supported on
some devices. Expect a 3% tolerance when comparing the applied
results versus the expected ISO value.

Bug: 80025874
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO

Merged-In: Ibd2758e48a0924e81877e35dd27433669274fdb3
Change-Id: Ibd2758e48a0924e81877e35dd27433669274fdb3
(cherry picked from commit 0fdd7cdc0e)
2018-08-29 17:57:11 +00:00
Emilian Peev
6fa94395fd Camera: Don't hold 'mLock' when closing the camera session
After flushing the camera requests don't try to close the
camera session while still holding 'mLock'. Different Hals
could still try and return additional results which then will
get blocked on 'mLock'. Closing the session could potentially
introduce a deadlock if the Hal implementation waits for any
of the result calls to return.

Bug: 111836165
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO

Change-Id: I0f309f435cc76db3f9b6ba500da65a232b014717
Merged-In: I0f309f435cc76db3f9b6ba500da65a232b014717
(cherry picked from commit 8e92056837)
2018-08-28 18:17:55 +00:00
Hsin-Yi Chen
68c347fa62 Fix ICameraDeviceCallback version in VTS test
Test: ./VtsHalCameraProviderV2_4TargetTest --gtest_filter=CameraHidlTest.constructDefaultRequestSettings
Bug: 111625570
Change-Id: I8ad02afb0e9c2131c240999c4a8c78a1f770e847
Merged-In: I8ad02afb0e9c2131c240999c4a8c78a1f770e847
(cherry picked from commit cccd5bf1dd)
2018-08-13 15:16:28 +08:00
Emilian Peev
8e92056837 Camera: Don't hold 'mLock' when closing the camera session
After flushing the camera requests don't try to close the
camera session while still holding 'mLock'. Different Hals
could still try and return additional results which then will
get blocked on 'mLock'. Closing the session could potentially
introduce a deadlock if the Hal implementation waits for any
of the result calls to return.

Bug: 111836165
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO

Change-Id: I0f309f435cc76db3f9b6ba500da65a232b014717
2018-07-26 13:04:54 +01:00
Hsin-Yi Chen
cccd5bf1dd Fix ICameraDeviceCallback version in VTS test
Test: ./VtsHalCameraProviderV2_4TargetTest --gtest_filter=CameraHidlTest.constructDefaultRequestSettings
Bug: 111625570
Change-Id: I8ad02afb0e9c2131c240999c4a8c78a1f770e847
2018-07-20 13:02:56 +08:00
Emilian Peev
0fdd7cdc0e Camera: Allow 3% ISO tolerance during ISO burst VTS
The advertised ISO ranges may not be entirely supported on
some devices. Expect a 3% tolerance when comparing the applied
results versus the expected ISO value.

Bug: 80025874
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO

Change-Id: Ibd2758e48a0924e81877e35dd27433669274fdb3
2018-06-26 09:17:33 +01:00
Emilian Peev
e0c4c497b3 Camera: Add only physical ids during multi-camera configuration
Per API specification "physicalCameraId" must not
contain any logical camera ids. The test case
should only use the physical ids it receives from the
camera static metadata.

Bug:109874630
Test:run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO

Change-Id: I82c5bf44f4572b3a6abdbb3101a11140907b1c9e
2018-06-07 18:21:25 +01:00
Emilian Peev
154e66e57a Camera: Append non-partial results
Bug: 79133095
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO

Change-Id: Iac1318dfc095fb961b815d35bbff6b6a97173a05
2018-05-16 19:07:38 +01:00
Yin-Chia Yeh
ccdcb8b60f Camera: fix first launch api level logic
Fall back to sdk_int when first api property is not set.

Test: partner device
Bug: 79133095
Change-Id: Ice78e42cd25d351586d0d2b16c0b555c504b9d4a
2018-05-02 12:20:54 -07:00
Emilian Peev
9e7b2f445c Camera: Allocate graphics buffers via 'IAllocator'
Camera graphic buffers should always be allocated using the
respective HIDL API.

Bug: 77681294
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO

Change-Id: Ibef88548fc3d29df606e4f66f5f3f4e89d3bf654
2018-04-09 18:21:48 +01:00
Yin-Chia Yeh
0d72ef929f Camera: external camera VTS fixes
Test: VTS pass for external camera
Bug: 72261912
Change-Id: I4f1da37081d0b8c1519ecc0ecc0cc6c3850ee2bb
2018-03-13 17:41:33 +00:00
Yin-Chia Yeh
58dd1650c7 Camera: assert no HAL1 in devices launched in P+
Also remove the length check for getCameraIdList as external
camera providers are supposed to report 0 there.

Test: atest VtsHalCameraProviderV2_4Target (on marlin)
Bug: 69473913
Change-Id: I9059a699a6c46a3aac76454e7e8673d2539d0fa1
2018-02-23 12:09:39 -08:00
Emilian Peev
a5f0207db7 Camera: Add sensor sensitivity burst test
A test is needed which will generate a burst request
that contains alternating sensor sensitiviry values.
The corresponding results need to be verified accordingly.

Bug: 37533777
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO

Change-Id: I58ccb645b83c48ba3360aae5ad44036ce213964d
2018-02-19 09:00:29 +00:00
Emilian Peev
e0c52bb1f0 Camera: Add support for empty physical settings optimization
Empty individual physical settings should be allowed after
one initial successful request.

Bug: 72524845
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO

Change-Id: I18d22a56f5f0e6e1d81a6e8c844697c02bc343a1
2018-02-09 20:19:36 +00:00
Emilian Peev
6c87861cf6 camera: Update multi-camera capture VTS case
Individual physical camera requests should only be allowed
in case the respective physical Ids are among the last
configured Hal streams.

Bug: 72524603
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: Ia5715398f74f03528d7fe2e52e5b9e32ad654a2c
2018-02-02 08:36:12 +00:00