Commit Graph

289 Commits

Author SHA1 Message Date
Tom Cherry
a3a2e9c664 Include what you use: <fcntl.h> am: 10256e3ad8 am: bbf78ea50d
Change-Id: Id497f81dc9bfe8d5d5bd138e903119bbeb8e328c
2020-04-13 19:56:08 +00:00
Tom Cherry
10256e3ad8 Include what you use: <fcntl.h>
This was transitively included, but no longer is, so it must be
explicitly included.

Exempt-From-Owner-Approval: Janitorial
Test: build
Change-Id: I48d318c53cbfb76849f987029b0c8e775f576496
2020-04-13 11:09:42 -07:00
TreeHugger Robot
19d25d08aa Merge "Camera: Avoid adding uninitialized hal requests" into rvc-dev am: 104fe8332f
Change-Id: Id06c238c7e656b94f87aae6596edaee1367dd1cf
2020-03-20 18:17:44 +00:00
TreeHugger Robot
104fe8332f Merge "Camera: Avoid adding uninitialized hal requests" into rvc-dev 2020-03-20 17:59:15 +00:00
TreeHugger Robot
211533c556 Merge "Camera: Advertise numbered string ID for external cameras" into rvc-dev am: 7bf05d75bc
Change-Id: Ie249d2be0b955cfae416672df52e78aea3483d63
2020-03-18 21:52:15 +00:00
Anton D. Kachalov
34cdbcde50 Camera: Advertise numbered string ID for external cameras
With current implementation cameraId is part of something like:

  device@3.5/external//dev/video0

This doesn't work well with Camera2 API based apps.

Adding CameraIdOffset tag to Provider as a base offset.

Test: presubmit builds
Bug: 151350336

Merged-In: I6309d16be565616f048fb24a70e9be5b2f5ed480
Change-Id: I6309d16be565616f048fb24a70e9be5b2f5ed480
(cherry picked from commit 4f6022ae5d)
2020-03-12 21:21:09 +00:00
Automerger Merge Worker
ec4685de6c Merge "Fix bugprone-use-after-move warnings" am: 1c7e676905 am: e59bd9e1a7
Change-Id: Ifbbdf54efe22128725600f5da4956547fe5871cf
2020-03-10 17:47:01 +00:00
Chih-Hung Hsieh
ba3a1cb529 Fix bugprone-use-after-move warnings
Bug: 150783499
Test: WITH_TIDY=1 make
Change-Id: If257532523674ea6256b72ec765904a8de5bf565
2020-03-05 15:30:00 -08:00
Emilian Peev
36aa827f70 Camera: Avoid adding uninitialized hal requests
The offline requests deque is constructed with
specific amount of entries. Initialize the
the already allocated entries before pushing
new ones.

Bug: 149346795
Test: Camera CTS
Change-Id: I6db8d48949caf753429702b60c48698c95ecf4ad
2020-02-26 16:41:57 -08:00
Yin-Chia Yeh
6e082e8581 Camera: clarify depth camera requirement for OFFLINE_PROCESSING
Test: build (doc only change)
Bug: 135142453
Change-Id: I48589e6f7fad6ff291a57de305b4a549dbb843b2
2020-02-20 22:44:27 +00: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
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
Yin-Chia Yeh
5dab7280b3 Camera: add webcam offline processing support
Test: CTS/VTS in follow up changes
Bug: 135142453
Change-Id: Ie95f22795f4807ed384443de0fffc65c5dde16d1
2020-02-03 10:09:56 -08:00
Yin-Chia Yeh
4da7c6c997 Camera: add webcam HAL@3.6 support
First CL to setup webcam HAL to support HIDL camera device 3.6.
Follow up CL will add actual offline processing capability.

Test: TestingCamera.apk
Bug: 135142453
Change-Id: Ifcd1b22f42d08b0fa5dc6039125c1d979b8104c2
2020-01-29 11:22:20 -08:00
Yin-Chia Yeh
91e07785b5 Camera: add OFFLINE_PROCESSING APIs
Also a typo fix in metadata doc.

Test: N/A. New API skeleton, no implementation yet.
Bug: 135142453
Change-Id: I4852ee28242afabe81b02cfef39994c5d2705359
2019-12-16 11:40:28 -08:00
George Burgess IV
88ff2c6da3 Merge "camera: fix two potential null pointer uses" am: bf432cced9 am: ba1a53006f
am: 32a78e184a

