Commit Graph

131 Commits

Author SHA1 Message Date
Treehugger Robot
ed6abddaf8 Merge "camera vts: fix CameraHidlTest::isSecureOnly for HAL1 Device" am: d56db87577 am: 83a6256f38
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1428451

Change-Id: I2aa2077cffbbee18a0cd25acb46c3a8e0c4b6f14
2020-09-18 16:31:22 +00:00
NukemZHYu
5508e51c5c camera vts: fix CameraHidlTest::isSecureOnly for HAL1 Device
change (getCameraDeviceVersion(mProviderType, name) to (getCameraDeviceVersion(name, mProviderType)
Avoid Camera HAL 1 Device fail on Status(EX_TRANSACTION_FAILED): 'BAD_TYPE:

Bug: 168676352
Test: run commandAndExit vts -m VtsHalCameraProviderV2_5Target

Change-Id: Icb164538bbc357e22412a7320bb721c220c24a4c
2020-09-16 21:00:33 +00:00
Jayant Chowdhary
ef9374cb20 Camera HAL Vts : Fix usage flag combination during gralloc allocation.
Earlier, for processCaptureRequestInternal, we took into account
producer and consumer usage flags returned by configureSingleStream.
Instead we should be taking into account the producer flag returned by
configureSingleStream and the consumer flag passed into
processCaptureRequestInternal (for output streams).

Bug: 162344072

Test: Use secure camera as secure only camera and run vts
Test: Run camera vts
Test: Vendor testing

Change-Id: I9fbd4db4cff48c25684f097907e7ba995c3edf41
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
2020-07-28 19:18:00 +00:00
Jayant Chowdhary
6a9a809e36 camera : Allow non bc camera devices through getConcurrentStreamingCameraIds
Also Add y16 stream combinations to configureConcurrentStreamsAvailableOutputs vts test

Bug: 159247271

Test: VtsHalCameraProviderV2_4TargetTest
      --gtest_filter=PerInstance/CameraHidlTest.configureConc* on
      cuttlefish

Change-Id: If5fea1fc47a3bcc8d3695e23f01a55091c246eda
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
2020-06-24 12:42:49 -07:00
Eino-Ville Talvala
d6346872c6 Camera: Fix insensitive language in comments and names
Test: Builds
Bug: 159480149
Change-Id: Ic048071867b69e5c2d337f59f697980a6a64587f
2020-06-19 15:25:01 -07:00
Jayant Chowdhary
ec37ce4947 Merge changes from topic "vts-secure-only-camera" into rvc-dev
* changes:
  Camera VTS: Add a minimal test for secure only cameras.
  camera vts: Skip regular vts tests for secure only cameras.
2020-06-01 22:52:53 +00:00
Jayant Chowdhary
a80974ca8c Camera VTS: Add a minimal test for secure only cameras.
Bug: 156749607

Test: VtsHalCameraProviderV2_4TargetTest
      --gtest_filter=PerInstance/CameraHidlTest.processSecureCaptureRequest* on device which
      SECURE_IMAGE_DATA.

Change-Id: I57f6210b69b383dc4f43cc4ee8272050a0432541
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
2020-06-01 12:15:58 -07:00
Jayant Chowdhary
83b724a23f camera vts: Skip regular vts tests for secure only cameras.
Bug: 156749607

Test: fake mark a camera id as a secure only, see that it doesn't get
      tested unless a test calls getCameraDeviceNames with addSecure = true

Test: VtsHalCameraProviderV2_4TargetTest passes on device without any secure only
      cameras

Change-Id: Ibe428b663bd8024f46f0273ed5dfaa108a90dd43
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
2020-06-01 12:14:47 -07:00
Shuzhen Wang
1d4e72f387 Camera: Allow maxDigitalZoom to be less than maxZoomRatio
For concurrent camera, we allow the maximum digital zoom to be smaller
than the maximum zoom ratio. Adjust VTS test accordingly.

Test: camera VTS test
Bug: 151891611
Change-Id: I1d3813ed93faa83689dcb6a83490fae5581c602f
2020-05-27 12:04:38 -07:00
Jayant Chowdhary
7612f161a7 vts camera characteristtics: add tests for system camera restrictions.
The system camera kind of physical cameras which are public, should be the same as the
system camera kind of the logical cameras they back.

The system camera kinds of all logical cameras that share the same
hidden physical cameras must be the same.

Bug: 152053830

Test: VtsHalCameraProviderV2_4TargetTest
      --gtest_filter=PerInstance/CameraHidlTest.getCameraCharacter*

Test: VtsHalCameraProviderV2_4TargetTest
      --gtest_filter=PerInstance/CameraHidlTest.systemCamera*

Change-Id: Iba07a6aa4a5fb465e9e0c4d0adedf6becaba7d14
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
2020-04-28 10:32:06 -07:00
Shuzhen Wang
acf026ec78 Camera: Migrate BOKEH_MODE to EXTENDED_SCENE_MODE
Migrate BOKEH_MODE_STILL_CAPTURE and BOKEH_MODE_CONTINUOUS to be 2 enums
of CONTROL_EXTENDED_SCENE_MODE.

Test: VtsHalCameraProviderV2_4TargetTest
Bug: 151759402
Change-Id: I4ee88ab550902edadbd8dc446677c5a02ea582cb
2020-03-19 09:49:03 -07:00
Jayant Chowdhary
7d69fc8ffa camera: Add more VTS tests for ICameraProvider@2.6
Add initial test exercising getConcurrentStreamingCameraIds() and
isConcurrentSessionConfigurationSupported()

Bug : 148180006

Test: VtsHalCameraProviderV2_4TargetTest --gtest_filter=PerInstance/CameraHidlTest.configureConc*
      on cuttlefish

Change-Id: If3821ba5452d487e9a0d83d01e2da86ddf509b50
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
2020-03-02 00:15:00 -08:00
Emilian Peev
f0aa3f0107 Camera: Add ICameraDevice@3.6 subinterface
Camera device subinterface version 3.6 must inherit
from the previous version 3.5 and continue to support
device sessions with versions 3.2, 3.5 as well as the
most recent 3.6.

Bug: 148235329
Test: VtsHalCameraProviderV2_4TargetTest
--gtest_filter=PerInstance/CameraHidlTest.switchToOffline/0_external_0

Change-Id: Ia46cbd771eb1d2624cc0cee808a3eb074fc775b6
2020-02-04 10:12:15 -08:00
Yin-Chia Yeh
64479a583b Merge changes from topic "OfflineReproc-impl-tests"
* changes:
  Camera: fix offline processing VTS/CTS
  Camera: Verify offline session behavior in VTS
2020-02-04 17:52:00 +00:00
Yin-Chia Yeh
97978fbe32 Camera: fix offline processing VTS/CTS
Test: camera VTS test + add manual delay to webcam HAL output thread
      so there will be some requests left for offline processing
      camera CTS OfflineSessionTest
Bug: 135142453
Change-Id: If5718350707ef051f96b96da75f934089b10467d
2020-02-03 10:30:05 -08:00
Emilian Peev
9ab6b3eb3e Camera: Verify offline session behavior in VTS
Camera offline sessions can be used as way to
free up and share camera resources. Check that
the corresponding HIDL API behaves as per
documentation.

Bug: 135142453
Test: adb shell /system/bin/VtsHalCameraProviderV2_4TargetTest
--hal_service_instance=android.hardware.camera.provider@2.4::ICameraProvider/internal/0

Change-Id: I5b714061894eb2b0179a44dcedf81b0155fb4b54
2020-02-03 10:29:45 -08:00
Shuzhen Wang
05066109ff Camera: Add ICameraProviderCallback version 2.6
The new version adds callback for physical sub-camera status callback.

Test: VtsHalCameraProviderV2_4TargetTest --hal_service_instance=android.hardware.camera.provider@2.6::ICameraProvider/internal/1
Bug: 119325027
Change-Id: I8148f6c55f80d7f4092d2fe5ccf92509bb8c069d
2020-01-23 10:47:54 -08:00
Shuzhen Wang
c5ae069c79 Camera: Add new pose reference value UNDEFINED
If a camera device's location/orientation changes due to user action
(such as phone fold/unfold), its pose reference can be set to UNDEFINED.

Bug: 119325027
Test: VtsHalCameraProviderV2_4TargetTest
Change-Id: I227be31db64db049a8fad57e6765e1b6e025529a
2020-01-15 11:09:26 -08:00
Shuzhen Wang
6856ca7650 Camera: Add support for CONTROL_ZOOM_RATIO
- The new zoom API combines optical and digital zoom, and supports both
zoom-out and zoom-in with more precision.
- Support separate zoom range for different bokeh modes.

Test: Camera vts test
Bug: 130025314
Change-Id: I67e0fac281a81d54f8828456c2f36df56be1803f
2019-12-18 11:36:08 -08:00
TreeHugger Robot
7df41c1a9d Merge "[vts-core] add VtsHalCameraProviderV2_4TargetTest to vts-core" 2019-12-12 03:34:00 +00:00
Marissa Wall
3b6cfe061e camera-vts: don't import gralloc buffer after allocating
Before moving to GraphicBufferAllocator, the test just allocated
the buffer. GraphicBufferAllocator allocates and imports the buffer.
Update the test to only allocate the buffer.

Bug: 145941038
Test: VtsHalCameraProviderV2_4TargetTest

Change-Id: Ib3801d06265836eec2875f13ae6f2ec070d7d353
2019-12-11 20:49:37 +00:00
nelsonli
b7287d2e79 [vts-core] add VtsHalCameraProviderV2_4TargetTest to vts-core
Convert VtsHalCameraProviderV2_4TargetTest to be parameterized test
and add it to vts-core

Bug: 142397658
Test: $atest VtsHalCameraProviderV2_4TargetTest
Change-Id: I76b20be8ef18dadc4fc5d10db5c541aadf3b9b18
2019-12-10 14:15:47 +08:00
Marissa Wall
da54091640 gralloc: move VtsHalCameraProviderV2_4TargetTest to GraphicBufferAllocator/Mapper
libui's GraphicBufferAllocator/Mapper already wrap the different
gralloc functions and hide the details from the caller. There is no
reason VtsHalCameraProviderV2_4TargetTest needs to directly talk to
gralloc. This patch updates VtsHalCameraProviderV2_4TargetTest to
use libui.

Bug: 145139476
Test: adb shell /system/bin/VtsHalCameraProviderV2_4TargetTest
--hal_service_instance=android.hardware.camera.provider@2.4::ICameraProvider/internal/0

Change-Id: I2c2a913f6c5aea2ce7260b68293df404f40e0ddd
2019-11-26 09:43:04 -08:00
Emilian Peev
bbf5959db6 Camera: Signal when all Hal requested buffers return
Depending on timing 'waitForBuffersReturned' can be
called before all Hal requested buffer are able to return.
To avoid potential timeout, check for any outstanding buffers
and signal accordingly before returning from 'returnStreamBuffers'.

Bug: 144308932
Test: adb shell /system/bin/VtsHalCameraProviderV2_4TargetTest
--hal_service_instance=android.hardware.camera.provider@2.4::ICameraProvider/internal/0

Change-Id: Idb3d8bd6fdbdfe0798c38a1b83c17f1a8379738e
2019-11-12 17:27:00 -08:00
TreeHugger Robot
0b93288c77 Merge "gralloc: name buffer at allocation time" 2019-11-07 23:13:21 +00:00
Marissa Wall
bf9f6d39ed gralloc: name buffer at allocation time
Allow the client to name their buffer at allocation time.

b/141632767 will let the client(s) query the name of the
buffer later.

Bug: 144026910
Test: VtsHalGraphicsMapperV4_0TargetTest

Change-Id: Ib08c1909c10a1778c50b59e0a42ddf19140d8f03
2019-11-07 11:46:58 -08:00
Shuzhen Wang
07ccc7a17e Camera: Add bokeh mode tags in camera metadata
Introduce new bokeh mode metadata tags for camera device to enable bokeh
effect.

Test: Build and read docs
Bug: 118258123
Change-Id: I99b85fe60ee8af008592922ae2cce64be33e88a2
2019-10-29 17:18:16 -07:00
TreeHugger Robot
895cf804d6 Merge "Camera: Timing requirement between notify and processCaptureResult" 2019-08-22 05:08:10 +00:00
Marissa Wall
a51eb93c51 gralloc: add IAllocator/IMapper 4.0 to camera HIDL
Add support for gralloc 4.0 to camera interface.

Bug: 136016160
Test: VtsHalCameraProviderV2_4TargetTest on a pixel
      with a local rev'd version of gralloc 4.0.

Change-Id: I7f2e14c291fbdafcb68c1e9c6e94fed87d810191
2019-08-20 15:36:41 -07:00
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