Commit graph

323 commits

Author SHA1 Message Date
Yin-Chia Yeh
c2d3d1ddb5 Camera: support libhardware camera device 3.6
Add buffer management API support.

Test: VTS to be written. Need Pixel device impl to verify.
Bug: 120986771
Change-Id: Icdbc621f8cd17aa0868d3ac361867c44793a268c
2019-01-28 11:22:15 -08:00
Socrates Li
9ada649246 Camera: Document 3.4 metadata selection logic.
Bug: 119575429
Test: Ensure everything still builds.
Change-Id: I6500ab06b8c392310009ecfa0570000742fd069c
Merged-In: I6500ab06b8c392310009ecfa0570000742fd069c
(cherry picked from commit a5cbabbee9)
2019-01-22 13:46:57 -08:00
TreeHugger Robot
207f2b51c6 Merge "Camera: Document 3.4 metadata selection logic." 2019-01-17 23:59:40 +00:00
TreeHugger Robot
3ed0179295 Merge "Camera: Extend stream combination query documentation" 2019-01-17 09:53:41 +00:00
Emilian Peev
06c07730de Camera: Extend stream combination query documentation
Stream combination queries differ from regular stream
configuration in several ways. Extend documentation
and mention any fields that Hal implementations must
ignore when checking the input arguments.

Bug: 111593096
Test: Android builds successfully
Change-Id: Iab97d2cf8aebc29c9ec4c34a382893299a9b9752
2019-01-16 11:21:00 +00:00
Shuzhen Wang
eaab6169b1 Camera: Clarify the FMQ read order for request/result
If there are more than one metadata entities being passed
via FMQ, specify the framework read order.

Test: Build
Bug: 119575429
Change-Id: Ia34ac69ce670b1ebeda12d92af490c347f33c15b
Merged-In: Ia34ac69ce670b1ebeda12d92af490c347f33c15b
2019-01-14 16:29:25 -08:00
Socrates Li
a5cbabbee9 Camera: Document 3.4 metadata selection logic.
Bug: 119575429
Test: Ensure everything still builds.
Change-Id: I6500ab06b8c392310009ecfa0570000742fd069c
2019-01-14 16:08:31 -08:00
Shuzhen Wang
17a371de6e Camera: Clarify the FMQ read order for request/result
If there are more than one metadata entities being passed
via FMQ, specify the framework read order.

Test: Build
Bug: 119575429
Change-Id: Ia34ac69ce670b1ebeda12d92af490c347f33c15b
2019-01-14 11:07:39 -08:00
Yin-Chia Yeh
1c30a5e375 Camera: make external camera orientation configurable
Test: webcam preview has correct aspect ratio on phones
Bug: 115774657
Change-Id: I8dcb1a55c4d63c9080f44b85e87d97c138bc5243
2019-01-08 10:54:10 -08:00
Treehugger Robot
4ffb6e0bd8 Merge "Camera: Clarify configureStreams doc" 2018-12-17 22:47:12 +00:00
Chih-hung Hsieh
df66e3cb29 Merge "Fix performance-for-range-copy warnings" am: d01f7050ac am: 51e835ce22
am: 86fefab5e9

Change-Id: Ib139d710d47a7a51e24ba8ba582b252f5ff6e244
2018-12-17 14:09:52 -08:00
Chih-Hung Hsieh
65ab67312b Fix performance-for-range-copy warnings
Bug: 30413223
Test: make with WITH_TIDY=1 DEFAULT_GLOBAL_TIDY_CHECKS=-*,performance*
Change-Id: I1b76a22eab100a31e77048626e48169fe7eeaf92
2018-12-17 19:57:21 +00:00
Shuzhen Wang
77c5c4e8b1 Camera: Clarify configureStreams doc
Test: Compile
Change-Id: Idbb7ed8f8dd0a1ebe1d5227446ec7170fec3ec4a
Merged-In: Idbb7ed8f8dd0a1ebe1d5227446ec7170fec3ec4a
2018-12-15 00:51:59 +00:00
Shuzhen Wang
49fcad2b8e Camera: Clarify configureStreams doc
Test: Compile
Change-Id: Idbb7ed8f8dd0a1ebe1d5227446ec7170fec3ec4a
2018-12-13 15:54:14 -08:00
Xin Li
5c60a30824 DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master
Bug: 120502534
Change-Id: I9e51f516a0ff8cb197e9f3f927cae9e25328a1eb
2018-12-11 14:17:43 -08: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
f837fa24e6 Merge "Camera: add external camera@3.5" 2018-11-16 11:00:21 +00:00
Yin-Chia Yeh
ee23840bf8 Camera: add external camera@3.5
External camera@3.5 supports the new buffer management
API that allows HAL to request buffer when needed to
optimize the memory usage.

