Commit graph

20 commits

Author SHA1 Message Date
Eino-Ville Talvala
d4392024d2 Camera: Mark camera HAL device v2.x as unsupported
Device HAL v2.x is obsolete, and no devices using it are still
supported. Mark it unsupported, and clean up native tests.

Bug: 25866588
Change-Id: I8e0f1448b8ae0eaaf3714f2351746af46c7657a7
2015-11-30 10:20:57 -08:00
Eino-Ville Talvala
b545983975 Camera HALs: Promote device HAL v3.2
And deprecate older HALs.

Bug: 17445920
Change-Id: I37a5e53fda3c93080e37ec848f84c702a2c9120b
2014-09-10 11:13:16 -07:00
Eino-Ville Talvala
d76f8af6d4 WIP: Camera HAL module 2.1, device 2.1
- Support a simple callback from camera HAL module to framework, to
  indicate a change to module configuration or status.

- Add support for per-instance metadata to camera 2 device HAL.

Change-Id: I25699ff096c4f3578b9e54c7e6e60ce2449adc82
2013-02-15 13:44:53 -08:00
Eino-Ville Talvala
d2a877536a Camera device HAL 3.0
- High-level behavior is identical to device HAL 2.0
- Interface is cleaned up and simplified greatly

Change-Id: Ia867bbf9484be2256470f4acfab7fc3d47e408f4
2013-02-15 19:47:45 +00:00
Alex Ray
cecacd4e71 Camera2: Change JPEG transport header
The way buffers are passed to JPEG encoders makes it difficult to
account for a header offset.  This explains moving the header to
the end, and clarifies the required header packing.

Bug: 7108816
Change-Id: I569cd0cde37bd6fd7110fbc95d7fced9a55cff9c
2012-09-27 22:08:55 -07:00
Eino-Ville Talvala
ada3a97820 Camera2: Add JPEG transport header
To simplify passing compressed JPEG data between the HAL and the
camera service, add a transport header for use with JPEG streams.

Bug: 7108816
Change-Id: I91060051f59032e66eaaab3ee9f651badd1f2ac0
2012-09-19 11:42:40 -07:00
Eino-Ville Talvala
9633d506b7 Camera2: Add CAMERA2_HAL_PIXEL_FORMAT_ZSL temporarily.
Until all HAL implementations move to the new gralloc format selection
scheme, define FORMAT_ZSL for indicating ZSL streams.

Bug: 6243944
Change-Id: I90249beaaca5da80c9464eedd6aa9d3648bb56cc
2012-09-13 16:32:14 -07:00
Eino-Ville Talvala
7f8dd0ad2d Revert "Revert "Add reprocess method, redefine gralloc ZSL usage flag""
Missing project ready to go.

This reverts commit 536148699beffcc4e6a2ced7c41fbbc3bcfa9886

Change-Id: I101343b443be6febe160685de6d72ddbf7e6aea5
2012-09-04 14:21:07 -07:00
Eino-Ville Talvala
3b98ffb168 Revert "Add reprocess method, redefine gralloc ZSL usage flag"
More dependent projects than I realized

This reverts commit 7fa4a7e706cd8da0a4fd6722ff3b00b8088a01ae

Change-Id: I813ffde0f8d602fd6d75186bf82e93c7ffed9a9a
2012-09-04 12:27:14 -07:00
Eino-Ville Talvala
70d87bf07e Add reprocess method, redefine gralloc ZSL usage flag
- Camera2: Add allocate_reprocess_stream_from_stream for ZSL usecases
- Gralloc: Make GRALLOC_USAGE_HW_CAMERA_ZSL be simply
  GRALLOC_USAGE_HW_CAMERA_READ | GRALLOC_USAGE_HW_CAMERA_WRITE
- Gralloc: Add GRALLOC_USAGE_HW_CAMERA_MASK

Change-Id: Icd8ac1f786e3adb6a422f27f03a5a4cb04a815cc
2012-09-01 18:28:38 -07:00
Eino-Ville Talvala
2388a2dc91 Camera2: Use HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED
Align camera2's management of platform-opaque formats with rest of
framework. Instead of using CAMERA2_PIXEL_FORMAT_OPAQUE, use
HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED as the format for both the
camera HAL and for gralloc, and depend on the gralloc usage flags to
let the gralloc module select the appropriate real format for specific
stream endpoints.

