platform_hardware_interfaces/camera/device
Shuzhen Wang df89cb9c21 Camera: Add new function to query for SessionConfiguration
- The new isStreamCombinationSupported takes into consideration
  the session parameters.
- In order to create CaptureRequest in ICameraDevice, a
  createDefaultRequestSettings function is needed.

Test: Run camera VTS with session_configuration_with_parameters_query flag enabled
Bug: 309627704
Change-Id: Ib344e6991484b834aa8483ed8637ce5cd02ede87
2023-12-05 03:48:51 +00:00
..
1.0 Revert "Revert "Convert from HIDL mapper to libui GraphicBufferM..." 2023-10-02 15:55:11 +00:00
3.2 Revert "Revert "Convert from HIDL mapper to libui GraphicBufferM..." 2023-10-02 15:55:11 +00:00
3.3 cleanup camera OWNERS 2023-01-18 21:05:44 +00:00
3.4 Revert "Revert "Convert from HIDL mapper to libui GraphicBufferM..." 2023-10-02 15:55:11 +00:00
3.5 Revert "Revert "Convert from HIDL mapper to libui GraphicBufferM..." 2023-10-02 15:55:11 +00:00
3.6 Revert "Revert "Convert from HIDL mapper to libui GraphicBufferM..." 2023-10-02 15:55:11 +00:00
3.7 Added annotations to prevent misapply of this interface by OEM partners 2022-02-24 15:39:36 +08:00
aidl Camera: Add new function to query for SessionConfiguration 2023-12-05 03:48:51 +00:00
default Merge "ExternalCameraHAL: Fix memory leak when copying buffer fence" into main am: 634ecd5da0 am: aba897e523 am: a11d57f607 2023-11-15 23:47:47 +00:00
README.md Camera: Bump device version to 3.4 2017-12-20 10:44:11 +00:00

Camera Device HAL


Overview:

The camera.device HAL interface is used by the Android camera service to operate individual camera devices. Instances of camera.device HAL interface can be obtained via one of the ICameraProvider::getCameraDeviceInterface_V_x() methods, where N is the major version of the camera device interface.

Obtaining the device interface does not turn on the respective camera device; each camera device interface has an actual open() method to begin an active camera session. Without invoking open(), the interface can be used for querying camera static information.

More complete information about the Android camera HAL and subsystem can be found at source.android.com.

Version history:

ICameraDevice.hal@1.0:

HIDL version of the legacy camera device HAL. Intended as a shim for devices needing to use the deprecated pre-HIDL camera device HAL v1.0.

May be used in HIDL passthrough mode for devices upgrading to the Android O release; must be used in binderized mode for devices launching in the O release.

It is strongly recommended to not use this interface for new devices, as new devices may not use this interface starting with the Android P release, and all support for ICameraDevice@1.0 will be removed with the Android R release.

This HAL interface version only allows support at the LEGACY level for the android.hardware.camera2 API.

Added in Android 8.0.

Subsidiary HALs:

ICameraDevice1PreviewCallback.hal@1.0:

Callback interface for obtaining, filling, and returning graphics buffers for preview operation with the ICameraDevice@1.0 inteface.

ICameraDevice1Callback.hal@1.0:

Callback interface for sending events and data buffers from the HAL to the camera service.

ICameraDevice.hal@3.2:

HIDL version of the baseline camera device HAL, required for LIMITED or FULL operation through the android.hardware.camera2 API.

The main HAL contains methods for static queries about the device, similar to the HALv3-specific sections of the legacy camera module HAL. Simply obtaining an instance of the camera device interface does not turn on the camera device.

May be used in passthrough mode for devices upgrading to the Android O release; must be used in binderized mode for all new devices launching with Android O or later.

The open() method actually opens the camera device for use, returning a Session interface for operating the active camera. It takes a Callback interface as an argument.

Added in Android 8.0.

Subsidiary HALs:

ICameraDevice3Session.hal@3.2:

Closely matches the features and operation of the pre-HIDL camera device HAL v3.2, containing methods for configuring an active camera device and submitting capture requests to it.

ICameraDevice3Callback.hal@3.2:

Callback interface for sending completed captures and other asynchronous events from tehe HAL to the client.

ICameraDevice.hal@3.3:

A minor revision to the ICameraDevice.hal@3.2.

  • Adds support for overriding the output dataspace of a stream, which was supported in the legacy camera HAL.

Added in Android 8.1.

ICameraDevice.hal@3.4:

A minor revision to the ICameraDevice.hal@3.3.

  • Adds support for session parameters during stream configuration.

Added in Android 9