- 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
and polling a subhal with another. The writing thread gets access to pointers
in the internal buffer. This design avoids a memcpy on write when the multihal
fetches subhal events using poll().
Unit-tests include multithreaded reading and writing lots of events, in
random-sized chunks.
This is not used by the multihal yet. That will be a different CL.
Change-Id: I58418d69eebebeb96befb08ba3aed080f0f08551
Add* functions const to protect data being added.
Initiailze metadata object from a camera_metadata_t.
Remove template-specific constructor.
Add convenience "add1" method to abvoid stack-allocated data.
Construct templates manually (in ExampleCamera) from base.
Change-Id: I3201f61e9d32841ea7a769d69242b40d8727c02e
ExampleCamera represents a specific (e.g. front or back) camera device,
and contains all the device and logic for that device/sensor.
Change-Id: Iecc1a1d905501a66edb6e3994ff93d8761b82f8b
Now that libutils is outside of frameworks, use that for c++-style
scoped tracing and remove the temporary shim header.
Change-Id: I913767aed8ff70abb9299e7a7b318b24a25e23c1
Static camera characteristics can be queried on any device at any time.
Separate the locking for it from the rest of the device to eliminate any
contention between operations on the device and static characteristic
initialization.
Change-Id: I8076378699f274e70c6318e537df4758972de9db
The shutter callback timestamp should originate from the sensor itself,
since it knows exactly when the first line of the frame started
exposing. However, as a fallback (or in the CPU-painting case) query
CLOCK_BOOTTIME instead.
Change-Id: Id57c05525e9c575d009b9deb96a69557fccac16b
Metadata is currently only used for immutable persistent settings
(static camera characteristics, and the capture templates), but will be
used for dynamic metadata as well. Make it deleteable so we can
create/destroy these at will.
Change-Id: I7372b07b904d5a6b55453093712e0bb2675918b5
max_buffers and usage are read by the framework inside the struct used
to pass the stream configuration parameters; scribble our new
calculated values whever they are updated internally.
Adds logging to stream creation method (reuse/new).
Change-Id: I04e12880820571900f2ae80c27100f8aedcf9d02
Basic static metadata statically constructed from preprocessor passes
over an array of camera metadata tags.
Change-Id: I16ea9f4d68120d5a0bc010a4a67b0cbcd761329e
Adds a Stream object, and configureStreams support in parsing the
provided stream_array. Streams are naively setup for sync-less software
painting.
Change-Id: Ibbd90e3e2c7fa984dd5d2dcbd4da7bf4dad43aa1
This c++ helper class is normally provided by frameworks/native's
libutils, but cannot be used from the context of a hardware module. For
now just add the required functionality locally in the hardware module.
Change-Id: I5b399cbeb1c017a95baf19456dbf20569e677fbe