History log of /hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9b71bc20c436eae3642ca0014d1381afaabe52d4 06-Jun-2018 Shuzhen Wang <shuzhenwang@google.com> 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
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
9d32c13f0b0fea73648b218422cf881fd38df35b 24-May-2018 Yin-Chia Yeh <yinchiayeh@google.com> Camera: add FMQ size override logic

Test: modify FMQ size in device.mk
Bug: 80242493
Change-Id: Ie1fb12118ad53c5bbe0cf264bffaafcd3728f8db
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
090872abcfd780f5ab497515ba243ad3c0874816 18-May-2018 Yin-Chia Yeh <yinchiayeh@google.com> 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
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
b0140796a31a97ee6de33bdde17e02a86a80155b 27-Apr-2018 Yin-Chia Yeh <yinchiayeh@google.com> Camera: check return value of callback

Test: no crash
Bug: 78181355
Change-Id: Iaf953045b64dd7b258cf49919ccb8aa5a8a0c7d1
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
9b61e6197ef6bfe0b2b57d32f9c5e6f0f955f911 07-Apr-2018 Zhijun He <zhijunhe@google.com> 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
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
17d817a889da6be3f77da83ef0b3547461b4a6a6 10-Mar-2018 Shuzhen Wang <shuzhenwang@google.com> 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
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
39cf8fd9fe587e39b44e1ed63171c6eb5049f2df 30-Dec-2017 Shuzhen Wang <shuzhenwang@google.com> 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
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
658d30d3c84bf656032adcd7bc7bf5e82e8203e1 18-Jan-2018 Eino-Ville Talvala <etalvala@google.com> 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
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
b75aa350e71b0c7dc59c4d51420a37608577a650 17-Jan-2018 Emilian Peev <epeev@google.com> 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
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
e18057b42f1698f33f34d14e86a53934bd337bb8 13-Nov-2017 Emilian Peev <epeev@google.com> 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
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
50fe43099495dcb388fdd7eb1ff78609aaa0cf88 23-Aug-2017 Eino-Ville Talvala <etalvala@google.com> 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
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
e9ab8227aea2ddd6d36304030d60590609ecdc68 27-Jul-2017 Yin-Chia Yeh <yinchiayeh@google.com> Camera: fix various VTS issues

Also fix wrong return values for processCaptureRequest in default
wrapper.

Test: running camera VTS
Bug: 64041692
Change-Id: I397390af7c85a776713f6287bef1c4d11c721c9a
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
aa6993121e607ffcb4492d0f984db3c48748e150 26-May-2017 Yin-Chia Yeh <yinchiayeh@google.com> Camera: fix release fence FD leaks

Test: use sw_sync to fake release fence FDs, GCA, CTS
Bug: 62070085
Change-Id: Iae77a2e112df5363e55e4177656a5dd41b830cbd
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
207867716a0f1e6415627f115cb3aea150d4c862 25-May-2017 Shuzhen Wang <shuzhenwang@google.com> 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
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
4ebf53f450227809f7fc04a828fd352afe25ec17 25-May-2017 Eino-Ville Talvala <etalvala@google.com> camera.device@3.2 wrapper: Close release fence FDs

Freeing the native handle isn't enough; we need to close the fence FDs
after sending them to the camera service, since that's the behavior
that the legacy HAL interface requires.

Test: Camera CTS continues to pass.
Bug: 38482274
Change-Id: I879de566dcafecc1b899d79e68b38ea39b91a37e
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
02b745ff4039c92def8e3049017a209787bf88e0 28-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Camera: use gralloc mapper for handle import" into oc-dev
519c1675c3a489677354e8a3d2666bf1b41df6f0 21-Apr-2017 Yin-Chia Yeh <yinchiayeh@google.com> Camera: use gralloc mapper for handle import

Bug: 37540361
Test: marlin, smoke test GCA
Change-Id: I9d58d9c6af20b37c016f036bce2dcf55817c59aa
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
a13ac99f3472e015c24b5a2999a9b7fda1f56a45 10-Apr-2017 Emilian Peev <epeev@google.com> Camera: Insert default RAW boost if needed

RAW boost key inside result and request metadata could be
absent depending on CameraHal. In case RAW boost range is
supported, the RAW boost value must always be present.

Bug: 34392075
Test: runtest -x
cts/tests/camera/src/android/hardware/camera2/cts/DngCreatorTest.java
Change-Id: I4c27b3fe5228ff604e3f2796abc670be5c17da67
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
cf5813702a0c282889cc99ac40a34754f13bcb39 07-Apr-2017 Emilian Peev <epeev@google.com> Camera: Override AE pre-capture trigger cancel

CameraHal version 3.2 doesn't support cancel AE pre-capture
trigger. Camera request metadata that contains this value
needs to be overriden respectively. The corresponding results
also require the same kind of modification.