Add a new gralloc usage for ZSL mode, where the camera service will
hold a streaming circular buffer of opaque full-resolution images
during camera preview. Since this is an opaque format that needs to be
optimized for 30fps operation, need gralloc to be aware of this use
case.

Bug: 6243944
Change-Id: If7f2516649381ce9bcffe4e319b63cbc068f643f
2012-08-28 14:22:53 -07:00
Eino-Ville Talvala
f7a60c464a Camera2: Add ZSL pixel format, AF CANCEL trigger, lots of docs
- Add CAMERA2_HAL_PIXEL_FORMAT_ZSL
- Add CAMERA2_TRIGGER_CANCEL_AUTOFOCUS
- Add documentation to describe how AUTOFOCUS and CANCEL_AUTOFOCUS
  triggers interact with AF state, mode, and notifications.
- Other minor edits

Bug: 6243944
Change-Id: I679c40cfe08e62d3a5851839f748fe2292bbfae7
2012-08-10 09:25:49 -07:00
Eino-Ville Talvala
fa7a91d3d2 Camera2: Add JPEG capture test.
Bug: 6243944
Change-Id: Ifdf16f34b13df1e5bfe501eb7e6083862c71240a
2012-06-13 12:02:00 -07:00
Eino-Ville Talvala
08a6e5e374 I am a HAL of constant structure.
Bug: 6243944
Change-Id: I126313f75f5f7165d3ca96f52054866c4fb6bee0
2012-05-17 17:54:56 -07:00
Eino-Ville Talvala
6adfd6b8ce Camera2: Add test for construct_default_request.
Bug: 6243944
Change-Id: I59b03d7ebece2a4b7672b265bd9f960b3faea621
2012-05-14 15:27:00 -07:00
Eino-Ville Talvala
567b4a24fa Substantial cleanup of camera2 HAL, and some initial unit tests
- Clean up const/struct usage in HAL
- Add user pointer to notify callback
- Revamp allocate_stream, now it picks its own ID.
- Much simpler stream interface
- Merged request/reprocess input queues
- Frame queue interface no longer a mirror of request queue
- Added triggers/notifications
- Added default request creation
- Lots of comments

Unit tests added:

- Lots of utility code to speed up test writing
- Basic open/close
- Capturing 1 raw buffer (request input, frame output, buffer output)
- Capturing a burst of 10 raw buffers

Bug: 6243944
Change-Id: I490bd5df81079a44c43d87b02c9a7f7ca251f531
2012-05-08 17:30:56 -07:00
Eino-Ville Talvala
fed0c0244b Revise camera HAL 2, and add unit test skeleton.
- Add missing method in stream_ops (set_buffers_geometry)

- Remove extra method in stream_ops (set_swap_interval)

- Document metadata queue protocol

- Change metadata queue methods to be set/get through function calls
  only, instead of a struct member in the HAL device ops.

- Change vendor extension tag query methods to be retrieved by a get
  call, instead of a struct member in the HAL device ops.

- Add basic gtest unit test skeleton, which currently just returns
  static info from all camera devices.

Change-Id: I94117097b0243023ad60638070cc7f0cefec18e6
2012-04-11 11:23:31 -07:00
Eino-Ville Talvala
ddc026e393 Add specific version number constants to Camera HAL.
These constants should be used by HAL implementations to indicate
which versions of the module and device APIs they support.

Change-Id: I4b6eae278481545694e6a1827833b5958c26720c
2012-03-27 16:15:25 -07:00
Eino-Ville Talvala
daacbf4016 Fix camera2.h header.
Change-Id: Ibcc93279da2180743d7bbe2561f2bf10879ae08e
2012-03-22 13:09:56 -07:00
Eino-Ville Talvala
8bf364ef20 Reorganize camera HAL, and add versioning support.
Includes a draft of camera device HAL 2.

Change-Id: I5f56a8c54a33d0ca039360185822a9c22436cab8
2012-03-21 17:34:33 -07:00