Commit Graph

33 Commits

Author SHA1 Message Date
TreeHugger Robot
e599e41a1e Merge "Move CameraParameters class to android.hardware.camera.common@1.0-helper" into oc-dr1-dev 2017-06-20 07:17:47 +00:00
Yin-Chia Yeh
8bc10783a9 Merge "Camera: fix camera_metadata address expectation" into oc-dev
am: e812feb56f

Change-Id: Id3e433048cf25e8c50aa20e97dca6e3112f0fb57
2017-06-16 19:37:00 +00:00
Yin-Chia Yeh
92d885b558 Camera: fix camera_metadata address expectation
On 32bits architecture, binder driver might allocate
non-8 bytes aligned buffers.

Test: compile (problem not reproducible on 64bit SOCs)
Bug: 62637461
Change-Id: I8ef2b3ecba783a8d189ebe18733082d32cff4899
2017-06-15 14:27:13 -07:00
Jiyong Park
b9b59bdca4 Move CameraParameters class to android.hardware.camera.common@1.0-helper
The CameraParamters class is widely used by many of the camera-related
vendor libs. However, they have been using the class from the
libcamera_client.so which is not a VNDK library.

By moving the class to the common@1.0-helper, which is available to
vendors, we can eliminate the dependency to libcamera_client.so from the
vendor libs.

Bug: 62523241
Test: 2016/2017 Pixel devices build and boots. Camera functionalities
work.

Change-Id: I3f69f1591663390c050d1e75ac2957d3ecc38ba7
2017-06-12 22:45:10 +09:00
Emilian Peev
8bdbf00a34 Camera: Remove binderized todo comment
The camera test cases already already run in binderized mode
for any devices that have this mode enabled.
Additionally remove the missing camera device todo as well.
This should be handled by the VTS infrastructure.
Camera provider service constant updated as well.

Bug: 38137798
Test: VtsHalCameraProviderV2_4TargetTest
Change-Id: I45ddf224dd4dac3ddfbbd751fa297e4631283537
2017-05-19 11:42:08 +01:00
Chih-Hung Hsieh
7eb57b60ab Remove unused lambda capture
New clang compiler gives warning to unused lambda captures.
Apply clang-format.

Bug: 37423073
Test: Build

Change-Id: Icdf019df1a6c9dcadeb35551377d7afa09eebb3e
2017-05-15 14:02:45 -07:00
Chris Forbes
58a80300aa camera: Adjust for libui gralloc flags change
Change-Id: Ia09737c28a78a8a50a9f751ed2774299ecc3d58c
Bug: b/33350696
Test: Bullhead: booted to launcher, take photo, watch youtube
2017-04-21 17:32:37 +00:00
Yifan Hong
1192e1d109 Use fmq for camera capture request.
Test: camera works.

Bug: 35788245 [Treble] Pass camera metadata using shared memory
Change-Id: I4a1585315bf448c8c57def2964237cae21bdbe03
2017-04-13 13:25:29 -07:00
Chia-I Wu
79d13ff0f5 graphics: revise gralloc interfaces
Revise IAllocator and IMapper to reduce IPC and to support gralloc0
devices.

Specifically, IAllocator is trimmed down to have essentially only

    allocate(BufferDescriptor descriptor, uint32_t count)
        generates (Error error,
                   uint32_t stride,
                   vec<handle> buffers);

The ability to allocate buffers with shared backing store is
removed.  ProducerUsage and ConsumerUsage are moved to the
graphics.common package and are merged and renamed to BufferUsage.
BufferUsage's bits follow gralloc0.

IMapper gains

    typedef vec<uint32_t> BufferDescriptor;
    createDescriptor(BufferDescriptorInfo descriptorInfo)
          generates (Error error,
                     BufferDescriptor descriptor);

where BufferDescriptor is an implementation-defined blob.  lockFlex
is replaced by lockYCbCr.  All getters are removed.

Reference counting with retain/release is replaced by
importBuffer/freeBuffer.

Most if not all gralloc1 features are not used by the runtime yet.
There is also not too much test written for them.  As such, they
tend to behave differently between implementations and cannot be
used reliably.

Bug: 36481301
Test: builds and boots on Pixel
Change-Id: I1d31105120517ea2c128c7a19297acf3bfd312bb
2017-04-10 11:15:54 -07:00
Yin-Chia Yeh
c25c54f4b1 Revert "camera: Map between legacy gralloc0 usage, and HIDL gralloc1 usages"
This reverts commit 2d80c0d66f.