Test: smoke test TestingCamera
Bug: 109829698
Change-Id: Icfbb75a26d8e92e4eb82a680e94e183041a5174d
2018-11-15 10:23:08 -08:00
Chih-hung Hsieh
6e457995b6 Merge "Fix implicit fallthrough warnings." am: 591171a659 am: 9232ca3782
am: ec4022d410

Change-Id: I9489669f4797b188027ba7e3686d1e2ecfebefc4
2018-10-18 23:54:01 -07:00
Chih-hung Hsieh
ec4022d410 Merge "Fix implicit fallthrough warnings." am: 591171a659
am: 9232ca3782

Change-Id: I5f4b3377360d20c2f7adfa7d4eff4dda3b412da8
2018-10-18 23:37:43 -07:00
TreeHugger Robot
4b5ff67c52 Merge "Camera: update camera HAL owners" 2018-10-16 22:15:16 +00:00
Chih-Hung Hsieh
5daaea7cdc Fix implicit fallthrough warnings.
Test: make checkbuild
Bug: 112564944
Change-Id: Ib2b337146de86e4abe40ded5932196f1b8b698c6
2018-10-16 14:22:12 -07:00
chenhg
81ed94e40e Merge "Avoid segfaults if disconnect USB camera while preview." am: 4dce57e459 am: 86ec58ff52
am: a169023679

Change-Id: I6f1b820f87297564c54b3ee656e201ec79838d78
2018-10-16 11:30:03 -07:00
chenhg
a169023679 Merge "Avoid segfaults if disconnect USB camera while preview." am: 4dce57e459
am: 86ec58ff52

Change-Id: I748a644556eb2dd2e68a2e4e965d3b57e8ed4895
2018-10-16 10:50:39 -07:00
Yin-Chia Yeh
ccc05ec9b7 Camera: update camera HAL owners
Add OWNER file to device 3.5 default implementation and
add new owners to existing owner file.

Test: N/A
Bug: N/A
Change-Id: I09bae8a6bbdf48bd27cba8675d979c65b51a3e6b
2018-10-16 08:47:03 -07:00
Yin-Chia Yeh
86a7d9610d Camera: implement configureStreams@3.5
So camera continue to work when camera service switch to use
the @3.5 session.

Test: manually check configureStream works
Bug: 109829698
Change-Id: I4c7edcf59e68a2b4f04fee8229ed5d3c9b261c9f
2018-10-15 14:23:15 -07:00
chenhg
06ced051d9 Avoid segfaults if disconnect USB camera while preview.
BUG: 117575807
Test: manual test by disconnect USB camera while preview.

Change-Id: Ia74b03e7f2a672efd9e9dfd651b5894529daeeee
2018-10-12 14:17:04 -07: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
Yin-Chia Yeh
6a6fe0f47b Camera: new buffer management HIDL APIs
No actual implementations yet.

Test: compile, new VTS to be written
Bug: 109829698
Change-Id: Ibe509dd743a84b147fdfed6599d8f066adb8793b
2018-09-27 11:13:13 -07:00
Shuzhen Wang
d3feb3d62c Camera: Add support for physical camera characteristics query
- Add version 3.5 for ICameraDevice for physical camera characteristics
query.
- Add version 3.5 for ICameraDeviceSession to work around HIDL
versioning bug.

Test: Camera CTS
Bug: 79523700
Change-Id: I8df6cdd4ee6ac5755758510c0dc1ea1cec31aa73
2018-09-13 09:25:34 -07:00
Yin-Chia Yeh
8fd024c378 Merge "Camera: support torch control on external camera" am: f8007c2000 am: 361f2f9a17
am: fb5d713264

Change-Id: I5dbe1e94b8e6a49a57770717ff6f7c3702e6bb1c
2018-08-30 12:20:58 -07:00
Yin-Chia Yeh
fb5d713264 Merge "Camera: support torch control on external camera" am: f8007c2000
am: 361f2f9a17

Change-Id: I982aa7e7acb3e85c247319757516e85bf7408f82
2018-08-30 12:15:37 -07:00
Yin-Chia Yeh
bbc046ed67 Camera: support torch control on external camera
Claim torch API support though there is no device
actually has a flash unit. This is to workaround
an issue in camera service where it falls back
to legacy camera HAL1 control if the device does
not report torch API support (and external camera
HAL does not implement HAL1)

Test: CtsVerifier FlashLight test
Bug: 113336515
Change-Id: I945b35fecfed3b2698b1e9bb1d8faad8699258d2
2018-08-28 11:22:51 -07:00
TreeHugger Robot
f711bd2714 Merge "Camera: plumb blob buffer size from framework" 2018-08-16 19:46:22 +00:00
Yin-Chia Yeh
4c64118f60 Camera: plumb blob buffer size from framework
Test: blob size is sent from camera service to webcam HAL
      using TestingCamera2
