Commit graph

110 commits

Author SHA1 Message Date
Tanmay Patil
b97cceb495 Adds default implementation for ultrasonics HAL
- Replicates logic from camera for default impl.

Bug: 148619310
Fixes: b/148608401
Test: Builds, VTS passes.

Change-Id: I5c1b4c615f98cb7405a9a233a7853daba09cc63d
2020-02-20 16:50:58 -08:00
Tanmay Patil
496b86ccbb Adds HAL for ultrasonics to EVS 1.1
- Adds new structs in types.h
- Adds two new .hal IEvsUltrasonicsArray and IEvsUltrasonicsArrayStream
- Adds new APIs calls in IEvsEnumerator
- Adds empty default implementation for all

Bug: 148619310

Test: Build and functionality tested with demo app.

Change-Id: I8b501c7328d4c02cc694b5a2c73a519ca6d87710
2020-02-19 12:36:58 -08:00
Changyeon Jo
043a7a027f Add a method to support multi-display usages
- Add getDisplayIdList() and openDisplay_1_1() to IEvsEnumerator.
- Add getDisplayInfo_1_1() to IEvsDisplay.
- Update CameraToDisplayRountTrip test case to use new methods.
- Update default implementation.

Bug: 141886260
Bug: 146567078
Bug: 147553536
Test: VtsHalEvsV1_1TargetTest
Change-Id: I3c17aecc482770074159f7ccaf8e00cadf711e76
Signed-off-by: Changyeon Jo <changyeon@google.com>
2020-02-16 05:56:10 -08:00
Changyeon Jo
5a53659077 Add a metadata field to BufferDesc
This change adds a variable-length metadata field to BufferDesc.  This
new data is owned by EVS Camera HAL implementations and opaque to EVS
manager.

Change-Id: If9b25093afa55ea0782af776a3f67923664e0058
Fix: 142891952
Bug: 142888671
Test: Build successful
Signed-off-by: Changyeon Jo <changyeon@google.com>
2020-02-06 08:50:05 -08:00
Zhaoming Yin
cafc24b5a5 Merge "Add fuzzer for EVS HAL" 2020-01-31 02:24:51 +00:00
TreeHugger Robot
230a2eb1d6 Merge "Use regex names for EVS HAL implementations" 2020-01-30 23:08:21 +00:00
Zhaoming Yin
838c4c19d3 Add fuzzer for EVS HAL
Bug: 147513710
Test: Follow go/android-fuzzing to build and test

Change-Id: Ia2a64f73d3928bc529a1785e999ed7f032446f8a
2020-01-30 13:14:38 -08:00
Changyeon Jo
b0e72927dc Change the location of a configuration file
Move a configuration xml file from /system/etc to /vendor/etc.

Bug: 148424402
Test: m -j selinux_policy
Test: check violations while EVS service is running.
Change-Id: I17c74798564bb0f5684157c483b45857b39ab6bd
Signed-off-by: Changyeon Jo <changyeon@google.com>
2020-01-30 09:00:35 -08:00
Changyeon Jo
8bcb492309 Use regex names for EVS HAL implementations
This change deprecates EvsEnumeratorHw, which has been a name for
EVS HAL Enumerator implementations, and uses regex names for them.

New method, isHardware(), is added to IEvsEnumerator and the clients
should use this method to tell whether current service is EVS manager
or driver.

Bug: 147010694
Test: m -j
Test: atest VtsHalEvsV1_1TargetTest
Change-Id: I89441936734fde0f0cc2f0151ee9b6622f61814d
Signed-off-by: Changyeon Jo <changyeon@google.com>
2020-01-29 19:59:48 -08:00
Changyeon Jo
6caf74b061 Implement getPhysicalCameraInfo() method
This change adds a new method, getPhysicalCameraInfo(), to IEvsCamera
interface, implements it in the default implementation, and update
corresponding VTS test cases.

Bug: 142275664
Test: VtsHalEvsV1_1TargetTest
Change-Id: Ic993d5670c34f05ef8d807708f27dec75008b04b
Signed-off-by: Changyeon Jo <changyeon@google.com>
2020-01-04 09:56:06 -08:00
Changyeon Jo
a203a13bf3 Update EVS VTS test cases
This change updates existing EVS VTS test cases to verify the logical
camera device.

Bug: 142275664
Test: VtsHalEvsV1_1TargetTest
Change-Id: Ieebb09a3bbf948ab60d0498a359be8f8c726735c
Signed-off-by: Changyeon Jo <changyeon@google.com>
2020-01-04 09:56:06 -08:00
Changyeon Jo
273c37d303 Fix EVS frame handler for VTS
This change updates FrameHandler to handle and count delivered EVS
frames correctly.

Bug: 142275664
Test: VtsHalEvsV1_1TargetTest
Change-Id: I098bcf8155c9e4211ec0152b2a828520b6c22dc2
Signed-off-by: Changyeon Jo <changyeon@google.com>
2020-01-04 09:56:06 -08:00
Changyeon Jo
3e80b3b528 Fix EVS VTS test cases
This change modifies logics to verify test results that need to parse
events from EVS manager.  Especially, test cases that run multiple
camera clients spawn threads to listen EVS events.

Also, this updates waitForEvent() method to return more precise results.

Bug: 142275664
Test: VtsHalEvsV1_1Target
Change-Id: Ic328217be1e49a3a862facf783a5356ac34ce9ed
Signed-off-by: Changyeon Jo <changyeon@google.com>
2020-01-04 09:56:06 -08:00
Changyeon Jo
56c9b37795 Prerequsite changes for EVS multi-camera support
This change modifies existing methods and data types for upcoming EVS
multi-camera support.
- deliverFrame_1_1() and doneWithFrame_1_1() are modified to take
  multiple buffer descriptors.
- setIntParameter() and getIntParameter() are changed to return multiple
  parameter values.
- Device ID and timestamp fields are added to BufferDesc.
- EvsEvent is renamed as EvsEventDesc and Device Id is added.

Bug: 142275664
Test: VtsHalEvsV1_1TargetTest
Change-Id: I0415b2cb0642d1377f4d23a4e154080a66c81187
Signed-off-by: Changyeon Jo <changyeon@google.com>
2020-01-04 09:56:06 -08:00
Zhaoming Yin
497cc64544 Add fuzzer for FormatConvert
Bug: 146086281
Test: Follow go/android-fuzzing to build and test

Change-Id: Id94c57ba1b327cd4af2ae72fb0259953fa941d45
2019-12-12 13:09:57 -08:00
Changyeon Jo
63cddfc13f Explictly cast size_t into a long data type
This change explictly casts size_t type variables to long data type in
ALOG*, to avoid any build error due to inconsistent size_t type
declarations between different build targets.

Bug: 142545867

Change-Id: I587c7006a6ab69970b3a507a6160b3decd4bfd5a
Signed-off-by: Changyeon Jo <changyeon@google.com>
2019-10-12 05:27:34 -07:00
Changyeon Jo
c6fa0abf51 Revert "Revert "Revert "Revert "Extend EVS interfaces and data types""""
This reverts commit 468cc1d476.

Change-Id: If7e80111213ba02bf2c49f17f9880cd9cd14429e
2019-10-12 05:25:49 -07:00
Changyeon Jo
468cc1d476 Revert "Revert "Revert "Extend EVS interfaces and data types"""
This reverts commit 47b45af32c.
2019-10-12 05:18:16 -07:00
Changyeon Jo
47b45af32c Revert "Revert "Extend EVS interfaces and data types""
This reverts commit 1b73d28c04.
2019-10-11 14:00:36 -07:00
Changyeon Jo
1b73d28c04 Revert "Extend EVS interfaces and data types"
This reverts commit e6976fce80.
2019-10-11 10:13:38 -07:00
Changyeon Jo
e6976fce80 Extend EVS interfaces and data types
This change extends the definition of CameraDesc with the additional
camera metadata field that various camera module informaiton will be
stored.

IEvsEnumerator is extended with three new methods:
    - getCameraList_1_1() returns a list of new camera descriptors
    - openCamera_1_1() tries to open a camera device with a given
      stream configuration.

IEvsCameraStream has below changes:
    - deliverFrame_1_1() method is added to handle a frame in new
      BufferDesc.
    - Rename notifyEvent() as notify().

IEvsCamera also has below new methods:
    - getCameraInfo_1_1() returns a new camera descriptor.
    - getParameterList() returns a list of camera control parameters
      supported by the camera device.
    - getIntParameterRange() returns a valid range of parameter values.
    - Parameter setter and getter methods are renamed.

VTS test cases are updated to use new methods and below test cases are
added to validate their behaviors:
    - CameraUseStreamConfigToDisplay verifies end-to-end video stream
      with a stream configuration it finds from CameraDesc's metadata.
    - MultiCameraStreamUseConfig verifies two clients can start and
      stop video streams on the same underlying camera with same stream
      configuration.

Bug: 128851019
Test: VtsHalEvsV1_1Target
Change-Id: Ia6b0b94aff869129cb400d0a4c4df91e72682784
Signed-off-by: Changyeon Jo <changyeon@google.com>
2019-10-11 04:41:25 -07:00
Steven Moreland
82b84148c7 Remove libhwbinder/libhidltransport deps
Since these were combined into libhidlbase.

