- Few additional mandatory static metadata fields
- Different dataspace encoding than HAL v3.3
- A few additional general-use metadata fields
Bug: 27344373
Change-Id: I218cc9fa70d1227cd96155e126edcf9be699ea2d
Document how HAL should operate when process_capture_request is
called while a flush() call is active.
Bug: 21506384
Change-Id: Ic1842add68123432e49914e83d8f7d5c13d6650d
Clarify that the SHUTTER event should be sent when HAL
start processing a reprocess request but the timestamp
should be the input image's start of exposure.
Bug: 21112186
Change-Id: I5bd32b749adc5e82e9a311ec4b123fd807a30d36
This allows application or framework request HAL to perform a
rotation of 0, 90, 180 or 270 degrees counterclockwise. Currently
there is no plan to support arbitrary rotation angles.
HAL should return -EINVAL if the requested rotation cannot be
supported.
Change-Id: I8bde2bcfd797c408db4d5b391b170a4e856ec2d0
The dataspace field communicates extra context about the requested
stream configuration. For most graphics formats, the dataspace
indicates the desired colorspace out of the output buffers. For some
formats, the dataspace may indicate that depth output is requested
instead.
Change-Id: I6746d9097b4dc36af0a63ca88df75f32a77db90b
INPUT stream is not used by framework-implemented ZSL (HAL3.2), the sample
use case description is incorrect.
Bug: 19197776
Change-Id: I247ad8755b2197c2a62cc109c151749b42a4bd49
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