Bug: 72173567
Change-Id: I9937881d98dd7d984da5e6ec929118f5d8fe7c9e
2018-08-16 19:16:32 +00:00
Steven Moreland
9dc1ccc852 Merge "Update makefiles after native handle in Java." am: 1847a2f2e7
am: fb6a66b3f7

Change-Id: Iee88bb1f9816230a1ea2373cca6a3f3bb5db2d6e
2018-08-14 15:59:59 -07: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
chenhg
a7d82e577a Camera: provide thumbnail size for more jpeg aspect ratios. am: 564cdae552 am: 737cfdf4db
am: 7aa4b087f2

Change-Id: If90e3d059563d514fb69f69854739733542da691
2018-08-09 12:03:35 -07:00
chenhg
564cdae552 Camera: provide thumbnail size for more jpeg aspect ratios.
BUG: 110462045
Test: Camera CTS
Merged-In: I5f5500a5e4d02c3cbaa127cd9f222d241f047044
Change-Id: I5f5500a5e4d02c3cbaa127cd9f222d241f047044
2018-08-09 17:49:57 +00:00
chenhg
781743b4b5 Merge "Camera: allow to configure minimum stream size." am: c2f3b0bcf5 am: 8050b86a96
am: 30faec33a0

Change-Id: I3aa078a9818403d68b212f5a961b252f2c329308
2018-08-08 11:57:57 -07:00
chenhg
f2a6c47a9d Camera: allow to configure minimum stream size.
HW video encoder usually has limitation to encode very small
stream. Camera should avoid to return such streams to avoid
video encoding failure.

BUG: 110654511
Test: CTS android.hardware.camera2.cts.RecordingTest#testSupportedVideoSizes
Change-Id: I6104f2d4efcf7831d1dc6d305c82309e2fd1999d
2018-08-07 15:15:13 -07:00
Yin-Chia Yeh
dd1419ba46 Legacy camera shim: add option to free buffers earlier am: 7d1fdecea5
am: 96ab6781f5

Change-Id: I9625af8482840860aca8022862832137de912377
2018-08-03 16:45:37 -07:00
Yin-Chia Yeh
96ab6781f5 Legacy camera shim: add option to free buffers earlier
am: 7d1fdecea5

Change-Id: I175ecfd4334849886252f9d6fb29aa16f9cfb500
2018-08-03 16:10:11 -07:00
Yin-Chia Yeh
7d1fdecea5 Legacy camera shim: add option to free buffers earlier
This option allows HAL to opt in for the behavior that will free
cached buffers earlier if the libhardware HAL implementation
doesn't cache/reference the cached buffers internally.

Test: buffers are freed earlier when the property is set
Bug: 111850884
Change-Id: I3a10b288c7160c86dc7d3a30d04b5c4903917731
2018-08-03 12:38:30 -07:00
TreeHugger Robot
25cc53cc0c Merge "Camera: allow to configure minimum stream size." 2018-07-03 17:27:24 +00:00
chenhg
8765444e20 Camera: allow to configure minimum stream size.
HW video encoder usually has limitation to encode very small
stream. Camera should avoid to return such streams to avoid
video encoding failure.

BUG: 110654511
Test: CTS android.hardware.camera2.cts.RecordingTest#testSupportedVideoSizes
Change-Id: I6104f2d4efcf7831d1dc6d305c82309e2fd1999d
2018-07-02 12:09:57 -07:00
chenhg
f6d3b2fa3f Camera: provide thumbnail size for more jpeg aspect ratios.
BUG: 110462045
Test: Camera CTS
Change-Id: I5f5500a5e4d02c3cbaa127cd9f222d241f047044
2018-07-02 11:27:21 -07:00
Shuzhen Wang
a7a4f5bd8a Merge "Camera: Avoid Metadata re-allocation during shrinkCaptureResult" into pi-dev
am: 62e310cbfd

Change-Id: I3ef8040de1fbbf4239cb0e15e0a04f9fd0ec70b7
2018-06-06 09:41:53 -07:00
Shuzhen Wang
9b71bc20c4 Camera: Avoid Metadata re-allocation during shrinkCaptureResult
If capture result metadata is to be shrinked, reserve enough space so
that CameraMetadata isn't re-allocated when std::vector expands.

If vector expansion happens, CameraMetadata is re-allocated, causing
camera_metadata_t being re-allocated as well.

Test: Camera CTS
Bug: 109672123
Change-Id: Idaf5bf409bdbbccf617614edc96c0478260b4c30
2018-06-05 23:13:54 -07:00
Yin-Chia Yeh
7a83eaa56d Merge "Camera: add FMQ size override logic" into pi-dev
am: de680c0d0c