Change-Id: I94a88acd4ce70d5ff733fd33c27c49cd0bc9f76b
2019-11-01 16:59:21 -07:00
George Burgess IV
2ea148804a camera: fix two potential null pointer uses
Caught by the static analyzer:
hardware/interfaces/camera/device/1.0/default/CameraDevice.cpp:401:9:
warning: Called C++ object pointer is null
[clang-analyzer-core.CallAndMessage]

Bug: None
Test: TreeHugger
Change-Id: Ia6d0a2ab4b4d04cfc171629c7dbf60ead181625d
2019-11-01 13:31:25 -07:00
Nick Desaulniers
99a2661f62 Merge "[hardware][interfaces][camera] fix -Wreorder-init-list" am: 977e274043 am: e6faf9820f am: a9d0279960
am: b7a210b0b7

Change-Id: I2478f5f4ff27937fa28fe92fb97a6fc1f46c2ba7
2019-10-14 17:43:08 -07:00
Nick Desaulniers
e1e932ea20 [hardware][interfaces][camera] fix -Wreorder-init-list
C++20 will require members in a designated initializer to be in order
unlike C99.

Bug: 139945549
Test: mm
Change-Id: I387d30e993719014da50207c7114b0003b9450c5
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
2019-10-14 11:05:30 -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
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
Shuzhen Wang
2bc46c99b8 Camera: Use original dataspace/format for 3.5 device am: 22f6dcec7e
am: 3004b2e5cb

Change-Id: I97c92dd9b70e72e0e0054353d80abde3a9431e3d
2019-06-06 17:17:42 -07:00
Shuzhen Wang
9d2ea958a6 Camera: Use original dataspace/format for 3.5 device
am: 22f6dcec7e

Change-Id: Iedb4e97abf10be30a257202f6d967b0e807dd0f8
2019-06-06 17:12:37 -07:00
Shuzhen Wang
22f6dcec7e Camera: Use original dataspace/format for 3.5 device
Starting from CameraDeviceSession 3.5, for IMPLEMENTATION_DEFINED pixel
format, configureStreams call uses original format and dataspace instead
of the overridden value.

This makes sure the HAL interface behavior is consistent between first
and subsequent processCaptureRequest() calls.

Test: Camera CTS and partner testing
Bug: 131864007
Change-Id: Id701141d2c11089ef063fd3f32444212855f84ab
2019-06-06 07:50:50 -07:00
Shuzhen Wang
d31d87a4d0 Merge "Camera: Add support for IMapper 3.0" into qt-dev
am: 057de3759f

Change-Id: I27626fd07bd275d28a14eeee332e9498a85e9673
2019-05-20 21:56:22 -07:00
TreeHugger Robot
057de3759f Merge "Camera: Add support for IMapper 3.0" into qt-dev 2019-05-21 04:35:47 +00:00
Shuzhen Wang
9d4b457285 Merge "Camera: Allow out-of-order ZSL shutter notify" into qt-dev
am: e4be4c9765

Change-Id: I112efe45e7dcc7d3bb3dd880d1596cb09534a24e
2019-05-17 14:56:12 -07:00
TreeHugger Robot
e4be4c9765 Merge "Camera: Allow out-of-order ZSL shutter notify" into qt-dev 2019-05-17 21:20:43 +00:00
Emilian Peev
c22d6eed67 Merge "Camera: Add fall back properties for FMQ size override" into qt-dev
am: a07b613b59

Change-Id: I1865a18a7bf1078d38bdc01db5916da8a68024d0
2019-05-16 14:48:42 -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
Emilian Peev
5ec377b430 Camera: Add fall back properties for FMQ size override
All system properties in the vendor partition must
start with either "vendor" or "ro.vendor".
Older devices should not be affected but newer
implementations may not be able to override the
FMQ size if needed.
Keep this functionality and provide fall back
properties using "ro.vendor.camera".

Bug: 77865891
Test: Manual using application and modified device configuration.
Change-Id: I23d0ba7a10eaafe98a708277c26579e8a0fec614
2019-05-09 17:13:08 -07:00
Shuzhen Wang
098720bc2c Camera: Allow out-of-order ZSL shutter notify
- Allow shutter notifies of zero-shutter-lag requests with STILL_CAPTURE
intent to be out of order compared to other kinds of requests.
- Shutter notifies of same kind of requests must be in order.

