Commit Graph

207 Commits

Author SHA1 Message Date
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