Change-Id: I84a2fdb5c00e976901a19c2089a944383d3d7536
2018-05-25 10:39:29 -07:00
Yin-Chia Yeh
9d32c13f0b Camera: add FMQ size override logic
Test: modify FMQ size in device.mk
Bug: 80242493
Change-Id: Ie1fb12118ad53c5bbe0cf264bffaafcd3728f8db
2018-05-24 10:53:57 -07:00
Yin-Chia Yeh
92cd88be57 Merge "Camera: use compact copy when necessary" into pi-dev
am: 918507685e

Change-Id: I059f2a746960ae1512647d5893074b15e7f2a20b
2018-05-23 14:22:56 -07:00
Yin-Chia Yeh
090872abcf Camera: use compact copy when necessary
When camera HAL sends redundant metadata (reserved space >> actual
used space), create a compact copy to save IPC overhead.

Test: Camera CTS/camera app smoke test
Bug: 79838637
Change-Id: I02657deb377c43c65d111d1fc894eb3c20ad3b8f
2018-05-23 09:43:03 -07:00
android-build-team Robot
cf20daebcb Merge "Camera: Set partial results in result batcher" into pi-dev
am: 33ad1e6aa1

Change-Id: I632f43b7e378ad1bda505d8c1f06a16f3c487868
2018-05-03 10:33:09 -07:00
Emilian Peev
59dd3df9eb Camera: Set partial results in result batcher
Camera device session 3.4 has a separate result batcher
instance. The partial result count needs to get initialized
in the same way as ver. 3.2 otherwise the frame batches can
get retired prematurely.

Bug: 79106874
Test: Camera CTS,
run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO

Change-Id: I36bfb5bc448154f80f4cb94edcfd119048361099
2018-05-03 13:36:49 +01:00
Steven Moreland
c90461c738 rename hidl_enum_{iterator,range}
This is actually a range, not an iterator.

Bug: 78573628
Test: m
Change-Id: Ie824a3eabcb7d5af94a8752e1498bdc8c7032e40
2018-05-02 00:06:33 +00:00
Yin-Chia Yeh
b0140796a3 Camera: check return value of callback
Test: no crash
Bug: 78181355
Change-Id: Iaf953045b64dd7b258cf49919ccb8aa5a8a0c7d1
2018-04-27 09:32:39 -07:00
Zhijun He
9b61e6197e camera: print the oversized result size
It's generally a bad thing to have the result exploded to exceed
the shared message max depth (1MB). Print the size when such case
occurs for better debugging output.

Bug: 77665564
Change-Id: I971fca202aa3ca0fa1863e9c658659d0775a1ad4
2018-04-06 18:44:42 -07:00
TreeHugger Robot
5d90142071 Merge "Camera: various external camera fixes" into pi-dev 2018-04-06 10:11:18 +00:00
TreeHugger Robot
aa91a992eb Merge "Camera: use finer lock in external camera OutputThread" into pi-dev 2018-04-04 13:45:39 +00:00
Emilian Peev
bc0e16519f Camera: Check external camera v4l2 buffer size
V4L2 buffer size should fall within a reasonable range
like (0. width*height*2]. Check and return appropriate
status in case the size is not within this range.

Bug: 72261912
Test: Camera CTS
Change-Id: I1945dc734afb552ecb8d4ef74c9198eca8ce00e7
2018-04-03 14:47:39 +01:00
Shuzhen Wang
448b7e398a Camera: Validate physical camera related metadata field from legacy HAL
Make sure that num_physcam_metadata, physcam_ids, and physcam_metadata
returned from process_capture_result is sane.

Test: LogicalCameraDeviceTest
Bug: 77218595
Change-Id: Ic4d9823569fb86b20ab2ab21edfc32a0e9f5c9c7
2018-03-29 23:34:51 -07:00
Nathan Harold
c893754c0d Update Makefiles Missed In Previous Commits
When calling update-makefiles.sh there are
some unrelated changes that were missed in
previous commits.

Bug: 8675309
Test: compilation
Change-Id: I5bf67fbcc809de36bde1869ada7b835566a5198b
2018-03-19 16:37:46 -07:00
TreeHugger Robot
ba20b76deb Merge changes I20310606,Ic23b7fb2 into pi-dev
* changes:
  Camera: more external camera CTS fix
  Camera: various external camera CTS fixes
2018-03-19 20:06:27 +00:00
Yin-Chia Yeh
2d61bfd2b0 Camera: various external camera fixes
1. Add EXIF MAKE/MODEL tag
2. Add retry loop for V4L2 open failure
3. Do not add external camera if ExternalCameraDevice cannot be
   initialized