Test: BurstJpegCapture CTS test
Bug: 120604717
Change-Id: Ia31f0d17322cb9b850614413feb1134e16d69552
2019-04-29 14:18:55 -07:00
Yin-Chia Yeh
299d87a167 Merge "External Camera: support less thumbnail sizes" into qt-dev
am: 70e106d961

Change-Id: Id8b8a8e6dde98e1098a4c4d8d187543da1044dc5
2019-04-29 10:43:09 -07:00
Yin-Chia Yeh
0d540b3e75 External Camera: support less thumbnail sizes
Since larger thumbnail sizes might hit the app1 size limit
of 64KB.

Test: camera CTS
Bug: 119775355
Change-Id: I9d8d21ac0784c53b42c536cfa09a8c40c4f15ea0
2019-04-25 14:55:22 -07:00
Steven Moreland
99712c08cc Update hidl makefiles for bpfmt
hidl-generated makefiles are now generated such that bpfmt(file) == file.

Bug: 67417008
Test: enable bpfmt hook
Change-Id: I53e5bf67a0d314e1b10c0ba0c7172a7af358ddcc
2019-04-18 18:13:05 -07: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
Emilian Peev
5874bba486 Camera: Avoid using an uninitialized physical camera id
'mStreamMap' entries can be inserted by several versions
of HIDL API calls. If the fields are initialized by an
older version, then make sure that newer additions are
always initialized in the respective API method.

Bug: 73885805
Test:
adb shell
/data/nativetest64/VtsHalCameraProviderV2_4TargetTest/VtsHalCameraProviderV2_4TargetTest
--hal_service_instance=android.hardware.camera.provider@2.4::ICameraProvider/legacy/0

Change-Id: Ib5bd8f608da05f628c52d288c518cebbe964182b
2019-04-04 13:27:09 -07:00
Emilian Peev
22ba924404 Camera: Update 'ERROR_RESULT' documentation
Extend "ERROR_RESULT" documentation and describe how Hal
must notify about physical device result failures and
logical device result failures.

Bug: 128835627
Test: Successful build
Change-Id: Iac5642f333634d9cc820eb727f8ff3534a47a583
2019-03-28 10:04:31 -07:00
Treehugger Robot
44968dc629 Merge "Y16 format enablement for external provider" 2019-03-25 20:19:44 +00:00
TreeHugger Robot
9cc43c58a4 Merge "Camera: cleanup external camera HAL fence FD logic" 2019-03-15 18:17:50 +00:00
TreeHugger Robot
cccae8396b Merge "Y16 format enablement for external provider" 2019-03-15 01:23:16 +00:00
Emil Jahshan
a759713ca1 Y16 format enablement for external provider
added Y16 (depth) support for the external provider.
refactored initOutputCharsKeys to support both depth and color metadata according to the connected camera.
the VTS changes will be pushed to pie-vts-dev

Test: tested on intel depth camera D415 manually in addition to the VTS tests.

Change-Id: I358686e7c4330bb180dec4a9cce3bc1cf5475260
Merged-In: I358686e7c4330bb180dec4a9cce3bc1cf5475260
Signed-off-by: Emil Jahshan <emil.jahshan@intel.com>
2019-03-14 14:27:07 -07:00
Yin-Chia Yeh
965d9dd821 Camera: cleanup external camera HAL fence FD logic
Treat all non-negative integers as valid FD.

Test: webcam smoke test
Bug: N/A
Change-Id: I5fd52c0d195d2d4b63d70d66f10bd2a3ea99985c
2019-03-14 14:21:01 -07:00
Emil Jahshan
eed0040e21 Y16 format enablement for external provider
added Y16 (depth) support for the external provider.
refactored initOutputCharsKeys to support both depth and color metadata according to the connected camera.
the VTS changes will be pushed to pie-vts-dev

Test: tested on intel depth camera D415 manually in addition to the VTS tests.

Change-Id: I358686e7c4330bb180dec4a9cce3bc1cf5475260
Signed-off-by: Emil Jahshan <emil.jahshan@intel.com>
2019-03-14 14:06:17 -07:00
Eino-Ville Talvala
d1ce4e664a Camera: Centralize OWNERS
Test: Builds
Change-Id: I9b8d1675566db44b959c633c25ceaf61a6dc08db
2019-03-13 15:15:45 -07:00
TreeHugger Robot
a3f6d38187 Merge "Camera: fill in num_output_buffers" 2019-03-06 19:52:18 +00:00