Bug: 135686713
Test: build only (libhwbinder/libhidltransport are empty)
Change-Id: I878a4d04e65ef13f3a0ebaf64177f673958d213c
2019-10-02 12:50:29 -07:00
Steven Moreland
38c46d0b98 Merge "Remove libhwbinder/libhidltransport deps" am: 6b62c58a9a am: 8c22c3862f am: 6684ee8c36
am: 9a5ffa3196

Change-Id: I3a80895d10767fe68e90a907312a83ded976cbcc
2019-09-06 16:06:13 -07:00
Steven Moreland
b3a4d3832e Remove libhwbinder/libhidltransport deps
Since these were combined into libhidlbase.

Bug: 135686713
Test: build only (libhwbinder/libhidltransport are empty)
Change-Id: I075670b64eebbbbd6a6ae0e84ad51bf1c6f5ba36
2019-09-06 01:07:02 +00:00
Changyeon Jo
0d0228de5a Add a method to override a master
EVS considers the client, which owns the display, as the high priority
client and allows it to steal a master role from existing master that
does not own the display.

Bug: 139536751
Test: VtsHalEvsV1_1Target
Change-Id: Idecaeedd90f187de57de912a09f4782bfb81a996
Signed-off-by: Changyeon Jo <changyeon@google.com>
2019-08-19 10:59:31 -07:00
Changyeon Jo
5830754d35 Add MASTER_RELEASED EVS event
This change adds new event to notify that a master role becomes
available and implements corresponding test cases.

Bug: 138328396
Test: VTS
Change-Id: Iddea2931a71fef2c7f5847eda12362e88cd52e5b
Signed-off-by: Changyeon Jo <changyeon@google.com>
2019-08-16 04:48:21 -07:00
Changyeon Jo
d2a82466d8 Add methods to get or set camera parameters
This change adds new methods to set and get camera parameters.  As the
vendor may handle a parameter set request with invalid value, a set
method returns an effective value with a status code.

Bug: 138328396
Test: VTS
Change-Id: I278dad6c285fb9b341be3517cde09359da14cda6
Signed-off-by: Changyeon Jo <changyeon@google.com>
2019-08-16 04:48:21 -07:00
Changyeon Jo
2400b69b85 Add EVS v1.1 interface
Extends existing v1.0 interfaces to support more functionalities and
adds corresponding test cases.

Bug: 135472573
Test: VTS
Change-Id: I5245238e6a18ddc2c0451aaa21a9cce55c6207eb
Signed-off-by: Changyeon Jo <changyeon@google.com>
2019-07-31 07:54:25 -07:00
Changyeon Jo
e472971e96 Move utility functions to a common library
This change creates a library that contains utility functions commonly
used in different EVS versions.

Bug: 13542573
Test: VTS
Change-Id: Ica8f5e6228d7d4b1426d8cc9cd2c570d6b584897
Signed-off-by: Changyeon Jo <changyeon@google.com>
2019-07-31 07:54:25 -07:00
Changyeon Jo
1d0f024bd7 Update comments on EVS 1.0 interfaces
This change fixes hidl-lint errors and warnings in EVS 1.0 interface
definitions.

Bug: 135472573
Change-Id: I4b6b5df792875a8dde2ee146f88fb401a4d5e860
Signed-off-by: Changyeon Jo <changyeon@google.com>
2019-07-31 07:54:25 -07:00
Changyeon Jo
e46a94a672 Merge "Update EVS VTS test cases" into qt-dev
am: 9155a07da7

Change-Id: If17f879f82441ab190cf37b18b4aaa053410e8e6
2019-05-31 20:42:25 -07:00
Changyeon Jo
17aa6d3512 Update EVS VTS test cases
This change modifies existing test cases and adds one new test case
for EVS manager implementation.

Bug: 122468953
Change-Id: I5cee01dfe0b0617c3f5c46beb94dcda0387f4ba0
Signed-off-by: Changyeon Jo <changyeon@google.com>
2019-05-31 21:20:56 +00:00
Changyeon Jo
78f17c5769 Merge "Add BGRA8888 format support." into qt-dev
am: 8d161a678b

Change-Id: I060d60122166eae3c0a8b8d732b26dabdc04da38
2019-04-26 18:43:08 -07:00
Changyeon Jo
7651215285 Add BGRA8888 format support.
Bug: 129462449
Test: Build and run VTS on Hawk
Change-Id: I9d162b3200b64fbbec802eb1b0a2b6862af6949b
Signed-off-by: Changyeon Jo <changyeon@google.com>
(cherry picked from commit af09bfeed4)
2019-04-23 12:00:59 +00:00
Steven Moreland
6d494b2346 Merge "Update hidl makefiles for bpfmt" am: ff0bd741ca
am: 96f40f7b02

Change-Id: Idbf030e4993067bdb8181321bca2de00c9b6f7ef
2019-04-18 14:34:45 -07:00
Steven Moreland
1ae4615d9f Update hidl makefiles for bpfmt
hidl-generated makefiles are now generated such that bpfmt(file) == file.