Bug: 72261912
Bug: 72569850
Change-Id: I06df1fbbb4afabea1a9a74aca9e288b24966cb0b
2018-03-14 14:19:35 -07:00
Shuzhen Wang
17d817a889 Camera: Do not forward capture_result in error condition
If HAL calls process_capture_result with invalid buffers, the HIDL
wrapper shouldn't forward it to camera service, since the CaptureResult
structure may not be completely initialized.

Test: Run GoogleCamera
Bug: 74433802
Change-Id: Iaf20b542af5b11ffbedf709e99137b69d77a9ad3
2018-03-09 16:01:06 -08:00
Yin-Chia Yeh
94f52a39c2 Camera: use finer lock in external camera OutputThread
To avoid OutputThread waiting for mLock.

Test: CTS RecordingTest + systrace
Bug: 72261744
Change-Id: If387a1d4a2b0081c4bc43cb648a98e3706864f19
2018-03-07 14:46:51 -08:00
Yin-Chia Yeh
c15a1cab6f Camera: more external camera CTS fix
Also update default external camera config to prevent
over promising peformance on lower end devices.

Test: API2 CTS tests except RecordingTest
Bug: 72261744
Change-Id: I20310606520099abf0f5173690f4aaf56a3e52a9
2018-03-06 10:35:29 -08:00
Yin-Chia Yeh
8b699aaf37 Camera: various external camera CTS fixes
1. Update the FPS range to list (0.5*fps, fps) only
   as webcams tends to skip a lot of frames and not
   able to output at stable framerate.
2. Exif: don't expect focal length to present
3. Thumbnail: allow 0x0 size for no thumbnail output
4. Allow retry some ioctl during configureStream as
   some webcams seems having problem in quick close
   reopen operation.

Test: CTS CameraTest
Bug: 72261912
Change-Id: Ic23b7fb293b7579694c59240e854d750c842886d
2018-03-06 10:35:12 -08:00
Yin-Chia Yeh
e99cf209de Camera: add profiling traces
Bug: 72261744
Change-Id: I82e4d8ecc702c12bb7beb4f3d9979869ce6f4ac2
2018-02-28 16:00:28 -08: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
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
d477e1e092 Merge "Camera: implement external camera flush" 2018-02-16 18:58:57 +00: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
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
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
1903059507 Camera: Add external camera provider
Bug: 64874137 63873538

Change-Id: I4309874a7dedd3dd71d4bd0c2004d460421db679
2018-01-22 17:04:28 -08:00
Emilian Peev
b75aa350e7 camera: Add support for individual physical camera requests
Multi-camera devices should be able to accept and process
individual settings for all physical sensors backing the
logical camera. 'CaptureRequest' must be extended to hold
these additional physical camera settings.

Test: Manual using camera application,
camera_client_test,
run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO
Bug: 64691172
Change-Id: Ia38d1e7681a9385be7578c11e40f4e35e9101d75
2018-01-20 15:51:37 +00:00
Shuzhen Wang
82e36b3f8c camera: Add support for logical camera
- Add physical cameraId field in stream structure.
- Override processCaptureRequest due to physicalCameraId change.
- Update 3.3 metadata with logical camera characteristics.

Test: Camera CTS on Taimen, LogicalCamera CTS test on C1
Bug: 64691172
Change-Id: I65bd1ae38381ecb89fae439ae14b813c9bcc3248
2018-01-20 15:51:13 +00:00
Guennadi Liakhovetski
e56eafc61d Merge "Camera: Fix hotplug" am: d7a0f2984d am: 78d88380d3
am: 99aaf673c5

Change-Id: I3e9566c4960c9f11376c7b0c8f377f9ccc1ac1ac
2018-01-18 20:20:55 +00:00
Guennadi Liakhovetski
7b7ede7ebd Camera: Fix hotplug
According to the camera_module_t::get_number_of_cameras() description
in camera_common.h, it should only return the number of "fixed"
cameras, i.e. cameras, facing to the front and to the back. Any
cameras, with the facing value of "external," i.e. externally connected
cameras, should not be reported by it, instead they should later be
reported, using the
camera_module_callbacks_t::camera_device_status_change() callback.
However, this doesn't work. When a camera is reported this way, it is
ignored as unknown. Fix this by adding a new camera, when its status
change is reported.

Change-Id: I18874ed005f477e32fb723c00c16b67a81cde6ce
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@intel.com>
2018-01-04 11:42:27 +01:00
TreeHugger Robot
a557df85f0 Merge "Camera: Bump device version to 3.4" 2017-12-22 19:18:51 +00:00
Emilian Peev
e18057b42f Camera: Bump device version to 3.4
Camera devices supporting version 3.4 will be able to receive
session parameters during the stream configuration phase.

