Bug: 12134423
- Adds a class for parceling vendor tag definitions.
- Passes vendor tag definitions to clients of the camera service.
- Switches over to new vendor tag mechanism when reading from HAL.
Change-Id: Icef3fe9e67160767bdb8244ac49c85b68b497123
Contains the necessary changes to make frameworks/av build and work
on a 64-bit machine.
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
Bi-directional stream (like Zsl stream) is both input and output streams. When
deleted, both streams need to be deleted.
Change-Id: I8b6bb9054fec264cc03754003797de0bae10cb20
Call flush before sending ZSL reprocess request. This not only ensures no
in-flight requests pending in the HAL before ZSL reprocess request, but also
makes reprocess request to be processed by the HAL sooner.
Bug: 12230973
Change-Id: I4c9e5a0fb75ccdc1e8861262c08d599d04170b7f
We don't expect HAL send back valid result metadata if error occurs for a
request, such as during flush call. The request needs to be removed from in
flight request map accordingly.
Bug: 9758581
Change-Id: I51fe327337325ce72f11ce592778a2af02e98479
- Camera3Device: Include requestId in partial 3A results
- FrameProcessorBase: Add support for partial result listeners
- CameraDeviceClient: Listen and forward partial results to client
Bug: 11115603
Change-Id: If1cc6bbc32932742ac142c058688761ebf6a8024
- Camera2Client:
- Detect partial result quirk
- Camera3Device:
- Accumulate all partial results together
- Fire off 3A-only result once all 3A states are available
- FrameProcessorBase:
- Filter out partials, don't send to listeners
- FrameProcessor:
- Skip face detect on partials
- Make sure to only handle a 3A update for a given frame once
- Trigger AF notifications when AF mode or trigger changes, to
properly detect all AF transitions.
Bug: 11115603
Change-Id: Iea8aa73c568701562a46071f7ea100624251d10b
process capture request thread, process capture result and setParameter
binder threads can run into circular locking situation when acquiring
StreamingProcessor lock, Camera3Stream lock, and bufferQueue lock.
Releasing the Camera3Stream lock briefly in process capture request
thread getbuffer call can break this deadlock.
Bug: 11016037
Change-Id: If08d4b134c26be26039b1d5363759e60f911bad6
Move the latest request signal call right before submitting request to HAL,
which avoids unnecessary 1 frame time wait.
Also fix request status constructor issue, and the log tag for Camera2Client.
Bug: 10570497
Change-Id: I0b1818658bee9983b117e49a5a00f1aab515c567
- Handle binder connection drops (DEAD_OBJECT) for streams
- Just log an error, don't go to an error state when queue/dequeue fails
Bug: 10347526
Change-Id: Ib463ffe15d58db444cf5d8cad176a201c7d1facc
- Update callback Binder interface
- Rename frameId to be requestId to be consistent and disambiguate
from frameNumber.
- Implement shutter callback from HAL2/3 notify()
- Add in-flight tracking to HAL2
- Add requestId to in-flight tracking
- Report requestId from shutter callback
- Implement idle callback from HAL3 process_capture_result
- Add new idle tracker thread
- Update all idle waiting to use the tracker
- Add reporting from request thread, all streams to tracker
- Remove existing idle waiting infrastructure
Bug: 10549462
Change-Id: I867bfc248e3848c50e71527e3561fe92dc037958
This is to work around HAL implementations that expect to see an
ID for every trigger.
Use a dummy trigger ID of 1, since 0 has special meaning for older
HALs.
Bug: 10720617
Change-Id: I9cb1b8dbcb113cb9e737e5adb04032fd61a54c12
RequestThread's internal busy flag (mPaused) was not being immediately
set when new work was submitted to it. This allowed for a race
condition where a capture() followed by an immediate
waitUntilDrained() would immediately return from the wait.
Set the mPaused flag to false immediately in capture() and
setStreamingRequest() to avoid this, instead of waiting until the end
of the next RequestThread iteration.
Bug: 10531739
Change-Id: I54a79fe5361d527ec717f41ad805e9b319a48cd8
- On HAL2 devices, fall back to wait until idle
- On HAL3 devices, call HAL flush method
Bug: 9758581
Change-Id: Ie1c570a15f6590a1ee6c271e3b989c48079b468a
At stream configure time, pass on the stream's consumer usage flags
to the HAL, to speed up final hardware configuration.
Bug: 9592202
Change-Id: Ie467be053be36a09e482f5f05cad65df42d66476
- Support API rename from photography to camera2
- Reorganize camera service files
- API support files to api1/, api2/, api_pro/
- HAL device support files into device{1,2,3}/
- Common files into common/
- Camera service remains at top-level
Change-Id: Ie474c12536f543832fba0a2dc936ac4fd39fe6a9