Commit graph

353 commits

Author SHA1 Message Date
TreeHugger Robot
4a35fa3b54 Merge "Use std::unordered_map for mTagToTypeMap" 2018-03-01 22:18:18 +00:00
Yin-Chia Yeh
92f9063516 Merge "Camera: add external camera fps control" 2018-03-01 19:19:43 +00:00
Yin-Chia Yeh
3aa9ae979c Camera: add external camera fps control
V4L2 doesn't seem to allow changing fps at runtime, so we need to
wait until pipeline is idle and reconfigure V4L2 streams.

Also update the fps filtering logic to make sure supported fps
are consistent as long as the major dimension is the same.
Ex: for 4:3 webcams, all 1280*N sizes has the same fps set, or
    for 16:9 webcams, all N*720 sizes has the same fps set.

Bug: 72261912
Change-Id: I534f09bebadb2f532a030a841633a8be7d3a87cc
2018-02-28 16:00:18 -08:00
Chris Jenneisch
356e28fdb1 Use std::unordered_map for mTagToTypeMap
In the profile we notice that  SortedVectorImpl::_indexOrderOf is
almost 1.6% which is quite high considering it is an access to
a container. We make mTagToNameMap as a std::unordered_map
to store the Tag and the types. The accesses would be in constant time.

This change removes this from the profile and give ~10% improvement.

Bug: 72526772
Change-Id: Iffd244febd093bdfec9fe4d5e846a0e59c0ecdce
2018-02-28 23:14:31 +00:00
TreeHugger Robot
0cbf96f1e2 Merge "Camera: assert no HAL1 in devices launched in P+" 2018-02-23 21: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
TreeHugger Robot
c93fe9a9bb Merge "camera: Add OisSamples synthetic key" 2018-02-23 18:47:56 +00:00
Yin-Chia Yeh
cd17100fe6 Camera: clarify external camera device ID requirements
Bug: 64874137
Change-Id: Ibf45a0077952d2ec42cdef80659a019b6d24051f
2018-02-21 15:52:02 -08:00
Yin-Chia Yeh
8c76b8c465 Merge "Camera: avoid copying of HalRequest" 2018-02-21 21:53:22 +00:00
Yin-Chia Yeh
fa5aafbec3 Merge "Camera: implement external camera dumpState/close" 2018-02-21 18:34:22 +00:00
Yin-Chia Yeh
e086fb7b4a Camera: avoid copying of HalRequest
Bug: 64874137
Change-Id: I46ea14facf467921da633cde7e24ff9703a6a8f7
2018-02-20 16:28:55 -08:00
Yin-Chia Yeh
4a3393cd8a Camera: implement external camera dumpState/close
Also switch to v4l2 timestamp is it's MONOTONIC

Test: Cts CameraDeviceTest
Bug: 72261676
Change-Id: Iec82c254dcf16a56952ff8910d13c92782d48090
2018-02-20 16:28:50 -08:00
TreeHugger Robot
2e8bcf7a30 Merge "Camera: Add sensor sensitivity burst test" 2018-02-19 11:04:21 +00: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
TreeHugger Robot
d477e1e092 Merge "Camera: implement external camera flush" 2018-02-16 18:58:57 +00:00
Chien-Yu Chen
d8c3160e9d camera: Add OisSamples synthetic key
Add a synthetic OisSamples key containing timestamps and
shifts.

Test: CTS
Bug: 64847201
Change-Id: I6468136a329bcc67d087043ec8bd242bcd922e48
2018-02-15 12:40:36 -08:00
TreeHugger Robot
9c14496f2c Merge "Camera: Add support for empty physical settings optimization" 2018-02-14 20:25:38 +00:00
Yin-Chia Yeh
72eb5eea6b Merge "Camera: use rational/double for external camera framerate" 2018-02-14 18:31:02 +00:00
Yin-Chia Yeh
190e5601d6 Camera: implement external camera flush
Test: CTS abort capture test
Bug: 72261676
Change-Id: I0c3af8693a885672953ff394121c40c5ade59964
2018-02-13 18:52:42 -08:00
Yin-Chia Yeh
9eee6a9fd1 Merge "Camera: plumb external camera API1 support" 2018-02-13 22:35:06 +00:00
Yin-Chia Yeh
134093a43f Camera: use rational/double for external camera framerate
For better precision.
Ex: minFrameDuration of 30fps 333333334->333333333

Bug: 72261912
Change-Id: I830d694d34eb01426e46279c4c986d8879b9d847
2018-02-12 15:00:34 -08:00
Yin-Chia Yeh
1798249b8f Camera: plumb external camera API1 support
And also some refactoring to unify external camera
config file logics.

Bug: 72261912
Change-Id: If83d779c57540809bdaa58a5a32cf4ade734fafe
2018-02-12 12:16:23 -08:00
Eino-Ville Talvala
0a2a9fc18c camera.device@3.4/metadata@3.3: Revise MOTION_TRACKING capability
Simplify the API for the P release

- Remove new templates
- Update docs
- Also update some metadata docs from prior changes

Test: Revised Camera CTS passes
Bug: 63629224
Change-Id: I47fb170052cf6062955278ace624a91e8a0078b3
2018-02-12 11:29:25 -08: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
Yuriy Romanenko
9cdd6f9516 External: Switch to legacy V4L2 buffer mapping
Required for older kernels like 3.x

Change-Id: I0680320b606727bdb0b22dab1df8c5954d623f10
2018-02-06 21:39:59 +00:00
TreeHugger Robot
fe1192ecfc Merge "External camera: add device config file" 2018-02-06 21:35:15 +00:00
TreeHugger Robot
8f8e3b2e11 Merge "camera: Update multi-camera capture VTS case" 2018-02-05 21:13:23 +00:00
Yin-Chia Yeh
1e08966178 Camera: fix external camera FD double close
Release fence close was handled by freeReleaseFences so
hidl_handle should not own the native handle.

Test: running external camera on marlin
Bug: 64874137
Change-Id: I68e76d31985380eb3c502276df07d3648f67b6f1
2018-02-02 16:00:29 -08:00
Yin-Chia Yeh
53f4cb140a External camera: add device config file
Also remove sizes cannot be cropped from maximal
size.

Bug: 72261897
Change-Id: Icb50cfa58a12e80be3cacc49569fac90be03c8e5
2018-02-02 11:50:56 -08: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
TreeHugger Robot
4c5bfc6979 Merge "Camera: add buffer size to Stream" 2018-01-30 06:05:25 +00:00
Yuriy Romanenko
e932f1b5cb Implement JPEG support in external camera HAL
* Certain tests are still failing

Change-Id: I01bb90757cd969ace30857a8d246e4701498d379
2018-01-29 12:07:34 -08:00
Yuriy Romanenko
33d5f66633 Common: Added CameraMetadata -> libexif converter
A fully-ported version of the ExifUtils class from
ChromeOS (see [chromeos]/src/platform/arc-camera/common/exif_utils.cc)

 * Made into an interface to remove libexif dependencies
   from header file
 * Rewrote ChromeOS dependencies
 * Minor fixes

Change-Id: I2e93fa3e08e6b82b26641cc736eeb1c61b04a2c0
2018-01-26 21:23:56 -08:00
Yin-Chia Yeh
b534d9bf29 Camera: add buffer size to Stream
So that HALs without device knowledge knows the maximal size
it can lock using graphics mapper API.

Bug: 64874137 72261675
Change-Id: I7363f5c63d955ab412f9570bf8e5be2a942cf381
2018-01-26 16:50:24 -08:00
Yuriy Romanenko
083de0c3c6 ExternalCameraDeviceSession: Fix request initialization
This code was exiting because of unsupported RequestTemplate::*
enum values that are now just ignored.

Change-Id: I37f79cbbfe99664ec173458721d71947f0d002ff
2018-01-26 16:11:12 -08:00
TreeHugger Robot
354db50595 Merge "External Camera: more CTS fix" 2018-01-25 23:37:41 +00:00
Yuriy Romanenko
d0bd4f11f8 Common: Added lock() to camera HandleImporter
Effectively a counterpart to lockYCbCr() but for generic single-plane
buffers

Change-Id: I73d051c085fe2b96810a1ed761deac177db2733d
2018-01-25 12:50:40 -08:00
Yin-Chia Yeh
4acd76e647 External Camera: fix aspect ratio/crop issue
Also switch to new EXTERNAL hardware level.

Test: ImageReaderTest#testAllOutputYUVResolutions pass
Bug: 72261912
Change-Id: I95f05a20827b413bfa480b0336fff395159678eb
2018-01-25 18:47:51 +00:00
Shuzhen Wang
39cf8fd9fe camera: Add physical camera metadata in CaptureResult
- When physical stream of a logical multi-camera is requested, HAL needs
to generate metadata for the physical cameras.
- In case no physical stream is requested for the logical multi-camera, no
capture result metadata is required for physical camera.
- Batch physical and logical metadata within one capture_result call.

Test: testLogicalCamera CTS test
Bug: 64691172
Change-Id: Id040620f3f0c350711d49341ab31ab88ecd94888
2018-01-24 18:14:58 -08:00
Yin-Chia Yeh
fb1c154342 External Camera: more CTS fix
Test: CameraDeviceTest, CaptureResultTest, StaticMetadataTest
      ExtendedCameraCharacteristicsTest, RobustnessTest
Bug: 72261912

Change-Id: Id99d86db99a905afcc41d3e9d297ce3533d852a2
2018-01-24 15:48:42 -08:00
Eino-Ville Talvala
658d30d3c8 camera.device@3.4: Add MOTION_TRACKING template enums
- Extend RequestTemplate with two new values
- Add legacy wrapper support for the new templates

Test: Builds, camera continues to run. CTS coverage of templates
tests new templates as expected.
Bug: 63629224
Change-Id: I2a44d86a815690798fa4b8327794c64716d134ee
2018-01-23 17:10:33 -08:00
Steven Moreland
5d1e41a8fd Update makefiles.
Bug: N/A
Test: N/A
Change-Id: Idb1d74aeed9b82ca6568c76f35552f3fcc894239
2018-01-23 19:44:19 +00:00
Yin-Chia Yeh
ab4502c707 Merge "Camera: Add external camera provider" 2018-01-23 02:54:27 +00:00
Guennadi Liakhovetski
6d2d1307e6 Merge "camera: add support for camera removal" am: cf99978291 am: 040c21f6c8
am: 3724fbedef

Change-Id: Ic32fd930f90515a74d1e44e4a3e932d20d7970ff
2018-01-23 02:52:28 +00:00
TreeHugger Robot
067a95dd28 Merge "camera.common@1.0: Add OWNERS to default/" 2018-01-23 02:37:39 +00:00
Yin-Chia Yeh
1903059507 Camera: Add external camera provider
Bug: 64874137 63873538

Change-Id: I4309874a7dedd3dd71d4bd0c2004d460421db679
2018-01-22 17:04:28 -08:00
Shuzhen Wang
30170d5590 Merge "camera: Add support for individual physical camera requests" 2018-01-23 00:36:17 +00:00
Eino-Ville Talvala
dc9c5ebb02 camera.common@1.0: Add OWNERS to default/
Test: Builds
Change-Id: I47d38789d8145cc34d74dcd8433f46f9688af88d
2018-01-22 15:25:53 -08:00
TreeHugger Robot
34c880d59a Merge "camera: Add OIS data keys" 2018-01-22 23:22:30 +00:00
Shuzhen Wang
4f3be2e3e9 Merge "camera: Add support for logical camera" 2018-01-22 20:30:15 +00:00