Bug: 64450664
Test: Camera CTS
run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --primary-abi-only --module
VtsHalCameraProviderV2_4Target -l INFO

Change-Id: Ifd83bfe0e512fe75b63602b4aba98f4cc1cdeb53
2017-12-20 10:44:11 +00:00
guoyin.chen
1b1f65808a openmax header files have been relocated
openmax header files relocated at headers/media_plugin/media/openmax
Build error as below:
source path frameworks/native/include/media/openmax does not exist

Change-Id: Ifb43a8b47c9ecd7adc4ef715948c52015603ba40
Signed-off-by: guoyin.chen <guoyin.chen@nxp.com>
2017-12-19 01:57:58 +08:00
Steven Moreland
4e1e4081e4 Updating makefiles for hidl_interface.
Bug: 64487114
Test: manual
Merged-In: Ie13d9e014cf2b81c18c67f551b4644fb9f0ba812
Change-Id: Ie13d9e014cf2b81c18c67f551b4644fb9f0ba812
(cherry-picked from commit c2f829a1d2)
2017-12-03 10:31:49 -08:00
Xin Li
bb9e38fef9 Merge commit '1a06284b24f5eb7bb9c1fea0817da8898b3b1bff' from
oc-mr1-dev-plus-aosp into stage-aosp-master

Change-Id: I2a044eb8c9981d0a8198ffe2df55559afbd76341
Merged-In: I4fb9f18884f7ef21162015a0032c4431444f7025
2017-11-14 12:08:38 -08:00
Steven Moreland
8db261bc99 Updating makefiles for hidl_interface.
Bug: 64487114
Test: manual
Merged-In: Ie13d9e014cf2b81c18c67f551b4644fb9f0ba812
Change-Id: Ie13d9e014cf2b81c18c67f551b4644fb9f0ba812
2017-11-13 10:00:18 -08:00
Steven Moreland
a1169dd600 Update makefiles for hidl_interface.
Bug: 35570956
Test: manual
Change-Id: I7a220b78ee081240e1dc30ef5672ba39e3e98375
2017-11-10 09:06:55 -08:00
Steven Moreland
f390f03aa4 Update for Soong-only makefiles.
Test: pass
Bug: 33420795
Change-Id: Ibec6d1e38939b9e7566a96381439be2aac3bf8ca
2017-10-11 18:30:28 +00:00
Steven Moreland
1d7374c5e1 Update for Soong java makefiles. am: c3e80fa01e am: 0fff75dee1 am: 6c811964a1
am: 116161d94e

Change-Id: I33643636e2511de77fdf7de57777eb67edee2e52
2017-10-11 16:39:21 +00:00
Steven Moreland
116161d94e Update for Soong java makefiles. am: c3e80fa01e am: 0fff75dee1
am: 6c811964a1

Change-Id: I85ccbb4a15cd18938607f5bca4e065b9d7e0182b
2017-10-11 16:31:07 +00:00
Steven Moreland
0fff75dee1 Update for Soong java makefiles.
am: c3e80fa01e

Change-Id: Ia8835f9c95bd98a96f5fd3aff11191e7d3726fb9
2017-10-11 16:23:54 +00:00
Steven Moreland
c3e80fa01e Update for Soong java makefiles.
Test: pass
Bug: 33420795
Change-Id: Id9b1919a19b8ff682738cfb0869a479b4dbb4293
2017-10-10 23:07:20 +00:00
Steven Moreland
70bfb9d250 Merge "Update for hidl adapter module defaults." am: 988c977079 am: 861651985f am: b53e6ad535
am: 9a17f41f6f

Change-Id: I78d9292068b372238554fd9d35128e69f5b5f9d2
2017-10-04 21:54:11 +00:00
Steven Moreland
9a17f41f6f Merge "Update for hidl adapter module defaults." am: 988c977079 am: 861651985f
am: b53e6ad535

Change-Id: I23269fb7a9bdd352e670a80f390527d9eef31412
2017-10-04 21:51:00 +00:00
Steven Moreland
861651985f Merge "Update for hidl adapter module defaults."
am: 988c977079

Change-Id: I289818be1b30397391847ba1c532d1014fdbed27
2017-10-04 21:45:09 +00:00
Steven Moreland
527fd76a0e Update for hidl adapter module defaults.
Test: pass
Change-Id: Idc6a943149a279bf17cfcfd0f2571473e53bbbbf
2017-10-04 12:47:03 -07:00
Steven Moreland
3788a7321f Update makefiles for hidl-adapter (2/2).
Bug: 37518178
Test: none
Change-Id: I77fe67964f89da8b66aeb8df6d424de0f8689f8d
2017-09-27 08:55:47 -07:00
Steven Moreland
9fdd241905 Merge "Fix typo in update makefiles." am: 9960148420 am: f07e364ce3
am: 71a193a425