Test: fix b/36876770
Bug: b/36876770
Change-Id: Ia251ec97273d71fd5bc759aa1161960f6266358a
2017-04-04 13:19:09 -07:00
TreeHugger Robot
2fc995846c Merge "Camera: add interface to evict obsolete buffer caches" into oc-dev 2017-04-04 00:31:01 +00:00
Eino-Ville Talvala
4cea813a35 Merge "camera: Map between legacy gralloc0 usage, and HIDL gralloc1 usages" into oc-dev 2017-04-03 22:03:15 +00:00
Yin-Chia Yeh
28eebbfc41 Camera: add interface to evict obsolete buffer caches
Test: fix CTS ReprocessCaptureTest
Bug: 34461678
Change-Id: Icde654b0c8423c31d7d39d180913ffa374e7de3c
2017-04-03 14:41:23 -07:00
Yin-Chia Yeh
1ba83a9a28 Camera: add HAL1 recording batching support
Test: Angler HAL1 + set mBatchSize to 4 locally
Bug: 35997432
Change-Id: I6baf112f9da56534ae81008bad818fba1e76a294
2017-04-01 13:12:49 -07:00
Eino-Ville Talvala
2d80c0d66f camera: Map between legacy gralloc0 usage, and HIDL gralloc1 usages
Otherwise some bits will be set incorrectly.

Also move device@1.0 to use ProducerUsageFlags instead of ProducerUsage,
and add a compatibility workaround to set the gralloc0 HW_CAMERA_ZSL flags
when ConsumerUsage::CAMERA is passed in.

Test: Camera CTS passes, updated VTS tests pass
Bug: 35215313
Change-Id: I981dc1a650f838f94d932944fe835fd267f2004d
2017-03-30 16:11:26 -07:00
Yin-Chia Yeh
bed3a9473e Camera: add batching support
Currently only batching high speed recording request/results.

Test: GCA slow motion recording working
Bug: 34899394
Change-Id: Id83b9d1cefe011391c86a5e7e898262a169cc9e7
2017-03-19 21:36:49 -07:00
Emilian Peev
afc6723e86 Camera: Check for transport errors during VTS
- Check for transport errors during IPC calls.
- Some code clean up and refactoring.

BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: I71f96704f82db629d1982997940d8d1b7525ffea
2017-03-15 08:36:27 +00:00
Emilian Peev
ff8da298b9 Camera: Add Hal version 1 get-/setParameter tests
Tests are required for checking the basic camera parameters
functionality.

BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: I5725fef0bb4f5ac08ecae94def5cae66a640409a
2017-03-15 08:36:27 +00:00
Emilian Peev
9c8c26965b Camera: Add Hal version 1 sendcommand tests
Tests are needed for verifying 'sendCommand' API call.
Several new test cases will be available:
"sendCommandFaceDetection" - This will check whether face detection is
available and try to enable&disable it.
"sendCommandSmoothZoom" - Will try to verify whether smooth zoom can
be enabled&disabled in case the camera supports it.

BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: Ib56f363126907f24b1af04187b093aa6c8e8ac99
2017-03-15 08:36:27 +00:00
Emilian Peev
5a81965a10 Camera: Add Hal version 1 autofocus test cases
Tests should be available for autofocus verification. The new
cases include:
"autoFocus" - Check whether the camera supports autofocus. In case
 auto is supported it will continue and test all available modes that
allow 'autoFocus' calls.
"cancelAutoFocus" - In case auto is supported, the test will trigger
full AF scan and cancel it immediately.
'CameraParameters' functionality is also required and should be included.

BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: I3bef25c5fdb6bbfa87517e6d255e4e6e01544d7d
2017-03-15 08:36:21 +00:00
Emilian Peev
cf7b797926 Camera: Add Hal version 1 video recording test cases
Tests involving Hal version 1 video recording APIs are
required. Several cases will be available:
- 'startStopRecording' - Verifies basic video recording
functionality. Metadata support will be tested if available.
- 'startRecordingFail' - Checks that recording can be enabled
only after preview starts.

Bug: 32022758
Test: compile and run the gtest binary on device
Change-Id: Id9dd8d3a554a1aa3bbbae9b836e4d14da5c4446b
2017-03-14 18:21:34 +00:00
Emilian Peev
92c7a65133 Camera: Add Hal version 1 image capture test cases
Tests involving Hal version 1 image capture APIs are
required. Several cases cover this:
- 'takePicture' - Regular image capture after preview gets enabled.
- 'takePictureFail' - Checks correct behavior in case preview is not
running.
- 'cancelPicture' - Verifies that image capture can be cancelled.
- 'cancelPictureFail' - Checks that image capture cancel fails as
expected in case 'takePicture' didn't get called.
Switch to BufferItemConsumer instead of CpuConsumer and use GLConsumer
default usage flags.

