For HAL3.2 or above, the HAL must return the input buffer in capture result
rather than capture request.
Change-Id: I0108cda1cdf51556d7273b2c3cfbaf0e6ecd1d76
- Deprecates vendor tag specification in camera3 device.
- Moves vendor tag ops declaration to camera metadata library and
cleans up definitions.
- Updates the example HAL.
Change-Id: Ifb16bb0d4bbc896bc32d33dd150e7e174af57dad
Needed to support the real case of continuous focus giving up on a
scene for a while (say, a blank wall), during which we shouldn't claim
the lens is in motion.
Also add new states for INACTIVE to clarify it as the starting state
after mode transitions or enabling AF/AE/AWB.
Bug: 10860639
Bug: 10446772
Change-Id: Ie4c1ac73e5a9eb6d1894d83dbded49a2767a8ffd
Flush is used to quiesce a camera device as quickly as possible, which
can be used to deal with a pathological client (requests a frame
duration of hours then dying) as well as speed up stream configuration
changes when the outstanding requests data isn't required.
Change-Id: Ie822efae8c705bd64d63c0eab7e9c291ecb570ef
HALs seem to need to know the gralloc usage flags of the opposite
endpoint (producer/consumer) of a stream at configure time.
Instead of adding another call to pass stream information, we just
pass the usage flags in the existing usage field.
Change-Id: I745baf2c4dd9123273d811b9bd52ae68c854b70c
- Clarify ownership of fence file descriptors, including in case of
errors.
- Make it clear notify SHUTTER must be called before the first
process_capture_result.
Change-Id: I644054a7a055c2e8a6a164c5ab6439ef2a0d1df1
Allow the HAL to split the capture result across multiple calls to
process_capture_result, so that when the sync framework cannot be
used, some output buffers can still be returned later than others.
Change-Id: Iea7f77a3d28daac3a94045ab4566f677aa53a7f9
- Detailed documentation of the 3A state machines
(autofocus, autoexposure, auto-whitebalance)
- Add error return value for out-of-sequence device calls
- Spelling fixes
Change-Id: Icc4e1980b1ff058425a42bc665d345070944b173
- Array of streams given to configure_streams() must be an array of
pointers to streams, to allow framework to fulfill stream structure
lifetime guarantees.
- buffer_handle_t needs extra level of indirection to match HAL1 & 2.
Change-Id: Iee071da39218a748933c3dfa7bccb66fe92c05f1
- High-level behavior is identical to device HAL 2.0
- Interface is cleaned up and simplified greatly
Change-Id: Ia867bbf9484be2256470f4acfab7fc3d47e408f4