Change-Id: I45ae43f07323254212532acbf0f891d11143b05f
2017-09-26 23:58:51 +00:00
Steven Moreland
f07e364ce3 Merge "Fix typo in update makefiles."
am: 9960148420

Change-Id: I949634e72f817f3a5411130e968acd8efd1d7725
2017-09-26 23:51:07 +00:00
Steven Moreland
a5299ee739 Fix typo in update makefiles.
Bug: 37518178
Test: pass
Change-Id: Ic401b3a473f15ca4c01e58b3072e19db7c31b653
2017-09-26 21:59:43 +00:00
Steven Moreland
97228c0b7d Update makefiles for hidl adapter. am: 26a0bb2762 am: 73949c1d7e
am: b94d0c7290

Change-Id: If766cffbcc003cc0cc5eb98969b924aa918fff44
2017-09-26 12:53:13 +00:00
Steven Moreland
73949c1d7e Update makefiles for hidl adapter.
am: 26a0bb2762

Change-Id: I3a811f5cd49bd4e81e8fcd5c8e88922115812539
2017-09-25 23:14:44 +00:00
Steven Moreland
26a0bb2762 Update makefiles for hidl adapter.
Bug: 37518178
Test: manual
Change-Id: I50e999907d3c64d2b039272b823971998da64d1b
2017-09-25 18:35:56 +00:00
Eino-Ville Talvala
3f55d8735e Merge "Camera: Add default implementation of camera.device@3.3" into oc-mr1-dev 2017-09-19 15:53:43 +00:00
Eino-Ville Talvala
50fe430994 Camera: Add default implementation of camera.device@3.3
Inherit as much as possible from camera.device@3.2

- Refactor CameraDeviceSession@3.2 implementation to separate out the
  HIDL session interface from the main implementation object. This
  avoids multiple inheritance issues
- Create CameraDeviceSession@3.3 with support for the new
  overrideDataspace field
- Add virtual factory method for CameraDevice to create the right version
  of Session.
- Create CameraDevice@3.3, which overrides createSession to return a
  CameraDeviceSession@3.3.
- Add system property to override selection of which minor HIDL
  version is used for legal HAL version 3.x; set the default to the
  newest available minor version.

Test: Camera CTS passes on device using @3.3.
Bug: 62358514
Change-Id: I497e4bc0de798b56ecdb2ea6467b79afccaf89f7
2017-09-15 11:08:48 -07:00
Yin-Chia Yeh
623ddbb528 Merge "Camera: synchronize access to mMemoryMap"
am: 2b888b349f

Change-Id: If68840c461ce96a8ff3749ae3d6628e9f548505d
2017-09-14 22:02:48 +00:00
Yin-Chia Yeh
308f5b6e15 Camera: synchronize access to mMemoryMap
Test: stress test on partner device
Bug: 64831570
Change-Id: Ib9ece2f876ccb309c4f1bb8f90242a3e91081f47
Merged-In: Ib9ece2f876ccb309c4f1bb8f90242a3e91081f47
2017-09-14 12:18:05 -07:00
Yin-Chia Yeh
6550022dba Camera: synchronize access to mMemoryMap
Test: stress test on partner device
Bug: 64831570
Change-Id: Ib9ece2f876ccb309c4f1bb8f90242a3e91081f47
2017-09-12 16:35:29 -07:00
Eino-Ville Talvala
d09e5651ed Camera: Add new minor revision camera.device@3.3
This adds a single new member to the HalStream structure, used by
camera.device@3.2::ICameraDeviceSession.configureStreams, for
HALs to override the requested stream dataSpace.

This override may be used when the requested format is
IMPLEMENTATION_DEFINED.

Test: Builds
Bug: 62358514
Change-Id: Ie43e6cfd2ac52657c9366ff5297daa22c0bfa46c
2017-08-23 11:31:40 -07:00
Steven Moreland
dfd8287506 Updating all makefiles.
Bug: 64487114
Test: none
Merged-In: I8608c8f636c35f21e4246a805a9eff6d14124e0a
Merged-In: I2fa89b6661c39859ec4fb62c4bb0a05a35e645f0
Merged-In: Ifdc3c17cb2b85c18b37dac2d03bb5c8935c23180
Change-Id: I170fa1c4fe39f8109b1670db58ef99bb11afc0be
2017-08-14 20:25:09 +00:00
Steven Moreland
ff308ea6ba Updating all makefiles.
Bug: 64487114
Test: none
Merged-In: I8608c8f636c35f21e4246a805a9eff6d14124e0a
Merged-In: I2fa89b6661c39859ec4fb62c4bb0a05a35e645f0
Change-Id: Ifdc3c17cb2b85c18b37dac2d03bb5c8935c23180
2017-08-11 22:58:47 +00:00
Justin Yun
608d773ef8 Update make file for vndk enabled.
Update the Android.bp generated with hidl-gen.