Bug: 67417008
Test: enable bpfmt hook
Change-Id: I1f69d292bc23a7cc293a66110cb02d597e1019ad
2019-04-17 09:38:50 -07:00
Steven Moreland
7f4e21adda Merge "Update makefies: no 'types'" am: 4ee5ec1469 am: bab622f6a6
am: 7224bc9bcf

Change-Id: I434939e0770afa436c532a945542fce30a71ef7d
2019-03-04 16:05:59 -08:00
Steven Moreland
a878aee9ab Update makefies: no 'types'
Bug: 123976090
Test: N/A
Change-Id: I30fb04c81889b62775e1b764b965fdb0f893de17
2019-03-04 11:27:17 -08:00
TreeHugger Robot
4bd5d096e9 Merge "Creates OWNERS for evs interface" 2019-02-26 23:28:21 +00:00
Changyeon Jo
9442dd481b Creates OWNERS for evs interface
Creates OWNERS file and adds default reviewers.

Bug: 126256874
Test: gerrit uploader
Change-Id: I33814c54d79ac5c6356ab3ce9e9ee3e01391e800
Signed-off-by: Changyeon Jo <changyeon@google.com>
2019-02-26 17:55:43 +00:00
Changyeon Jo
d0dc2bd341 Updates openDisplay() API description
This change corrects the description of openDisplay()'s behavior when
new client requests to access a display resource.

Bug: 122671398
Test: N/A
Change-Id: Ic7380748f4907376563771498e8823ed739e09a6
Signed-off-by: Changyeon Jo <changyeon@google.com>
2019-02-15 01:34:56 +00:00
Keun Soo YIM
68ae05dd2d pack VTS cc_test binaries as general-tests
Test: make general-tests
Bug: 120093339
Merged-In: I363450d205868f900e4925ccff1430e2a569f2a4
Change-Id: I363450d205868f900e4925ccff1430e2a569f2a4
2018-12-07 10:49:56 -08:00
Keun Soo YIM
ff84c37bc1 pack VTS cc_test binaries as general-tests
Test: make general-tests
Bug: 120093339
Change-Id: I363450d205868f900e4925ccff1430e2a569f2a4
2018-11-27 16:11:41 -08:00
Steven Moreland
f5e4d7fb59 Update makefiles after native handle in Java.
Bug: 35098567
Test: N/A
Change-Id: I54b8d804e480cda09806f8028b966f28c4bd706e
2018-08-14 20:29:42 +00:00
Yuexi Ma
8ef11932b9 resolve merge conflicts of 07ff5f4376 to pi-dev-plus-aosp
Test: I solemnly swear I tested this conflict resolution.
Change-Id: Id636c3171bffffeaf7a30a7912c38796e5a4c780
2018-03-26 16:05:07 -07:00
Yuexi Ma
d56539e62a Update vts test module bp files to use VtsHalTargetTestDefaults
Test: make vts
Change-Id: I3c0dab52dc894e1a1fc9b99be1351ed7bd380502
Merged-In: I3c0dab52dc894e1a1fc9b99be1351ed7bd380502
2018-03-22 23:36:10 +00:00
Yuexi Ma
5ca4ebe0dc rename VtsHalEvsV1_0Target module to VtsHalEvsV1_0TargetTest
Test: run vts-selftest
Change-Id: Ib413d3ee2bffbb98489a5e787b83014c3b2e3af9
Merged-In: Ib413d3ee2bffbb98489a5e787b83014c3b2e3af9
(cherry picked from commit c446be1563)
2018-03-22 12:15:54 -07:00
Zhuoyao Zhang
81def5dbb1 Merge "Convert evs hal test to use VtsHalHidlTargetTestEnvBase" am: 9be06304d6 am: 7e4209ee06
am: 02d339c90f

Change-Id: Iea80193bcdeb7f6b02f5e013bcd135904c14b9a7
2018-02-21 22:36:26 +00:00
Zhuoyao Zhang
5114c261fd Convert evs hal test to use VtsHalHidlTargetTestEnvBase
Bug: 64203181
Test: make vts
      vts-tradefed run vts -m VtsHalEvsV1_0Target

Change-Id: Ifc086ad119d44ecb710e709d4928cc496698fe64
2018-02-20 10:09:09 -08:00
Scott Randolph
46bc12867b Define new AudioControl HAL for automotive.
This provides a mechanism for Android to interact with a car's
audio subsystem.
It is a partial replacement for the deprecated AUDIO_* properties in VehicleHal.
It also provides control over fade/balance.

Bug: 31623564
Test: build for bat_land.  VTS tests in future CL.
Change-Id: I4344cce3a6aa9a28d1327bf4d16bd080c7fd3f50
2018-01-10 11:50:17 -08:00