Bug: 34392075
Test: runtest -x
cts/tests/camera/src/android/hardware/camera2/cts/StillCaptureTest.java
-m testAePrecaptureTriggerCancelJpegCapture
Change-Id: If8bcf7e97ca8691cf890d5d6306d49dc3ddd087a
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
7d52a6fd255938f4c7fdf1dab85369b97760df2a 07-Apr-2017 Emilian Peev <epeev@google.com> Camera: Map stream dataspaces

Older CameraHal versions are still using deprecated dataspace
definitions. Mapping between these dataspaces is needed to avoid
discrepancies.

Bug: 34392075
Test: Manual using camera application
Change-Id: I811dec879494445736b4e3731b2d516e396a9058
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
993e3d028645c831f578c1b69916793331c476d3 13-Apr-2017 Yifan Hong <elsk@google.com> Use fmq for camera capture result.

Test: camera works.

Bug: 35788245 [Treble] Pass camera metadata using shared memory

Change-Id: Ia8ba8ac4c8f7d1a89035f549c0281a30190554bb
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
1192e1d109d9aa0d9bc93be687ff668c0488d760 11-Apr-2017 Yifan Hong <elsk@google.com> Use fmq for camera capture request.

Test: camera works.

Bug: 35788245 [Treble] Pass camera metadata using shared memory
Change-Id: I4a1585315bf448c8c57def2964237cae21bdbe03
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
79d13ff0f5cd3c4242445baf5b2f01a52f0ed06f 31-Mar-2017 Chia-I Wu <olv@google.com> graphics: revise gralloc interfaces

Revise IAllocator and IMapper to reduce IPC and to support gralloc0
devices.

Specifically, IAllocator is trimmed down to have essentially only

allocate(BufferDescriptor descriptor, uint32_t count)
generates (Error error,
uint32_t stride,
vec<handle> buffers);

The ability to allocate buffers with shared backing store is
removed. ProducerUsage and ConsumerUsage are moved to the
graphics.common package and are merged and renamed to BufferUsage.
BufferUsage's bits follow gralloc0.

IMapper gains

typedef vec<uint32_t> BufferDescriptor;
createDescriptor(BufferDescriptorInfo descriptorInfo)
generates (Error error,
BufferDescriptor descriptor);

where BufferDescriptor is an implementation-defined blob. lockFlex
is replaced by lockYCbCr. All getters are removed.

Reference counting with retain/release is replaced by
importBuffer/freeBuffer.

Most if not all gralloc1 features are not used by the runtime yet.
There is also not too much test written for them. As such, they
tend to behave differently between implementations and cannot be
used reliably.

Bug: 36481301
Test: builds and boots on Pixel
Change-Id: I1d31105120517ea2c128c7a19297acf3bfd312bb
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
c25c54f4b19e9a8bd5e908980ab8fdb96854678b 04-Apr-2017 Yin-Chia Yeh <yinchiayeh@google.com> Revert "camera: Map between legacy gralloc0 usage, and HIDL gralloc1 usages"

This reverts commit 2d80c0d66f9ca869d6102f07bd236b7c4c94c205.

Test: fix b/36876770
Bug: b/36876770
Change-Id: Ia251ec97273d71fd5bc759aa1161960f6266358a
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
2fc995846ca6f04ccbe91a193af82ea1add31727 04-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Camera: add interface to evict obsolete buffer caches" into oc-dev
28eebbfc41f5114eae3a8d0234c1f1fcedffdf1a 31-Mar-2017 Yin-Chia Yeh <yinchiayeh@google.com> Camera: add interface to evict obsolete buffer caches

Test: fix CTS ReprocessCaptureTest
Bug: 34461678
Change-Id: Icde654b0c8423c31d7d39d180913ffa374e7de3c
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
2d80c0d66f9ca869d6102f07bd236b7c4c94c205 23-Mar-2017 Eino-Ville Talvala <etalvala@google.com> camera: Map between legacy gralloc0 usage, and HIDL gralloc1 usages

Otherwise some bits will be set incorrectly.

Also move device@1.0 to use ProducerUsageFlags instead of ProducerUsage,
and add a compatibility workaround to set the gralloc0 HW_CAMERA_ZSL flags
when ConsumerUsage::CAMERA is passed in.

Test: Camera CTS passes, updated VTS tests pass
Bug: 35215313
Change-Id: I981dc1a650f838f94d932944fe835fd267f2004d
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
bed3a9473e43030d98678e14e4e4cc69dae41a6f 06-Mar-2017 Yin-Chia Yeh <yinchiayeh@google.com> Camera: add batching support

Currently only batching high speed recording request/results.