Test: build with and without BOARD_VNDK_VERSION=current
Bug: 63866913
Change-Id: I1a9db1df49e0f13c5790da2b118ae9ec63ba34a7
2017-08-04 14:12:23 +09:00
Tri Vo
f5d136c231 Update Android.bp HIDL makefiles
Allow HAL definition libs to be static.

Bug: 32920003
Bug: 64040096
Test: update-all-google-makefiles.sh
Change-Id: I1483d572bea6799717d1614fb7d52fe225e31104
2017-08-03 00:30:01 +00:00
TreeHugger Robot
34c5caaa9f Merge "Camera: fix various VTS issues" into oc-mr1-dev 2017-07-27 22:04:59 +00:00
Yin-Chia Yeh
fafbc479db Camera: fix various VTS issues
Also fix wrong return values for processCaptureRequest in default
wrapper.

Test: running camera VTS
Bug: 64041692
Change-Id: I397390af7c85a776713f6287bef1c4d11c721c9a
Merged-In: I397390af7c85a776713f6287bef1c4d11c721c9a
2017-07-27 18:45:30 +00:00
Yin-Chia Yeh
e9ab8227ae Camera: fix various VTS issues
Also fix wrong return values for processCaptureRequest in default
wrapper.

Test: running camera VTS
Bug: 64041692
Change-Id: I397390af7c85a776713f6287bef1c4d11c721c9a
2017-07-27 11:43:24 -07:00
Yin-Chia Yeh
feb0ddde26 Camera: add camera owners
Test: none
Change-Id: I1a221feea480139d78c9b10dcd6c7c88955901bd
Merged-In: I1a221feea480139d78c9b10dcd6c7c88955901bd
(cherry picked from commit 14a5810a2e)
2017-07-27 18:21:51 +00:00
Jiyong Park
ec648686db Build camera.device@1.0-impl with BOARD_VNDK_VERSION
Add the dependency to media_plugin_headers since global include path is
not provided when building with BOARD_VNDK_VERSION

Bug: 37342627
Test: BOARD_VNDK_VERSION=current m -j camera.device@1.0-impl.vendor

(cherry picked from commit ef25b10aeb5134046c9acc3fbddbda1783fd32f0)

Change-Id: I506ad4d70b708d129cdc7842cc772c20d9b4197b
2017-07-10 12:37:00 +09:00
Yahan Zhou
a61c24c091 Merge "Camera: fix recursive lock in CameraDevice 1.0" into oc-dev
am: eed6653f2a

Change-Id: Ia962664983096059da8ecbffa7f13ef525e4a6e4
2017-06-23 17:59:26 +00:00
Yahan Zhou
2ff1f7e687 Merge "Camera: fix recursive lock in CameraDevice 1.0" into oc-dev
am: eed6653f2a

Change-Id: I66f434944d2a00bee6c06d0883b916c5c87d1243
2017-06-23 17:59:25 +00:00
Yahan Zhou
77dd4aaad3 Camera: fix recursive lock in CameraDevice 1.0
Several functions call close() while they are holding a lock, which
results in recursive locking. This CL implements close_locked() to avoid
such behavior.

Bug: 62919192
Test: run vts -m VtsHalCameraProviderV2_4Target, and camera should still
work after it

Change-Id: Ib38e1de19ed3c927bfb645c0c777c04f157f2b88
2017-06-23 00:28:11 +00:00
Yin-Chia Yeh
a9576758e2 Merge "Camera: fix release fence FD leaks" into oc-dev
am: 6e7ca4e166

Change-Id: I82df851760e0d85890fcc85496afb302f38d3ed7
2017-05-30 22:39:03 +00:00
Yin-Chia Yeh
aa6993121e Camera: fix release fence FD leaks
Test: use sw_sync to fake release fence FDs, GCA, CTS
Bug: 62070085
Change-Id: Iae77a2e112df5363e55e4177656a5dd41b830cbd
2017-05-26 16:28:45 -07:00
Shuzhen Wang
6ccc129e91 Camera: Silence log spam
am: 207867716a

Change-Id: I697d551878713f56ed5845b3ebd87db76e1b513e
2017-05-25 22:57:13 +00:00
Shuzhen Wang
207867716a Camera: Silence log spam
HAL is allowed to return captureResult from different thread contexts.
Do not do ALOGW if this is the case.

Test: Run camera and check logspam is gone
Bug: 62068207
Change-Id: I86e77fc578953cefecf10ebc4d395edf33627e8c
2017-05-25 11:21:09 -07:00