Commit graph

604 commits

Author SHA1 Message Date
Suren Baghdasaryan
849e9fc8b6 Replace direct pid writes with setting task profiles for camera interfaces
For easy transition from SchedTune to UtilClamp, direct access to these
cgroups should be abstracted by using task profiles. Replace writepid
commands with new task_profiles command.

Bug: 155419956
Test: change .rc file and confirm task profile is applied
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I2732f7365351f132dbf0566319e3969c2a25b3e4
2020-04-30 13:45:23 -07: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
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
Steven Moreland
2b4209ff93 camer 2.5 lazy service: fix interface decls
This fails to compile on builds where host init verifier is being used
because the entire interface inheritance hierarchy must be present.
This appears to be a simple case of a missed fixup in a bulk operation,
since the other .rc files in this directory already have this change.

Bug: N/A
Test: build fixed
Change-Id: If7f40f2532c90f4105f36c6bbcd64a318e557ab0
2019-11-04 12:36:53 -08: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
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
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
Peter Kalauskas
caed24ba9b Convert LazyServiceRegistrar usage to singleton
Test: lshal
Bug: 139376253
Change-Id: I32cb803fb73aa15b52676847b6e7eb09b86657dc
2019-08-19 21:15:30 +00:00
zhangweiwei
235e9b03e2 Camera: Vts: Fix missing session close
am: d21dd860ce

Change-Id: I402a964794392ee6c4233241ce97a369b3b93781
2019-07-08 17:14:33 -07:00
zhangweiwei
d21dd860ce Camera: Vts: Fix missing session close
Test: vendor testing, Camera VTS on Pixel
Bug:135898951
Change-Id: I61f5a90d62732a00d0bc9abad05db0a1a9cc2b63
2019-07-08 08:45:18 -07:00
Emilian Peev
2ff76229f9 Merge "Camera: VTS: Don't access invalid resources" into qt-dev
am: d016fd7949

Change-Id: Iace1d45a65c5fc16230b18fcc7e2de46aa561776
2019-07-01 15:26:32 -07:00
Emilian Peev
fd4ce7e76a Camera: VTS: Don't access invalid resources
There is no guarantee that the static metadata
pointer passed in the "DeviceCb" contructor will
be valid after the call completes.  The device
callback instance is expected to be active until
the camera session is open. Clone the required
metadata in "DeviceCb" and manage the lifetime
appropriately by using the "CameraMetadata"
wrapper.

Bug: 135976837
Test: CameraHidlTest#processCaptureRequestPreview
Change-Id: Idd3c6c8c2e5a3fc44a49712e25a04009cbd471b1
2019-06-28 17:03:12 +00:00
Shuzhen Wang
c39db71d53 Merge "Camera: VTS: Allow unsupported logical/physical combination" into qt-dev
am: d4686a1a06

Change-Id: I8f751938b986797c412c1a097d9a4909c8abcffe
2019-06-26 08:58:15 -07:00
TreeHugger Robot
d4686a1a06 Merge "Camera: VTS: Allow unsupported logical/physical combination" into qt-dev 2019-06-26 15:42:57 +00:00
Shuzhen Wang
fa2a909836 Camera: VTS: Allow unsupported logical/physical combination
Multi-camera API requirement is relaxed to allow camera device not
support physical stream combinations. Adjust the test accordingly.

Test: processMultiCaptureRequestPreview
Bug: 135688720
Bug: 135728906
Change-Id: I8c5269c5d3fd7f6eef440c818706629af2233196
2019-06-24 11:30:00 -07:00
Yin-Chia Yeh
80962f507e Merge "Camera: fix unknown bufId issue" into qt-dev
am: 981693f6ff

Change-Id: Idda1d94fd32ec3feb2e3929362ff3880c692fc6a
2019-06-19 19:02:59 -07:00
TreeHugger Robot
981693f6ff Merge "Camera: fix unknown bufId issue" into qt-dev 2019-06-19 23:03:53 +00:00
Yin-Chia Yeh
aba88c6cbc Camera: fix unknown bufId issue
It's legit to have bufId 0 in processCaptureResult with HAL buffer
manager, but not for returnStreamBuffers.

Test: the failed test can now pass
Bug: 135565913
Change-Id: I05947bc159bb9ba00a670b98d4622f685b4ac760
2019-06-19 11:51:48 -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
a96fe52bfc Merge "Camera: Fix remaining OWNER file include" into qt-dev
am: 9aec56107a

Change-Id: I0c47687bcb1589dbbe5e9961e1856bdce06ac556
2019-05-20 21:23:29 -07:00
Shuzhen Wang
0c6f8b6859 Camera: Fix remaining OWNER file include
Bug: 133188173
Test: None
Change-Id: I2da75bf9a7480974b3ca1c6eea52a58b46b0cc97
2019-05-20 17:30:40 -07: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
TreeHugger Robot
7ffb10cd86 Merge "Camera: require torch API support for Android Q" into qt-dev 2019-04-11 22:04:52 +00:00
Yin-Chia Yeh
51ea7c984b Camera: require torch API support for Android Q
Torch API was mandated on legacy libhardware camera module 2.4.
We kept the option of not supporting this API because the first
HIDL legacy wrapper needs to also support libhardware camera
module 1.0 + HAL1.0. Now that HAL 1.0 is no longer supported,
we can reenforce the torch API being supported by camera HAL as
this is critical to power usage of flashlight usecase.

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

Change-Id: I0dcf2e7a5cddadcd097caf6913625d8a607065f8
2019-04-11 10:35:17 -07:00
Jayant Chowdhary
80bed174b2 Merge "Allow android.hardware.camera.common@1.0-helper to access vendor tags" into qt-dev 2019-04-05 16:39:16 +00:00
Jayant Chowdhary
661f4410f4 Allow android.hardware.camera.common@1.0-helper to access vendor tags
This allows vendor camera clients to access provider specific vendor
tags. No expected behavior changes to camera HAL process(es).

Also fixes OWNERS file.

Bug: 129688550

Test: AImageReaderTest modified to set a vendor tag in CaptureRequest
Test: Take still pictures / record video (sanity)
Test: camera CTS tests

Change-Id: I18b678e7e0db7f1b29c3de0b762cb65e25842fa8
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
2019-04-04 14:24:06 -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
70eae1d3f0 Camera: Set buffer request stream id
Additionally fix a possible issue with the buffer request index
and variable shadowing.

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

Change-Id: I34ab0285e59233c1b6d276f9167372ef3b0bbd0b
2019-04-04 13:22:25 -07:00
TreeHugger Robot
e7aeb819f8 Merge "Camera: Update VTS test for revised multi-camera requirement" 2019-04-03 00:06:55 +00: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
Shuzhen Wang
7788df304e Camera: Update VTS test for revised multi-camera requirement
Test to make sure logical multi-camera device support
isStreamCombinationSupported() for 3.5 and above devices.

Test: VtsHalCameraProviderV2_4TargetTest
Bug: 119325664
Change-Id: I734278799f10ed215ceb5dd108ac7f722f7f7925
2019-03-21 17:32:21 -07:00
TreeHugger Robot
469b3ac3d4 Merge "Camera: Add recommended low latency use case id" 2019-03-18 22:02:53 +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