Bug: 32022758
Test: compile and run the gtest binary on device
Change-Id: I8db60aa8a21b6f829574fc9538da5644a4051e49
2017-03-13 08:58:49 +00:00
Emilian Peev
24f09645da Camera: Add device ver. 1 preview test cases
Test cases enabling/disabling preview using version 1
camera devices are needed. Test case is also available
for "setPreviewWindow".

BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: I234881fe940309dbb6ac11bfee7d01cc76d09f59
2017-03-13 08:58:21 +00:00
Emilian Peev
ceb0ee8b96 Camera: Extend camera test cases for camera 1.0 devices
Test cases involving camera version 1.0 devices are
required. The API methods which overlap between 3.x and 1.0
devices should be considered in the respective test cases.

BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: I044b6586b812aed14d66867d51f97123addcd718
2017-03-13 08:57:43 +00:00
Emilian Peev
a3bba4c43c Camera: Add flush test cases
Camera should flush pending requets and buffers
correctly. Two new test cases will help with
 the verification of this method:
- 'flushPreviewRequest' - Constructs a valid camera request
and sends it to camera. The test will not wait for the request
to complete instead it will call flush immediately. The results
 and notifications that follow are checked for consistency with
expected behavior.
- 'flushEmpty' - Triggers flush without any pending request. Check
 whether the camera behaves as expected.

BUG: 32022758
Test: compile and run the gtest binary on device

Change-Id: Iab9e37b3864491f970a783a68952a9c0c1703520
2017-03-13 08:57:38 +00:00
Emilian Peev
40f6211413 Camera: Enable and check for torch callbacks
The expected torch callbacks can be verified during
 the torch set test.

BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: Idaa1a4c6eb5306f1a2e1d126f54fcb26aaa1dc7c
2017-03-13 08:57:27 +00:00
Yuexi Ma
ed2bb4e8f8 Change vts target base test class name
Test: make vts succeed, vts kernel tests and nfc hal tests passed
Change-Id: I95f10ad7a66f261c9030357edd411fe6d94150e8
2017-03-10 21:14:48 +00:00
Steven Moreland
40e3ea48b4 Camera: remove warning from VTS test
Test: pass
Change-Id: I8028577c5589aa7234dd55c7602aeb807f25501d
2017-03-08 19:09:09 -08:00
Yuexi Ma
50d7e27b3c change all vts hidl tests to use VtsHalHidlTargetBaseTest (internal master)
Bug: 33385836
Test: mma
Change-Id: Ide3ebc4a9db76257f33bcfb0c1f13d2ee33eeaa8
2017-02-28 22:27:28 +00:00
Emilian Peev
5b93a77a9d Camera: Redirect dump to "/dev/null" instead of stdout
This SELinux context doesn't have permission to access stdout
in read/write mode. Doing so will result in violation and
subsequent failure when running in binderized mode. Switch to
 '/dev/null' which still can be used with SELinux enabled.

BUG: 35701060
Test: adb shell
/data/nativetest/VtsHalCameraProviderV2_4TargetTest/VtsHalCameraProviderV2_4TargetTest

Change-Id: Ib1cf2766ca41cfe3600ad8a4442a334dfab0e2c1
2017-02-23 12:00:11 +00:00
Emilian Peev
56c2e79dd1 Camera: Add camera capture request VTS tests
Use single camera capture requests to verify basic
'processCaptureRequest' functionality:
- 'processCaptureRequestSinglePreview' will generate
a valid preview capture request. The result needs to
include both valid stream Id and frame number.
- 'processCaptureRequestInvalidSinglePreview' will
omit the settings from the first capture request. Hal
should handle this by returning an appropriate error.
- 'processCaptureRequestInvalidSingleSnapshot' will
have a valid blob request but no valid output buffers.
Hal should again return appropriate error in this case.

BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: I021dd150b12d4be39fae47e13ba82d3db105bfa3
2017-02-22 10:03:39 +00:00
Emilian Peev
378f8aaec6 Camera: Extend Camera VTS testing
Further tests concerning camera configurations. The
additional tests corver:
- The available stream configurations.
- Invalid stream parameters.
- Constrained mode if available.
- ZSL mode if available.
- Stream combinations including preview and still capture.
- Stream combinations including video and snapshot.

BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: I5111ac96b4aaa7ad9f163f990f6b0d0c229993f9
2017-02-22 09:50:09 +00:00
Zhuoyao Zhang
8422f6aa04 Update the test binary and source file name on master.
* To confirm with Vts naming convention.

Bug: 35273456
Test: mma
Change-Id: I845da64085253cd02480465479618308045a52ed
2017-02-21 20:47:18 -08:00