Android Lollipop was released with new Camera2 APIs. This talk was delivered at the Samsung Developer's Conference 2014 showing how to use it and how it enables new use cases
Limited Capture Controls (Settings)
Hardwired Operating Modes (Commands)
Device state (Minimal Feedback) (Metadata)
Image stream (slow, or low-resolution)
All operations Unsynchronized – one doesn’t know when settings take effect.
You + Algorithms!
Limited Capture Controls (Settings)
Hardwired Operating Modes (Commands)
Device state (Minimal Feedback) (Metadata)
Image stream (slow, or low-resolution)
All operations Unsynchronized – one doesn’t know when settings take effect.
64 Lens_info Available_modes Control_AE Control_AF
No Control_AWB
What is Stall Duration
The Output Stall Duration
A stall duration is how much extra time would get added to the normal minimum frame duration for a repeating request that has streams with non-zero stall.
YUV_420_888 => Non-Stall Format
JPEG& RAW => Stalling Format
For each output format
-All supported Sizes
- The minimum frame Duration (in nanoseconds)
- The Output Stall Duration
- A stall duration is how much extra time would get added to the normal minimum frame duration for a repeating request that has streams with non-zero stall.
YUV_420_888 => Non-Stall Format
JPEG& RAW => Stalling Format
TODO Explain
android.sync.maxLatency
Define manual sensor control
Define Manual Post processing control
Define scaler cropping region
android.sensor.info.exposureTimeRange
supported exposure time range
android.sensor.info.maxFrameDuration
maximum Frame Duration
Define Stalling and non-stalling output formats
Define Processed and un-processed
A handler can be passed if the callback is to be processed on a looper other than the default looper of the application
Pass in the Camera Id, CameraDevice.StateCallback, and a Handler
It is an expensive operation which can take several hundred milliseconds for the session's configuration to complete, since camera hardware may need to be powered on or reconfigured.
While the Camera hardware may support a large variety of output formats and sizes, it may not be able to do so concurrently, so a session can be created for supporting a given set of modes
Exceptions
IllegalArgumentException if the set of output Surfaces do not meet the requirements, the callback is null, or the handler is null but the current thread has no looper.
CameraAccessException if the camera device is no longer connected or has encountered a fatal error
IllegalStateException if the camera device has been closed
It is an expensive operation which can take several hundred milliseconds for the session's configuration to complete, since camera hardware may need to be powered on or reconfigured.
While the Camera hardware may support a large variety of output formats and sizes, it may not be able to do so concurrently, so a session can be created for supporting a given set of modes
It is an expensive operation which can take several hundred milliseconds for the session's configuration to complete, since camera hardware may need to be powered on or reconfigured.
While the Camera hardware may support a large variety of output formats and sizes, it may not be able to do so concurrently, so a session can be created for supporting a given set of modes
DNG file format is a cross-platform file format that is used to store pixel data from camera sensors with minimal pre-processing applied. DNG files allow for pixel data to be defined in a user-defined colorspace, and have associated metadata that allow for this pixel data to be converted to the standard CIE XYZ colorspace during post-processing.
DNG file format is a cross-platform file format that is used to store pixel data from camera sensors with minimal pre-processing applied. DNG files allow for pixel data to be defined in a user-defined colorspace, and have associated metadata that allow for this pixel data to be converted to the standard CIE XYZ colorspace during post-processing.
Convenience Class DngCreator helps in creating the cross-platform DNG File format from a RAW_SENSOR image buffer.
DNG files can be processed on laptops, or even use some DNG applications on the device itself.
Many commercial and free applications are available for the desktop and mobile platforms
DNG file format is a cross-platform file format that is used to store pixel data from camera sensors with minimal pre-processing applied. DNG files allow for pixel data to be defined in a user-defined colorspace, and have associated metadata that allow for this pixel data to be converted to the standard CIE XYZ colorspace during post-processing.
Convenience Class DngCreator helps in creating the cross-platform DNG File format from a RAW_SENSOR image buffer.
DNG files can be processed on laptops, or even use some DNG applications on the device itself.
Many commercial and free applications are available for the desktop and mobile platforms
DNG file format is a cross-platform file format that is used to store pixel data from camera sensors with minimal pre-processing applied. DNG files allow for pixel data to be defined in a user-defined colorspace, and have associated metadata that allow for this pixel data to be converted to the standard CIE XYZ colorspace during post-processing.
DNG file format is a cross-platform file format that is used to store pixel data from camera sensors with minimal pre-processing applied. DNG files allow for pixel data to be defined in a user-defined colorspace, and have associated metadata that allow for this pixel data to be converted to the standard CIE XYZ colorspace during post-processing.
SENSOR_FRAME_DURATION
Lots of details at https://developer.android.com/reference/android/hardware/camera2/CaptureRequest.html#SENSOR_FRAME_DURATION
SENSOR_INFO_EXPOSURE_TIME_RANGE
The range of image exposure times for android.sensor.exposureTime supported by this camera device.
Units: Nanoseconds
Range of valid values:
The minimum exposure time will be less than 100 us. For FULL capability devices (android.info.supportedHardwareLevel == FULL), the maximum exposure time will be greater than 100ms.
Black Level Lock
Lots of details at
https://developer.android.com/reference/android/hardware/camera2/CaptureRequest.html#BLACK_LEVEL_LOCK
Whether black-level compensation is locked to its current values, or is free to vary.
When set to true (ON), the values used for black-level compensation will not change until the lock is set to false (OFF).
Since changes to certain capture parameters (such as exposure time) may require resetting of black level compensation, the camera device must report whether setting the black level lock was successful in the output result metadata.