Test: GCA slow motion recording working
Bug: 34899394
Change-Id: Id83b9d1cefe011391c86a5e7e898262a169cc9e7
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
d0c5b56e294f270d1e99fd7390b97fc4b1c5ea41 09-Mar-2017 Steven Moreland <smoreland@google.com> Camera: remove unused variable

Test: pass
Change-Id: Ic382adca84ed16826fb56ebd20c573fdf8021d7b
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
248ed700fed7e682eddf3d0607592eb5f3a3fb1a 24-Jan-2017 Yin-Chia Yeh <yinchiayeh@google.com> Camera: default implementation of device 1.0

Also some updates to HIDL interface:
- Add releaseRecordingFrameHandle to ICameraDevice
for native handle metadata recording mode
- Add handleCallbackTimestamp to ICameraDevieCallback
for native handle metadata recording mode
- Add missing face detection metadata to
ICameraDeviceCallback::dataCallback
- Instead of passing native handle, pass buffer ID
in dequeueBuffer/enqueueBuffer/cancelBuffer in
ICameraDevicePreviewCallback
- Add CameraFrameMetadata in types.hal for face
metadata

Test: Camera CTS passing (except FlashLightTest) on Angler
Bug: 30985004
Change-Id: Idf72a4b5f4c934845ac698f0b13536608ffd0100
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
7ddf7abff5b33eb294cf8cd896a99a1c6ca4fcbc 14-Feb-2017 Yin-Chia Yeh <yinchiayeh@google.com> Merge "Camera: Fix ION buffer leaks"
bbdb1f6f5d7be1378395299c77d088b735e47edb 13-Feb-2017 Emilian Peev <epeev@google.com> Camera: Fix ION buffer leaks

Native buffer handles should always get closed
and deleted during buffer release.

BUG: 35338606
Test: Manual using application
Change-Id: I5d7a4b02a28b29b872b66843d623166f04207c2e
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
98014ff84d20d141ba39e234a2f2dfedbf0cbd6d 02-Feb-2017 Emilian Peev <epeev@google.com> Camera: Delete streams after successful configuration

The stream resources will be released by Hal most
likely only in cases of successful configuration.
If the configuration fails keep the deleted streams
for the next call.

BUG: 34131351
Test: 'CameraTest' API1 tests using Hal3.x and ZSL
Change-Id: I68696d561258571727b35b52ff326aac27edaad3
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
469c67b027d91096ac1643569bb3161d6fb5047c 03-Feb-2017 Yin-Chia Yeh <yinchiayeh@google.com> Camera: remove BINDERIZED flag

No longer needed. This also enable us to switch to
defaultPassthroughImplementation.
Also rename camera device wrapper library to signal it's not a
top level HAL entry.

Test: marlin camera app with passthrough/binderzied mode
Bug: 34817742
Change-Id: I78ad5afbf78b2679be3efe0e82f430958ef6bfea
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
a8f447d75c1a0fff62dcb18863a105acf10ffc52 10-Jan-2017 Yin-Chia Yeh <yinchiayeh@google.com> Camera: make fence import agnostic to hidl transport

This will introduce one more FD dup/close in passthrough mode, but
we have no other choice as camera server will not know whether
it is running in passthrough or binderized mode.

Test: running Camera2 API CTS
Bug: 30985004
Change-Id: I407d54a51c51fc09477dfb6236ab1b53bb1e0a21
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
d926f9334f9034b3d1562905644241f481b4a978 10-Jan-2017 Yin-Chia Yeh <yinchiayeh@google.com> Camera: add bufferId field to StreamBuffer

This gives each buffer a unique identifier and allow camera server
to only send one unique to HAL process once.

Bug: 30985004
Change-Id: I6aff498c5667dd71fd70b3881fd60b0ecc366e0a
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
7584624329a22663598e6fe70d150c0c32932014 09-Jan-2017 Yin-Chia Yeh <yinchiayeh@google.com> Camera: avoid double closing FD

Right now conventional HAL close the acquire_fence FD so wrapper
should not close it again. However, we might need to change this
behavior later to make camera service agnostic to passthrough or
binderized mode.

Bug: 34169301
Change-Id: I96b46521e4081b43e7a7e9c9efa98121739dda99
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
9c6dbd5979398ae62ef14a5b872474835f5fcaa3 22-Dec-2016 Yin-Chia Yeh <yinchiayeh@google.com> Camera: patching treble camera HAL

Bug fixes like deadlock resolution, wrong enum usage etc.

Bug: 30985004
Test: run Camera2 API CTS tests on Angler
Change-Id: I661fa9197f66344ddecca8f68d343c891806eca1
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp
faef8f92c95a1e0868c1ec8fd220b9d957831022 31-Oct-2016 Yin-Chia Yeh <yinchiayeh@google.com> Camera: default implementation of device 3.2

Test: compile
Bug: 30985004
Change-Id: Ibb48673840de6a5f7c75dc6993d5457a272177a2
/hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp